@threadlabs/looma 0.31.3 → 0.31.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 (414) hide show
  1. package/dist/index.js +1 -1
  2. package/editor/chunks/extensions.js +23 -13
  3. package/package.json +3 -3
  4. package/styles/ui-action-bar.css +1 -1
  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-breadcrumb-item.css +1 -1
  10. package/styles/ui-breadcrumbs.css +1 -1
  11. package/styles/ui-button.css +1 -1
  12. package/styles/ui-callout.css +1 -1
  13. package/styles/ui-card.css +1 -1
  14. package/styles/ui-checkbox.css +1 -1
  15. package/styles/ui-cluster.css +1 -1
  16. package/styles/ui-combobox.css +393 -1
  17. package/styles/ui-container.css +1 -1
  18. package/styles/ui-context-menu.css +1 -1
  19. package/styles/ui-cover.css +1 -1
  20. package/styles/ui-description-item.css +1 -1
  21. package/styles/ui-description-list.css +1 -1
  22. package/styles/ui-dialog.css +232 -1
  23. package/styles/ui-disclosure.css +1 -1
  24. package/styles/ui-editable.css +1 -1
  25. package/styles/ui-editor-block-actions.css +1 -1
  26. package/styles/ui-editor-chip-editor.css +1 -1
  27. package/styles/ui-editor-code-language.css +1 -1
  28. package/styles/ui-editor-footnote-editor.css +1 -1
  29. package/styles/ui-editor-image-toolbar.css +1 -1
  30. package/styles/ui-editor-insert-table-grid.css +1 -1
  31. package/styles/ui-editor-link-card.css +1 -1
  32. package/styles/ui-editor-link-form.css +1 -1
  33. package/styles/ui-editor-mention-menu-item.css +1 -1
  34. package/styles/ui-editor-mention-menu.css +1 -1
  35. package/styles/ui-editor-slash-menu-group.css +1 -1
  36. package/styles/ui-editor-slash-menu-item.css +1 -1
  37. package/styles/ui-editor-slash-menu.css +1 -1
  38. package/styles/ui-editor-surface.css +1 -1
  39. package/styles/ui-editor-table-context-menu.css +1 -1
  40. package/styles/ui-editor-table-overlay.css +1 -1
  41. package/styles/ui-editor-table-toolbar.css +1 -1
  42. package/styles/ui-editor-toolbar.css +1 -1
  43. package/styles/ui-floating-action-button.css +1 -1
  44. package/styles/ui-form-field.css +1 -1
  45. package/styles/ui-grid.css +1 -1
  46. package/styles/ui-icon-button.css +1 -1
  47. package/styles/ui-icon.css +1 -1
  48. package/styles/ui-image.css +1 -1
  49. package/styles/ui-input-group.css +1 -1
  50. package/styles/ui-input.css +1 -1
  51. package/styles/ui-list-item.css +1 -1
  52. package/styles/ui-list.css +1 -1
  53. package/styles/ui-listbox.css +97 -1
  54. package/styles/ui-menu-group.css +1 -1
  55. package/styles/ui-menu-item.css +1 -1
  56. package/styles/ui-menu.css +1 -1
  57. package/styles/ui-meter.css +1 -1
  58. package/styles/ui-nav-item.css +1 -1
  59. package/styles/ui-page-header.css +1 -1
  60. package/styles/ui-popover.css +1 -1
  61. package/styles/ui-radio-group.css +1 -1
  62. package/styles/ui-radio.css +1 -1
  63. package/styles/ui-reel.css +1 -1
  64. package/styles/ui-scroll-area.css +1 -1
  65. package/styles/ui-search-result-row.css +1 -1
  66. package/styles/ui-search-shell.css +1 -1
  67. package/styles/ui-section.css +1 -1
  68. package/styles/ui-select.css +1 -1
  69. package/styles/ui-separator.css +1 -1
  70. package/styles/ui-sidebar.css +1 -1
  71. package/styles/ui-spinner.css +1 -1
  72. package/styles/ui-stack.css +1 -1
  73. package/styles/ui-status-message.css +1 -1
  74. package/styles/ui-swatch.css +1 -1
  75. package/styles/ui-switch.css +1 -1
  76. package/styles/ui-switcher.css +1 -1
  77. package/styles/ui-table.css +1 -1
  78. package/styles/ui-tabs.css +1 -1
  79. package/styles/ui-text.css +1 -1
  80. package/styles/ui-textarea.css +1 -1
  81. package/styles/ui-toast-region.css +199 -1
  82. package/styles/ui-toast.css +77 -1
  83. package/styles/ui-tooltip.css +1 -1
  84. package/styles/ui-top-bar.css +1 -1
  85. package/styles/ui-tree-item.css +559 -1
  86. package/styles/ui-tree.css +1 -1
  87. package/vanilla/UiActionBar.d.ts +1 -1
  88. package/vanilla/UiActionBar.js +1 -1
  89. package/vanilla/UiAffordanceScope.d.ts +1 -1
  90. package/vanilla/UiAffordanceScope.js +1 -1
  91. package/vanilla/UiAvatar.d.ts +1 -1
  92. package/vanilla/UiAvatar.js +1 -1
  93. package/vanilla/UiAvatarGroup.d.ts +1 -1
  94. package/vanilla/UiAvatarGroup.js +1 -1
  95. package/vanilla/UiBadge.d.ts +1 -1
  96. package/vanilla/UiBadge.js +1 -1
  97. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  98. package/vanilla/UiBreadcrumbItem.js +1 -1
  99. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  100. package/vanilla/UiBreadcrumbs.js +1 -1
  101. package/vanilla/UiButton.d.ts +1 -1
  102. package/vanilla/UiButton.js +1 -1
  103. package/vanilla/UiCallout.d.ts +1 -1
  104. package/vanilla/UiCallout.js +1 -1
  105. package/vanilla/UiCard.d.ts +1 -1
  106. package/vanilla/UiCard.js +1 -1
  107. package/vanilla/UiCheckbox.d.ts +1 -1
  108. package/vanilla/UiCheckbox.js +1 -1
  109. package/vanilla/UiCluster.d.ts +1 -1
  110. package/vanilla/UiCluster.js +1 -1
  111. package/vanilla/UiCombobox.d.ts +1 -1
  112. package/vanilla/UiCombobox.js +2 -2
  113. package/vanilla/UiContainer.d.ts +1 -1
  114. package/vanilla/UiContainer.js +1 -1
  115. package/vanilla/UiContextMenu.d.ts +1 -1
  116. package/vanilla/UiContextMenu.js +1 -1
  117. package/vanilla/UiCover.d.ts +1 -1
  118. package/vanilla/UiCover.js +1 -1
  119. package/vanilla/UiDescriptionItem.d.ts +1 -1
  120. package/vanilla/UiDescriptionItem.js +1 -1
  121. package/vanilla/UiDescriptionList.d.ts +1 -1
  122. package/vanilla/UiDescriptionList.js +1 -1
  123. package/vanilla/UiDialog.d.ts +1 -1
  124. package/vanilla/UiDialog.js +1 -1
  125. package/vanilla/UiDisclosure.d.ts +1 -1
  126. package/vanilla/UiDisclosure.js +1 -1
  127. package/vanilla/UiEditable.d.ts +1 -1
  128. package/vanilla/UiEditable.js +1 -1
  129. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  130. package/vanilla/UiEditorBlockActions.js +1 -1
  131. package/vanilla/UiEditorChipEditor.d.ts +1 -1
  132. package/vanilla/UiEditorChipEditor.js +1 -1
  133. package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
  134. package/vanilla/UiEditorCodeLanguage.js +1 -1
  135. package/vanilla/UiEditorFootnoteEditor.d.ts +1 -1
  136. package/vanilla/UiEditorFootnoteEditor.js +1 -1
  137. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  138. package/vanilla/UiEditorImageToolbar.js +1 -1
  139. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  140. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  141. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  142. package/vanilla/UiEditorLinkCard.js +1 -1
  143. package/vanilla/UiEditorLinkForm.d.ts +1 -1
  144. package/vanilla/UiEditorLinkForm.js +1 -1
  145. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  146. package/vanilla/UiEditorMentionMenu.js +1 -1
  147. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  148. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  149. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  150. package/vanilla/UiEditorSlashMenu.js +1 -1
  151. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  152. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  153. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  154. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  155. package/vanilla/UiEditorSurface.d.ts +1 -1
  156. package/vanilla/UiEditorSurface.js +1 -1
  157. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  158. package/vanilla/UiEditorTableContextMenu.js +1 -1
  159. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  160. package/vanilla/UiEditorTableOverlay.js +1 -1
  161. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  162. package/vanilla/UiEditorTableToolbar.js +1 -1
  163. package/vanilla/UiEditorToolbar.d.ts +1 -1
  164. package/vanilla/UiEditorToolbar.js +1 -1
  165. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  166. package/vanilla/UiFloatingActionButton.js +1 -1
  167. package/vanilla/UiFormField.d.ts +1 -1
  168. package/vanilla/UiFormField.js +1 -1
  169. package/vanilla/UiGrid.d.ts +1 -1
  170. package/vanilla/UiGrid.js +1 -1
  171. package/vanilla/UiIcon.d.ts +1 -1
  172. package/vanilla/UiIcon.js +1 -1
  173. package/vanilla/UiIconButton.d.ts +1 -1
  174. package/vanilla/UiIconButton.js +1 -1
  175. package/vanilla/UiImage.d.ts +1 -1
  176. package/vanilla/UiImage.js +1 -1
  177. package/vanilla/UiInput.d.ts +1 -1
  178. package/vanilla/UiInput.js +1 -1
  179. package/vanilla/UiInputGroup.d.ts +1 -1
  180. package/vanilla/UiInputGroup.js +1 -1
  181. package/vanilla/UiList.d.ts +1 -1
  182. package/vanilla/UiList.js +1 -1
  183. package/vanilla/UiListItem.d.ts +1 -1
  184. package/vanilla/UiListItem.js +1 -1
  185. package/vanilla/UiListbox.d.ts +1 -1
  186. package/vanilla/UiListbox.js +2 -2
  187. package/vanilla/UiMenu.d.ts +1 -1
  188. package/vanilla/UiMenu.js +1 -1
  189. package/vanilla/UiMenuGroup.d.ts +1 -1
  190. package/vanilla/UiMenuGroup.js +1 -1
  191. package/vanilla/UiMenuItem.d.ts +1 -1
  192. package/vanilla/UiMenuItem.js +1 -1
  193. package/vanilla/UiMeter.d.ts +1 -1
  194. package/vanilla/UiMeter.js +1 -1
  195. package/vanilla/UiNavItem.d.ts +1 -1
  196. package/vanilla/UiNavItem.js +1 -1
  197. package/vanilla/UiPageHeader.d.ts +1 -1
  198. package/vanilla/UiPageHeader.js +1 -1
  199. package/vanilla/UiPopover.d.ts +1 -1
  200. package/vanilla/UiPopover.js +1 -1
  201. package/vanilla/UiRadio.d.ts +1 -1
  202. package/vanilla/UiRadio.js +1 -1
  203. package/vanilla/UiRadioGroup.d.ts +1 -1
  204. package/vanilla/UiRadioGroup.js +1 -1
  205. package/vanilla/UiReel.d.ts +1 -1
  206. package/vanilla/UiReel.js +1 -1
  207. package/vanilla/UiScrollArea.d.ts +1 -1
  208. package/vanilla/UiScrollArea.js +1 -1
  209. package/vanilla/UiSearchResultRow.d.ts +1 -1
  210. package/vanilla/UiSearchResultRow.js +1 -1
  211. package/vanilla/UiSearchShell.d.ts +1 -1
  212. package/vanilla/UiSearchShell.js +1 -1
  213. package/vanilla/UiSection.d.ts +1 -1
  214. package/vanilla/UiSection.js +1 -1
  215. package/vanilla/UiSelect.d.ts +1 -1
  216. package/vanilla/UiSelect.js +1 -1
  217. package/vanilla/UiSeparator.d.ts +1 -1
  218. package/vanilla/UiSeparator.js +1 -1
  219. package/vanilla/UiSidebar.d.ts +1 -1
  220. package/vanilla/UiSidebar.js +1 -1
  221. package/vanilla/UiSpinner.d.ts +1 -1
  222. package/vanilla/UiSpinner.js +1 -1
  223. package/vanilla/UiStack.d.ts +1 -1
  224. package/vanilla/UiStack.js +1 -1
  225. package/vanilla/UiStatusMessage.d.ts +1 -1
  226. package/vanilla/UiStatusMessage.js +1 -1
  227. package/vanilla/UiSwatch.d.ts +1 -1
  228. package/vanilla/UiSwatch.js +1 -1
  229. package/vanilla/UiSwitch.d.ts +1 -1
  230. package/vanilla/UiSwitch.js +1 -1
  231. package/vanilla/UiSwitcher.d.ts +1 -1
  232. package/vanilla/UiSwitcher.js +1 -1
  233. package/vanilla/UiTable.d.ts +1 -1
  234. package/vanilla/UiTable.js +1 -1
  235. package/vanilla/UiTabs.d.ts +1 -1
  236. package/vanilla/UiTabs.js +1 -1
  237. package/vanilla/UiText.d.ts +1 -1
  238. package/vanilla/UiText.js +1 -1
  239. package/vanilla/UiTextarea.d.ts +1 -1
  240. package/vanilla/UiTextarea.js +1 -1
  241. package/vanilla/UiToast.d.ts +1 -1
  242. package/vanilla/UiToast.js +1 -1
  243. package/vanilla/UiToastRegion.d.ts +1 -1
  244. package/vanilla/UiToastRegion.js +1 -1
  245. package/vanilla/UiTooltip.d.ts +1 -1
  246. package/vanilla/UiTooltip.js +1 -1
  247. package/vanilla/UiTopBar.d.ts +1 -1
  248. package/vanilla/UiTopBar.js +1 -1
  249. package/vanilla/UiTree.d.ts +1 -1
  250. package/vanilla/UiTree.js +1 -1
  251. package/vanilla/UiTreeItem.d.ts +1 -1
  252. package/vanilla/UiTreeItem.js +1 -1
  253. package/vue/UiActionBar.vue +1 -1
  254. package/vue/UiAffordanceScope.vue +1 -1
  255. package/vue/UiAvatar.vue +1 -1
  256. package/vue/UiAvatarGroup.vue +1 -1
  257. package/vue/UiBadge.vue +1 -1
  258. package/vue/UiBreadcrumbItem.vue +1 -1
  259. package/vue/UiBreadcrumbs.vue +1 -1
  260. package/vue/UiButton.vue +1 -1
  261. package/vue/UiCallout.vue +1 -1
  262. package/vue/UiCard.vue +1 -1
  263. package/vue/UiCheckbox.vue +1 -1
  264. package/vue/UiCluster.vue +1 -1
  265. package/vue/UiCombobox.vue +362 -4
  266. package/vue/UiContainer.vue +1 -1
  267. package/vue/UiContextMenu.vue +1 -1
  268. package/vue/UiCover.vue +1 -1
  269. package/vue/UiDescriptionItem.vue +1 -1
  270. package/vue/UiDescriptionList.vue +1 -1
  271. package/vue/UiDialog.vue +200 -1
  272. package/vue/UiDisclosure.vue +1 -1
  273. package/vue/UiEditable.vue +1 -1
  274. package/vue/UiEditorBlockActions.vue +1 -1
  275. package/vue/UiEditorChipEditor.vue +1 -1
  276. package/vue/UiEditorCodeLanguage.vue +1 -1
  277. package/vue/UiEditorFootnoteEditor.vue +1 -1
  278. package/vue/UiEditorImageToolbar.vue +1 -1
  279. package/vue/UiEditorInsertTableGrid.vue +1 -1
  280. package/vue/UiEditorLinkCard.vue +1 -1
  281. package/vue/UiEditorLinkForm.vue +1 -1
  282. package/vue/UiEditorMentionMenu.vue +1 -1
  283. package/vue/UiEditorMentionMenuItem.vue +1 -1
  284. package/vue/UiEditorSlashMenu.vue +1 -1
  285. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  286. package/vue/UiEditorSlashMenuItem.vue +1 -1
  287. package/vue/UiEditorSurface.vue +1 -1
  288. package/vue/UiEditorTableContextMenu.vue +1 -1
  289. package/vue/UiEditorTableOverlay.vue +1 -1
  290. package/vue/UiEditorTableToolbar.vue +1 -1
  291. package/vue/UiEditorToolbar.vue +1 -1
  292. package/vue/UiFloatingActionButton.vue +1 -1
  293. package/vue/UiFormField.vue +1 -1
  294. package/vue/UiGrid.vue +1 -1
  295. package/vue/UiIcon.vue +1 -1
  296. package/vue/UiIconButton.vue +1 -1
  297. package/vue/UiImage.vue +1 -1
  298. package/vue/UiInput.vue +1 -1
  299. package/vue/UiInputGroup.vue +1 -1
  300. package/vue/UiList.vue +1 -1
  301. package/vue/UiListItem.vue +1 -1
  302. package/vue/UiListbox.vue +79 -1
  303. package/vue/UiMenu.vue +1 -1
  304. package/vue/UiMenuGroup.vue +1 -1
  305. package/vue/UiMenuItem.vue +1 -1
  306. package/vue/UiMeter.vue +1 -1
  307. package/vue/UiNavItem.vue +1 -1
  308. package/vue/UiPageHeader.vue +1 -1
  309. package/vue/UiPopover.vue +1 -1
  310. package/vue/UiRadio.vue +1 -1
  311. package/vue/UiRadioGroup.vue +1 -1
  312. package/vue/UiReel.vue +1 -1
  313. package/vue/UiScrollArea.vue +1 -1
  314. package/vue/UiSearchResultRow.vue +1 -1
  315. package/vue/UiSearchShell.vue +1 -1
  316. package/vue/UiSection.vue +1 -1
  317. package/vue/UiSelect.vue +1 -1
  318. package/vue/UiSeparator.vue +1 -1
  319. package/vue/UiSidebar.vue +1 -1
  320. package/vue/UiSpinner.vue +1 -1
  321. package/vue/UiStack.vue +1 -1
  322. package/vue/UiStatusMessage.vue +1 -1
  323. package/vue/UiSwatch.vue +1 -1
  324. package/vue/UiSwitch.vue +1 -1
  325. package/vue/UiSwitcher.vue +1 -1
  326. package/vue/UiTable.vue +1 -1
  327. package/vue/UiTabs.vue +1 -1
  328. package/vue/UiText.vue +1 -1
  329. package/vue/UiTextarea.vue +1 -1
  330. package/vue/UiToast.vue +62 -1
  331. package/vue/UiToastRegion.vue +142 -1
  332. package/vue/UiTooltip.vue +1 -1
  333. package/vue/UiTopBar.vue +1 -1
  334. package/vue/UiTree.vue +1 -1
  335. package/vue/UiTreeItem.vue +635 -1
  336. package/vue/chunks/UiActionBar.js +1 -1
  337. package/vue/chunks/UiAffordanceScope.js +1 -1
  338. package/vue/chunks/UiAvatar.js +1 -1
  339. package/vue/chunks/UiAvatarGroup.js +1 -1
  340. package/vue/chunks/UiBadge.js +1 -1
  341. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  342. package/vue/chunks/UiBreadcrumbs.js +1 -1
  343. package/vue/chunks/UiButton.js +1 -1
  344. package/vue/chunks/UiCallout.js +1 -1
  345. package/vue/chunks/UiCard.js +1 -1
  346. package/vue/chunks/UiCheckbox.js +1 -1
  347. package/vue/chunks/UiCluster.js +1 -1
  348. package/vue/chunks/UiCombobox.js +2 -1
  349. package/vue/chunks/UiContainer.js +1 -1
  350. package/vue/chunks/UiContextMenu.js +1 -1
  351. package/vue/chunks/UiCover.js +1 -1
  352. package/vue/chunks/UiDescriptionItem.js +1 -1
  353. package/vue/chunks/UiDescriptionList.js +1 -1
  354. package/vue/chunks/UiDialog.js +1 -1
  355. package/vue/chunks/UiDisclosure.js +1 -1
  356. package/vue/chunks/UiEditable.js +1 -1
  357. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  358. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  359. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  360. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  361. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  362. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  363. package/vue/chunks/UiEditorSurface.js +1 -1
  364. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  365. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  366. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  367. package/vue/chunks/UiEditorToolbar.js +1 -1
  368. package/vue/chunks/UiFloatingActionButton.js +1 -1
  369. package/vue/chunks/UiFormField.js +1 -1
  370. package/vue/chunks/UiGrid.js +1 -1
  371. package/vue/chunks/UiIcon.js +1 -1
  372. package/vue/chunks/UiIconButton.js +1 -1
  373. package/vue/chunks/UiImage.js +1 -1
  374. package/vue/chunks/UiInput.js +1 -1
  375. package/vue/chunks/UiInputGroup.js +1 -1
  376. package/vue/chunks/UiList.js +1 -1
  377. package/vue/chunks/UiListItem.js +1 -1
  378. package/vue/chunks/UiListbox.js +2 -1
  379. package/vue/chunks/UiMenu.js +1 -1
  380. package/vue/chunks/UiMenuGroup.js +1 -1
  381. package/vue/chunks/UiMenuItem.js +1 -1
  382. package/vue/chunks/UiMeter.js +1 -1
  383. package/vue/chunks/UiNavItem.js +1 -1
  384. package/vue/chunks/UiPageHeader.js +1 -1
  385. package/vue/chunks/UiPopover.js +1 -1
  386. package/vue/chunks/UiRadio.js +1 -1
  387. package/vue/chunks/UiRadioGroup.js +1 -1
  388. package/vue/chunks/UiReel.js +1 -1
  389. package/vue/chunks/UiScrollArea.js +1 -1
  390. package/vue/chunks/UiSearchResultRow.js +1 -1
  391. package/vue/chunks/UiSearchShell.js +1 -1
  392. package/vue/chunks/UiSection.js +1 -1
  393. package/vue/chunks/UiSelect.js +1 -1
  394. package/vue/chunks/UiSeparator.js +1 -1
  395. package/vue/chunks/UiSidebar.js +1 -1
  396. package/vue/chunks/UiSpinner.js +1 -1
  397. package/vue/chunks/UiStack.js +1 -1
  398. package/vue/chunks/UiStatusMessage.js +1 -1
  399. package/vue/chunks/UiSwatch.js +1 -1
  400. package/vue/chunks/UiSwitch.js +1 -1
  401. package/vue/chunks/UiSwitcher.js +1 -1
  402. package/vue/chunks/UiTable.js +1 -1
  403. package/vue/chunks/UiTabs.js +1 -1
  404. package/vue/chunks/UiText.js +1 -1
  405. package/vue/chunks/UiTextarea.js +1 -1
  406. package/vue/chunks/UiToast.js +1 -1
  407. package/vue/chunks/UiToastRegion.js +1 -1
  408. package/vue/chunks/UiTooltip.js +1 -1
  409. package/vue/chunks/UiTopBar.js +1 -1
  410. package/vue/chunks/UiTree.js +1 -1
  411. package/vue/chunks/UiTreeItem.js +1 -1
  412. package/vue/components.css +1705 -370
  413. package/vue/editor/index.js +7 -7
  414. package/vue/host.ts +1 -1
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.67. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
2
2
  @supports (-moz-appearance: none) {
3
3
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
4
4
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -662,3 +662,561 @@
662
662
 
663
663
  /* A component that sets its display still honours the hidden attribute on its root. */
664
664
  }
665
+ @scope ([data-slotted~="ui-tree-item"]:not([data-component])) to ([data-component], [data-slotted]) {
666
+ /* This component's hooks style the element they are set on, and never a nested one. */
667
+ @property --ui-tree-item-depth {
668
+ syntax: "*";
669
+ inherits: false;
670
+ }
671
+ @property --ui-tree-item-font-size {
672
+ syntax: "*";
673
+ inherits: false;
674
+ }
675
+ @property --ui-tree-item-label-padding-block {
676
+ syntax: "*";
677
+ inherits: false;
678
+ }
679
+ @property --ui-tree-item-label-padding-inline {
680
+ syntax: "*";
681
+ inherits: false;
682
+ }
683
+ @property --ui-tree-item-min-block-size {
684
+ syntax: "*";
685
+ inherits: false;
686
+ }
687
+
688
+ :where([data-component~="ui-tree-item"]):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
689
+ /* Hooks do not inherit, so the parts below read them from the root. The tree's density
690
+ sets the defaults, in --_ui-default-*. */
691
+ --_ui-tree-item-min-block-size: var(--ui-tree-item-min-block-size, var(--_ui-default-tree-item-min-block-size));
692
+ --_ui-tree-item-font-size: var(--ui-tree-item-font-size, var(--_ui-default-tree-item-font-size));
693
+ --_ui-tree-item-label-padding-block: var(--ui-tree-item-label-padding-block, var(--_ui-default-tree-item-label-padding-block));
694
+ --_ui-tree-item-label-padding-inline: var(--ui-tree-item-label-padding-inline);
695
+
696
+ --_tree-row-min-height: 32px;
697
+ --_tree-disclosure-size: 16px;
698
+
699
+ position: relative;
700
+ display: block;
701
+ min-inline-size: 0;
702
+ margin-inline-start: calc(var(--_ui-tree-item-indent-step, 0) * var(--_ui-tree-indent, 16px));
703
+ }
704
+
705
+ .row:where(:scope, :scope *) {
706
+ position: relative;
707
+ display: grid;
708
+ grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr);
709
+ align-items: center;
710
+ min-block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
711
+ min-inline-size: 0;
712
+ font-size: var(--_ui-tree-item-font-size, var(--ui-font-size-sm));
713
+ border-radius: var(--ui-selection-radius);
714
+ color: var(--ui-text-secondary);
715
+ transition:
716
+ background-color var(--ui-motion-fast) var(--ui-motion-ease),
717
+ color var(--ui-motion-fast) var(--ui-motion-ease),
718
+ opacity var(--ui-motion-fast) var(--ui-motion-ease),
719
+ box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
720
+ min-block-size var(--ui-motion-base) var(--ui-motion-ease);
721
+ }
722
+
723
+ .row:hover:where(:scope, :scope *), .row:focus-within:where(:scope, :scope *) {
724
+ color: var(--ui-text-primary);
725
+ background: var(--_ui-selection-context-surface, var(--ui-surface-muted));
726
+ box-shadow: inset 0 0 0 var(--ui-border-width) var(--_ui-selection-context-border, var(--ui-selection-border));
727
+ }
728
+
729
+ /* Selection is the same surface recipe as destination and choice rows. */
730
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="selected"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
731
+ color: var(--_ui-selection-context-text, var(--ui-selection-text));
732
+ background: var(--_ui-selection-context-surface, var(--ui-selection-surface));
733
+ box-shadow: inset 0 0 0 var(--ui-border-width) var(--_ui-selection-context-border, var(--ui-selection-border));
734
+ }
735
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="selected"]:not([aria-disabled="true"]) > .row > .leading:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
736
+ color: var(--_ui-selection-context-text, var(--ui-selection-text));
737
+ }
738
+
739
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="disabled"] .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
740
+ color: var(--ui-disabled-text);
741
+ background: var(--ui-disabled-surface);
742
+ box-shadow: none;
743
+ }
744
+
745
+ :where([data-component~="ui-tree-item"])[data-dragging]:not([data-move-source]) .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
746
+ opacity: 0.42;
747
+ }
748
+
749
+ :where([data-component~="ui-tree-item"])[data-move-source] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .leading:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
750
+ opacity: 0.42;
751
+ }
752
+
753
+ :where([data-component~="ui-tree-item"]):focus:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
754
+ outline: none;
755
+ }
756
+
757
+ :where([data-component~="ui-tree-item"]):focus-visible .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
758
+ box-shadow: 0 0 0 var(--ui-focus-width) var(--ui-focus-ring);
759
+ }
760
+
761
+ /* Child combinators: drop feedback belongs to this item's own row, not the rows nested in it. */
762
+ :where([data-component~="ui-tree-item"])[data-drop-position="inside"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
763
+ background: var(--ui-accent-subtle);
764
+ box-shadow: inset 0 0 0 var(--ui-accent-line-width) var(--_ui-tree-drop-color, var(--ui-accent-solid));
765
+ }
766
+
767
+ .disclosure:where(:scope, :scope *), .disclosure-spacer:where(:scope, :scope *) {
768
+ grid-column: 1;
769
+ grid-row: 1;
770
+ inline-size: var(--_tree-disclosure-size);
771
+ block-size: 28px;
772
+ }
773
+
774
+ .disclosure:where(:scope, :scope *) {
775
+ display: grid;
776
+ /* Start-aligned: the chevron's ink, not its hit area, aligns with the content above it. */
777
+ place-items: center start;
778
+ padding: 0;
779
+ color: var(--ui-text-muted);
780
+ background: transparent;
781
+ border: 0;
782
+ border-radius: var(--ui-radius-sm);
783
+ cursor: pointer;
784
+ }
785
+
786
+ .disclosure[hidden]:where(:scope, :scope *) {
787
+ display: none;
788
+ }
789
+
790
+ .selection-hit:where(:scope, :scope *) {
791
+ display: none;
792
+ grid-column: 2;
793
+ grid-row: 1;
794
+ place-items: center;
795
+ inline-size: 1.25rem;
796
+ block-size: var(--_ui-tree-item-min-block-size, var(--_tree-row-min-height));
797
+ cursor: pointer;
798
+ }
799
+ .selection-checkbox:where(:scope, :scope *) {
800
+ inline-size: 1rem;
801
+ block-size: 1rem;
802
+ margin: 0;
803
+ accent-color: var(--ui-accent-solid);
804
+ }
805
+
806
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
807
+ grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr);
808
+ }
809
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .selection-hit:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
810
+ display: grid;
811
+ }
812
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .leading:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
813
+ grid-column: 3;
814
+ }
815
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
816
+ grid-column: 4;
817
+ }
818
+
819
+ .disclosure:hover:where(:scope, :scope *) {
820
+ color: var(--ui-text-primary);
821
+ background: var(--ui-surface-elevated);
822
+ }
823
+
824
+ .disclosure-icon:where(:scope, :scope *) {
825
+ display: grid;
826
+ place-items: center;
827
+ inline-size: 12px;
828
+ block-size: 12px;
829
+ transform: rotate(-90deg);
830
+ transition: transform var(--ui-motion-fast) var(--ui-motion-ease);
831
+ }
832
+
833
+ .disclosure-icon:where(:not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope *)::before {
834
+ display: block;
835
+ inline-size: 0.375rem;
836
+ block-size: 0.375rem;
837
+ border-inline-end: 1.5px solid currentColor;
838
+ border-block-end: 1.5px solid currentColor;
839
+ content: "";
840
+ /* A chevron's ink sits below its box centre; lift it so it centres optically (in either rotation). */
841
+ transform: translateY(-20%) rotate(45deg);
842
+ }
843
+
844
+ :where([data-component~="ui-tree-item"])[aria-expanded="true"] > .row > .disclosure > .disclosure-icon:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
845
+ transform: rotate(0deg);
846
+ }
847
+
848
+ /* Lucide grip-vertical, filling the handle as in Looma 0.2. */
849
+ .drag-handle:where(:scope, :scope *) svg {
850
+ display: block;
851
+ inline-size: 100%;
852
+ block-size: 100%;
853
+ }
854
+
855
+ /* Slotted content is outside this scope, so :has() cannot see it; hide only a truly empty slot. */
856
+ .leading:where(:scope, :scope *) {
857
+ display: inline-grid;
858
+ place-items: center;
859
+ grid-column: 2;
860
+ grid-row: 1;
861
+ inline-size: 1em;
862
+ block-size: 1em;
863
+ margin-inline-start: var(--ui-space-1);
864
+ color: var(--ui-text-muted);
865
+ /* Above the label, so a sliding name passes under the icon. */
866
+ position: relative;
867
+ z-index: 1;
868
+ }
869
+
870
+ .leading:empty:where(:scope, :scope *) {
871
+ display: none;
872
+ }
873
+
874
+ /* Icons match the label's size (as in Knit's tree): an unsized SVG would otherwise render 300×150. */
875
+
876
+ /* The label spans the row's height and centres its content, so slotted content (a link) can
877
+ stretch to fill the row as its own hit area; the padding tokens remove the inset. */
878
+ .label:where(:scope, :scope *) {
879
+ grid-column: 3;
880
+ grid-row: 1;
881
+ align-self: stretch;
882
+ display: flex;
883
+ align-items: center;
884
+ min-inline-size: 0;
885
+ /* The cell clips: a name longer than the row slides inside it rather than over its icons. */
886
+ overflow: hidden;
887
+ padding: var(--_ui-tree-item-label-padding-block, var(--ui-space-1)) var(--_ui-tree-item-label-padding-inline, var(--ui-space-2));
888
+ /* The length of the fade before the controls. The label's one flex child lays out no gap; this
889
+ is where the controller reads the length in pixels to stop a sliding name before the fade. */
890
+ column-gap: var(--ui-space-1);
891
+ }
892
+
893
+ /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
894
+ its own text and reading as overflow. */
895
+ .label-text:where(:scope, :scope *) {
896
+ display: flex;
897
+ align-items: center;
898
+ /* Stretches, so slotted content can still be the row's full-height hit area. */
899
+ align-self: stretch;
900
+ block-size: 100%;
901
+ min-inline-size: 0;
902
+ inline-size: 100%;
903
+ white-space: nowrap;
904
+ }
905
+
906
+ /* The controls sit over the label's end, so the text fades out where they begin. The fade is
907
+ the truncation mark while it shows: an ellipsis under it would read as a second one. */
908
+ .row:hover:where(:scope, :scope *) > .label, .row:focus-within:where(:scope, :scope *) > .label, :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="actionsVisible"] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
909
+ text-overflow: clip;
910
+ mask-image: linear-gradient(
911
+ to right,
912
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
913
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
914
+ );
915
+ }
916
+
917
+ .row:hover:where(:scope, :scope *) > .label:dir(rtl), .row:focus-within:where(:scope, :scope *) > .label:dir(rtl), :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="actionsVisible"] > .row > .label:dir(rtl):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .label:dir(rtl):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
918
+ mask-image: linear-gradient(
919
+ to left,
920
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
921
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
922
+ );
923
+ }
924
+
925
+ /* A hovered row reads its whole name: the label slides far enough to show the end, rests
926
+ there, and starts again. Only when it actually overflows — the controller measures by how
927
+ much — after the controls have taken their place over its end — and hands over the distance
928
+ and a duration from it, so every name moves at the same speed. */
929
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label > .label-text {
930
+ /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
931
+ long enough to read rather than sliding back and forth. */
932
+ animation: ui-tree-item-marquee var(--_marquee-duration) linear 0.5s 1 normal forwards;
933
+ will-change: transform;
934
+ }
935
+
936
+ /* This comes after the hover fade, which it replaces at the same specificity. While the name
937
+ slides, the label reaches back under the icon (the controller measures how far) with its text
938
+ where it was, and fades out across the gap before the icon, fully gone where the icon begins
939
+ to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
940
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label {
941
+ margin-inline-start: calc(-1 * var(--_marquee-lead, 0px));
942
+ padding-inline-start: calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2)));
943
+ mask-image: linear-gradient(
944
+ to right,
945
+ transparent var(--_marquee-icon-width, 0px),
946
+ #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))),
947
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
948
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
949
+ );
950
+ }
951
+
952
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label:dir(rtl) {
953
+ mask-image: linear-gradient(
954
+ to left,
955
+ transparent var(--_marquee-icon-width, 0px),
956
+ #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))),
957
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
958
+ transparent calc(100% - var(--_tree-actions-width, 1.75rem))
959
+ );
960
+ }
961
+
962
+ @keyframes ui-tree-item-marquee {
963
+ from {
964
+ transform: translateX(0);
965
+ }
966
+
967
+ to {
968
+ transform: translateX(var(--_marquee-distance));
969
+ }
970
+ }
971
+
972
+ /* Reduced motion keeps the fade, which already says the name continues. */
973
+ @media (prefers-reduced-motion: reduce) {
974
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label > .label-text {
975
+ animation: none;
976
+ }
977
+ }
978
+
979
+ .actions:where(:scope, :scope *) {
980
+ position: absolute;
981
+ z-index: 1;
982
+ inset-block: 0;
983
+ inset-inline-end: 0;
984
+ display: inline-flex;
985
+ align-items: center;
986
+ min-inline-size: 0;
987
+ opacity: 0;
988
+ pointer-events: none;
989
+ transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
990
+ }
991
+
992
+ .row:hover:where(:scope, :scope *) > .actions, .row:focus-within:where(:scope, :scope *) > .actions, :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="actionsVisible"] > .row > .actions:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .actions:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
993
+ opacity: 1;
994
+ pointer-events: auto;
995
+ }
996
+
997
+ /* Without hover there is no reveal, so the controls keep their own column. */
998
+ @media (hover: none), (pointer: coarse) {
999
+ .row:where(:scope, :scope *) {
1000
+ grid-template-columns: var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
1001
+ }
1002
+
1003
+ .actions:where(:scope, :scope *) {
1004
+ position: static;
1005
+ grid-column: 4;
1006
+ grid-row: 1;
1007
+ padding-inline-start: 0;
1008
+ background: none;
1009
+ opacity: 1;
1010
+ pointer-events: auto;
1011
+ }
1012
+
1013
+ .row:is(:hover, :focus-within):where(:scope, :scope *) > .label, .row:is(:hover, :focus-within):where(:scope, :scope *) > .label:dir(rtl), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), :where([data-component~="ui-tree-item"])[data-move-source] > .row > .label:dir(rtl):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1014
+ mask-image: none;
1015
+ }
1016
+
1017
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label {
1018
+ mask-image: linear-gradient(
1019
+ to right,
1020
+ transparent var(--_marquee-icon-width, 0px),
1021
+ #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2)))
1022
+ );
1023
+ }
1024
+
1025
+ /* Persistent content has its own column on touch. Fade only the label's end. */
1026
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="actionsVisible"] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1027
+ mask-image: linear-gradient(to right, #000 calc(100% - var(--ui-space-1)), transparent 100%);
1028
+ }
1029
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="actionsVisible"] > .row > .label:dir(rtl):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1030
+ mask-image: linear-gradient(to left, #000 calc(100% - var(--ui-space-1)), transparent 100%);
1031
+ }
1032
+
1033
+ .row[data-ui-marquee]:where(:scope, :scope *) > .label:dir(rtl) {
1034
+ mask-image: linear-gradient(
1035
+ to left,
1036
+ transparent var(--_marquee-icon-width, 0px),
1037
+ #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2)))
1038
+ );
1039
+ }
1040
+
1041
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1042
+ grid-template-columns: var(--_tree-disclosure-size) 1.25rem auto minmax(0, 1fr) auto;
1043
+ }
1044
+
1045
+ :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .actions:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1046
+ grid-column: 5;
1047
+ }
1048
+ }
1049
+
1050
+ /* The handle sits beside what it drags. A leaf row has no disclosure, so the handle takes that
1051
+ empty column, right before the icon; a branch's disclosure is there, so its handle sits just
1052
+ outside the row. It is bare until pointed at: a resting surface behind it read as a faint
1053
+ patch rather than as a control. */
1054
+ .drag-handle:where(:scope, :scope *) {
1055
+ position: absolute;
1056
+ z-index: 2;
1057
+ inset-block-start: 50%;
1058
+ inset-inline-start: 0;
1059
+ inline-size: var(--_tree-disclosure-size);
1060
+ block-size: 24px;
1061
+ display: grid;
1062
+ place-items: center;
1063
+ padding: 5px 2px;
1064
+ color: var(--ui-text-muted);
1065
+ background: transparent;
1066
+ border: 0;
1067
+ border-radius: var(--ui-radius-sm);
1068
+ cursor: grab;
1069
+ /* Hidden until the row is hovered, but always hittable: the handle sits outside the row, and moving
1070
+ the pointer onto it must not hide it on the way. */
1071
+ opacity: 0;
1072
+ transform: translateY(-50%);
1073
+ transition: opacity var(--ui-motion-fast) var(--ui-motion-ease);
1074
+ }
1075
+
1076
+ .row:hover:where(:scope, :scope *) .drag-handle, .drag-handle:hover:where(:scope, :scope *), .drag-handle:focus-visible:where(:scope, :scope *), :where([data-component~="ui-tree-item"])[data-dragging] > .row > .drag-handle:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1077
+ opacity: 1;
1078
+ }
1079
+
1080
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="isContainer"] > .row > .drag-handle:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1081
+ inset-inline-start: calc(-1 * var(--_tree-disclosure-size) - 2px);
1082
+ }
1083
+
1084
+ .drag-handle:hover:where(:scope, :scope *), .drag-handle:focus-visible:where(:scope, :scope *) {
1085
+ color: var(--ui-text-primary);
1086
+ background: var(--ui-surface-hover);
1087
+ }
1088
+
1089
+ .drag-handle:active:where(:scope, :scope *) {
1090
+ cursor: grabbing;
1091
+ }
1092
+
1093
+ .drop-indicator:where(:scope, :scope *) {
1094
+ position: absolute;
1095
+ z-index: 3;
1096
+ inset-inline: 1px;
1097
+ display: none;
1098
+ block-size: var(--ui-accent-line-width);
1099
+ border-radius: var(--ui-radius-round);
1100
+ background: var(--_ui-tree-drop-color, var(--ui-accent-solid));
1101
+ pointer-events: none;
1102
+ }
1103
+
1104
+ .drop-indicator:where(:not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope *)::before, .drop-indicator:where(:not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope *)::after {
1105
+ content: "";
1106
+ position: absolute;
1107
+ inset-block-start: 50%;
1108
+ inline-size: 7px;
1109
+ block-size: 7px;
1110
+ border: var(--ui-accent-line-width) solid var(--_ui-tree-drop-color, var(--ui-accent-solid));
1111
+ border-radius: var(--ui-radius-round);
1112
+ background: var(--ui-surface-elevated);
1113
+ transform: translateY(-50%);
1114
+ }
1115
+
1116
+ .drop-indicator:where(:not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope *)::before {
1117
+ inset-inline-start: -1px;
1118
+ }
1119
+ .drop-indicator:where(:not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))):where(:scope, :scope *)::after {
1120
+ inset-inline-end: -1px;
1121
+ }
1122
+
1123
+ :where([data-component~="ui-tree-item"])[data-drop-position="before"] > .row > .row-drop-indicator:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1124
+ display: block;
1125
+ inset-block-start: calc(-0.5 * var(--ui-accent-line-width));
1126
+ }
1127
+
1128
+ :where([data-component~="ui-tree-item"])[data-drop-position="after"] > .subtree-drop-indicator:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1129
+ display: block;
1130
+ inset-block-end: calc(-0.5 * var(--ui-accent-line-width));
1131
+ }
1132
+
1133
+ .children[hidden]:where(:scope, :scope *) {
1134
+ display: none;
1135
+ }
1136
+
1137
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]):where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1138
+ --_tree-row-min-height: 44px;
1139
+ }
1140
+
1141
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1142
+ grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr);
1143
+ }
1144
+
1145
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .drag-handle:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))), html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="isContainer"] > .row > .drag-handle:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1146
+ position: relative;
1147
+ grid-column: 1;
1148
+ grid-row: 1;
1149
+ inset: auto;
1150
+ inline-size: 44px;
1151
+ block-size: 44px;
1152
+ padding: 14px;
1153
+ opacity: 1;
1154
+ transform: none;
1155
+ cursor: pointer;
1156
+ }
1157
+
1158
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .disclosure:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1159
+ grid-column: 2;
1160
+ }
1161
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .leading:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1162
+ grid-column: 3;
1163
+ }
1164
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1165
+ grid-column: 4;
1166
+ }
1167
+
1168
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1169
+ grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr);
1170
+ }
1171
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .selection-hit:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1172
+ grid-column: 3;
1173
+ inline-size: 44px;
1174
+ block-size: 44px;
1175
+ }
1176
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .leading:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1177
+ grid-column: 4;
1178
+ }
1179
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .label:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1180
+ grid-column: 5;
1181
+ }
1182
+
1183
+ @media (hover: none), (pointer: coarse) {
1184
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1185
+ grid-template-columns: 44px var(--_tree-disclosure-size) auto minmax(0, 1fr) auto;
1186
+ }
1187
+
1188
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"]) .actions:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1189
+ grid-column: 5;
1190
+ }
1191
+
1192
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1193
+ grid-template-columns: 44px var(--_tree-disclosure-size) 44px auto minmax(0, 1fr) auto;
1194
+ }
1195
+
1196
+ html[data-ui-input-modality="touch"] :where([data-component~="ui-tree-item"])[data-selection-mode="multiple"] > .row > .actions:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1197
+ grid-column: 6;
1198
+ }
1199
+ }
1200
+
1201
+ @media (prefers-reduced-motion: reduce) {
1202
+ .row:where(:scope, :scope *), .disclosure-icon:where(:scope, :scope *), .drag-handle:where(:scope, :scope *) {
1203
+ transition: none;
1204
+ }
1205
+ }
1206
+
1207
+ @media (forced-colors: active) {
1208
+ :where([data-component~="ui-tree-item"]):focus-visible > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1209
+ outline: var(--ui-focus-width) solid Highlight;
1210
+ outline-offset: calc(-1 * var(--ui-focus-width));
1211
+ }
1212
+ :where([data-component~="ui-tree-item"])[data-ui-tree-item-state~="selected"]:not(:focus-visible):not([aria-disabled="true"]) > .row:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1213
+ outline: var(--ui-border-width) solid Highlight;
1214
+ outline-offset: calc(-1 * var(--ui-border-width));
1215
+ }
1216
+ }
1217
+
1218
+ /* A component that sets its display still honours the hidden attribute on its root. */
1219
+ :where([data-component~="ui-tree-item"])[hidden]:where(:scope, :not([data-component], [data-slotted]:not([data-slotted~="ui-tree-item"]))) {
1220
+ display: none;
1221
+ }
1222
+ }
@@ -1,4 +1,4 @@
1
- /* Generated by HTML Next 1.0.0-alpha.67. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.69. Do not edit. */
2
2
  @supports (-moz-appearance: none) {
3
3
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
4
4
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  export interface UiActionBarEventMap {
3
3
  }
4
4
  export interface UiActionBarElement extends HTMLDivElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, dispose, project, fillSlot, defineComponent } from "@nextwebwg/html-next/generated-runtime";
3
3
  import "../styles/ui-action-bar.css";
4
4
 
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, writeAttribute, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkFormat, checkNumber, defineComponent, activateModule } from "@nextwebwg/html-next/generated-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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, toAttribute, toText, writeAttribute, writeUrlAttribute, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkBoolean, checkFormat, checkString, defineComponent, activateModule } from "@nextwebwg/html-next/generated-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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, toAttribute, toText, truthy, writeAttribute, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkFormat, checkInteger, checkNumber, checkString, defineComponent, activateModule } from "@nextwebwg/html-next/generated-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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, writeAttribute, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkFormat, defineComponent } 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.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  export interface UiBreadcrumbItemEventMap {
3
3
  }
4
4
  export interface UiBreadcrumbItemElement extends HTMLLIElement {
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.67 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.69 for Vanilla DOM. Do not edit.
2
2
  import { attachGeneratedController, buildTemplate, NONCONFORMING, readIndex, textCall, toAttribute, writeAttribute, dispose, hostState, acceptProps, manageProps, generatedInputs, project, fillSlot, checkBoolean, defineComponent } from "@nextwebwg/html-next/generated-runtime";
3
3
  import "../styles/ui-breadcrumb-item.css";
4
4