@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
@@ -71,11 +71,11 @@ const micIcon = computed(() => {
71
71
  return isMuted.value ? "i-lucide-mic-off" : "i-lucide-mic";
72
72
  });
73
73
  defineShortcuts({
74
- "alt_m": {
74
+ alt_m: {
75
75
  handler: toggleMute,
76
76
  whenever: [isActive]
77
77
  },
78
- "alt_v": {
78
+ alt_v: {
79
79
  handler: toggleVideo,
80
80
  whenever: [isActive]
81
81
  }
@@ -83,7 +83,10 @@ defineShortcuts({
83
83
  </script>
84
84
 
85
85
  <template>
86
- <div v-bind="$attrs" class="w-full">
86
+ <div
87
+ v-bind="$attrs"
88
+ class="w-full"
89
+ >
87
90
  <ClientOnly>
88
91
  <UPopover
89
92
  v-model:open="popoverOpen"
@@ -147,7 +150,10 @@ defineShortcuts({
147
150
  </UAvatarGroup>
148
151
 
149
152
  <template v-if="isConnected">
150
- <UTooltip :text="isMuted ? locale.unmute : locale.mute" :kbds="['Alt', 'M']">
153
+ <UTooltip
154
+ :text="isMuted ? locale.unmute : locale.mute"
155
+ :kbds="['Alt', 'M']"
156
+ >
151
157
  <UButton
152
158
  :icon="isMuted ? 'i-lucide-mic-off' : 'i-lucide-mic'"
153
159
  size="xs"
@@ -157,7 +163,10 @@ defineShortcuts({
157
163
  @click.stop="toggleMute"
158
164
  />
159
165
  </UTooltip>
160
- <UTooltip text="Toggle video" :kbds="['Alt', 'V']">
166
+ <UTooltip
167
+ text="Toggle video"
168
+ :kbds="['Alt', 'V']"
169
+ >
161
170
  <UButton
162
171
  :icon="isVideoEnabled ? 'i-lucide-video' : 'i-lucide-video-off'"
163
172
  size="xs"
@@ -167,7 +176,10 @@ defineShortcuts({
167
176
  @click.stop="toggleVideo"
168
177
  />
169
178
  </UTooltip>
170
- <UTooltip v-if="canScreenShare" text="Screen share">
179
+ <UTooltip
180
+ v-if="canScreenShare"
181
+ text="Screen share"
182
+ >
171
183
  <UButton
172
184
  :icon="isScreenEnabled ? 'i-lucide-monitor-up' : 'i-lucide-monitor'"
173
185
  size="xs"
@@ -216,7 +228,10 @@ defineShortcuts({
216
228
  <!-- Connecting -->
217
229
  <template v-else-if="isConnecting">
218
230
  <div class="flex items-center gap-2 py-0.5">
219
- <UIcon name="i-lucide-loader-circle" class="size-4 text-warning animate-spin shrink-0" />
231
+ <UIcon
232
+ name="i-lucide-loader-circle"
233
+ class="size-4 text-warning animate-spin shrink-0"
234
+ />
220
235
  <span class="text-sm text-muted">{{ locale.connecting }}</span>
221
236
  </div>
222
237
  <UButton
@@ -315,9 +330,21 @@ defineShortcuts({
315
330
  :style="peer.color ? avatarBorderStyle(peer.color, neutral) : ''"
316
331
  />
317
332
  <span class="text-xs truncate flex-1">{{ peer.displayName || peer.userId.slice(0, 6) }}</span>
318
- <UIcon v-if="peer.remoteVideo" name="i-lucide-video" class="size-3 text-primary shrink-0" />
319
- <UIcon v-if="peer.remoteScreen" name="i-lucide-monitor-up" class="size-3 text-primary shrink-0" />
320
- <UIcon v-if="peer.remoteMuted" name="i-lucide-mic-off" class="size-3 text-error shrink-0" />
333
+ <UIcon
334
+ v-if="peer.remoteVideo"
335
+ name="i-lucide-video"
336
+ class="size-3 text-primary shrink-0"
337
+ />
338
+ <UIcon
339
+ v-if="peer.remoteScreen"
340
+ name="i-lucide-monitor-up"
341
+ class="size-3 text-primary shrink-0"
342
+ />
343
+ <UIcon
344
+ v-if="peer.remoteMuted"
345
+ name="i-lucide-mic-off"
346
+ class="size-3 text-error shrink-0"
347
+ />
321
348
  </div>
322
349
  <!-- Audio level bar -->
323
350
  <div class="flex items-center gap-2 pl-7">
@@ -348,14 +375,23 @@ defineShortcuts({
348
375
  </div>
349
376
  </div>
350
377
  </template>
351
- <p v-else class="text-xs text-muted text-center py-0.5">
378
+ <p
379
+ v-else
380
+ class="text-xs text-muted text-center py-0.5"
381
+ >
352
382
  {{ locale.alone }}
353
383
  </p>
354
384
  </template>
355
385
 
356
386
  <!-- Error -->
357
- <div v-if="voiceError" class="flex items-start gap-1.5 text-error">
358
- <UIcon name="i-lucide-alert-circle" class="size-3.5 shrink-0 mt-0.5" />
387
+ <div
388
+ v-if="voiceError"
389
+ class="flex items-start gap-1.5 text-error"
390
+ >
391
+ <UIcon
392
+ name="i-lucide-alert-circle"
393
+ class="size-3.5 shrink-0 mt-0.5"
394
+ />
359
395
  <p class="text-xs leading-tight">
360
396
  {{ voiceError.message }}
361
397
  </p>
@@ -370,8 +406,14 @@ defineShortcuts({
370
406
  class="flex items-center gap-1.5 w-full px-2 opacity-30 pointer-events-none"
371
407
  :class="props.collapsed ? 'justify-center h-8' : 'min-h-8 py-1'"
372
408
  >
373
- <UIcon name="i-lucide-mic-off" class="size-4 text-dimmed" />
374
- <span v-if="!props.collapsed" class="text-xs text-dimmed">{{ locale.voice }}</span>
409
+ <UIcon
410
+ name="i-lucide-mic-off"
411
+ class="size-4 text-dimmed"
412
+ />
413
+ <span
414
+ v-if="!props.collapsed"
415
+ class="text-xs text-dimmed"
416
+ >{{ locale.voice }}</span>
375
417
  </div>
376
418
  </template>
377
419
  </ClientOnly>
@@ -41,7 +41,10 @@ const kindIcon = computed(() => props.kind === "screen" ? "i-lucide-monitor-up"
41
41
  :style="props.mirrored ? 'transform: scaleX(-1)' : ''"
42
42
  />
43
43
  <div class="absolute bottom-2 left-2 flex items-center gap-1.5 bg-black/60 backdrop-blur-sm rounded px-2 py-1">
44
- <UIcon :name="kindIcon" class="size-3 text-white/70 shrink-0" />
44
+ <UIcon
45
+ :name="kindIcon"
46
+ class="size-3 text-white/70 shrink-0"
47
+ />
45
48
  <span class="text-xs text-white font-medium truncate max-w-32">{{ name }}</span>
46
49
  </div>
47
50
  </div>
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { computed } from "vue";
3
3
  const { windows } = useWindowManager();
4
- const windowIds = computed(() => [...windows.value.keys()]);
4
+ const windowIds = computed(() => [...windows.keys()]);
5
5
  </script>
6
6
 
7
7
  <template>
@@ -18,8 +18,8 @@ const hoverRingStyle = computed(() => {
18
18
  <component
19
19
  :is="tag"
20
20
  class="relative"
21
- v-on="hoverHandlers"
22
21
  :style="hoverRingStyle"
22
+ v-on="hoverHandlers"
23
23
  >
24
24
  <slot />
25
25
  <Transition name="aa-peer">
@@ -35,22 +35,59 @@ const popoverOpen = ref(false);
35
35
 
36
36
  <template>
37
37
  <!-- Popover variant (click to open details) -->
38
- <UPopover v-if="showPopover" v-model:open="popoverOpen">
39
- <UTooltip v-if="showTooltip" :text="tooltipText" :delay-duration="600">
40
- <UChip v-if="showStatus && chipColor !== void 0" :color="chipColor" position="top-right" size="sm">
41
- <UAvatar :alt="name" :size="size" :style="avatarStyle" />
38
+ <UPopover
39
+ v-if="showPopover"
40
+ v-model:open="popoverOpen"
41
+ >
42
+ <UTooltip
43
+ v-if="showTooltip"
44
+ :text="tooltipText"
45
+ :delay-duration="600"
46
+ >
47
+ <UChip
48
+ v-if="showStatus && chipColor !== void 0"
49
+ :color="chipColor"
50
+ position="top-right"
51
+ size="sm"
52
+ >
53
+ <UAvatar
54
+ :alt="name"
55
+ :size="size"
56
+ :style="avatarStyle"
57
+ />
42
58
  </UChip>
43
- <UAvatar v-else :alt="name" :size="size" :style="avatarStyle" />
59
+ <UAvatar
60
+ v-else
61
+ :alt="name"
62
+ :size="size"
63
+ :style="avatarStyle"
64
+ />
44
65
  </UTooltip>
45
- <UAvatar v-else :alt="name" :size="size" :style="avatarStyle" />
66
+ <UAvatar
67
+ v-else
68
+ :alt="name"
69
+ :size="size"
70
+ :style="avatarStyle"
71
+ />
46
72
 
47
73
  <template #content>
48
74
  <div class="p-3 w-52 flex flex-col gap-3">
49
75
  <div class="flex items-center gap-3">
50
- <UAvatar :alt="name" size="md" :style="avatarStyle" />
76
+ <UAvatar
77
+ :alt="name"
78
+ size="md"
79
+ :style="avatarStyle"
80
+ />
51
81
  <div class="flex-1 min-w-0">
52
- <p class="text-sm font-semibold text-default truncate">{{ name }}</p>
53
- <p v-if="docContext" class="text-xs text-muted truncate">{{ docContext }}</p>
82
+ <p class="text-sm font-semibold text-default truncate">
83
+ {{ name }}
84
+ </p>
85
+ <p
86
+ v-if="docContext"
87
+ class="text-xs text-muted truncate"
88
+ >
89
+ {{ docContext }}
90
+ </p>
54
91
  </div>
55
92
  </div>
56
93
  <USeparator />
@@ -69,18 +106,50 @@ const popoverOpen = ref(false);
69
106
  </UPopover>
70
107
 
71
108
  <!-- Tooltip-only variant -->
72
- <UTooltip v-else-if="showTooltip" :text="tooltipText" :delay-duration="600">
73
- <UChip v-if="showStatus && chipColor !== void 0" :color="chipColor" position="top-right" size="sm">
74
- <UAvatar :alt="name" :size="size" :style="avatarStyle" />
109
+ <UTooltip
110
+ v-else-if="showTooltip"
111
+ :text="tooltipText"
112
+ :delay-duration="600"
113
+ >
114
+ <UChip
115
+ v-if="showStatus && chipColor !== void 0"
116
+ :color="chipColor"
117
+ position="top-right"
118
+ size="sm"
119
+ >
120
+ <UAvatar
121
+ :alt="name"
122
+ :size="size"
123
+ :style="avatarStyle"
124
+ />
75
125
  </UChip>
76
- <UAvatar v-else :alt="name" :size="size" :style="avatarStyle" />
126
+ <UAvatar
127
+ v-else
128
+ :alt="name"
129
+ :size="size"
130
+ :style="avatarStyle"
131
+ />
77
132
  </UTooltip>
78
133
 
79
134
  <!-- Bare variant -->
80
135
  <template v-else>
81
- <UChip v-if="showStatus && chipColor !== void 0" :color="chipColor" position="top-right" size="sm">
82
- <UAvatar :alt="name" :size="size" :style="avatarStyle" />
136
+ <UChip
137
+ v-if="showStatus && chipColor !== void 0"
138
+ :color="chipColor"
139
+ position="top-right"
140
+ size="sm"
141
+ >
142
+ <UAvatar
143
+ :alt="name"
144
+ :size="size"
145
+ :style="avatarStyle"
146
+ />
83
147
  </UChip>
84
- <UAvatar v-else :alt="name" :size="size" :style="avatarStyle" />
148
+ <UAvatar
149
+ v-else
150
+ :alt="name"
151
+ :size="size"
152
+ :style="avatarStyle"
153
+ />
85
154
  </template>
86
155
  </template>
@@ -14,7 +14,11 @@ const pressRingStyle = computed(() => {
14
14
  </script>
15
15
 
16
16
  <template>
17
- <span class="relative inline-flex" v-on="handlers" :style="pressRingStyle">
17
+ <span
18
+ class="relative inline-flex"
19
+ :style="pressRingStyle"
20
+ v-on="handlers"
21
+ >
18
22
  <UButton v-bind="$attrs" />
19
23
  <Transition name="aa-peer">
20
24
  <span
@@ -26,7 +26,11 @@ const triangleStyle = computed(() => ({
26
26
  </script>
27
27
 
28
28
  <template>
29
- <div v-show="visible" :style="labelStyle" class="flex flex-col items-center">
29
+ <div
30
+ v-show="visible"
31
+ :style="labelStyle"
32
+ class="flex flex-col items-center"
33
+ >
30
34
  <!-- Name pill -->
31
35
  <span
32
36
  class="flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium text-white whitespace-nowrap shadow-sm"
@@ -14,7 +14,10 @@ const visible = computed(() => peers.value.slice(0, props.max));
14
14
  </script>
15
15
 
16
16
  <template>
17
- <div v-show="peers.length > 0" class="flex items-center -space-x-1">
17
+ <div
18
+ v-show="peers.length > 0"
19
+ class="flex items-center -space-x-1"
20
+ >
18
21
  <UAvatar
19
22
  v-for="peer in visible"
20
23
  :key="peer.clientId"
@@ -24,7 +24,10 @@ const overflowOpen = ref(false);
24
24
  </script>
25
25
 
26
26
  <template>
27
- <div v-if="allPeers.length > 0" class="flex items-center">
27
+ <div
28
+ v-if="allPeers.length > 0"
29
+ class="flex items-center"
30
+ >
28
31
  <!-- Stacked avatars -->
29
32
  <div class="flex items-center -space-x-2">
30
33
  <UTooltip
@@ -44,7 +47,10 @@ const overflowOpen = ref(false);
44
47
  </div>
45
48
 
46
49
  <!-- Name labels (expanded mode) -->
47
- <div v-if="showNames && visible.length > 0" class="ml-2 flex items-center gap-2">
50
+ <div
51
+ v-if="showNames && visible.length > 0"
52
+ class="ml-2 flex items-center gap-2"
53
+ >
48
54
  <span
49
55
  v-for="peer in visible"
50
56
  :key="peer.clientId"
@@ -54,7 +60,11 @@ const overflowOpen = ref(false);
54
60
  </div>
55
61
 
56
62
  <!-- Overflow badge + popover -->
57
- <UPopover v-if="overflow > 0" v-model:open="overflowOpen" :content="{ side: 'bottom', align: 'start' }">
63
+ <UPopover
64
+ v-if="overflow > 0"
65
+ v-model:open="overflowOpen"
66
+ :content="{ side: 'bottom', align: 'start' }"
67
+ >
58
68
  <UBadge
59
69
  :label="`+${overflow}`"
60
70
  color="neutral"
@@ -19,7 +19,11 @@ const focusRingStyle = computed(() => {
19
19
  </script>
20
20
 
21
21
  <template>
22
- <div class="relative w-full" v-on="handlers" :style="focusRingStyle">
22
+ <div
23
+ class="relative w-full"
24
+ :style="focusRingStyle"
25
+ v-on="handlers"
26
+ >
23
27
  <UInput v-bind="$attrs" />
24
28
  <Transition name="aa-peer">
25
29
  <span
@@ -19,7 +19,11 @@ const focusRingStyle = computed(() => {
19
19
  </script>
20
20
 
21
21
  <template>
22
- <div class="relative w-full" v-on="handlers" :style="focusRingStyle">
22
+ <div
23
+ class="relative w-full"
24
+ :style="focusRingStyle"
25
+ v-on="handlers"
26
+ >
23
27
  <UTextarea v-bind="$attrs" />
24
28
  <Transition name="aa-peer">
25
29
  <span
@@ -19,7 +19,10 @@ function docContext(user) {
19
19
  <template>
20
20
  <div class="flex flex-col">
21
21
  <!-- Empty state -->
22
- <p v-if="displayed.length === 0" class="text-sm text-muted text-center py-4">
22
+ <p
23
+ v-if="displayed.length === 0"
24
+ class="text-sm text-muted text-center py-4"
25
+ >
23
26
  {{ emptyLabel }}
24
27
  </p>
25
28
 
@@ -44,7 +47,10 @@ function docContext(user) {
44
47
  <p class="text-sm font-medium text-default truncate">
45
48
  {{ peer.user?.name || "Anonymous" }}
46
49
  </p>
47
- <p v-if="docContext(peer)" class="text-xs text-muted truncate">
50
+ <p
51
+ v-if="docContext(peer)"
52
+ class="text-xs text-muted truncate"
53
+ >
48
54
  {{ docContext(peer) }}
49
55
  </p>
50
56
  </div>
@@ -2,7 +2,18 @@ import { type RendererBaseProps } from '../../composables/useRendererBase.js';
2
2
  import type { AbracadabraLocale } from '../../locale.js';
3
3
  type __VLS_Props = RendererBaseProps & {
4
4
  labels?: Partial<AbracadabraLocale['renderers']['calendar']>;
5
+ editable?: boolean;
5
6
  };
6
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
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>;
7
18
  declare const _default: typeof __VLS_export;
8
19
  export default _default;