@threadlabs/looma 0.10.1 → 0.10.3

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 (250) hide show
  1. package/components/ui-tree/ui-tree.html +9 -0
  2. package/components/ui-tree-item/ui-tree-item.html +68 -2
  3. package/components/ui-tree-item/ui-tree-item.js +41 -1
  4. package/dist/index.js +1 -1
  5. package/package.json +2 -2
  6. package/styles/ui-affordance-scope.css +1 -1
  7. package/styles/ui-avatar-group.css +1 -1
  8. package/styles/ui-avatar.css +1 -1
  9. package/styles/ui-badge.css +1 -1
  10. package/styles/ui-button.css +1 -1
  11. package/styles/ui-callout.css +1 -1
  12. package/styles/ui-checkbox.css +1 -1
  13. package/styles/ui-cluster.css +1 -1
  14. package/styles/ui-combobox.css +1 -1
  15. package/styles/ui-container.css +1 -1
  16. package/styles/ui-context-menu.css +1 -1
  17. package/styles/ui-dialog.css +1 -1
  18. package/styles/ui-disclosure.css +1 -1
  19. package/styles/ui-editable.css +1 -1
  20. package/styles/ui-editor-insert-table-grid.css +1 -1
  21. package/styles/ui-editor-mention-menu.css +1 -1
  22. package/styles/ui-editor-slash-menu.css +1 -1
  23. package/styles/ui-editor-table-context-menu.css +1 -1
  24. package/styles/ui-editor-table-overlay.css +1 -1
  25. package/styles/ui-editor-table-toolbar.css +1 -1
  26. package/styles/ui-editor-toolbar.css +1 -1
  27. package/styles/ui-floating-action-button.css +1 -1
  28. package/styles/ui-form-field.css +1 -1
  29. package/styles/ui-grid.css +1 -1
  30. package/styles/ui-icon-button.css +1 -1
  31. package/styles/ui-icon.css +1 -1
  32. package/styles/ui-input.css +1 -1
  33. package/styles/ui-menu-item.css +1 -1
  34. package/styles/ui-menu.css +1 -1
  35. package/styles/ui-popover.css +1 -1
  36. package/styles/ui-radio-group.css +1 -1
  37. package/styles/ui-radio.css +1 -1
  38. package/styles/ui-reel.css +1 -1
  39. package/styles/ui-search-result-row.css +1 -1
  40. package/styles/ui-search-shell.css +1 -1
  41. package/styles/ui-select.css +1 -1
  42. package/styles/ui-separator.css +1 -1
  43. package/styles/ui-sidebar.css +1 -1
  44. package/styles/ui-stack.css +1 -1
  45. package/styles/ui-switch.css +1 -1
  46. package/styles/ui-switcher.css +1 -1
  47. package/styles/ui-tabs.css +1 -1
  48. package/styles/ui-textarea.css +1 -1
  49. package/styles/ui-toast-region.css +1 -1
  50. package/styles/ui-tooltip.css +1 -1
  51. package/styles/ui-top-bar.css +1 -1
  52. package/styles/ui-tree-item.css +76 -2
  53. package/styles/ui-tree.css +12 -3
  54. package/vanilla/UiAffordanceScope.d.ts +1 -1
  55. package/vanilla/UiAffordanceScope.js +1 -1
  56. package/vanilla/UiAvatar.d.ts +1 -1
  57. package/vanilla/UiAvatar.js +1 -1
  58. package/vanilla/UiAvatarGroup.d.ts +1 -1
  59. package/vanilla/UiAvatarGroup.js +1 -1
  60. package/vanilla/UiBadge.d.ts +1 -1
  61. package/vanilla/UiBadge.js +1 -1
  62. package/vanilla/UiButton.d.ts +1 -1
  63. package/vanilla/UiButton.js +1 -1
  64. package/vanilla/UiCallout.d.ts +1 -1
  65. package/vanilla/UiCallout.js +1 -1
  66. package/vanilla/UiCheckbox.d.ts +1 -1
  67. package/vanilla/UiCheckbox.js +1 -1
  68. package/vanilla/UiCluster.d.ts +1 -1
  69. package/vanilla/UiCluster.js +1 -1
  70. package/vanilla/UiCombobox.d.ts +1 -1
  71. package/vanilla/UiCombobox.js +1 -1
  72. package/vanilla/UiContainer.d.ts +1 -1
  73. package/vanilla/UiContainer.js +1 -1
  74. package/vanilla/UiContextMenu.d.ts +1 -1
  75. package/vanilla/UiContextMenu.js +1 -1
  76. package/vanilla/UiDialog.d.ts +1 -1
  77. package/vanilla/UiDialog.js +1 -1
  78. package/vanilla/UiDisclosure.d.ts +1 -1
  79. package/vanilla/UiDisclosure.js +1 -1
  80. package/vanilla/UiEditable.d.ts +1 -1
  81. package/vanilla/UiEditable.js +1 -1
  82. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  83. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  84. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  85. package/vanilla/UiEditorMentionMenu.js +1 -1
  86. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  87. package/vanilla/UiEditorSlashMenu.js +1 -1
  88. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  89. package/vanilla/UiEditorTableContextMenu.js +1 -1
  90. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  91. package/vanilla/UiEditorTableOverlay.js +1 -1
  92. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  93. package/vanilla/UiEditorTableToolbar.js +1 -1
  94. package/vanilla/UiEditorToolbar.d.ts +1 -1
  95. package/vanilla/UiEditorToolbar.js +1 -1
  96. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  97. package/vanilla/UiFloatingActionButton.js +1 -1
  98. package/vanilla/UiFormField.d.ts +1 -1
  99. package/vanilla/UiFormField.js +1 -1
  100. package/vanilla/UiGrid.d.ts +1 -1
  101. package/vanilla/UiGrid.js +1 -1
  102. package/vanilla/UiIcon.d.ts +1 -1
  103. package/vanilla/UiIcon.js +1 -1
  104. package/vanilla/UiIconButton.d.ts +1 -1
  105. package/vanilla/UiIconButton.js +1 -1
  106. package/vanilla/UiInput.d.ts +1 -1
  107. package/vanilla/UiInput.js +1 -1
  108. package/vanilla/UiMenu.d.ts +1 -1
  109. package/vanilla/UiMenu.js +1 -1
  110. package/vanilla/UiMenuItem.d.ts +1 -1
  111. package/vanilla/UiMenuItem.js +1 -1
  112. package/vanilla/UiPopover.d.ts +1 -1
  113. package/vanilla/UiPopover.js +1 -1
  114. package/vanilla/UiRadio.d.ts +1 -1
  115. package/vanilla/UiRadio.js +1 -1
  116. package/vanilla/UiRadioGroup.d.ts +1 -1
  117. package/vanilla/UiRadioGroup.js +1 -1
  118. package/vanilla/UiReel.d.ts +1 -1
  119. package/vanilla/UiReel.js +1 -1
  120. package/vanilla/UiSearchResultRow.d.ts +1 -1
  121. package/vanilla/UiSearchResultRow.js +1 -1
  122. package/vanilla/UiSearchShell.d.ts +1 -1
  123. package/vanilla/UiSearchShell.js +1 -1
  124. package/vanilla/UiSelect.d.ts +1 -1
  125. package/vanilla/UiSelect.js +1 -1
  126. package/vanilla/UiSeparator.d.ts +1 -1
  127. package/vanilla/UiSeparator.js +1 -1
  128. package/vanilla/UiSidebar.d.ts +1 -1
  129. package/vanilla/UiSidebar.js +1 -1
  130. package/vanilla/UiStack.d.ts +1 -1
  131. package/vanilla/UiStack.js +1 -1
  132. package/vanilla/UiSwitch.d.ts +1 -1
  133. package/vanilla/UiSwitch.js +1 -1
  134. package/vanilla/UiSwitcher.d.ts +1 -1
  135. package/vanilla/UiSwitcher.js +1 -1
  136. package/vanilla/UiTabs.d.ts +1 -1
  137. package/vanilla/UiTabs.js +1 -1
  138. package/vanilla/UiTextarea.d.ts +1 -1
  139. package/vanilla/UiTextarea.js +1 -1
  140. package/vanilla/UiToastRegion.d.ts +1 -1
  141. package/vanilla/UiToastRegion.js +1 -1
  142. package/vanilla/UiTooltip.d.ts +1 -1
  143. package/vanilla/UiTooltip.js +1 -1
  144. package/vanilla/UiTopBar.d.ts +1 -1
  145. package/vanilla/UiTopBar.js +1 -1
  146. package/vanilla/UiTree.d.ts +2 -1
  147. package/vanilla/UiTree.js +2 -2
  148. package/vanilla/UiTreeItem.d.ts +2 -1
  149. package/vanilla/UiTreeItem.js +23 -20
  150. package/vue/UiAffordanceScope.vue +1 -1
  151. package/vue/UiAvatar.vue +1 -1
  152. package/vue/UiAvatarGroup.vue +1 -1
  153. package/vue/UiBadge.vue +1 -1
  154. package/vue/UiButton.vue +1 -1
  155. package/vue/UiCallout.vue +1 -1
  156. package/vue/UiCheckbox.vue +1 -1
  157. package/vue/UiCluster.vue +1 -1
  158. package/vue/UiCombobox.vue +1 -1
  159. package/vue/UiContainer.vue +1 -1
  160. package/vue/UiContextMenu.vue +1 -1
  161. package/vue/UiDialog.vue +1 -1
  162. package/vue/UiDisclosure.vue +1 -1
  163. package/vue/UiEditable.vue +1 -1
  164. package/vue/UiEditorInsertTableGrid.vue +1 -1
  165. package/vue/UiEditorMentionMenu.vue +1 -1
  166. package/vue/UiEditorSlashMenu.vue +1 -1
  167. package/vue/UiEditorTableContextMenu.vue +1 -1
  168. package/vue/UiEditorTableOverlay.vue +1 -1
  169. package/vue/UiEditorTableToolbar.vue +1 -1
  170. package/vue/UiEditorToolbar.vue +1 -1
  171. package/vue/UiFloatingActionButton.vue +1 -1
  172. package/vue/UiFormField.vue +1 -1
  173. package/vue/UiGrid.vue +1 -1
  174. package/vue/UiIcon.vue +1 -1
  175. package/vue/UiIconButton.vue +1 -1
  176. package/vue/UiInput.vue +1 -1
  177. package/vue/UiMenu.vue +1 -1
  178. package/vue/UiMenuItem.vue +1 -1
  179. package/vue/UiPopover.vue +1 -1
  180. package/vue/UiRadio.vue +1 -1
  181. package/vue/UiRadioGroup.vue +1 -1
  182. package/vue/UiReel.vue +1 -1
  183. package/vue/UiSearchResultRow.vue +1 -1
  184. package/vue/UiSearchShell.vue +1 -1
  185. package/vue/UiSelect.vue +1 -1
  186. package/vue/UiSeparator.vue +1 -1
  187. package/vue/UiSidebar.vue +1 -1
  188. package/vue/UiStack.vue +1 -1
  189. package/vue/UiSwitch.vue +1 -1
  190. package/vue/UiSwitcher.vue +1 -1
  191. package/vue/UiTabs.vue +1 -1
  192. package/vue/UiTextarea.vue +1 -1
  193. package/vue/UiToastRegion.vue +1 -1
  194. package/vue/UiTooltip.vue +1 -1
  195. package/vue/UiTopBar.vue +1 -1
  196. package/vue/UiTree.d.ts +2 -0
  197. package/vue/UiTree.vue +10 -1
  198. package/vue/UiTreeItem.d.ts +2 -0
  199. package/vue/UiTreeItem.vue +72 -3
  200. package/vue/chunks/UiAffordanceScope.js +1 -1
  201. package/vue/chunks/UiAvatar.js +1 -1
  202. package/vue/chunks/UiAvatarGroup.js +1 -1
  203. package/vue/chunks/UiBadge.js +1 -1
  204. package/vue/chunks/UiButton.js +1 -1
  205. package/vue/chunks/UiCallout.js +1 -1
  206. package/vue/chunks/UiCheckbox.js +1 -1
  207. package/vue/chunks/UiCluster.js +1 -1
  208. package/vue/chunks/UiCombobox.js +1 -1
  209. package/vue/chunks/UiContainer.js +1 -1
  210. package/vue/chunks/UiContextMenu.js +1 -1
  211. package/vue/chunks/UiDialog.js +1 -1
  212. package/vue/chunks/UiDisclosure.js +1 -1
  213. package/vue/chunks/UiEditable.js +1 -1
  214. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  215. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  216. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  217. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  218. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  219. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  220. package/vue/chunks/UiEditorToolbar.js +1 -1
  221. package/vue/chunks/UiFloatingActionButton.js +1 -1
  222. package/vue/chunks/UiFormField.js +1 -1
  223. package/vue/chunks/UiGrid.js +1 -1
  224. package/vue/chunks/UiIcon.js +1 -1
  225. package/vue/chunks/UiIconButton.js +1 -1
  226. package/vue/chunks/UiInput.js +1 -1
  227. package/vue/chunks/UiMenu.js +1 -1
  228. package/vue/chunks/UiMenuItem.js +1 -1
  229. package/vue/chunks/UiPopover.js +1 -1
  230. package/vue/chunks/UiRadio.js +1 -1
  231. package/vue/chunks/UiRadioGroup.js +1 -1
  232. package/vue/chunks/UiReel.js +1 -1
  233. package/vue/chunks/UiSearchResultRow.js +1 -1
  234. package/vue/chunks/UiSearchShell.js +1 -1
  235. package/vue/chunks/UiSelect.js +1 -1
  236. package/vue/chunks/UiSeparator.js +1 -1
  237. package/vue/chunks/UiSidebar.js +1 -1
  238. package/vue/chunks/UiStack.js +1 -1
  239. package/vue/chunks/UiSwitch.js +1 -1
  240. package/vue/chunks/UiSwitcher.js +1 -1
  241. package/vue/chunks/UiTabs.js +1 -1
  242. package/vue/chunks/UiTextarea.js +1 -1
  243. package/vue/chunks/UiToastRegion.js +1 -1
  244. package/vue/chunks/UiTooltip.js +1 -1
  245. package/vue/chunks/UiTopBar.js +1 -1
  246. package/vue/chunks/UiTree.js +6 -2
  247. package/vue/chunks/UiTreeItem.js +15 -5
  248. package/vue/chunks/host.js +8 -2
  249. package/vue/components.css +783 -719
  250. package/vue/host.ts +11 -2
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.3 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.5 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, ref, useTemplateRef } from 'vue'
4
4
  import * as controllerModule from '../components/ui-tree-item/ui-tree-item.js'
@@ -17,6 +17,7 @@ const props = withDefaults(
17
17
  expanded?: boolean
18
18
  itemId?: string
19
19
  label?: string
20
+ marquee?: boolean
20
21
  selected?: boolean
21
22
  sortable?: boolean
22
23
  subtreeDepth?: number
@@ -30,6 +31,7 @@ const props = withDefaults(
30
31
  expanded: false,
31
32
  itemId: '',
32
33
  label: '',
34
+ marquee: false,
33
35
  selected: false,
34
36
  sortable: false,
35
37
  },
@@ -49,6 +51,7 @@ const root = ref<HTMLElement | null>(null)
49
51
  const rowElement = useTemplateRef<HTMLElement>('row')
50
52
  const dragHandleElement = useTemplateRef<HTMLElement>('dragHandle')
51
53
  const disclosureElement = useTemplateRef<HTMLElement>('disclosure')
54
+ const labelTextElement = useTemplateRef<HTMLElement>('labelText')
52
55
  const actionsElement = useTemplateRef<HTMLElement>('actions')
53
56
  const childrenElement = useTemplateRef<HTMLElement>('children')
54
57
  const internalExpanded = ref(false)
@@ -88,6 +91,7 @@ useComponentHost(controllerModule.default, {
88
91
  row: rowElement,
89
92
  dragHandle: dragHandleElement,
90
93
  disclosure: disclosureElement,
94
+ labelText: labelTextElement,
91
95
  actions: actionsElement,
92
96
  children: childrenElement,
93
97
  },
@@ -150,7 +154,9 @@ useComponentHost(controllerModule.default, {
150
154
  <span class="disclosure-icon" aria-hidden="true"></span>
151
155
  </button>
152
156
  <span class="leading"><slot name="leading" /></span>
153
- <span class="label"><slot name="label">{{ label }}</slot></span>
157
+ <span class="label"><span class="label-text" ref="labelText"><slot name="label">{{
158
+ label
159
+ }}</slot></span></span>
154
160
  <span class="actions" ref="actions"><slot name="actions" /></span>
155
161
  <span class="drop-indicator row-drop-indicator" aria-hidden="true"></span>
156
162
  </div>
@@ -313,17 +319,80 @@ useComponentHost(controllerModule.default, {
313
319
  display: flex;
314
320
  align-items: center;
315
321
  min-inline-size: 0;
322
+ /* The cell clips: a name longer than the row slides inside it rather than over its icons. */
323
+ overflow: hidden;
316
324
  padding: var(--ui-tree-item-label-padding-block, var(--ui-space-1))
317
325
  var(--ui-tree-item-label-padding-inline, var(--ui-space-2));
318
326
  }
319
327
 
320
328
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
321
329
  its own text and reading as overflow. */
322
- .label > :slotted(*) {
330
+ .label-text {
331
+ display: flex;
332
+ align-items: center;
333
+ /* Stretches, so slotted content can still be the row's full-height hit area. */
334
+ align-self: stretch;
335
+ block-size: 100%;
336
+ min-inline-size: 0;
337
+ inline-size: 100%;
338
+ white-space: nowrap;
339
+ }
340
+
341
+ .label-text > :slotted(*) {
323
342
  flex: 1 1 auto;
324
343
  min-inline-size: 0;
325
344
  }
326
345
 
346
+ /* A hovered row reads its whole name: the label slides far enough to show the end, waits
347
+ there, and comes back. Only when it actually overflows — the controller measures by how
348
+ much — after the controls have taken their place over its end — and hands over the distance
349
+ and a duration from it, so a longer name travels no faster. */
350
+ .row[data-ui-marquee] > .label > .label-text {
351
+ /* Once, and it stays at the end while the pointer is there: a name that keeps sliding back
352
+ and forth under the pointer is harder to read than one that arrives and holds. */
353
+ animation: ui-tree-item-marquee var(--_marquee-duration) linear 0.5s 1 normal forwards;
354
+ will-change: transform;
355
+ }
356
+
357
+ /* While it slides, the start fades too: the name is leaving the cell at both ends, and a hard
358
+ edge beside the icon reads as a collision rather than as more text. */
359
+ .row[data-ui-marquee] > .label {
360
+ mask-image: linear-gradient(
361
+ to right,
362
+ transparent 0,
363
+ #000 var(--ui-space-2),
364
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
365
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
366
+ );
367
+ }
368
+
369
+ .row[data-ui-marquee] > .label:dir(rtl) {
370
+ mask-image: linear-gradient(
371
+ to left,
372
+ transparent 0,
373
+ #000 var(--ui-space-2),
374
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
375
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
376
+ );
377
+ }
378
+
379
+ @keyframes ui-tree-item-marquee {
380
+ from {
381
+ transform: translateX(0);
382
+ }
383
+
384
+ to {
385
+ transform: translateX(var(--_marquee-distance));
386
+ }
387
+ }
388
+
389
+ /* Reduced motion keeps the fade, which already says the name continues. */
390
+ @media (prefers-reduced-motion: reduce) {
391
+ .row[data-ui-marquee] > .label > .label-text {
392
+ animation: none;
393
+ }
394
+ }
395
+
327
396
  /* The controls sit over the label's end, so the text fades out where they begin. The fade is
328
397
  the truncation mark while it shows: an ellipsis under it would read as a second one. */
329
398
  .row:hover > .label,
@@ -31,6 +31,6 @@ var UiAffordanceScope_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
31
31
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
32
32
  };
33
33
  }
34
- }), [["__scopeId", "data-v-c1d56d8d"]]);
34
+ }), [["__scopeId", "data-v-c9fe5e81"]]);
35
35
  //#endregion
36
36
  export { UiAffordanceScope_default as t };
@@ -57,6 +57,6 @@ var UiAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
57
57
  ], 16);
58
58
  };
59
59
  }
60
- }), [["__scopeId", "data-v-eb16b513"]]);
60
+ }), [["__scopeId", "data-v-f6916639"]]);
61
61
  //#endregion
62
62
  export { UiAvatar_default as t };
@@ -44,6 +44,6 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
44
44
  }, toDisplayString(`+${overflowCount.value}`), 9, _hoisted_2)], 16, _hoisted_1);
45
45
  };
46
46
  }
47
- }), [["__scopeId", "data-v-9e8e1291"]]);
47
+ }), [["__scopeId", "data-v-9d727004"]]);
48
48
  //#endregion
49
49
  export { UiAvatarGroup_default as t };
@@ -24,6 +24,6 @@ var UiBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
24
24
  return openBlock(), createElementBlock("span", mergeProps({ "data-component": "ui-badge" }, _ctx.$attrs, { "data-ui-badge-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
25
25
  };
26
26
  }
27
- }), [["__scopeId", "data-v-c0ffc4d8"]]);
27
+ }), [["__scopeId", "data-v-0dbc98f0"]]);
28
28
  //#endregion
29
29
  export { UiBadge_default as t };
@@ -83,6 +83,6 @@ var UiButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
83
83
  ]);
84
84
  };
85
85
  }
86
- }), [["__scopeId", "data-v-1cd0b390"]]);
86
+ }), [["__scopeId", "data-v-0c121308"]]);
87
87
  //#endregion
88
88
  export { UiButton_default as t };
@@ -103,6 +103,6 @@ var UiCallout_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
103
103
  ]), createElementVNode("div", _hoisted_8, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
104
104
  };
105
105
  }
106
- }), [["__scopeId", "data-v-c6e92976"]]);
106
+ }), [["__scopeId", "data-v-2fd6ab30"]]);
107
107
  //#endregion
108
108
  export { UiCallout_default as t };
@@ -84,6 +84,6 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
84
84
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
85
85
  };
86
86
  }
87
- }), [["__scopeId", "data-v-44d93832"]]);
87
+ }), [["__scopeId", "data-v-9c9d1eaa"]]);
88
88
  //#endregion
89
89
  export { UiCheckbox_default as t };
@@ -19,6 +19,6 @@ var UiCluster_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
19
19
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-cluster" }, _ctx.$attrs, { "data-ui-cluster-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
20
20
  };
21
21
  }
22
- }), [["__scopeId", "data-v-9a0304f1"]]);
22
+ }), [["__scopeId", "data-v-c4f9b76d"]]);
23
23
  //#endregion
24
24
  export { UiCluster_default as t };
@@ -479,6 +479,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
479
479
  ], 16, _hoisted_1);
480
480
  };
481
481
  }
482
- }), [["__scopeId", "data-v-cd33b9b7"]]);
482
+ }), [["__scopeId", "data-v-0bd7ecc4"]]);
483
483
  //#endregion
484
484
  export { UiCombobox_default as t };
@@ -19,6 +19,6 @@ var UiContainer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
19
19
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-container" }, _ctx.$attrs, { "data-ui-container-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
20
20
  };
21
21
  }
22
- }), [["__scopeId", "data-v-89d8ad17"]]);
22
+ }), [["__scopeId", "data-v-b1605eab"]]);
23
23
  //#endregion
24
24
  export { UiContainer_default as t };
@@ -61,6 +61,6 @@ var UiContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
61
61
  }), [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)], 16);
62
62
  };
63
63
  }
64
- }), [["__scopeId", "data-v-607c2847"]]);
64
+ }), [["__scopeId", "data-v-06309584"]]);
65
65
  //#endregion
66
66
  export { UiContextMenu_default as t };
@@ -75,6 +75,6 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
75
75
  ], 16, _hoisted_1);
76
76
  };
77
77
  }
78
- }), [["__scopeId", "data-v-cac753c9"]]);
78
+ }), [["__scopeId", "data-v-d43d3a22"]]);
79
79
  //#endregion
80
80
  export { UiDialog_default as t };
@@ -86,6 +86,6 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
86
86
  }, [createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 8, _hoisted_3)], 16, _hoisted_1);
87
87
  };
88
88
  }
89
- }), [["__scopeId", "data-v-20cbcb83"]]);
89
+ }), [["__scopeId", "data-v-54a22a7e"]]);
90
90
  //#endregion
91
91
  export { UiDisclosure_default as t };
@@ -120,6 +120,6 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
120
120
  }, "Cancel", -1)])])) : createCommentVNode("v-if", true)], 16, _hoisted_1);
121
121
  };
122
122
  }
123
- }), [["__scopeId", "data-v-c1b523c6"]]);
123
+ }), [["__scopeId", "data-v-8fe1c571"]]);
124
124
  //#endregion
125
125
  export { UiEditable_default as t };
@@ -104,6 +104,6 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
104
104
  ], 16, _hoisted_1);
105
105
  };
106
106
  }
107
- }), [["__scopeId", "data-v-7b1e476f"]]);
107
+ }), [["__scopeId", "data-v-fd963634"]]);
108
108
  //#endregion
109
109
  export { UiEditorInsertTableGrid_default as t };
@@ -101,6 +101,6 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
101
101
  ], 16, _hoisted_1);
102
102
  };
103
103
  }
104
- }), [["__scopeId", "data-v-78edc5f6"]]);
104
+ }), [["__scopeId", "data-v-9c76e661"]]);
105
105
  //#endregion
106
106
  export { UiEditorMentionMenu_default as t };
@@ -95,6 +95,6 @@ var UiEditorSlashMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
95
95
  ], 16, _hoisted_1);
96
96
  };
97
97
  }
98
- }), [["__scopeId", "data-v-e7d0f904"]]);
98
+ }), [["__scopeId", "data-v-afcbaee6"]]);
99
99
  //#endregion
100
100
  export { UiEditorSlashMenu_default as t };
@@ -93,6 +93,6 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
93
93
  }), 128))], 16, _hoisted_1);
94
94
  };
95
95
  }
96
- }), [["__scopeId", "data-v-2d9eb67c"]]);
96
+ }), [["__scopeId", "data-v-64488d5e"]]);
97
97
  //#endregion
98
98
  export { UiEditorTableContextMenu_default as t };
@@ -181,6 +181,6 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
181
181
  ], 16, _hoisted_1);
182
182
  };
183
183
  }
184
- }), [["__scopeId", "data-v-61a70a30"]]);
184
+ }), [["__scopeId", "data-v-fed0c263"]]);
185
185
  //#endregion
186
186
  export { UiEditorTableOverlay_default as t };
@@ -175,6 +175,6 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
175
175
  ], 16, _hoisted_1);
176
176
  };
177
177
  }
178
- }), [["__scopeId", "data-v-1b253cb1"]]);
178
+ }), [["__scopeId", "data-v-fdb800d4"]]);
179
179
  //#endregion
180
180
  export { UiEditorTableToolbar_default as t };
@@ -52,6 +52,6 @@ var UiEditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
52
52
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
53
53
  };
54
54
  }
55
- }), [["__scopeId", "data-v-e776f060"]]);
55
+ }), [["__scopeId", "data-v-8f7cefb2"]]);
56
56
  //#endregion
57
57
  export { UiEditorToolbar_default as t };
@@ -37,6 +37,6 @@ var UiFloatingActionButton_default = /*#__PURE__*/ _plugin_vue_export_helper_def
37
37
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
38
38
  };
39
39
  }
40
- }), [["__scopeId", "data-v-62b77471"]]);
40
+ }), [["__scopeId", "data-v-dc9b5621"]]);
41
41
  //#endregion
42
42
  export { UiFloatingActionButton_default as t };
@@ -46,6 +46,6 @@ var UiFormField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
46
46
  ], 16);
47
47
  };
48
48
  }
49
- }), [["__scopeId", "data-v-13b85af2"]]);
49
+ }), [["__scopeId", "data-v-eba1e76b"]]);
50
50
  //#endregion
51
51
  export { UiFormField_default as t };
@@ -19,6 +19,6 @@ var UiGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
19
19
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-grid" }, _ctx.$attrs, { "data-ui-grid-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
20
20
  };
21
21
  }
22
- }), [["__scopeId", "data-v-9635be0b"]]);
22
+ }), [["__scopeId", "data-v-84466559"]]);
23
23
  //#endregion
24
24
  export { UiGrid_default as t };
@@ -73,6 +73,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
73
73
  }), 128))]))], 16);
74
74
  };
75
75
  }
76
- }), [["__scopeId", "data-v-7b1048a0"]]);
76
+ }), [["__scopeId", "data-v-3d48bd86"]]);
77
77
  //#endregion
78
78
  export { UiIcon_default as t };
@@ -59,6 +59,6 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
59
59
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
60
60
  };
61
61
  }
62
- }), [["__scopeId", "data-v-23aa723d"]]);
62
+ }), [["__scopeId", "data-v-bcedd63e"]]);
63
63
  //#endregion
64
64
  export { UiIconButton_default as t };
@@ -61,6 +61,6 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
61
61
  }), null, 16, _hoisted_1)), [[vModelDynamic, model.value]]);
62
62
  };
63
63
  }
64
- }), [["__scopeId", "data-v-0c0dde58"]]);
64
+ }), [["__scopeId", "data-v-f84acfe8"]]);
65
65
  //#endregion
66
66
  export { UiInput_default as t };
@@ -69,6 +69,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
69
69
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
70
70
  };
71
71
  }
72
- }), [["__scopeId", "data-v-e8df970a"]]);
72
+ }), [["__scopeId", "data-v-ad1dce95"]]);
73
73
  //#endregion
74
74
  export { UiMenu_default as t };
@@ -26,6 +26,6 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
26
26
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
27
27
  };
28
28
  }
29
- }), [["__scopeId", "data-v-40124183"]]);
29
+ }), [["__scopeId", "data-v-4bd9e602"]]);
30
30
  //#endregion
31
31
  export { UiMenuItem_default as t };
@@ -56,6 +56,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
56
56
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
57
57
  };
58
58
  }
59
- }), [["__scopeId", "data-v-3675062e"]]);
59
+ }), [["__scopeId", "data-v-00194c85"]]);
60
60
  //#endregion
61
61
  export { UiPopover_default as t };
@@ -78,6 +78,6 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
78
78
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
79
79
  };
80
80
  }
81
- }), [["__scopeId", "data-v-2c20c2e3"]]);
81
+ }), [["__scopeId", "data-v-e31949a7"]]);
82
82
  //#endregion
83
83
  export { UiRadio_default as t };
@@ -75,6 +75,6 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
75
75
  }), [createElementVNode("legend", null, toDisplayString(__props.label), 1), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
76
76
  };
77
77
  }
78
- }), [["__scopeId", "data-v-f54344c6"]]);
78
+ }), [["__scopeId", "data-v-b97195d1"]]);
79
79
  //#endregion
80
80
  export { UiRadioGroup_default as t };
@@ -28,6 +28,6 @@ var UiReel_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
28
28
  }, _ctx.$attrs, { "data-ui-reel-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
29
29
  };
30
30
  }
31
- }), [["__scopeId", "data-v-0d41608a"]]);
31
+ }), [["__scopeId", "data-v-b373e396"]]);
32
32
  //#endregion
33
33
  export { UiReel_default as t };
@@ -50,6 +50,6 @@ var UiSearchResultRow_default = /*#__PURE__*/ _plugin_vue_export_helper_default(
50
50
  ], 16, _hoisted_1);
51
51
  };
52
52
  }
53
- }), [["__scopeId", "data-v-c2562cce"]]);
53
+ }), [["__scopeId", "data-v-b0d24e6e"]]);
54
54
  //#endregion
55
55
  export { UiSearchResultRow_default as t };
@@ -67,6 +67,6 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
67
67
  ])], 8, _hoisted_1)], 16);
68
68
  };
69
69
  }
70
- }), [["__scopeId", "data-v-d27d0d8a"]]);
70
+ }), [["__scopeId", "data-v-d749a869"]]);
71
71
  //#endregion
72
72
  export { UiSearchShell_default as t };
@@ -55,6 +55,6 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
55
55
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[vModelSelect, model.value]]);
56
56
  };
57
57
  }
58
- }), [["__scopeId", "data-v-2a885e02"]]);
58
+ }), [["__scopeId", "data-v-f9be4ab9"]]);
59
59
  //#endregion
60
60
  export { UiSelect_default as t };
@@ -13,6 +13,6 @@ var UiSeparator_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
13
13
  return openBlock(), createElementBlock("hr", mergeProps({ "data-component": "ui-separator" }, _ctx.$attrs, { "aria-orientation": __props.orientation }), null, 16, _hoisted_1);
14
14
  };
15
15
  }
16
- }), [["__scopeId", "data-v-f07c3800"]]);
16
+ }), [["__scopeId", "data-v-357ad177"]]);
17
17
  //#endregion
18
18
  export { UiSeparator_default as t };
@@ -85,6 +85,6 @@ var UiSidebar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
85
85
  }, null, -1)])], 8, _hoisted_3)], 16, _hoisted_1);
86
86
  };
87
87
  }
88
- }), [["__scopeId", "data-v-4bcdb743"]]);
88
+ }), [["__scopeId", "data-v-d5bc9278"]]);
89
89
  //#endregion
90
90
  export { UiSidebar_default as t };
@@ -24,6 +24,6 @@ var UiStack_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
24
24
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-stack" }, _ctx.$attrs, { "data-ui-stack-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
25
25
  };
26
26
  }
27
- }), [["__scopeId", "data-v-43678d8b"]]);
27
+ }), [["__scopeId", "data-v-e8d52a11"]]);
28
28
  //#endregion
29
29
  export { UiStack_default as t };
@@ -79,6 +79,6 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
79
79
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
80
80
  };
81
81
  }
82
- }), [["__scopeId", "data-v-aeb44053"]]);
82
+ }), [["__scopeId", "data-v-26ab3add"]]);
83
83
  //#endregion
84
84
  export { UiSwitch_default as t };
@@ -24,6 +24,6 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
24
24
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, { "data-ui-switcher-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
25
25
  };
26
26
  }
27
- }), [["__scopeId", "data-v-3ed2c685"]]);
27
+ }), [["__scopeId", "data-v-e00fcda9"]]);
28
28
  //#endregion
29
29
  export { UiSwitcher_default as t };
@@ -91,6 +91,6 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
91
91
  }), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
92
92
  };
93
93
  }
94
- }), [["__scopeId", "data-v-f288c3b2"]]);
94
+ }), [["__scopeId", "data-v-cf12d253"]]);
95
95
  //#endregion
96
96
  export { UiTabs_default as t };
@@ -64,6 +64,6 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
64
64
  }), null, 16, _hoisted_1)), [[vModelText, model.value]]);
65
65
  };
66
66
  }
67
- }), [["__scopeId", "data-v-fd749c95"]]);
67
+ }), [["__scopeId", "data-v-0352d397"]]);
68
68
  //#endregion
69
69
  export { UiTextarea_default as t };
@@ -103,6 +103,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
103
103
  }), 128))], 16);
104
104
  };
105
105
  }
106
- }), [["__scopeId", "data-v-925e00c2"]]);
106
+ }), [["__scopeId", "data-v-94472df4"]]);
107
107
  //#endregion
108
108
  export { UiToastRegion_default as t };
@@ -72,6 +72,6 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
72
72
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
73
73
  };
74
74
  }
75
- }), [["__scopeId", "data-v-5952fbd4"]]);
75
+ }), [["__scopeId", "data-v-c4cff7e8"]]);
76
76
  //#endregion
77
77
  export { UiTooltip_default as t };
@@ -20,6 +20,6 @@ var UiTopBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
20
20
  ], 16);
21
21
  };
22
22
  }
23
- }), [["__scopeId", "data-v-d08120f9"]]);
23
+ }), [["__scopeId", "data-v-72f788b1"]]);
24
24
  //#endregion
25
25
  export { UiTopBar_default as t };
@@ -13,6 +13,10 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
13
13
  density: { default: "comfortable" },
14
14
  hoverExpandDelay: { default: 700 },
15
15
  label: { default: "Tree" },
16
+ marquee: {
17
+ type: Boolean,
18
+ default: false
19
+ },
16
20
  maxDepth: { default: 0 }
17
21
  },
18
22
  emits: [
@@ -25,7 +29,7 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
25
29
  const emit = __emit;
26
30
  const root = ref(null);
27
31
  /** The values the styles' :host-state() rules test. */
28
- const hostState = computed(() => [props.density && `density density=${props.density}`].filter(Boolean).join(" "));
32
+ const hostState = computed(() => [props.marquee && "marquee", props.density && `density density=${props.density}`].filter(Boolean).join(" "));
29
33
  const isReorderDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["sourceId"] === "string" && typeof detail["targetId"] === "string" && (detail["position"] === "before" || detail["position"] === "inside" || detail["position"] === "after") && typeof detail["sourceType"] === "string" && typeof detail["targetType"] === "string" && typeof detail["sourceScope"] === "string" && typeof detail["targetScope"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
30
34
  "sourceId",
31
35
  "targetId",
@@ -68,6 +72,6 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
68
72
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
69
73
  };
70
74
  }
71
- }), [["__scopeId", "data-v-89a4437c"]]);
75
+ }), [["__scopeId", "data-v-5c1143dd"]]);
72
76
  //#endregion
73
77
  export { UiTree_default as t };