@threadlabs/looma 0.6.3 → 0.6.5

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-item/ui-tree-item.html +68 -12
  2. package/components/ui-tree-item/ui-tree-item.js +9 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +2 -2
  5. package/styles/ui-affordance-scope.css +1 -1
  6. package/styles/ui-avatar-group.css +1 -1
  7. package/styles/ui-avatar.css +1 -1
  8. package/styles/ui-badge.css +1 -1
  9. package/styles/ui-button.css +1 -1
  10. package/styles/ui-callout.css +1 -1
  11. package/styles/ui-checkbox.css +1 -1
  12. package/styles/ui-cluster.css +1 -1
  13. package/styles/ui-combobox.css +1 -1
  14. package/styles/ui-container.css +1 -1
  15. package/styles/ui-context-menu.css +1 -1
  16. package/styles/ui-dialog.css +1 -1
  17. package/styles/ui-disclosure.css +1 -1
  18. package/styles/ui-editable.css +1 -1
  19. package/styles/ui-editor-insert-table-grid.css +1 -1
  20. package/styles/ui-editor-mention-menu.css +1 -1
  21. package/styles/ui-editor-slash-menu.css +1 -1
  22. package/styles/ui-editor-table-context-menu.css +1 -1
  23. package/styles/ui-editor-table-overlay.css +1 -1
  24. package/styles/ui-editor-table-toolbar.css +1 -1
  25. package/styles/ui-editor-toolbar.css +1 -1
  26. package/styles/ui-floating-action-button.css +1 -1
  27. package/styles/ui-form-field.css +1 -1
  28. package/styles/ui-grid.css +1 -1
  29. package/styles/ui-icon-button.css +1 -1
  30. package/styles/ui-icon.css +1 -1
  31. package/styles/ui-input.css +1 -1
  32. package/styles/ui-menu-item.css +1 -1
  33. package/styles/ui-menu.css +1 -1
  34. package/styles/ui-popover.css +1 -1
  35. package/styles/ui-radio-group.css +1 -1
  36. package/styles/ui-radio.css +1 -1
  37. package/styles/ui-reel.css +1 -1
  38. package/styles/ui-search-result-row.css +1 -1
  39. package/styles/ui-search-shell.css +1 -1
  40. package/styles/ui-select.css +1 -1
  41. package/styles/ui-separator.css +1 -1
  42. package/styles/ui-sidebar.css +1 -1
  43. package/styles/ui-stack.css +1 -1
  44. package/styles/ui-switch.css +1 -1
  45. package/styles/ui-switcher.css +1 -1
  46. package/styles/ui-tabs.css +1 -1
  47. package/styles/ui-textarea.css +1 -1
  48. package/styles/ui-toast-region.css +1 -1
  49. package/styles/ui-tooltip.css +1 -1
  50. package/styles/ui-top-bar.css +1 -1
  51. package/styles/ui-tree-item.css +75 -12
  52. package/styles/ui-tree.css +1 -1
  53. package/vanilla/UiAffordanceScope.d.ts +1 -1
  54. package/vanilla/UiAffordanceScope.js +1 -1
  55. package/vanilla/UiAvatar.d.ts +1 -1
  56. package/vanilla/UiAvatar.js +1 -1
  57. package/vanilla/UiAvatarGroup.d.ts +1 -1
  58. package/vanilla/UiAvatarGroup.js +1 -1
  59. package/vanilla/UiBadge.d.ts +1 -1
  60. package/vanilla/UiBadge.js +1 -1
  61. package/vanilla/UiButton.d.ts +1 -1
  62. package/vanilla/UiButton.js +1 -1
  63. package/vanilla/UiCallout.d.ts +1 -1
  64. package/vanilla/UiCallout.js +1 -1
  65. package/vanilla/UiCheckbox.d.ts +1 -1
  66. package/vanilla/UiCheckbox.js +1 -1
  67. package/vanilla/UiCluster.d.ts +1 -1
  68. package/vanilla/UiCluster.js +1 -1
  69. package/vanilla/UiCombobox.d.ts +1 -1
  70. package/vanilla/UiCombobox.js +1 -1
  71. package/vanilla/UiContainer.d.ts +1 -1
  72. package/vanilla/UiContainer.js +1 -1
  73. package/vanilla/UiContextMenu.d.ts +1 -1
  74. package/vanilla/UiContextMenu.js +1 -1
  75. package/vanilla/UiDialog.d.ts +1 -1
  76. package/vanilla/UiDialog.js +1 -1
  77. package/vanilla/UiDisclosure.d.ts +1 -1
  78. package/vanilla/UiDisclosure.js +1 -1
  79. package/vanilla/UiEditable.d.ts +1 -1
  80. package/vanilla/UiEditable.js +1 -1
  81. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  82. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  83. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  84. package/vanilla/UiEditorMentionMenu.js +1 -1
  85. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  86. package/vanilla/UiEditorSlashMenu.js +1 -1
  87. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  88. package/vanilla/UiEditorTableContextMenu.js +1 -1
  89. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  90. package/vanilla/UiEditorTableOverlay.js +1 -1
  91. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  92. package/vanilla/UiEditorTableToolbar.js +1 -1
  93. package/vanilla/UiEditorToolbar.d.ts +1 -1
  94. package/vanilla/UiEditorToolbar.js +1 -1
  95. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  96. package/vanilla/UiFloatingActionButton.js +1 -1
  97. package/vanilla/UiFormField.d.ts +1 -1
  98. package/vanilla/UiFormField.js +1 -1
  99. package/vanilla/UiGrid.d.ts +1 -1
  100. package/vanilla/UiGrid.js +1 -1
  101. package/vanilla/UiIcon.d.ts +1 -1
  102. package/vanilla/UiIcon.js +1 -1
  103. package/vanilla/UiIconButton.d.ts +1 -1
  104. package/vanilla/UiIconButton.js +1 -1
  105. package/vanilla/UiInput.d.ts +1 -1
  106. package/vanilla/UiInput.js +1 -1
  107. package/vanilla/UiMenu.d.ts +1 -1
  108. package/vanilla/UiMenu.js +1 -1
  109. package/vanilla/UiMenuItem.d.ts +1 -1
  110. package/vanilla/UiMenuItem.js +1 -1
  111. package/vanilla/UiPopover.d.ts +1 -1
  112. package/vanilla/UiPopover.js +1 -1
  113. package/vanilla/UiRadio.d.ts +1 -1
  114. package/vanilla/UiRadio.js +1 -1
  115. package/vanilla/UiRadioGroup.d.ts +1 -1
  116. package/vanilla/UiRadioGroup.js +1 -1
  117. package/vanilla/UiReel.d.ts +1 -1
  118. package/vanilla/UiReel.js +1 -1
  119. package/vanilla/UiSearchResultRow.d.ts +1 -1
  120. package/vanilla/UiSearchResultRow.js +1 -1
  121. package/vanilla/UiSearchShell.d.ts +1 -1
  122. package/vanilla/UiSearchShell.js +1 -1
  123. package/vanilla/UiSelect.d.ts +1 -1
  124. package/vanilla/UiSelect.js +1 -1
  125. package/vanilla/UiSeparator.d.ts +1 -1
  126. package/vanilla/UiSeparator.js +1 -1
  127. package/vanilla/UiSidebar.d.ts +1 -1
  128. package/vanilla/UiSidebar.js +1 -1
  129. package/vanilla/UiStack.d.ts +1 -1
  130. package/vanilla/UiStack.js +1 -1
  131. package/vanilla/UiSwitch.d.ts +1 -1
  132. package/vanilla/UiSwitch.js +1 -1
  133. package/vanilla/UiSwitcher.d.ts +1 -1
  134. package/vanilla/UiSwitcher.js +1 -1
  135. package/vanilla/UiTabs.d.ts +1 -1
  136. package/vanilla/UiTabs.js +1 -1
  137. package/vanilla/UiTextarea.d.ts +1 -1
  138. package/vanilla/UiTextarea.js +1 -1
  139. package/vanilla/UiToastRegion.d.ts +1 -1
  140. package/vanilla/UiToastRegion.js +1 -1
  141. package/vanilla/UiTooltip.d.ts +1 -1
  142. package/vanilla/UiTooltip.js +1 -1
  143. package/vanilla/UiTopBar.d.ts +1 -1
  144. package/vanilla/UiTopBar.js +1 -1
  145. package/vanilla/UiTree.d.ts +1 -1
  146. package/vanilla/UiTree.js +1 -1
  147. package/vanilla/UiTreeItem.d.ts +1 -1
  148. package/vanilla/UiTreeItem.js +2 -2
  149. package/vue/UiAffordanceScope.vue +8 -84
  150. package/vue/UiAvatar.d.ts +1 -1
  151. package/vue/UiAvatar.vue +9 -106
  152. package/vue/UiAvatarGroup.vue +9 -96
  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 +22 -123
  157. package/vue/UiCluster.vue +1 -1
  158. package/vue/UiCombobox.d.ts +1 -1
  159. package/vue/UiCombobox.vue +224 -475
  160. package/vue/UiContainer.vue +1 -1
  161. package/vue/UiContextMenu.vue +34 -141
  162. package/vue/UiDialog.vue +25 -126
  163. package/vue/UiDisclosure.vue +26 -138
  164. package/vue/UiEditable.vue +46 -158
  165. package/vue/UiEditorInsertTableGrid.vue +19 -138
  166. package/vue/UiEditorMentionMenu.vue +17 -124
  167. package/vue/UiEditorSlashMenu.vue +17 -109
  168. package/vue/UiEditorTableContextMenu.vue +34 -122
  169. package/vue/UiEditorTableOverlay.vue +61 -167
  170. package/vue/UiEditorTableToolbar.vue +34 -142
  171. package/vue/UiEditorToolbar.vue +1 -1
  172. package/vue/UiFloatingActionButton.vue +1 -1
  173. package/vue/UiFormField.vue +7 -79
  174. package/vue/UiGrid.vue +1 -1
  175. package/vue/UiIcon.vue +8 -84
  176. package/vue/UiIconButton.vue +7 -79
  177. package/vue/UiInput.vue +7 -79
  178. package/vue/UiMenu.vue +42 -127
  179. package/vue/UiMenuItem.vue +1 -1
  180. package/vue/UiPopover.vue +25 -121
  181. package/vue/UiRadio.vue +22 -123
  182. package/vue/UiRadioGroup.d.ts +1 -1
  183. package/vue/UiRadioGroup.vue +32 -119
  184. package/vue/UiReel.vue +1 -1
  185. package/vue/UiSearchResultRow.vue +1 -1
  186. package/vue/UiSearchShell.vue +25 -121
  187. package/vue/UiSelect.vue +7 -79
  188. package/vue/UiSeparator.vue +1 -1
  189. package/vue/UiSidebar.vue +32 -133
  190. package/vue/UiStack.vue +1 -1
  191. package/vue/UiSwitch.vue +22 -123
  192. package/vue/UiSwitcher.vue +1 -1
  193. package/vue/UiTabs.vue +24 -128
  194. package/vue/UiTextarea.vue +7 -79
  195. package/vue/UiToastRegion.vue +37 -126
  196. package/vue/UiTooltip.vue +25 -124
  197. package/vue/UiTopBar.vue +1 -1
  198. package/vue/UiTree.vue +56 -137
  199. package/vue/UiTreeItem.vue +97 -153
  200. package/vue/chunks/UiAffordanceScope.js +9 -78
  201. package/vue/chunks/UiAvatar.js +13 -89
  202. package/vue/chunks/UiAvatarGroup.js +10 -80
  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 +17 -95
  207. package/vue/chunks/UiCluster.js +1 -1
  208. package/vue/chunks/UiCombobox.js +114 -325
  209. package/vue/chunks/UiContainer.js +1 -1
  210. package/vue/chunks/UiContextMenu.js +21 -113
  211. package/vue/chunks/UiDialog.js +20 -99
  212. package/vue/chunks/UiDisclosure.js +22 -112
  213. package/vue/chunks/UiEditable.js +32 -128
  214. package/vue/chunks/UiEditorInsertTableGrid.js +22 -116
  215. package/vue/chunks/UiEditorMentionMenu.js +18 -116
  216. package/vue/chunks/UiEditorSlashMenu.js +15 -101
  217. package/vue/chunks/UiEditorTableContextMenu.js +12 -91
  218. package/vue/chunks/UiEditorTableOverlay.js +29 -120
  219. package/vue/chunks/UiEditorTableToolbar.js +16 -111
  220. package/vue/chunks/UiEditorToolbar.js +1 -1
  221. package/vue/chunks/UiFloatingActionButton.js +1 -1
  222. package/vue/chunks/UiFormField.js +8 -73
  223. package/vue/chunks/UiGrid.js +1 -1
  224. package/vue/chunks/UiIcon.js +9 -78
  225. package/vue/chunks/UiIconButton.js +8 -73
  226. package/vue/chunks/UiInput.js +8 -73
  227. package/vue/chunks/UiMenu.js +25 -111
  228. package/vue/chunks/UiMenuItem.js +1 -1
  229. package/vue/chunks/UiPopover.js +18 -105
  230. package/vue/chunks/UiRadio.js +17 -95
  231. package/vue/chunks/UiRadioGroup.js +23 -105
  232. package/vue/chunks/UiReel.js +1 -1
  233. package/vue/chunks/UiSearchResultRow.js +1 -1
  234. package/vue/chunks/UiSearchShell.js +17 -94
  235. package/vue/chunks/UiSelect.js +8 -73
  236. package/vue/chunks/UiSeparator.js +1 -1
  237. package/vue/chunks/UiSidebar.js +23 -108
  238. package/vue/chunks/UiStack.js +1 -1
  239. package/vue/chunks/UiSwitch.js +17 -95
  240. package/vue/chunks/UiSwitcher.js +1 -1
  241. package/vue/chunks/UiTabs.js +22 -103
  242. package/vue/chunks/UiTextarea.js +8 -73
  243. package/vue/chunks/UiToastRegion.js +27 -112
  244. package/vue/chunks/UiTooltip.js +18 -106
  245. package/vue/chunks/UiTopBar.js +1 -1
  246. package/vue/chunks/UiTree.js +31 -109
  247. package/vue/chunks/UiTreeItem.js +35 -118
  248. package/vue/chunks/host.js +101 -0
  249. package/vue/components.css +759 -707
  250. package/vue/host.ts +154 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.6.3",
3
+ "version": "0.6.5",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -77,7 +77,7 @@
77
77
  "./*.css"
78
78
  ],
79
79
  "dependencies": {
80
- "@nextwebwg/html-next": "^1.0.0-alpha.2",
80
+ "@nextwebwg/html-next": "^1.0.0-alpha.3",
81
81
  "lowlight": "^3.3.0",
82
82
  "markdown-it": "14.3.1",
83
83
  "lucide": "~0.554.0"
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-affordance-scope"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: contents;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-avatar-group"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  /* Avatars separate with a tight, crisp edge, matching Looma's 1px borders rather than the
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-avatar"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-grid;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-badge"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_badge-surface: var(--ui-surface-subtle);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-button"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-callout"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_callout-surface: var(--ui-info-soft);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-checkbox"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-cluster"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_layout-gap: var(--ui-space-3);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-combobox"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: grid;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-container"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_container-measure: 65ch;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-context-menu"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: contents;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @keyframes ui-dialog-enter {
3
3
  from {
4
4
  opacity: 0;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-disclosure"]) to ([data-component], [data-slotted]) {
3
3
  /* Density resolves into the summary row's own values; the public tokens still override them. */
4
4
  :scope {
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editable"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-insert-table-grid"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  padding: var(--ui-space-3);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-mention-menu"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  user-select: none;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-slash-menu"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  user-select: none;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-table-context-menu"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  min-width: 14rem;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-table-overlay"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: block;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-table-toolbar"]) to ([data-component], [data-slotted]) {
3
3
  .looma-editor__mobile-toolbar-shell :scope {
4
4
  min-width: max-content;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-editor-toolbar"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  position: sticky;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-floating-action-button"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  position: fixed;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-form-field"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: grid;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-grid"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_grid-gap: var(--ui-space-4);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-icon-button"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-icon"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-input"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  box-sizing: border-box;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-menu-item"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: block;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-menu"]) to ([data-component], [data-slotted]) {
3
3
  /* Compact sets the part tokens its items read, so nothing has to rescale a global. */
4
4
  :scope[data-ui-menu-state~="density=compact"] {
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-popover"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  box-sizing: border-box;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-radio-group"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-radio"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-reel"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_reel-gap: var(--ui-space-4);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-search-result-row"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  appearance: none;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-search-shell"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: contents;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-select"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  box-sizing: border-box;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-separator"]) to ([data-component], [data-slotted]) {
3
3
  hr {
4
4
  box-sizing: border-box;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-sidebar"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  position: relative;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-stack"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_layout-gap: var(--ui-space-4);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-switch"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-switcher"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_switcher-gap: var(--ui-space-4);
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-tabs"]) to ([data-component], [data-slotted]) {
3
3
  /* Density resolves into the tab row's own values; the public tokens still override them. */
4
4
  :scope {
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-textarea"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  box-sizing: border-box;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @keyframes ui-toast-enter {
3
3
  from {
4
4
  opacity: 0;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-tooltip"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  position: fixed;
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-top-bar"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  position: sticky;
@@ -1,7 +1,8 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-tree-item"]) to ([data-component], [data-slotted]) {
3
3
  :scope {
4
4
  --_tree-row-min-height: 32px;
5
+ --_tree-disclosure-size: 16px;
5
6
 
6
7
  position: relative;
7
8
  display: block;
@@ -12,7 +13,7 @@
12
13
  .row {
13
14
  position: relative;
14
15
  display: grid;
15
- grid-template-columns: 20px auto minmax(0, 1fr) auto;
16
+ grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
16
17
  align-items: center;
17
18
  min-block-size: var(--ui-tree-item-min-block-size, var(--_tree-row-min-height));
18
19
  min-inline-size: 0;
@@ -60,13 +61,14 @@
60
61
  .disclosure-spacer {
61
62
  grid-column: 1;
62
63
  grid-row: 1;
63
- inline-size: 20px;
64
+ inline-size: var(--_tree-disclosure-size);
64
65
  block-size: 28px;
65
66
  }
66
67
 
67
68
  .disclosure {
68
69
  display: grid;
69
- place-items: center;
70
+ /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
71
+ place-items: center start;
70
72
  padding: 0;
71
73
  color: var(--ui-text-muted);
72
74
  background: transparent;
@@ -87,18 +89,18 @@
87
89
  .disclosure-icon {
88
90
  display: grid;
89
91
  place-items: center;
90
- inline-size: 14px;
91
- block-size: 14px;
92
+ inline-size: 12px;
93
+ block-size: 12px;
92
94
  transform: rotate(-90deg);
93
95
  transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
94
96
  }
95
97
 
96
98
  .disclosure-icon::before {
97
99
  display: block;
98
- inline-size: 0.45rem;
99
- block-size: 0.45rem;
100
- border-inline-end: 2px solid currentColor;
101
- border-block-end: 2px solid currentColor;
100
+ inline-size: 0.375rem;
101
+ block-size: 0.375rem;
102
+ border-inline-end: 1.5px solid currentColor;
103
+ border-block-end: 1.5px solid currentColor;
102
104
  content: "";
103
105
  /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
104
106
  transform: translateY(-20%) rotate(45deg);
@@ -148,12 +150,61 @@
148
150
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
149
151
  its own text and reading as overflow. */
150
152
 
153
+ /* The controls sit over the label's end, so the text fades out where they begin. The fade is
154
+ the truncation mark while it shows: an ellipsis under it would read as a second one. */
155
+ .row:hover > .label,
156
+ .row:focus-within > .label {
157
+ text-overflow: clip;
158
+ mask-image: linear-gradient(
159
+ to right,
160
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
161
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
162
+ );
163
+ }
164
+
165
+ .row:hover > .label:dir(rtl),
166
+ .row:focus-within > .label:dir(rtl) {
167
+ mask-image: linear-gradient(
168
+ to left,
169
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
170
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
171
+ );
172
+ }
173
+
151
174
  .actions {
152
- grid-column: 4;
153
- grid-row: 1;
175
+ position: absolute;
176
+ z-index: 1;
177
+ inset-block: 0;
178
+ inset-inline-end: 0;
154
179
  display: inline-flex;
155
180
  align-items: center;
156
181
  min-inline-size: 0;
182
+ opacity: 0;
183
+ pointer-events: none;
184
+ transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
185
+ }
186
+
187
+ .row:hover > .actions,
188
+ .row:focus-within > .actions {
189
+ opacity: 1;
190
+ pointer-events: auto;
191
+ }
192
+
193
+ /* Without hover there is no reveal, so the controls keep their own column. */
194
+ @media (hover: none) {
195
+ .row {
196
+ grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
197
+ }
198
+
199
+ .actions {
200
+ position: static;
201
+ grid-column: 4;
202
+ grid-row: 1;
203
+ padding-inline-start: 0;
204
+ background: none;
205
+ opacity: 1;
206
+ pointer-events: auto;
207
+ }
157
208
  }
158
209
 
159
210
  .drag-handle {
@@ -281,6 +332,18 @@
281
332
  min-inline-size: 0;
282
333
  }
283
334
 
335
+ /* The controls sit over the label's end, so the text fades out where they begin. The fade is
336
+ the truncation mark while it shows: an ellipsis under it would read as a second one. */
337
+
338
+ .row:hover > .label > :where([data-slotted], [data-slotted] *):is(*),
339
+ .row:focus-within > .label > :where([data-slotted], [data-slotted] *):is(*) {
340
+ text-overflow: clip;
341
+ }
342
+
343
+ /* Without hover there is no reveal, so the controls keep their own column. */
344
+ @media (hover: none) {
345
+ }
346
+
284
347
  @media (prefers-reduced-motion: reduce) {
285
348
  }
286
349
 
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.2. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.3. Do not edit. */
2
2
  @scope ([data-component~="ui-tree"]) to ([data-component], [data-slotted]) {
3
3
  :scope[data-ui-tree-state~="density=compact"] {
4
4
  --ui-tree-item-min-block-size: var(--ui-control-size-sm);
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiAffordanceScopeEventMap {
3
3
  }
4
4
  export interface UiAffordanceScopeElement extends HTMLSpanElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import * as controller from "../components/ui-affordance-scope/ui-affordance-scope.js";
4
4
  import "../styles/ui-affordance-scope.css";
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiAvatarEventMap {
3
3
  }
4
4
  export interface UiAvatarElement extends HTMLSpanElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import * as controller from "../components/ui-avatar/ui-avatar.js";
4
4
  import "../styles/ui-avatar.css";
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiAvatarGroupEventMap {
3
3
  }
4
4
  export interface UiAvatarGroupElement extends HTMLDivElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import * as controller from "../components/ui-avatar-group/ui-avatar-group.js";
4
4
  import "../styles/ui-avatar-group.css";
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiBadgeEventMap {
3
3
  }
4
4
  export interface UiBadgeElement extends HTMLSpanElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
3
  import "../styles/ui-badge.css";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiButtonEventMap {
3
3
  }
4
4
  export interface UiButtonElement extends HTMLButtonElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import "../styles/ui-button.css";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiCalloutEventMap {
3
3
  }
4
4
  export interface UiCalloutElement extends HTMLDivElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import "../styles/ui-callout.css";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiCheckboxEventMap {
3
3
  change: CustomEvent<{ readonly checked: boolean; readonly value: string; readonly trigger: "keyboard" | "pointer" | "programmatic" }>;
4
4
  }
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
3
  import * as controller from "../components/ui-checkbox/ui-checkbox.js";
4
4
  import "../styles/ui-checkbox.css";
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  export interface UiClusterEventMap {
3
3
  }
4
4
  export interface UiClusterElement extends HTMLDivElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.2 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.3 for Vanilla DOM. Do not edit.
2
2
  import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
3
  import "../styles/ui-cluster.css";
4
4