@threadlabs/looma 0.12.6 → 0.13.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 (199) hide show
  1. package/components/ui-action-bar/ui-action-bar.html +10 -1
  2. package/components/ui-avatar/ui-avatar.html +18 -0
  3. package/components/ui-avatar-group/ui-avatar-group.html +16 -2
  4. package/components/ui-badge/ui-badge.html +42 -0
  5. package/components/ui-button/ui-button.html +70 -0
  6. package/components/ui-callout/ui-callout.html +55 -4
  7. package/components/ui-checkbox/ui-checkbox.html +16 -3
  8. package/components/ui-cluster/ui-cluster.html +7 -1
  9. package/components/ui-combobox/ui-combobox.html +66 -12
  10. package/components/ui-container/ui-container.html +12 -1
  11. package/components/ui-context-menu/ui-context-menu.html +10 -1
  12. package/components/ui-dialog/ui-dialog.html +21 -4
  13. package/components/ui-disclosure/ui-disclosure.html +23 -4
  14. package/components/ui-editable/ui-editable.html +1 -1
  15. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +2 -2
  16. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  17. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +8 -8
  18. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +3 -3
  19. package/components/ui-floating-action-button/ui-floating-action-button.html +14 -0
  20. package/components/ui-form-field/ui-form-field.html +10 -1
  21. package/components/ui-grid/ui-grid.html +11 -1
  22. package/components/ui-icon/ui-icon.html +17 -3
  23. package/components/ui-icon-button/ui-icon-button.html +81 -3
  24. package/components/ui-input/ui-input.html +68 -13
  25. package/components/ui-input-group/ui-input-group.html +14 -13
  26. package/components/ui-list/ui-list.html +10 -0
  27. package/components/ui-list-item/ui-list-item.html +22 -1
  28. package/components/ui-menu/ui-menu.html +17 -5
  29. package/components/ui-menu-item/ui-menu-item.html +30 -3
  30. package/components/ui-nav-item/ui-nav-item.html +14 -0
  31. package/components/ui-popover/ui-popover.html +6 -0
  32. package/components/ui-radio/ui-radio.html +16 -3
  33. package/components/ui-reel/ui-reel.html +15 -2
  34. package/components/ui-search-result-row/ui-search-result-row.html +34 -0
  35. package/components/ui-search-shell/ui-search-shell.html +65 -11
  36. package/components/ui-select/ui-select.html +15 -1
  37. package/components/ui-separator/ui-separator.html +9 -2
  38. package/components/ui-sidebar/ui-sidebar.html +22 -1
  39. package/components/ui-stack/ui-stack.html +7 -1
  40. package/components/ui-switch/ui-switch.html +21 -3
  41. package/components/ui-switcher/ui-switcher.html +18 -5
  42. package/components/ui-tabs/ui-tabs.html +21 -2
  43. package/components/ui-textarea/ui-textarea.html +15 -1
  44. package/components/ui-toast-region/ui-toast-region.html +16 -2
  45. package/components/ui-tooltip/ui-tooltip.html +62 -13
  46. package/components/ui-top-bar/ui-top-bar.html +34 -1
  47. package/components/ui-tree/ui-tree.html +27 -4
  48. package/components/ui-tree-item/ui-tree-item.html +39 -10
  49. package/components/ui-tree-item/ui-tree-item.js +1 -1
  50. package/dist/index.js +1 -1
  51. package/package.json +1 -1
  52. package/styles/ui-action-bar.css +14 -3
  53. package/styles/ui-avatar-group.css +20 -4
  54. package/styles/ui-avatar.css +22 -2
  55. package/styles/ui-badge.css +46 -2
  56. package/styles/ui-button.css +74 -2
  57. package/styles/ui-callout.css +59 -6
  58. package/styles/ui-checkbox.css +20 -5
  59. package/styles/ui-cluster.css +10 -2
  60. package/styles/ui-combobox.css +69 -14
  61. package/styles/ui-container.css +14 -2
  62. package/styles/ui-context-menu.css +14 -3
  63. package/styles/ui-dialog.css +25 -6
  64. package/styles/ui-disclosure.css +27 -6
  65. package/styles/ui-editable.css +1 -1
  66. package/styles/ui-editor-slash-menu.css +2 -2
  67. package/styles/ui-editor-table-context-menu.css +2 -2
  68. package/styles/ui-editor-table-overlay.css +8 -8
  69. package/styles/ui-editor-table-toolbar.css +3 -3
  70. package/styles/ui-floating-action-button.css +18 -2
  71. package/styles/ui-form-field.css +14 -3
  72. package/styles/ui-grid.css +14 -2
  73. package/styles/ui-icon-button.css +85 -5
  74. package/styles/ui-icon.css +21 -5
  75. package/styles/ui-input-group.css +14 -13
  76. package/styles/ui-input.css +73 -15
  77. package/styles/ui-list-item.css +26 -3
  78. package/styles/ui-list.css +14 -2
  79. package/styles/ui-menu-item.css +34 -5
  80. package/styles/ui-menu.css +21 -6
  81. package/styles/ui-nav-item.css +18 -2
  82. package/styles/ui-popover.css +10 -2
  83. package/styles/ui-radio.css +20 -5
  84. package/styles/ui-reel.css +18 -3
  85. package/styles/ui-search-result-row.css +38 -2
  86. package/styles/ui-search-shell.css +69 -13
  87. package/styles/ui-select.css +19 -3
  88. package/styles/ui-separator.css +14 -2
  89. package/styles/ui-sidebar.css +26 -3
  90. package/styles/ui-stack.css +10 -2
  91. package/styles/ui-switch.css +25 -5
  92. package/styles/ui-switcher.css +21 -6
  93. package/styles/ui-tabs.css +25 -4
  94. package/styles/ui-textarea.css +19 -3
  95. package/styles/ui-toast-region.css +20 -4
  96. package/styles/ui-tooltip.css +66 -15
  97. package/styles/ui-top-bar.css +38 -3
  98. package/styles/ui-tree-item.css +43 -12
  99. package/styles/ui-tree.css +33 -6
  100. package/theme-dark.css +1 -1
  101. package/theme-light.css +1 -1
  102. package/tokens.css +8 -6
  103. package/vue/UiActionBar.vue +12 -3
  104. package/vue/UiAvatar.vue +18 -0
  105. package/vue/UiAvatarGroup.vue +16 -2
  106. package/vue/UiBadge.vue +42 -0
  107. package/vue/UiButton.vue +70 -0
  108. package/vue/UiCallout.vue +55 -4
  109. package/vue/UiCheckbox.vue +16 -3
  110. package/vue/UiCluster.vue +6 -0
  111. package/vue/UiCombobox.vue +66 -12
  112. package/vue/UiContainer.vue +10 -0
  113. package/vue/UiContextMenu.vue +10 -1
  114. package/vue/UiDialog.vue +21 -4
  115. package/vue/UiDisclosure.vue +23 -4
  116. package/vue/UiEditable.vue +1 -1
  117. package/vue/UiEditorSlashMenu.vue +2 -2
  118. package/vue/UiEditorTableContextMenu.vue +2 -2
  119. package/vue/UiEditorTableOverlay.vue +8 -8
  120. package/vue/UiEditorTableToolbar.vue +3 -3
  121. package/vue/UiFloatingActionButton.vue +14 -0
  122. package/vue/UiFormField.vue +10 -1
  123. package/vue/UiGrid.vue +10 -0
  124. package/vue/UiIcon.vue +17 -3
  125. package/vue/UiIconButton.vue +81 -3
  126. package/vue/UiInput.vue +90 -15
  127. package/vue/UiInputGroup.vue +14 -13
  128. package/vue/UiList.vue +12 -2
  129. package/vue/UiListItem.vue +30 -9
  130. package/vue/UiMenu.vue +17 -5
  131. package/vue/UiMenuItem.vue +42 -4
  132. package/vue/UiNavItem.vue +17 -3
  133. package/vue/UiPopover.vue +6 -0
  134. package/vue/UiRadio.vue +16 -3
  135. package/vue/UiReel.vue +14 -1
  136. package/vue/UiSearchResultRow.vue +34 -0
  137. package/vue/UiSearchShell.vue +66 -12
  138. package/vue/UiSelect.vue +15 -1
  139. package/vue/UiSeparator.vue +9 -2
  140. package/vue/UiSidebar.vue +22 -1
  141. package/vue/UiStack.vue +6 -0
  142. package/vue/UiSwitch.vue +21 -3
  143. package/vue/UiSwitcher.vue +17 -4
  144. package/vue/UiTabs.vue +22 -3
  145. package/vue/UiTextarea.vue +15 -1
  146. package/vue/UiToastRegion.vue +16 -2
  147. package/vue/UiTooltip.vue +62 -13
  148. package/vue/UiTopBar.vue +34 -1
  149. package/vue/UiTree.vue +28 -5
  150. package/vue/UiTreeItem.vue +46 -11
  151. package/vue/chunks/UiActionBar.js +1 -1
  152. package/vue/chunks/UiAvatar.js +1 -1
  153. package/vue/chunks/UiAvatarGroup.js +1 -1
  154. package/vue/chunks/UiBadge.js +1 -1
  155. package/vue/chunks/UiButton.js +1 -1
  156. package/vue/chunks/UiCallout.js +1 -1
  157. package/vue/chunks/UiCheckbox.js +1 -1
  158. package/vue/chunks/UiCluster.js +1 -1
  159. package/vue/chunks/UiCombobox.js +1 -1
  160. package/vue/chunks/UiContainer.js +1 -1
  161. package/vue/chunks/UiContextMenu.js +1 -1
  162. package/vue/chunks/UiDialog.js +1 -1
  163. package/vue/chunks/UiDisclosure.js +1 -1
  164. package/vue/chunks/UiEditable.js +1 -1
  165. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  166. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  167. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  168. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  169. package/vue/chunks/UiFloatingActionButton.js +1 -1
  170. package/vue/chunks/UiFormField.js +1 -1
  171. package/vue/chunks/UiGrid.js +1 -1
  172. package/vue/chunks/UiIcon.js +1 -1
  173. package/vue/chunks/UiIconButton.js +1 -1
  174. package/vue/chunks/UiInput.js +1 -1
  175. package/vue/chunks/UiInputGroup.js +1 -1
  176. package/vue/chunks/UiList.js +1 -1
  177. package/vue/chunks/UiListItem.js +1 -1
  178. package/vue/chunks/UiMenu.js +1 -1
  179. package/vue/chunks/UiMenuItem.js +1 -1
  180. package/vue/chunks/UiNavItem.js +1 -1
  181. package/vue/chunks/UiPopover.js +1 -1
  182. package/vue/chunks/UiRadio.js +1 -1
  183. package/vue/chunks/UiReel.js +1 -1
  184. package/vue/chunks/UiSearchResultRow.js +1 -1
  185. package/vue/chunks/UiSearchShell.js +1 -1
  186. package/vue/chunks/UiSelect.js +1 -1
  187. package/vue/chunks/UiSeparator.js +1 -1
  188. package/vue/chunks/UiSidebar.js +1 -1
  189. package/vue/chunks/UiStack.js +1 -1
  190. package/vue/chunks/UiSwitch.js +1 -1
  191. package/vue/chunks/UiSwitcher.js +1 -1
  192. package/vue/chunks/UiTabs.js +1 -1
  193. package/vue/chunks/UiTextarea.js +1 -1
  194. package/vue/chunks/UiToastRegion.js +1 -1
  195. package/vue/chunks/UiTooltip.js +1 -1
  196. package/vue/chunks/UiTopBar.js +1 -1
  197. package/vue/chunks/UiTree.js +1 -1
  198. package/vue/chunks/UiTreeItem.js +1 -1
  199. package/vue/components.css +1959 -927
package/vue/UiTooltip.vue CHANGED
@@ -96,7 +96,56 @@ useComponentHost(controllerModule.default, {
96
96
  </template>
97
97
 
98
98
  <style scoped>
99
+ /* This component's hooks style the element they are set on, and never a nested one. */
100
+ @property --ui-tooltip-arrow-size {
101
+ syntax: "*";
102
+ inherits: false;
103
+ }
104
+ @property --ui-tooltip-border {
105
+ syntax: "*";
106
+ inherits: false;
107
+ }
108
+ @property --ui-tooltip-inverse-surface {
109
+ syntax: "*";
110
+ inherits: false;
111
+ }
112
+ @property --ui-tooltip-inverse-text {
113
+ syntax: "*";
114
+ inherits: false;
115
+ }
116
+ @property --ui-tooltip-max-inline-size {
117
+ syntax: "*";
118
+ inherits: false;
119
+ }
120
+ @property --ui-tooltip-radius {
121
+ syntax: "*";
122
+ inherits: false;
123
+ }
124
+ @property --ui-tooltip-shadow {
125
+ syntax: "*";
126
+ inherits: false;
127
+ }
128
+ @property --ui-tooltip-surface {
129
+ syntax: "*";
130
+ inherits: false;
131
+ }
132
+ @property --ui-tooltip-text {
133
+ syntax: "*";
134
+ inherits: false;
135
+ }
136
+
99
137
  [data-component~="ui-tooltip"] {
138
+ /* Hooks do not inherit, so the parts below read them from the root. */
139
+ --_ui-tooltip-border: var(--ui-tooltip-border);
140
+ --_ui-tooltip-max-inline-size: var(--ui-tooltip-max-inline-size);
141
+ --_ui-tooltip-radius: var(--ui-tooltip-radius);
142
+ --_ui-tooltip-surface: var(--ui-tooltip-surface);
143
+ --_ui-tooltip-text: var(--ui-tooltip-text);
144
+ --_ui-tooltip-shadow: var(--ui-tooltip-shadow);
145
+ --_ui-tooltip-inverse-surface: var(--ui-tooltip-inverse-surface);
146
+ --_ui-tooltip-inverse-text: var(--ui-tooltip-inverse-text);
147
+ --_ui-tooltip-arrow-size: var(--ui-tooltip-arrow-size);
148
+
100
149
  position: fixed;
101
150
  inset: auto;
102
151
  margin: 0;
@@ -119,25 +168,25 @@ useComponentHost(controllerModule.default, {
119
168
  }
120
169
 
121
170
  .surface {
122
- --_tooltip-line: var(--ui-tooltip-border, var(--ui-border-default));
171
+ --_tooltip-line: var(--_ui-tooltip-border, var(--ui-border-default));
123
172
  position: relative;
124
173
  box-sizing: border-box;
125
- max-inline-size: var(--ui-tooltip-max-inline-size, 18rem);
174
+ max-inline-size: var(--_ui-tooltip-max-inline-size, 18rem);
126
175
  border: 1px solid var(--_tooltip-line);
127
- border-radius: var(--ui-tooltip-radius, var(--ui-radius-sm));
128
- background: var(--ui-tooltip-surface, var(--ui-surface-elevated));
129
- color: var(--ui-tooltip-text, var(--ui-text-primary));
176
+ border-radius: var(--_ui-tooltip-radius, var(--ui-radius-sm));
177
+ background: var(--_ui-tooltip-surface, var(--ui-surface-elevated));
178
+ color: var(--_ui-tooltip-text, var(--ui-text-primary));
130
179
  padding: var(--ui-space-1) var(--ui-space-2);
131
180
  font-family: var(--ui-font-family-sans);
132
181
  font-size: var(--ui-font-size-sm);
133
182
  line-height: var(--ui-line-height-tight);
134
- box-shadow: var(--ui-tooltip-shadow, var(--ui-elevation-tooltip, var(--ui-shadow-md)));
183
+ box-shadow: var(--_ui-tooltip-shadow, var(--ui-elevation-tooltip, var(--ui-shadow-md)));
135
184
  }
136
185
 
137
186
  [data-component~="ui-tooltip"][data-ui-tooltip-state~="inverse"] .surface {
138
- --_tooltip-line: var(--ui-tooltip-inverse-surface, var(--ui-text-primary));
139
- background: var(--ui-tooltip-inverse-surface, var(--ui-text-primary));
140
- color: var(--ui-tooltip-inverse-text, var(--ui-surface-default));
187
+ --_tooltip-line: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
188
+ background: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
189
+ color: var(--_ui-tooltip-inverse-text, var(--ui-surface-default));
141
190
  }
142
191
 
143
192
  /* A rotated square shares the surface fill and draws the two outward border edges. Its centre sits on
@@ -147,9 +196,9 @@ useComponentHost(controllerModule.default, {
147
196
  position: absolute;
148
197
  z-index: 1;
149
198
  inset-inline-start: var(--ui-space-3);
150
- inset-block-end: calc(var(--ui-tooltip-arrow-size, 0.5rem) / -2 - 0.5px);
151
- inline-size: var(--ui-tooltip-arrow-size, 0.5rem);
152
- block-size: var(--ui-tooltip-arrow-size, 0.5rem);
199
+ inset-block-end: calc(var(--_ui-tooltip-arrow-size, 0.5rem) / -2 - 0.5px);
200
+ inline-size: var(--_ui-tooltip-arrow-size, 0.5rem);
201
+ block-size: var(--_ui-tooltip-arrow-size, 0.5rem);
153
202
  box-sizing: border-box;
154
203
  background: inherit;
155
204
  border: 0 solid var(--_tooltip-line);
@@ -161,7 +210,7 @@ useComponentHost(controllerModule.default, {
161
210
 
162
211
  :is([data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom"], [data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom-start"], [data-component~="ui-tooltip"][data-ui-tooltip-state~="placement=bottom-end"])
163
212
  .surface::after {
164
- inset-block-start: calc(var(--ui-tooltip-arrow-size, 0.5rem) / -2 - 0.5px);
213
+ inset-block-start: calc(var(--_ui-tooltip-arrow-size, 0.5rem) / -2 - 0.5px);
165
214
  inset-block-end: auto;
166
215
  border-inline-end-width: 0;
167
216
  border-block-end-width: 0;
package/vue/UiTopBar.vue CHANGED
@@ -13,7 +13,40 @@ defineOptions({ inheritAttrs: false })
13
13
  </template>
14
14
 
15
15
  <style scoped>
16
+ /* This component's hooks style the element they are set on, and never a nested one. */
17
+ @property --ui-top-bar-actions-gap {
18
+ syntax: "*";
19
+ inherits: false;
20
+ }
21
+ @property --ui-top-bar-border {
22
+ syntax: "*";
23
+ inherits: false;
24
+ }
25
+ @property --ui-top-bar-gap {
26
+ syntax: "*";
27
+ inherits: false;
28
+ }
29
+ @property --ui-top-bar-height {
30
+ syntax: "*";
31
+ inherits: false;
32
+ }
33
+ @property --ui-top-bar-padding-inline {
34
+ syntax: "*";
35
+ inherits: false;
36
+ }
37
+ @property --ui-top-bar-surface {
38
+ syntax: "*";
39
+ inherits: false;
40
+ }
41
+ @property --ui-top-bar-z-index {
42
+ syntax: "*";
43
+ inherits: false;
44
+ }
45
+
16
46
  [data-component~="ui-top-bar"] {
47
+ /* Hooks do not inherit, so the parts below read them from the root. */
48
+ --_ui-top-bar-actions-gap: var(--ui-top-bar-actions-gap);
49
+
17
50
  position: sticky;
18
51
  inset-block-start: 0;
19
52
  z-index: var(--ui-top-bar-z-index, 100);
@@ -43,7 +76,7 @@ defineOptions({ inheritAttrs: false })
43
76
  }
44
77
 
45
78
  .actions {
46
- gap: var(--ui-top-bar-actions-gap, var(--ui-space-1));
79
+ gap: var(--_ui-top-bar-actions-gap, var(--ui-space-1));
47
80
  }
48
81
 
49
82
  .title {
package/vue/UiTree.vue CHANGED
@@ -130,19 +130,42 @@ useComponentHost(controllerModule.default, {
130
130
  </template>
131
131
 
132
132
  <style scoped>
133
+ /* This component's hooks style the element they are set on, and never a nested one. */
134
+ @property --ui-tree-drop-color {
135
+ syntax: "*";
136
+ inherits: false;
137
+ }
138
+ @property --ui-tree-gutter {
139
+ syntax: "*";
140
+ inherits: false;
141
+ }
142
+ @property --ui-tree-indent {
143
+ syntax: "*";
144
+ inherits: false;
145
+ }
146
+
133
147
  /* Reaches the items the way density does, so the setting lives on the tree the way a reader
134
- thinks about it: this list scrolls its long names. */
148
+ thinks about it: this list scrolls its long names. */
135
149
  [data-component~="ui-tree"][data-ui-tree-state~="marquee"] {
136
- --ui-tree-item-marquee: 1;
150
+ --_ui-default-tree-item-marquee: 1;
137
151
  }
138
152
 
153
+ /* The items' defaults for this density: an item's own hook still wins. */
139
154
  [data-component~="ui-tree"][data-ui-tree-state~="density=compact"] {
140
- --ui-tree-item-min-block-size: var(--ui-control-size-sm);
141
- --ui-tree-item-font-size: var(--ui-font-size-sm);
142
- --ui-tree-item-label-padding-block: 0;
155
+ --_ui-default-tree-item-min-block-size: var(--ui-control-size-sm);
156
+ --_ui-default-tree-item-font-size: var(--ui-font-size-sm);
157
+ --_ui-default-tree-item-label-padding-block: 0;
143
158
  }
144
159
 
145
160
  [data-component~="ui-tree"] {
161
+ /* Hooks do not inherit: the tree hands its own to its items here, and a tree nested in an item
162
+ starts again from its own settings. */
163
+ --_ui-tree-indent: var(--ui-tree-indent);
164
+ --_ui-tree-drop-color: var(--ui-tree-drop-color);
165
+ --_ui-default-tree-item-marquee: initial;
166
+ --_ui-default-tree-item-min-block-size: initial;
167
+ --_ui-default-tree-item-font-size: initial;
168
+ --_ui-default-tree-item-label-padding-block: initial;
146
169
  display: block;
147
170
  min-inline-size: 0;
148
171
  padding-inline-start: var(--ui-tree-gutter, 0px);
@@ -173,14 +173,49 @@ useComponentHost(controllerModule.default, {
173
173
  </template>
174
174
 
175
175
  <style scoped>
176
+ /* This component's hooks style the element they are set on, and never a nested one. */
177
+ @property --ui-tree-item-depth {
178
+ syntax: "*";
179
+ inherits: false;
180
+ }
181
+ @property --ui-tree-item-font-size {
182
+ syntax: "*";
183
+ inherits: false;
184
+ }
185
+ @property --ui-tree-item-label-padding-block {
186
+ syntax: "*";
187
+ inherits: false;
188
+ }
189
+ @property --ui-tree-item-label-padding-inline {
190
+ syntax: "*";
191
+ inherits: false;
192
+ }
193
+ @property --ui-tree-item-min-block-size {
194
+ syntax: "*";
195
+ inherits: false;
196
+ }
197
+
176
198
  [data-component~="ui-tree-item"] {
199
+ /* Hooks do not inherit, so the parts below read them from the root. The tree's density
200
+ sets the defaults, in --_ui-default-*. */
201
+ --_ui-tree-item-min-block-size: var(
202
+ --ui-tree-item-min-block-size,
203
+ var(--_ui-default-tree-item-min-block-size)
204
+ );
205
+ --_ui-tree-item-font-size: var(--ui-tree-item-font-size, var(--_ui-default-tree-item-font-size));
206
+ --_ui-tree-item-label-padding-block: var(
207
+ --ui-tree-item-label-padding-block,
208
+ var(--_ui-default-tree-item-label-padding-block)
209
+ );
210
+ --_ui-tree-item-label-padding-inline: var(--ui-tree-item-label-padding-inline);
211
+
177
212
  --_tree-row-min-height: 32px;
178
213
  --_tree-disclosure-size: 16px;
179
214
 
180
215
  position: relative;
181
216
  display: block;
182
217
  min-inline-size: 0;
183
- margin-inline-start: calc(var(--ui-tree-item-depth, 0) * var(--ui-tree-indent, 16px));
218
+ margin-inline-start: calc(var(--ui-tree-item-depth, 0) * var(--_ui-tree-indent, 16px));
184
219
  }
185
220
 
186
221
  .row {
@@ -188,9 +223,9 @@ useComponentHost(controllerModule.default, {
188
223
  display: grid;
189
224
  grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
190
225
  align-items: center;
191
- min-block-size: var(--ui-tree-item-min-block-size, var(--_tree-row-min-height));
226
+ min-block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
192
227
  min-inline-size: 0;
193
- font-size: var(--ui-tree-item-font-size, var(--ui-font-size-sm));
228
+ font-size: var(--_ui-tree-item-font-size, var(--ui-font-size-sm));
194
229
  border-radius: var(--ui-radius-md);
195
230
  color: var(--ui-text-secondary);
196
231
  transition:
@@ -227,7 +262,7 @@ useComponentHost(controllerModule.default, {
227
262
  /* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
228
263
  [data-component~="ui-tree-item"][data-drop-position="inside"] > .row {
229
264
  background: var(--ui-accent-subtle);
230
- box-shadow: inset 0 0 0 1px var(--ui-tree-drop-color, var(--ui-accent-solid));
265
+ box-shadow: inset 0 0 0 1px var(--_ui-tree-drop-color, var(--ui-accent-solid));
231
266
  }
232
267
 
233
268
  .disclosure,
@@ -329,8 +364,8 @@ useComponentHost(controllerModule.default, {
329
364
  min-inline-size: 0;
330
365
  /* The cell clips: a name longer than the row slides inside it rather than over its icons. */
331
366
  overflow: hidden;
332
- padding: var(--ui-tree-item-label-padding-block, var(--ui-space-1))
333
- var(--ui-tree-item-label-padding-inline, var(--ui-space-2));
367
+ padding: var(--_ui-tree-item-label-padding-block, var(--ui-space-1))
368
+ var(--_ui-tree-item-label-padding-inline, var(--ui-space-2));
334
369
  /* The length of the fade before the controls. The label's one flex child lays out no gap; this
335
370
  is where the controller reads the length in pixels to stop a sliding name before the fade. */
336
371
  column-gap: var(--ui-space-3);
@@ -393,13 +428,13 @@ useComponentHost(controllerModule.default, {
393
428
  .row[data-ui-marquee] > .label {
394
429
  margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
395
430
  padding-inline-start: calc(
396
- var(--_marquee-lead, 0px) + var(--ui-tree-item-label-padding-inline, var(--ui-space-2))
431
+ var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
397
432
  );
398
433
  mask-image: linear-gradient(
399
434
  to right,
400
435
  transparent calc(var(--_marquee-lead, 0px) / 2),
401
436
  #000 calc(
402
- var(--_marquee-lead, 0px) + var(--ui-tree-item-label-padding-inline, var(--ui-space-2))
437
+ var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
403
438
  ),
404
439
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
405
440
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
@@ -411,7 +446,7 @@ useComponentHost(controllerModule.default, {
411
446
  to left,
412
447
  transparent calc(var(--_marquee-lead, 0px) / 2),
413
448
  #000 calc(
414
- var(--_marquee-lead, 0px) + var(--ui-tree-item-label-padding-inline, var(--ui-space-2))
449
+ var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))
415
450
  ),
416
451
  #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
417
452
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
@@ -530,7 +565,7 @@ useComponentHost(controllerModule.default, {
530
565
  display: none;
531
566
  block-size: 2px;
532
567
  border-radius: 999px;
533
- background: var(--ui-tree-drop-color, var(--ui-accent-solid));
568
+ background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
534
569
  pointer-events: none;
535
570
  }
536
571
 
@@ -541,7 +576,7 @@ useComponentHost(controllerModule.default, {
541
576
  inset-block-start: 50%;
542
577
  inline-size: 7px;
543
578
  block-size: 7px;
544
- border: 2px solid var(--ui-tree-drop-color, var(--ui-accent-solid));
579
+ border: 2px solid var(--_ui-tree-drop-color, var(--ui-accent-solid));
545
580
  border-radius: 999px;
546
581
  background: var(--ui-surface-elevated);
547
582
  transform: translateY(-50%);
@@ -19,6 +19,6 @@ var UiActionBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
19
19
  ])], 16);
20
20
  };
21
21
  }
22
- }), [["__scopeId", "data-v-f4ba10f3"]]);
22
+ }), [["__scopeId", "data-v-7751fea7"]]);
23
23
  //#endregion
24
24
  export { UiActionBar_default as t };
@@ -66,6 +66,6 @@ var UiAvatar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
66
66
  ], 16, _hoisted_1);
67
67
  };
68
68
  }
69
- }), [["__scopeId", "data-v-a5e0e48e"]]);
69
+ }), [["__scopeId", "data-v-69ce58d1"]]);
70
70
  //#endregion
71
71
  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-6c48e0e3"]]);
47
+ }), [["__scopeId", "data-v-5e4b76ea"]]);
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-4fe703f2"]]);
27
+ }), [["__scopeId", "data-v-01118c8d"]]);
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-75541d8a"]]);
86
+ }), [["__scopeId", "data-v-77e9072e"]]);
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")])], 16, _hoisted_1);
104
104
  };
105
105
  }
106
- }), [["__scopeId", "data-v-36fb7e55"]]);
106
+ }), [["__scopeId", "data-v-c6355f1f"]]);
107
107
  //#endregion
108
108
  export { UiCallout_default as t };
@@ -94,6 +94,6 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
94
94
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)], 512)])], 16, _hoisted_1);
95
95
  };
96
96
  }
97
- }), [["__scopeId", "data-v-4d65c3b0"]]);
97
+ }), [["__scopeId", "data-v-91e106d5"]]);
98
98
  //#endregion
99
99
  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-c4f9b76d"]]);
22
+ }), [["__scopeId", "data-v-2672f50e"]]);
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-0bd7ecc4"]]);
482
+ }), [["__scopeId", "data-v-083b5c7a"]]);
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-b1605eab"]]);
22
+ }), [["__scopeId", "data-v-cce10c33"]]);
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-06309584"]]);
64
+ }), [["__scopeId", "data-v-795c1691"]]);
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-0fd6654c"]]);
78
+ }), [["__scopeId", "data-v-361de32a"]]);
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-54a22a7e"]]);
89
+ }), [["__scopeId", "data-v-444f3a00"]]);
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-8fe1c571"]]);
123
+ }), [["__scopeId", "data-v-3b785d66"]]);
124
124
  //#endregion
125
125
  export { UiEditable_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-dcc1f07d"]]);
98
+ }), [["__scopeId", "data-v-becc3f6b"]]);
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-64488d5e"]]);
96
+ }), [["__scopeId", "data-v-bfb4a4f3"]]);
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-fed0c263"]]);
184
+ }), [["__scopeId", "data-v-1a161cbe"]]);
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-fdb800d4"]]);
178
+ }), [["__scopeId", "data-v-be005bab"]]);
179
179
  //#endregion
180
180
  export { UiEditorTableToolbar_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-dc9b5621"]]);
40
+ }), [["__scopeId", "data-v-aa21e78e"]]);
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-4df6c2a6"]]);
49
+ }), [["__scopeId", "data-v-5d5b1ca4"]]);
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-84466559"]]);
22
+ }), [["__scopeId", "data-v-40bfd874"]]);
23
23
  //#endregion
24
24
  export { UiGrid_default as t };
@@ -86,6 +86,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
86
86
  }), 128))]))], 16);
87
87
  };
88
88
  }
89
- }), [["__scopeId", "data-v-6c3d73c1"]]);
89
+ }), [["__scopeId", "data-v-666df64d"]]);
90
90
  //#endregion
91
91
  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-c322b7ed"]]);
62
+ }), [["__scopeId", "data-v-3b39c407"]]);
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-e7c851a2"]]);
64
+ }), [["__scopeId", "data-v-68f939b4"]]);
65
65
  //#endregion
66
66
  export { UiInput_default as t };
@@ -41,6 +41,6 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
41
41
  ], 16, _hoisted_1);
42
42
  };
43
43
  }
44
- }), [["__scopeId", "data-v-027c11f5"]]);
44
+ }), [["__scopeId", "data-v-3b6fca95"]]);
45
45
  //#endregion
46
46
  export { UiInputGroup_default as t };
@@ -22,6 +22,6 @@ var UiList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
22
22
  }, _ctx.$attrs, { "data-ui-list-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
23
23
  };
24
24
  }
25
- }), [["__scopeId", "data-v-9e6cf63f"]]);
25
+ }), [["__scopeId", "data-v-9ad6fc45"]]);
26
26
  //#endregion
27
27
  export { UiList_default as t };
@@ -34,6 +34,6 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
34
34
  ], 16, _hoisted_1);
35
35
  };
36
36
  }
37
- }), [["__scopeId", "data-v-30896b18"]]);
37
+ }), [["__scopeId", "data-v-5ad01b7a"]]);
38
38
  //#endregion
39
39
  export { UiListItem_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-ad1dce95"]]);
72
+ }), [["__scopeId", "data-v-76d96760"]]);
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-4bd9e602"]]);
29
+ }), [["__scopeId", "data-v-cbfc5845"]]);
30
30
  //#endregion
31
31
  export { UiMenuItem_default as t };
@@ -76,6 +76,6 @@ var UiNavItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
76
76
  ]);
77
77
  };
78
78
  }
79
- }), [["__scopeId", "data-v-aa140273"]]);
79
+ }), [["__scopeId", "data-v-cefcf1e3"]]);
80
80
  //#endregion
81
81
  export { UiNavItem_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-00194c85"]]);
59
+ }), [["__scopeId", "data-v-5c15743c"]]);
60
60
  //#endregion
61
61
  export { UiPopover_default as t };
@@ -88,6 +88,6 @@ var UiRadio_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
88
88
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)], 512)])], 16, _hoisted_1);
89
89
  };
90
90
  }
91
- }), [["__scopeId", "data-v-f9c61d50"]]);
91
+ }), [["__scopeId", "data-v-8376958d"]]);
92
92
  //#endregion
93
93
  export { UiRadio_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-eb18d6be"]]);
31
+ }), [["__scopeId", "data-v-10144744"]]);
32
32
  //#endregion
33
33
  export { UiReel_default as t };