@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.
- package/dist/module.d.mts +46 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +95 -2
- package/dist/runtime/assets/editor.css +1 -0
- package/dist/runtime/components/ACommandPalette.vue +4 -1
- package/dist/runtime/components/ADocRenderer.d.vue.ts +29 -0
- package/dist/runtime/components/ADocRenderer.vue +99 -0
- package/dist/runtime/components/ADocRenderer.vue.d.ts +29 -0
- package/dist/runtime/components/ADocTypeSelect.vue +4 -1
- package/dist/runtime/components/ADocumentTree.vue +78 -19
- package/dist/runtime/components/AEditor.d.vue.ts +9 -4
- package/dist/runtime/components/AEditor.vue +102 -7
- package/dist/runtime/components/AEditor.vue.d.ts +9 -4
- package/dist/runtime/components/AFloatingWindow.vue +1 -1
- package/dist/runtime/components/AIconPicker.vue +8 -2
- package/dist/runtime/components/ANodePanel.vue +100 -61
- package/dist/runtime/components/ANotifications.vue +35 -8
- package/dist/runtime/components/APermissionGuard.vue +3 -1
- package/dist/runtime/components/APresence.vue +14 -3
- package/dist/runtime/components/AProvider.vue +7 -1
- package/dist/runtime/components/AVoiceBar.vue +57 -15
- package/dist/runtime/components/AVoiceTile.vue +4 -1
- package/dist/runtime/components/AWindowLayer.vue +1 -1
- package/dist/runtime/components/aware/AArea.vue +1 -1
- package/dist/runtime/components/aware/AAvatar.vue +85 -16
- package/dist/runtime/components/aware/AButton.vue +5 -1
- package/dist/runtime/components/aware/ACursorLabel.vue +5 -1
- package/dist/runtime/components/aware/ADocBadge.vue +4 -1
- package/dist/runtime/components/aware/AFacepile.vue +13 -3
- package/dist/runtime/components/aware/AInput.vue +5 -1
- package/dist/runtime/components/aware/ATextarea.vue +5 -1
- package/dist/runtime/components/aware/AUserList.vue +8 -2
- package/dist/runtime/components/renderers/ACalendarRenderer.d.vue.ts +12 -1
- package/dist/runtime/components/renderers/ACalendarRenderer.vue +388 -114
- package/dist/runtime/components/renderers/ACalendarRenderer.vue.d.ts +12 -1
- package/dist/runtime/components/renderers/ACallRenderer.d.vue.ts +13 -0
- package/dist/runtime/components/renderers/ACallRenderer.vue +169 -0
- package/dist/runtime/components/renderers/ACallRenderer.vue.d.ts +13 -0
- package/dist/runtime/components/renderers/AChecklistRenderer.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/AChecklistRenderer.vue +581 -0
- package/dist/runtime/components/renderers/AChecklistRenderer.vue.d.ts +19 -0
- package/dist/runtime/components/renderers/ADashboardRenderer.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/ADashboardRenderer.vue +1372 -0
- package/dist/runtime/components/renderers/ADashboardRenderer.vue.d.ts +19 -0
- package/dist/runtime/components/renderers/AGalleryCoverImage.d.vue.ts +8 -0
- package/dist/runtime/components/renderers/AGalleryCoverImage.vue +60 -0
- package/dist/runtime/components/renderers/AGalleryCoverImage.vue.d.ts +8 -0
- package/dist/runtime/components/renderers/AGalleryRenderer.d.vue.ts +12 -1
- package/dist/runtime/components/renderers/AGalleryRenderer.vue +221 -55
- package/dist/runtime/components/renderers/AGalleryRenderer.vue.d.ts +12 -1
- package/dist/runtime/components/renderers/AGraphRenderer.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/AGraphRenderer.vue +1027 -0
- package/dist/runtime/components/renderers/AGraphRenderer.vue.d.ts +19 -0
- package/dist/runtime/components/renderers/AKanbanRenderer.d.vue.ts +13 -1
- package/dist/runtime/components/renderers/AKanbanRenderer.vue +474 -140
- package/dist/runtime/components/renderers/AKanbanRenderer.vue.d.ts +13 -1
- package/dist/runtime/components/renderers/AMapRenderer.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/AMapRenderer.vue +1622 -0
- package/dist/runtime/components/renderers/AMapRenderer.vue.d.ts +19 -0
- package/dist/runtime/components/renderers/AOutlineRenderer.d.vue.ts +12 -1
- package/dist/runtime/components/renderers/AOutlineRenderer.vue +294 -134
- package/dist/runtime/components/renderers/AOutlineRenderer.vue.d.ts +12 -1
- package/dist/runtime/components/renderers/ATableRenderer.d.vue.ts +12 -1
- package/dist/runtime/components/renderers/ATableRenderer.vue +437 -145
- package/dist/runtime/components/renderers/ATableRenderer.vue.d.ts +12 -1
- package/dist/runtime/components/renderers/ATimelineRenderer.d.vue.ts +19 -0
- package/dist/runtime/components/renderers/ATimelineRenderer.vue +446 -0
- package/dist/runtime/components/renderers/ATimelineRenderer.vue.d.ts +19 -0
- package/dist/runtime/composables/useAwareness.js +5 -0
- package/dist/runtime/composables/useBroadcastSync.d.ts +18 -0
- package/dist/runtime/composables/useBroadcastSync.js +26 -0
- package/dist/runtime/composables/useChat.js +4 -2
- package/dist/runtime/composables/useChatUsers.js +2 -1
- package/dist/runtime/composables/useCommandPalette.js +62 -3
- package/dist/runtime/composables/useConnectionStatus.js +7 -0
- package/dist/runtime/composables/useDevicePairing.d.ts +58 -0
- package/dist/runtime/composables/useDevicePairing.js +108 -0
- package/dist/runtime/composables/useDocExport.d.ts +5 -0
- package/dist/runtime/composables/useDocExport.js +2 -2
- package/dist/runtime/composables/useDocImport.js +4 -3
- package/dist/runtime/composables/useDocSeo.d.ts +20 -0
- package/dist/runtime/composables/useDocSeo.js +44 -0
- package/dist/runtime/composables/useDocSlugs.d.ts +7 -0
- package/dist/runtime/composables/useDocSlugs.js +20 -0
- package/dist/runtime/composables/useDocTree.d.ts +34 -0
- package/dist/runtime/composables/useDocTree.js +35 -0
- package/dist/runtime/composables/useEditorDragHandle.js +2 -1
- package/dist/runtime/composables/useEditorMentions.js +4 -2
- package/dist/runtime/composables/useEditorSuggestions.d.ts +1 -0
- package/dist/runtime/composables/useEditorSuggestions.js +9 -2
- package/dist/runtime/composables/useEditorToolbar.js +2 -1
- package/dist/runtime/composables/useFileIndex.js +2 -1
- package/dist/runtime/composables/useFileTransfer.d.ts +112 -0
- package/dist/runtime/composables/useFileTransfer.js +171 -0
- package/dist/runtime/composables/useFollowUser.js +2 -1
- package/dist/runtime/composables/useInvites.d.ts +56 -0
- package/dist/runtime/composables/useInvites.js +77 -0
- package/dist/runtime/composables/useNodePanel.d.ts +14 -0
- package/dist/runtime/composables/useNodePanel.js +52 -0
- package/dist/runtime/composables/useNotifications.js +4 -2
- package/dist/runtime/composables/usePasskeyAccounts.js +4 -2
- package/dist/runtime/composables/useSearchIndex.d.ts +1 -0
- package/dist/runtime/composables/useSearchIndex.js +13 -5
- package/dist/runtime/composables/useServerInfo.d.ts +31 -0
- package/dist/runtime/composables/useServerInfo.js +80 -0
- package/dist/runtime/composables/useSlugRoute.d.ts +6 -0
- package/dist/runtime/composables/useSlugRoute.js +19 -0
- package/dist/runtime/composables/useSpaces.d.ts +37 -0
- package/dist/runtime/composables/useSpaces.js +83 -0
- package/dist/runtime/composables/useTouchDrag.d.ts +34 -0
- package/dist/runtime/composables/useTouchDrag.js +191 -0
- package/dist/runtime/composables/useTrash.d.ts +1 -1
- package/dist/runtime/composables/useTrash.js +6 -3
- package/dist/runtime/composables/useWebRTC.d.ts +50 -0
- package/dist/runtime/composables/useWebRTC.js +177 -0
- package/dist/runtime/extensions/meta-field.d.ts +4 -1
- package/dist/runtime/extensions/steps.js +1 -1
- package/dist/runtime/extensions/views/AccordionItemView.vue +13 -3
- package/dist/runtime/extensions/views/AccordionView.vue +4 -1
- package/dist/runtime/extensions/views/BadgeView.vue +11 -2
- package/dist/runtime/extensions/views/CalloutView.vue +4 -1
- package/dist/runtime/extensions/views/CardGroupView.vue +4 -1
- package/dist/runtime/extensions/views/CardView.vue +17 -3
- package/dist/runtime/extensions/views/CodeGroupView.vue +4 -1
- package/dist/runtime/extensions/views/CollapsibleView.vue +8 -2
- package/dist/runtime/extensions/views/FileNodeView.vue +32 -8
- package/dist/runtime/extensions/views/KbdView.vue +8 -2
- package/dist/runtime/extensions/views/MetaFieldView.vue +208 -46
- package/dist/runtime/extensions/views/ProseIconView.vue +8 -2
- package/dist/runtime/extensions/views/TabsView.vue +17 -4
- package/dist/runtime/locale.d.ts +71 -0
- package/dist/runtime/locale.js +71 -0
- package/dist/runtime/plugin-abracadabra.client.js +29 -3
- package/dist/runtime/plugin-abracadabra.server.js +2 -0
- package/dist/runtime/server/api/_abracadabra/render/[docId].get.d.ts +1 -1
- package/dist/runtime/server/api/_abracadabra/render/[docId].get.js +29 -4
- package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.d.ts +2 -0
- package/dist/runtime/server/api/_abracadabra/resolve/[...slug].get.js +43 -0
- package/dist/runtime/server/api/_abracadabra/slugs.get.d.ts +2 -0
- package/dist/runtime/server/api/_abracadabra/slugs.get.js +7 -0
- package/dist/runtime/server/plugins/abracadabra-service.js +10 -5
- package/dist/runtime/server/runners/doc-tree-cache.js +4 -0
- package/dist/runtime/server/utils/slugMap.d.ts +32 -0
- package/dist/runtime/server/utils/slugMap.js +58 -0
- package/dist/runtime/types.d.ts +1 -0
- package/dist/runtime/utils/docTypes.d.ts +29 -1
- package/dist/runtime/utils/docTypes.js +129 -1
- package/dist/runtime/utils/markdownToYjs.js +2 -2
- package/dist/runtime/utils/sdkRef.d.ts +2 -0
- package/dist/runtime/utils/sdkRef.js +7 -0
- package/dist/runtime/utils/slugify.d.ts +40 -0
- package/dist/runtime/utils/slugify.js +36 -0
- package/dist/types.d.mts +6 -0
- 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;
|