@threadlabs/looma 0.29.18 → 0.30.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 (421) hide show
  1. package/components/ui-combobox/ui-combobox.html +47 -2
  2. package/components/ui-combobox/ui-combobox.js +2 -1
  3. package/components/ui-cover/ui-cover.html +2 -5
  4. package/components/ui-form-field/ui-form-field.html +1 -1
  5. package/components/ui-reel/ui-reel.html +7 -10
  6. package/components/ui-switcher/ui-switcher.html +17 -22
  7. package/components/ui-tooltip/ui-tooltip.js +2 -0
  8. package/dist/index.js +1 -1
  9. package/package.json +3 -3
  10. package/styles/ui-action-bar.css +1 -1
  11. package/styles/ui-affordance-scope.css +1 -1
  12. package/styles/ui-avatar-group.css +1 -1
  13. package/styles/ui-avatar.css +1 -1
  14. package/styles/ui-badge.css +1 -1
  15. package/styles/ui-breadcrumb-item.css +1 -1
  16. package/styles/ui-breadcrumbs.css +1 -1
  17. package/styles/ui-button.css +1 -1
  18. package/styles/ui-callout.css +1 -1
  19. package/styles/ui-card.css +1 -1
  20. package/styles/ui-checkbox.css +1 -1
  21. package/styles/ui-cluster.css +1 -1
  22. package/styles/ui-combobox.css +1 -1
  23. package/styles/ui-container.css +1 -1
  24. package/styles/ui-context-menu.css +1 -1
  25. package/styles/ui-cover.css +3 -6
  26. package/styles/ui-description-item.css +1 -1
  27. package/styles/ui-description-list.css +1 -1
  28. package/styles/ui-dialog.css +1 -1
  29. package/styles/ui-disclosure.css +1 -1
  30. package/styles/ui-editable.css +1 -1
  31. package/styles/ui-editor-block-actions.css +1 -1
  32. package/styles/ui-editor-chip-editor.css +1 -1
  33. package/styles/ui-editor-code-language.css +1 -1
  34. package/styles/ui-editor-image-toolbar.css +1 -1
  35. package/styles/ui-editor-insert-table-grid.css +1 -1
  36. package/styles/ui-editor-link-card.css +1 -1
  37. package/styles/ui-editor-link-form.css +1 -1
  38. package/styles/ui-editor-mention-menu-item.css +1 -1
  39. package/styles/ui-editor-mention-menu.css +1 -1
  40. package/styles/ui-editor-slash-menu-group.css +1 -1
  41. package/styles/ui-editor-slash-menu-item.css +1 -1
  42. package/styles/ui-editor-slash-menu.css +1 -1
  43. package/styles/ui-editor-surface.css +1 -1
  44. package/styles/ui-editor-table-context-menu.css +1 -1
  45. package/styles/ui-editor-table-overlay.css +1 -1
  46. package/styles/ui-editor-table-toolbar.css +1 -1
  47. package/styles/ui-editor-toolbar.css +1 -1
  48. package/styles/ui-floating-action-button.css +1 -1
  49. package/styles/ui-form-field.css +1 -1
  50. package/styles/ui-grid.css +1 -1
  51. package/styles/ui-icon-button.css +1 -1
  52. package/styles/ui-icon.css +1 -1
  53. package/styles/ui-image.css +1 -1
  54. package/styles/ui-input-group.css +1 -1
  55. package/styles/ui-input.css +1 -1
  56. package/styles/ui-list-item.css +1 -1
  57. package/styles/ui-list.css +1 -1
  58. package/styles/ui-listbox.css +1 -1
  59. package/styles/ui-menu-group.css +1 -1
  60. package/styles/ui-menu-item.css +1 -1
  61. package/styles/ui-menu.css +1 -1
  62. package/styles/ui-meter.css +1 -1
  63. package/styles/ui-nav-item.css +1 -1
  64. package/styles/ui-page-header.css +1 -1
  65. package/styles/ui-popover.css +1 -1
  66. package/styles/ui-radio-group.css +1 -1
  67. package/styles/ui-radio.css +1 -1
  68. package/styles/ui-reel.css +8 -11
  69. package/styles/ui-scroll-area.css +1 -1
  70. package/styles/ui-search-result-row.css +1 -1
  71. package/styles/ui-search-shell.css +1 -1
  72. package/styles/ui-section.css +1 -1
  73. package/styles/ui-select.css +1 -1
  74. package/styles/ui-separator.css +1 -1
  75. package/styles/ui-sidebar.css +1 -1
  76. package/styles/ui-spinner.css +1 -1
  77. package/styles/ui-stack.css +1 -1
  78. package/styles/ui-status-message.css +1 -1
  79. package/styles/ui-swatch.css +1 -1
  80. package/styles/ui-switch.css +1 -1
  81. package/styles/ui-switcher.css +23 -28
  82. package/styles/ui-table.css +1 -1
  83. package/styles/ui-tabs.css +1 -1
  84. package/styles/ui-text.css +1 -1
  85. package/styles/ui-textarea.css +1 -1
  86. package/styles/ui-toast-region.css +1 -1
  87. package/styles/ui-toast.css +1 -1
  88. package/styles/ui-tooltip.css +1 -1
  89. package/styles/ui-top-bar.css +1 -1
  90. package/styles/ui-tree-item.css +1 -1
  91. package/styles/ui-tree.css +1 -1
  92. package/vanilla/UiActionBar.d.ts +10 -1
  93. package/vanilla/UiActionBar.js +3 -2
  94. package/vanilla/UiAffordanceScope.d.ts +10 -1
  95. package/vanilla/UiAffordanceScope.js +3 -2
  96. package/vanilla/UiAvatar.d.ts +10 -1
  97. package/vanilla/UiAvatar.js +3 -2
  98. package/vanilla/UiAvatarGroup.d.ts +10 -1
  99. package/vanilla/UiAvatarGroup.js +3 -2
  100. package/vanilla/UiBadge.d.ts +10 -1
  101. package/vanilla/UiBadge.js +3 -2
  102. package/vanilla/UiBreadcrumbItem.d.ts +10 -1
  103. package/vanilla/UiBreadcrumbItem.js +3 -2
  104. package/vanilla/UiBreadcrumbs.d.ts +10 -1
  105. package/vanilla/UiBreadcrumbs.js +3 -2
  106. package/vanilla/UiButton.d.ts +10 -1
  107. package/vanilla/UiButton.js +3 -2
  108. package/vanilla/UiCallout.d.ts +10 -1
  109. package/vanilla/UiCallout.js +3 -2
  110. package/vanilla/UiCard.d.ts +10 -1
  111. package/vanilla/UiCard.js +3 -2
  112. package/vanilla/UiCheckbox.d.ts +10 -1
  113. package/vanilla/UiCheckbox.js +3 -2
  114. package/vanilla/UiCluster.d.ts +10 -1
  115. package/vanilla/UiCluster.js +3 -2
  116. package/vanilla/UiCombobox.d.ts +14 -1
  117. package/vanilla/UiCombobox.js +34 -11
  118. package/vanilla/UiContainer.d.ts +10 -1
  119. package/vanilla/UiContainer.js +3 -2
  120. package/vanilla/UiContextMenu.d.ts +10 -1
  121. package/vanilla/UiContextMenu.js +3 -2
  122. package/vanilla/UiCover.d.ts +10 -1
  123. package/vanilla/UiCover.js +3 -2
  124. package/vanilla/UiDescriptionItem.d.ts +10 -1
  125. package/vanilla/UiDescriptionItem.js +3 -2
  126. package/vanilla/UiDescriptionList.d.ts +10 -1
  127. package/vanilla/UiDescriptionList.js +3 -2
  128. package/vanilla/UiDialog.d.ts +10 -1
  129. package/vanilla/UiDialog.js +3 -2
  130. package/vanilla/UiDisclosure.d.ts +10 -1
  131. package/vanilla/UiDisclosure.js +3 -2
  132. package/vanilla/UiEditable.d.ts +10 -1
  133. package/vanilla/UiEditable.js +3 -2
  134. package/vanilla/UiEditorBlockActions.d.ts +10 -1
  135. package/vanilla/UiEditorBlockActions.js +3 -2
  136. package/vanilla/UiEditorChipEditor.d.ts +10 -1
  137. package/vanilla/UiEditorChipEditor.js +3 -2
  138. package/vanilla/UiEditorCodeLanguage.d.ts +10 -1
  139. package/vanilla/UiEditorCodeLanguage.js +3 -2
  140. package/vanilla/UiEditorImageToolbar.d.ts +10 -1
  141. package/vanilla/UiEditorImageToolbar.js +3 -2
  142. package/vanilla/UiEditorInsertTableGrid.d.ts +10 -1
  143. package/vanilla/UiEditorInsertTableGrid.js +3 -2
  144. package/vanilla/UiEditorLinkCard.d.ts +10 -1
  145. package/vanilla/UiEditorLinkCard.js +3 -2
  146. package/vanilla/UiEditorLinkForm.d.ts +10 -1
  147. package/vanilla/UiEditorLinkForm.js +3 -2
  148. package/vanilla/UiEditorMentionMenu.d.ts +10 -1
  149. package/vanilla/UiEditorMentionMenu.js +3 -2
  150. package/vanilla/UiEditorMentionMenuItem.d.ts +10 -1
  151. package/vanilla/UiEditorMentionMenuItem.js +3 -2
  152. package/vanilla/UiEditorSlashMenu.d.ts +10 -1
  153. package/vanilla/UiEditorSlashMenu.js +3 -2
  154. package/vanilla/UiEditorSlashMenuGroup.d.ts +10 -1
  155. package/vanilla/UiEditorSlashMenuGroup.js +3 -2
  156. package/vanilla/UiEditorSlashMenuItem.d.ts +10 -1
  157. package/vanilla/UiEditorSlashMenuItem.js +3 -2
  158. package/vanilla/UiEditorSurface.d.ts +10 -1
  159. package/vanilla/UiEditorSurface.js +3 -2
  160. package/vanilla/UiEditorTableContextMenu.d.ts +10 -1
  161. package/vanilla/UiEditorTableContextMenu.js +3 -2
  162. package/vanilla/UiEditorTableOverlay.d.ts +10 -1
  163. package/vanilla/UiEditorTableOverlay.js +3 -2
  164. package/vanilla/UiEditorTableToolbar.d.ts +10 -1
  165. package/vanilla/UiEditorTableToolbar.js +3 -2
  166. package/vanilla/UiEditorToolbar.d.ts +10 -1
  167. package/vanilla/UiEditorToolbar.js +3 -2
  168. package/vanilla/UiFloatingActionButton.d.ts +10 -1
  169. package/vanilla/UiFloatingActionButton.js +3 -2
  170. package/vanilla/UiFormField.d.ts +10 -1
  171. package/vanilla/UiFormField.js +4 -3
  172. package/vanilla/UiGrid.d.ts +10 -1
  173. package/vanilla/UiGrid.js +3 -2
  174. package/vanilla/UiIcon.d.ts +10 -1
  175. package/vanilla/UiIcon.js +3 -2
  176. package/vanilla/UiIconButton.d.ts +10 -1
  177. package/vanilla/UiIconButton.js +3 -2
  178. package/vanilla/UiImage.d.ts +10 -1
  179. package/vanilla/UiImage.js +3 -2
  180. package/vanilla/UiInput.d.ts +10 -1
  181. package/vanilla/UiInput.js +3 -2
  182. package/vanilla/UiInputGroup.d.ts +10 -1
  183. package/vanilla/UiInputGroup.js +3 -2
  184. package/vanilla/UiList.d.ts +10 -1
  185. package/vanilla/UiList.js +3 -2
  186. package/vanilla/UiListItem.d.ts +10 -1
  187. package/vanilla/UiListItem.js +3 -2
  188. package/vanilla/UiListbox.d.ts +10 -1
  189. package/vanilla/UiListbox.js +3 -2
  190. package/vanilla/UiMenu.d.ts +10 -1
  191. package/vanilla/UiMenu.js +3 -2
  192. package/vanilla/UiMenuGroup.d.ts +10 -1
  193. package/vanilla/UiMenuGroup.js +3 -2
  194. package/vanilla/UiMenuItem.d.ts +10 -1
  195. package/vanilla/UiMenuItem.js +3 -2
  196. package/vanilla/UiMeter.d.ts +10 -1
  197. package/vanilla/UiMeter.js +3 -2
  198. package/vanilla/UiNavItem.d.ts +10 -1
  199. package/vanilla/UiNavItem.js +3 -2
  200. package/vanilla/UiPageHeader.d.ts +10 -1
  201. package/vanilla/UiPageHeader.js +3 -2
  202. package/vanilla/UiPopover.d.ts +10 -1
  203. package/vanilla/UiPopover.js +3 -2
  204. package/vanilla/UiRadio.d.ts +10 -1
  205. package/vanilla/UiRadio.js +3 -2
  206. package/vanilla/UiRadioGroup.d.ts +10 -1
  207. package/vanilla/UiRadioGroup.js +3 -2
  208. package/vanilla/UiReel.d.ts +10 -1
  209. package/vanilla/UiReel.js +3 -2
  210. package/vanilla/UiScrollArea.d.ts +10 -1
  211. package/vanilla/UiScrollArea.js +3 -2
  212. package/vanilla/UiSearchResultRow.d.ts +10 -1
  213. package/vanilla/UiSearchResultRow.js +3 -2
  214. package/vanilla/UiSearchShell.d.ts +10 -1
  215. package/vanilla/UiSearchShell.js +3 -2
  216. package/vanilla/UiSection.d.ts +10 -1
  217. package/vanilla/UiSection.js +3 -2
  218. package/vanilla/UiSelect.d.ts +10 -1
  219. package/vanilla/UiSelect.js +3 -2
  220. package/vanilla/UiSeparator.d.ts +10 -1
  221. package/vanilla/UiSeparator.js +3 -2
  222. package/vanilla/UiSidebar.d.ts +10 -1
  223. package/vanilla/UiSidebar.js +3 -2
  224. package/vanilla/UiSpinner.d.ts +10 -1
  225. package/vanilla/UiSpinner.js +3 -2
  226. package/vanilla/UiStack.d.ts +10 -1
  227. package/vanilla/UiStack.js +3 -2
  228. package/vanilla/UiStatusMessage.d.ts +10 -1
  229. package/vanilla/UiStatusMessage.js +3 -2
  230. package/vanilla/UiSwatch.d.ts +10 -1
  231. package/vanilla/UiSwatch.js +3 -2
  232. package/vanilla/UiSwitch.d.ts +10 -1
  233. package/vanilla/UiSwitch.js +3 -2
  234. package/vanilla/UiSwitcher.d.ts +10 -1
  235. package/vanilla/UiSwitcher.js +4 -3
  236. package/vanilla/UiTable.d.ts +10 -1
  237. package/vanilla/UiTable.js +3 -2
  238. package/vanilla/UiTabs.d.ts +10 -1
  239. package/vanilla/UiTabs.js +3 -2
  240. package/vanilla/UiText.d.ts +10 -1
  241. package/vanilla/UiText.js +3 -2
  242. package/vanilla/UiTextarea.d.ts +10 -1
  243. package/vanilla/UiTextarea.js +3 -2
  244. package/vanilla/UiToast.d.ts +10 -1
  245. package/vanilla/UiToast.js +3 -2
  246. package/vanilla/UiToastRegion.d.ts +10 -1
  247. package/vanilla/UiToastRegion.js +3 -2
  248. package/vanilla/UiTooltip.d.ts +10 -1
  249. package/vanilla/UiTooltip.js +3 -2
  250. package/vanilla/UiTopBar.d.ts +10 -1
  251. package/vanilla/UiTopBar.js +3 -2
  252. package/vanilla/UiTree.d.ts +10 -1
  253. package/vanilla/UiTree.js +3 -2
  254. package/vanilla/UiTreeItem.d.ts +10 -1
  255. package/vanilla/UiTreeItem.js +3 -2
  256. package/vue/UiActionBar.vue +1 -1
  257. package/vue/UiAffordanceScope.vue +2 -2
  258. package/vue/UiAvatar.vue +2 -2
  259. package/vue/UiAvatarGroup.vue +2 -2
  260. package/vue/UiBadge.vue +2 -2
  261. package/vue/UiBreadcrumbItem.vue +2 -2
  262. package/vue/UiBreadcrumbs.vue +1 -1
  263. package/vue/UiButton.vue +2 -2
  264. package/vue/UiCallout.vue +2 -2
  265. package/vue/UiCard.vue +2 -2
  266. package/vue/UiCheckbox.vue +2 -2
  267. package/vue/UiCluster.vue +2 -2
  268. package/vue/UiCombobox.d.ts +36 -13
  269. package/vue/UiCombobox.vue +130 -4
  270. package/vue/UiContainer.vue +2 -2
  271. package/vue/UiContextMenu.vue +1 -1
  272. package/vue/UiCover.vue +4 -7
  273. package/vue/UiDescriptionItem.vue +1 -1
  274. package/vue/UiDescriptionList.vue +2 -2
  275. package/vue/UiDialog.vue +2 -2
  276. package/vue/UiDisclosure.vue +2 -2
  277. package/vue/UiEditable.vue +2 -2
  278. package/vue/UiEditorBlockActions.vue +1 -1
  279. package/vue/UiEditorChipEditor.vue +1 -1
  280. package/vue/UiEditorCodeLanguage.vue +1 -1
  281. package/vue/UiEditorImageToolbar.vue +7 -4
  282. package/vue/UiEditorInsertTableGrid.vue +1 -1
  283. package/vue/UiEditorLinkCard.vue +1 -1
  284. package/vue/UiEditorLinkForm.vue +45 -45
  285. package/vue/UiEditorMentionMenu.vue +1 -1
  286. package/vue/UiEditorMentionMenuItem.vue +1 -1
  287. package/vue/UiEditorSlashMenu.vue +1 -1
  288. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  289. package/vue/UiEditorSlashMenuItem.vue +1 -1
  290. package/vue/UiEditorSurface.vue +2 -2
  291. package/vue/UiEditorTableContextMenu.vue +1 -1
  292. package/vue/UiEditorTableOverlay.vue +1 -1
  293. package/vue/UiEditorTableToolbar.vue +1 -1
  294. package/vue/UiEditorToolbar.vue +2 -2
  295. package/vue/UiFloatingActionButton.vue +2 -2
  296. package/vue/UiFormField.d.ts +1 -1
  297. package/vue/UiFormField.vue +3 -3
  298. package/vue/UiGrid.vue +2 -2
  299. package/vue/UiIcon.vue +2 -2
  300. package/vue/UiIconButton.vue +2 -2
  301. package/vue/UiImage.vue +2 -2
  302. package/vue/UiInput.vue +2 -2
  303. package/vue/UiInputGroup.vue +2 -2
  304. package/vue/UiList.vue +2 -2
  305. package/vue/UiListItem.vue +2 -2
  306. package/vue/UiListbox.vue +1 -1
  307. package/vue/UiMenu.vue +2 -2
  308. package/vue/UiMenuGroup.vue +1 -1
  309. package/vue/UiMenuItem.vue +2 -2
  310. package/vue/UiMeter.vue +2 -2
  311. package/vue/UiNavItem.vue +2 -2
  312. package/vue/UiPageHeader.vue +2 -2
  313. package/vue/UiPopover.vue +2 -2
  314. package/vue/UiRadio.vue +2 -2
  315. package/vue/UiRadioGroup.vue +2 -2
  316. package/vue/UiReel.vue +9 -12
  317. package/vue/UiScrollArea.vue +3 -3
  318. package/vue/UiSearchResultRow.vue +2 -2
  319. package/vue/UiSearchShell.vue +1 -1
  320. package/vue/UiSection.vue +2 -2
  321. package/vue/UiSelect.vue +2 -2
  322. package/vue/UiSeparator.vue +2 -2
  323. package/vue/UiSidebar.vue +2 -2
  324. package/vue/UiSpinner.vue +2 -2
  325. package/vue/UiStack.vue +2 -2
  326. package/vue/UiStatusMessage.vue +2 -2
  327. package/vue/UiSwatch.vue +2 -2
  328. package/vue/UiSwitch.vue +2 -2
  329. package/vue/UiSwitcher.vue +23 -27
  330. package/vue/UiTable.vue +2 -2
  331. package/vue/UiTabs.vue +2 -2
  332. package/vue/UiText.vue +2 -2
  333. package/vue/UiTextarea.vue +2 -2
  334. package/vue/UiToast.vue +2 -2
  335. package/vue/UiToastRegion.vue +2 -2
  336. package/vue/UiTooltip.vue +2 -2
  337. package/vue/UiTopBar.vue +1 -1
  338. package/vue/UiTree.vue +2 -2
  339. package/vue/UiTreeItem.vue +2 -2
  340. package/vue/chunks/UiActionBar.js +1 -1
  341. package/vue/chunks/UiAffordanceScope.js +2 -2
  342. package/vue/chunks/UiAvatar.js +2 -2
  343. package/vue/chunks/UiAvatarGroup.js +2 -2
  344. package/vue/chunks/UiBadge.js +2 -2
  345. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  346. package/vue/chunks/UiBreadcrumbs.js +1 -1
  347. package/vue/chunks/UiButton.js +2 -2
  348. package/vue/chunks/UiCallout.js +2 -2
  349. package/vue/chunks/UiCard.js +2 -2
  350. package/vue/chunks/UiCheckbox.js +2 -2
  351. package/vue/chunks/UiCluster.js +2 -2
  352. package/vue/chunks/UiCombobox.js +117 -5
  353. package/vue/chunks/UiContainer.js +2 -2
  354. package/vue/chunks/UiContextMenu.js +1 -1
  355. package/vue/chunks/UiCover.js +2 -2
  356. package/vue/chunks/UiDescriptionItem.js +1 -1
  357. package/vue/chunks/UiDescriptionList.js +2 -2
  358. package/vue/chunks/UiDialog.js +2 -2
  359. package/vue/chunks/UiDisclosure.js +3 -3
  360. package/vue/chunks/UiEditable.js +2 -2
  361. package/vue/chunks/UiEditorImageToolbar.js +3 -2
  362. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  363. package/vue/chunks/UiEditorLinkForm.js +68 -71
  364. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  365. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  366. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  367. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  368. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  369. package/vue/chunks/UiEditorSurface.js +2 -2
  370. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  371. package/vue/chunks/UiEditorTableOverlay.js +2 -2
  372. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  373. package/vue/chunks/UiEditorToolbar.js +2 -2
  374. package/vue/chunks/UiFloatingActionButton.js +2 -2
  375. package/vue/chunks/UiFormField.js +3 -3
  376. package/vue/chunks/UiGrid.js +2 -2
  377. package/vue/chunks/UiIcon.js +2 -2
  378. package/vue/chunks/UiIconButton.js +2 -2
  379. package/vue/chunks/UiImage.js +2 -2
  380. package/vue/chunks/UiInput.js +2 -2
  381. package/vue/chunks/UiInputGroup.js +2 -2
  382. package/vue/chunks/UiList.js +2 -2
  383. package/vue/chunks/UiListItem.js +2 -2
  384. package/vue/chunks/UiListbox.js +1 -1
  385. package/vue/chunks/UiMenu.js +2 -2
  386. package/vue/chunks/UiMenuGroup.js +1 -1
  387. package/vue/chunks/UiMenuItem.js +2 -2
  388. package/vue/chunks/UiMeter.js +2 -2
  389. package/vue/chunks/UiNavItem.js +2 -2
  390. package/vue/chunks/UiPageHeader.js +2 -2
  391. package/vue/chunks/UiPopover.js +2 -2
  392. package/vue/chunks/UiRadio.js +2 -2
  393. package/vue/chunks/UiRadioGroup.js +2 -2
  394. package/vue/chunks/UiReel.js +2 -2
  395. package/vue/chunks/UiScrollArea.js +4 -4
  396. package/vue/chunks/UiSearchResultRow.js +2 -2
  397. package/vue/chunks/UiSearchShell.js +1 -1
  398. package/vue/chunks/UiSection.js +2 -2
  399. package/vue/chunks/UiSelect.js +2 -2
  400. package/vue/chunks/UiSeparator.js +2 -2
  401. package/vue/chunks/UiSidebar.js +2 -2
  402. package/vue/chunks/UiSpinner.js +2 -2
  403. package/vue/chunks/UiStack.js +2 -2
  404. package/vue/chunks/UiStatusMessage.js +2 -2
  405. package/vue/chunks/UiSwatch.js +2 -2
  406. package/vue/chunks/UiSwitch.js +2 -2
  407. package/vue/chunks/UiSwitcher.js +2 -2
  408. package/vue/chunks/UiTable.js +2 -2
  409. package/vue/chunks/UiTabs.js +2 -2
  410. package/vue/chunks/UiText.js +2 -2
  411. package/vue/chunks/UiTextarea.js +2 -2
  412. package/vue/chunks/UiToast.js +2 -2
  413. package/vue/chunks/UiToastRegion.js +2 -2
  414. package/vue/chunks/UiTooltip.js +2 -2
  415. package/vue/chunks/UiTopBar.js +1 -1
  416. package/vue/chunks/UiTree.js +2 -2
  417. package/vue/chunks/UiTreeItem.js +2 -2
  418. package/vue/chunks/_plugin-vue_export-helper.js +13 -3
  419. package/vue/components.css +69 -76
  420. package/vue/editor/index.js +167 -15
  421. package/vue/host.ts +9 -5
@@ -432,7 +432,7 @@ var UiText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
432
432
  const root = useTemplateRef("@html-next/root");
433
433
  preserveRootFocus(root);
434
434
  checkHydratedRoot(checkedProps.value.as === "span" ? "span" : checkedProps.value.as === "div" ? "div" : checkedProps.value.as === "small" ? "small" : checkedProps.value.as === "strong" ? "strong" : checkedProps.value.as === "label" ? "label" : checkedProps.value.as === "h2" ? "h2" : checkedProps.value.as === "h3" ? "h3" : checkedProps.value.as === "h4" ? "h4" : checkedProps.value.as === "h5" ? "h5" : checkedProps.value.as === "h6" ? "h6" : "p", "ui-text");
435
- /** The values the styles' :host() prop and state rules test. */
435
+ /** The values the styles' :host() and :state() rules test. */
436
436
  const hostState = computed(() => [
437
437
  checkedProps.value.grow && "grow",
438
438
  checkedProps.value.size && "size",
@@ -698,6 +698,6 @@ var UiText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
698
698
  }]]);
699
699
  };
700
700
  }
701
- }), [["__scopeId", "data-v-007f4ffd"]]);
701
+ }), [["__scopeId", "data-v-1c015f24"]]);
702
702
  //#endregion
703
703
  export { UiText_default as t };
@@ -228,7 +228,7 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
228
228
  });
229
229
  const root = ref(null);
230
230
  checkHydratedRoot("textarea", "ui-textarea");
231
- /** The values the styles' :host() prop and state rules test. */
231
+ /** The values the styles' :host() and :state() rules test. */
232
232
  const hostState = computed(() => [
233
233
  checkedProps.value.size && "size",
234
234
  checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
@@ -303,6 +303,6 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
303
303
  }]]);
304
304
  };
305
305
  }
306
- }), [["__scopeId", "data-v-a17c3eb9"]]);
306
+ }), [["__scopeId", "data-v-e9c54464"]]);
307
307
  //#endregion
308
308
  export { UiTextarea_default as t };
@@ -85,7 +85,7 @@ var UiToast_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
85
85
  const root = ref(null);
86
86
  const actionElement = useTemplateRef("actionElement");
87
87
  checkHydratedRoot("div", "ui-toast");
88
- /** The values the styles' :host() prop and state rules test. */
88
+ /** The values the styles' :host() and :state() rules test. */
89
89
  const hostState = computed(() => [checkedProps.value.tone && "tone", checkedProps.value.tone != null && `tone=${encodeURIComponent(checkedProps.value.tone)}`].filter(Boolean).join(" "));
90
90
  const isDismissDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
91
91
  "id",
@@ -156,6 +156,6 @@ var UiToast_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
156
156
  }]]);
157
157
  };
158
158
  }
159
- }), [["__scopeId", "data-v-16a93365"]]);
159
+ }), [["__scopeId", "data-v-3d934282"]]);
160
160
  //#endregion
161
161
  export { UiToast_default as t };
@@ -96,7 +96,7 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
96
96
  const toasts = ref([]);
97
97
  provide("html-next:ui-toast-region:toasts", toasts);
98
98
  checkHydratedRoot("div", "ui-toast-region");
99
- /** The values the styles' :host() prop and state rules test. */
99
+ /** The values the styles' :host() and :state() rules test. */
100
100
  const hostState = computed(() => [checkedProps.value.placement && "placement", checkedProps.value.placement != null && `placement=${encodeURIComponent(checkedProps.value.placement)}`].filter(Boolean).join(" "));
101
101
  const isDismissDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["id"] === "string" && (detail["reason"] === "action" || detail["reason"] === "timeout") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
102
102
  "id",
@@ -256,6 +256,6 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
256
256
  }]]);
257
257
  };
258
258
  }
259
- }), [["__scopeId", "data-v-4af986cc"]]);
259
+ }), [["__scopeId", "data-v-f81961a9"]]);
260
260
  //#endregion
261
261
  export { UiToastRegion_default as t };
@@ -209,7 +209,7 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
209
209
  const internalOpen = ref(false);
210
210
  provide("html-next:ui-tooltip:internalOpen", internalOpen);
211
211
  checkHydratedRoot("span", "ui-tooltip");
212
- /** The values the styles' :host() prop and state rules test. */
212
+ /** The values the styles' :host() and :state() rules test. */
213
213
  const hostState = computed(() => [checkedProps.value.inverse && "inverse"].filter(Boolean).join(" "));
214
214
  const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
215
215
  "open",
@@ -283,6 +283,6 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
283
283
  }]]);
284
284
  };
285
285
  }
286
- }), [["__scopeId", "data-v-de7b5e63"]]);
286
+ }), [["__scopeId", "data-v-047804e4"]]);
287
287
  //#endregion
288
288
  export { UiTooltip_default as t };
@@ -36,6 +36,6 @@ var UiTopBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
36
36
  ], 16);
37
37
  };
38
38
  }
39
- }), [["__scopeId", "data-v-5f781fcb"]]);
39
+ }), [["__scopeId", "data-v-999d7e3a"]]);
40
40
  //#endregion
41
41
  export { UiTopBar_default as t };
@@ -183,7 +183,7 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
183
183
  const emit = __emit;
184
184
  const root = ref(null);
185
185
  checkHydratedRoot("div", "ui-tree");
186
- /** The values the styles' :host() prop and state rules test. */
186
+ /** The values the styles' :host() and :state() rules test. */
187
187
  const hostState = computed(() => [
188
188
  checkedProps.value.marquee && "marquee",
189
189
  checkedProps.value.density && "density",
@@ -269,6 +269,6 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
269
269
  }]]);
270
270
  };
271
271
  }
272
- }), [["__scopeId", "data-v-11e6bf73"]]);
272
+ }), [["__scopeId", "data-v-68fd9a36"]]);
273
273
  //#endregion
274
274
  export { UiTree_default as t };
@@ -405,7 +405,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
405
405
  provide("html-next:ui-tree-item:isContainer", isContainer);
406
406
  provide("html-next:ui-tree-item:moving", moving);
407
407
  checkHydratedRoot("div", "ui-tree-item");
408
- /** The values the styles' :host() prop and state rules test. */
408
+ /** The values the styles' :host() and :state() rules test. */
409
409
  const hostState = computed(() => [
410
410
  checkedProps.value.selected && "selected",
411
411
  checkedProps.value.disabled && "disabled",
@@ -690,6 +690,6 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
690
690
  }]]);
691
691
  };
692
692
  }
693
- }), [["__scopeId", "data-v-94992850"]]);
693
+ }), [["__scopeId", "data-v-5bc299b7"]]);
694
694
  //#endregion
695
695
  export { UiTreeItem_default as t };
@@ -333,12 +333,13 @@ function useComponentHost(controllerLoader, options) {
333
333
  validate: validity
334
334
  });
335
335
  }
336
+ let lastRoot = null;
336
337
  const host = {
337
338
  get element() {
338
- return root.value;
339
+ return root.value ?? lastRoot;
339
340
  },
340
341
  get root() {
341
- return root.value;
342
+ return root.value ?? lastRoot;
342
343
  },
343
344
  ...controllerNamespaces({
344
345
  state: Object.fromEntries(Object.entries(state).map(([name, value]) => [name, {
@@ -451,6 +452,7 @@ function useComponentHost(controllerLoader, options) {
451
452
  };
452
453
  const synchronize = () => {
453
454
  if (unmounted) return;
455
+ lastRoot = root.value ?? lastRoot;
454
456
  if (root.value?.isConnected !== true) {
455
457
  disconnect();
456
458
  return;
@@ -614,6 +616,14 @@ function useReflectedProp() {
614
616
  return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
615
617
  };
616
618
  }
619
+ /** A scoped slot's name, which the consumer must fill with a `<template slot>` rather than plain children. */
620
+ function useScopedSlotName() {
621
+ const slots = useSlots();
622
+ return (name) => {
623
+ if (slots[name] === void 0 && slots.default?.().some((node) => node.props?.slot === name)) throw diagnostic("HR007", "Scoped slot `" + name + "` requires a consumer <template slot=\"" + name + "\">.");
624
+ return name;
625
+ };
626
+ }
617
627
  var KeyedFailure = /* @__PURE__ */ defineComponent({
618
628
  props: { error: {
619
629
  type: null,
@@ -1012,4 +1022,4 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
1012
1022
  return target;
1013
1023
  };
1014
1024
  //#endregion
1015
- export { uniqueKeys as _, concat as a, warnUnless as b, decimalMultiply as c, list as d, math as f, text as g, preserveRootFocus as h, checkHydratedRoot as i, decimalSubtract as l, number as m, KeyedBoundary as n, createDispatch as o, nativeAttrs as p, attribute as r, cycleCheckedComputed as s, _plugin_vue_export_helper_default as t, formatValue as u, useComponentHost as v, useReflectedProp as y };
1025
+ export { uniqueKeys as _, concat as a, useScopedSlotName as b, decimalMultiply as c, list as d, math as f, text as g, preserveRootFocus as h, checkHydratedRoot as i, decimalSubtract as l, number as m, KeyedBoundary as n, createDispatch as o, nativeAttrs as p, attribute as r, cycleCheckedComputed as s, _plugin_vue_export_helper_default as t, formatValue as u, useComponentHost as v, warnUnless as x, useReflectedProp as y };
@@ -945,12 +945,12 @@ ol:where([data-hn-ui-breadcrumbs]) {
945
945
  }
946
946
 
947
947
  /* A rounded SVG arc grows and recedes over a quiet full-circle track. */
948
- @keyframes ui-spinner-rotate-39d314ea {
948
+ @keyframes ui-spinner-rotate-8edf9e1e {
949
949
  100% {
950
950
  transform: rotate(1turn);
951
951
  }
952
952
  }
953
- @keyframes ui-spinner-dash-39d314ea {
953
+ @keyframes ui-spinner-dash-8edf9e1e {
954
954
  0% {
955
955
  stroke-dasharray: 1, 150;
956
956
  stroke-dashoffset: 0;
@@ -986,7 +986,7 @@ svg {
986
986
  display: block;
987
987
  inline-size: 100%;
988
988
  block-size: 100%;
989
- animation: ui-spinner-rotate-39d314ea 2s linear infinite;
989
+ animation: ui-spinner-rotate-8edf9e1e 2s linear infinite;
990
990
  }
991
991
  circle {
992
992
  stroke-width: 3;
@@ -999,7 +999,7 @@ circle {
999
999
  stroke: currentColor;
1000
1000
  stroke-dasharray: 90, 150;
1001
1001
  stroke-dashoffset: 0;
1002
- animation: ui-spinner-dash-39d314ea 1.5s ease-in-out infinite;
1002
+ animation: ui-spinner-dash-8edf9e1e 1.5s ease-in-out infinite;
1003
1003
  }
1004
1004
  @media (prefers-reduced-motion: reduce) {
1005
1005
  svg,.arc {
@@ -1783,7 +1783,7 @@ html[data-ui-input-modality="touch"]
1783
1783
  /* The label, and under it an optional line saying what the choice means. */
1784
1784
 
1785
1785
  /* Centre the tick's box and lift it slightly for the rotated check shape. */
1786
- @keyframes ui-checkbox-check-6e1c7414 {
1786
+ @keyframes ui-checkbox-check-ecf9c529 {
1787
1787
  from {
1788
1788
  opacity: 0;
1789
1789
  transform: translateY(-0.09rem) rotate(45deg) scale(0.55);
@@ -1878,7 +1878,7 @@ input:checked:where([data-hn-ui-checkbox])::after {
1878
1878
  border-width: 0 0.125rem 0.125rem 0;
1879
1879
  opacity: 1;
1880
1880
  transform: translateY(-0.09rem) rotate(45deg);
1881
- animation: ui-checkbox-check-6e1c7414 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1))
1881
+ animation: ui-checkbox-check-ecf9c529 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1))
1882
1882
  both;
1883
1883
  }
1884
1884
  input:indeterminate:where([data-hn-ui-checkbox])::after {
@@ -2807,7 +2807,8 @@ button:where([data-hn-ui-combobox]) {
2807
2807
  :scope:where([data-hn-ui-cover]) {
2808
2808
  display: flex;
2809
2809
  flex-direction: column;
2810
- align-items: center;
2810
+ /* Safe: a child wider than the cover keeps its start edge in view instead of overflowing both ways. */
2811
+ align-items: safe center;
2811
2812
  justify-content: center;
2812
2813
  gap: var(--ui-space-6);
2813
2814
  box-sizing: border-box;
@@ -2818,9 +2819,6 @@ button:where([data-hn-ui-combobox]) {
2818
2819
  flex: 1;
2819
2820
  min-block-size: 100%;
2820
2821
  }
2821
- :scope > :where(:not([data-hn-ui-cover])):is(*) {
2822
- max-inline-size: 100%;
2823
- }
2824
2822
  :scope[hidden]:where([data-hn-ui-cover]) {
2825
2823
  display: none;
2826
2824
  }
@@ -3042,13 +3040,13 @@ dd:where([data-hn-ui-description-item]) {
3042
3040
  /* A CSS-drawn X. */
3043
3041
 
3044
3042
  /* A touch target, like Button on coarse pointers. */
3045
- @keyframes ui-dialog-enter-c6e7c0af {
3043
+ @keyframes ui-dialog-enter-be1feedc {
3046
3044
  from {
3047
3045
  opacity: 0;
3048
3046
  transform: scale(0.96);
3049
3047
  }
3050
3048
  }
3051
- @keyframes ui-dialog-backdrop-enter-c6e7c0af {
3049
+ @keyframes ui-dialog-backdrop-enter-be1feedc {
3052
3050
  from {
3053
3051
  background-color: transparent;
3054
3052
  }
@@ -3096,7 +3094,7 @@ from {
3096
3094
  pointer-events: auto;
3097
3095
  opacity: 1;
3098
3096
  transform: scale(1);
3099
- animation: ui-dialog-enter-c6e7c0af var(--ui-dialog-duration, var(--ui-motion-base))
3097
+ animation: ui-dialog-enter-be1feedc var(--ui-dialog-duration, var(--ui-motion-base))
3100
3098
  var(--ui-motion-ease);
3101
3099
  }
3102
3100
  :scope[data-ui-dialog-state~="size=sm"]:where([data-hn-ui-dialog]) {
@@ -3214,7 +3212,7 @@ footer:empty:where([data-hn-ui-dialog]) {
3214
3212
  }
3215
3213
  :scope[open]:modal:where([data-hn-ui-dialog])::backdrop {
3216
3214
  background-color: var(--ui-overlay-backdrop);
3217
- animation: ui-dialog-backdrop-enter-c6e7c0af var(--_ui-dialog-duration, var(--ui-motion-base))
3215
+ animation: ui-dialog-backdrop-enter-be1feedc var(--_ui-dialog-duration, var(--ui-motion-base))
3218
3216
  var(--ui-motion-ease);
3219
3217
  }
3220
3218
  :scope[open][data-ui-backdrop-hidden]:where([data-hn-ui-dialog])::backdrop {
@@ -7802,12 +7800,14 @@ input:focus-visible:where([data-hn-ui-radio]) {
7802
7800
  /* A component that sets its display still honours the hidden attribute on its root. */
7803
7801
  @scope (.ui-reel) to ([data-hn]) {
7804
7802
  :scope:where([data-hn-ui-reel]) {
7805
- /* Hooks do not inherit, so the parts below read them from the root. */
7806
- --_ui-reel-item-width: var(--ui-reel-item-width);
7807
-
7808
7803
  --_reel-gap: var(--ui-space-4);
7809
- --_reel-item-width: auto;
7810
- display: flex;
7804
+ --_reel-item-width: max-content;
7805
+ /* Sizes its children from its own box: one row of columns, each the item width, that never
7806
+ shrinks to fit, so the reel scrolls once they overflow. */
7807
+ display: grid;
7808
+ grid-auto-flow: column;
7809
+ grid-auto-columns: var(--ui-reel-item-width, var(--_reel-item-width));
7810
+ justify-content: start;
7811
7811
  inline-size: 100%;
7812
7812
  gap: var(--ui-reel-gap, var(--_reel-gap));
7813
7813
  min-inline-size: 0;
@@ -7842,10 +7842,6 @@ input:focus-visible:where([data-hn-ui-radio]) {
7842
7842
  :scope:dir(rtl):where([data-hn-ui-reel]) {
7843
7843
  --_ui-scroll-fade-direction: to left;
7844
7844
  }
7845
- :scope > :where(:not([data-hn-ui-reel])):is(*) {
7846
- min-inline-size: 0;
7847
- flex: 0 0 var(--_ui-reel-item-width, var(--_reel-item-width));
7848
- }
7849
7845
  :scope[data-ui-reel-state~="gap=xs"]:where([data-hn-ui-reel]) {
7850
7846
  --_reel-gap: var(--ui-space-2);
7851
7847
  }
@@ -8801,25 +8797,25 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
8801
8797
  /* A component that sets its display still honours the hidden attribute on its root. */
8802
8798
  @scope (.ui-switcher) to ([data-hn]) {
8803
8799
  :scope:where([data-hn-ui-switcher]) {
8804
- /* Hooks do not inherit, so the parts below read them from the root. */
8805
- --_ui-switcher-threshold: var(--ui-switcher-threshold);
8806
-
8807
8800
  --_switcher-gap: var(--ui-space-4);
8808
- display: flex;
8809
- flex-wrap: wrap;
8801
+ --_switcher-threshold: 30rem;
8802
+ --_switcher-track: clamp(
8803
+ 1px,
8804
+ (var(--ui-switcher-threshold, var(--_switcher-threshold)) - 100%) * 999,
8805
+ 100%
8806
+ );
8807
+ /* Lays its children out from its own box: below the threshold each track takes the full width;
8808
+ at or above it, tracks shrink to 1px so every child fits one row and empty tracks collapse.
8809
+ The large multiplier makes the whole row flip at once. */
8810
+ display: grid;
8811
+ grid-template-columns: repeat(auto-fit, minmax(var(--_switcher-track), 1fr));
8810
8812
  gap: var(--ui-switcher-gap, var(--_switcher-gap));
8811
8813
  min-inline-size: 0;
8812
8814
  max-inline-size: 100%;
8813
8815
  margin: 0;
8814
8816
  }
8815
- :scope > :where(:not([data-hn-ui-switcher])):is(*) {
8816
- min-inline-size: 0;
8817
- flex-grow: 1;
8818
- /* The large multiplier makes the basis flip as a group at the intrinsic threshold. */
8819
- flex-basis: calc((var(--_ui-switcher-threshold, 30rem) - 100%) * 999);
8820
- }
8821
- :scope[data-ui-switcher-state~="overLimit"] > :where(:not([data-hn-ui-switcher])):is(*) {
8822
- flex-basis: 100%;
8817
+ :scope[data-ui-switcher-state~="overLimit"]:where([data-hn-ui-switcher]) {
8818
+ grid-template-columns: minmax(0, 1fr);
8823
8819
  }
8824
8820
  :scope[data-ui-switcher-state~="gap=xs"]:where([data-hn-ui-switcher]) {
8825
8821
  --_switcher-gap: var(--ui-space-2);
@@ -8836,26 +8832,23 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
8836
8832
  :scope[data-ui-switcher-state~="gap=xl"]:where([data-hn-ui-switcher]) {
8837
8833
  --_switcher-gap: var(--ui-space-6);
8838
8834
  }
8839
- :scope[data-ui-switcher-state~="threshold=xs"]
8840
- > :where(:not([data-hn-ui-switcher])):is(*) {
8841
- flex-basis: calc((var(--_ui-switcher-threshold, 20rem) - 100%) * 999);
8835
+ :scope[data-ui-switcher-state~="threshold=xs"]:where([data-hn-ui-switcher]) {
8836
+ --_switcher-threshold: 20rem;
8842
8837
  }
8843
- :scope[data-ui-switcher-state~="threshold=md"]
8844
- > :where(:not([data-hn-ui-switcher])):is(*) {
8845
- flex-basis: calc((var(--_ui-switcher-threshold, 45rem) - 100%) * 999);
8838
+ :scope[data-ui-switcher-state~="threshold=md"]:where([data-hn-ui-switcher]) {
8839
+ --_switcher-threshold: 45rem;
8846
8840
  }
8847
- :scope[data-ui-switcher-state~="threshold=lg"]
8848
- > :where(:not([data-hn-ui-switcher])):is(*) {
8849
- flex-basis: calc((var(--_ui-switcher-threshold, 60rem) - 100%) * 999);
8841
+ :scope[data-ui-switcher-state~="threshold=lg"]:where([data-hn-ui-switcher]) {
8842
+ --_switcher-threshold: 60rem;
8850
8843
  }
8851
8844
  :scope[data-ui-switcher-state~="align=start"]:where([data-hn-ui-switcher]) {
8852
- align-items: flex-start;
8845
+ align-items: start;
8853
8846
  }
8854
8847
  :scope[data-ui-switcher-state~="align=center"]:where([data-hn-ui-switcher]) {
8855
8848
  align-items: center;
8856
8849
  }
8857
8850
  :scope[data-ui-switcher-state~="align=end"]:where([data-hn-ui-switcher]) {
8858
- align-items: flex-end;
8851
+ align-items: end;
8859
8852
  }
8860
8853
  :scope[hidden]:where([data-hn-ui-switcher]) {
8861
8854
  display: none;
@@ -9438,7 +9431,7 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
9438
9431
  }
9439
9432
 
9440
9433
  /* Leaving slides on down and fades; the controller removes the toast when this ends. */
9441
- @keyframes ui-toast-enter-4af986cc {
9434
+ @keyframes ui-toast-enter-f81961a9 {
9442
9435
  from {
9443
9436
  opacity: 0;
9444
9437
  transform: translateY(-1rem);
@@ -9448,7 +9441,7 @@ to {
9448
9441
  transform: translateY(0);
9449
9442
  }
9450
9443
  }
9451
- @keyframes ui-toast-exit-4af986cc {
9444
+ @keyframes ui-toast-exit-f81961a9 {
9452
9445
  from {
9453
9446
  opacity: 1;
9454
9447
  transform: translateY(0);
@@ -9458,7 +9451,7 @@ to {
9458
9451
  transform: translateY(0.75rem);
9459
9452
  }
9460
9453
  }
9461
- @keyframes ui-toast-enter-bottom-4af986cc {
9454
+ @keyframes ui-toast-enter-bottom-f81961a9 {
9462
9455
  from {
9463
9456
  opacity: 0;
9464
9457
  transform: translateY(1rem);
@@ -9468,7 +9461,7 @@ to {
9468
9461
  transform: translateY(0);
9469
9462
  }
9470
9463
  }
9471
- @keyframes ui-toast-exit-bottom-4af986cc {
9464
+ @keyframes ui-toast-exit-bottom-f81961a9 {
9472
9465
  from {
9473
9466
  opacity: 1;
9474
9467
  transform: translateY(0);
@@ -9559,7 +9552,7 @@ to {
9559
9552
  --_ui-toast-region-shadow,
9560
9553
  var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
9561
9554
  );
9562
- animation: ui-toast-enter-4af986cc var(--_ui-toast-region-enter-duration, 0.32s)
9555
+ animation: ui-toast-enter-f81961a9 var(--_ui-toast-region-enter-duration, 0.32s)
9563
9556
  var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
9564
9557
  }
9565
9558
  .toast[data-tone="info"]:where([data-hn-ui-toast-region]) {
@@ -9579,17 +9572,17 @@ to {
9579
9572
  --_ui-toast-region-tone-surface: var(--ui-danger-soft);
9580
9573
  }
9581
9574
  .toast.closing:where([data-hn-ui-toast-region]) {
9582
- animation: ui-toast-exit-4af986cc var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
9575
+ animation: ui-toast-exit-f81961a9 var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
9583
9576
  both;
9584
9577
  pointer-events: none;
9585
9578
  }
9586
9579
  :is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
9587
9580
  .toast:where([data-hn-ui-toast-region]) {
9588
- animation-name: ui-toast-enter-bottom-4af986cc;
9581
+ animation-name: ui-toast-enter-bottom-f81961a9;
9589
9582
  }
9590
9583
  :is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
9591
9584
  .toast.closing:where([data-hn-ui-toast-region]) {
9592
- animation-name: ui-toast-exit-bottom-4af986cc;
9585
+ animation-name: ui-toast-exit-bottom-f81961a9;
9593
9586
  }
9594
9587
  @media (prefers-reduced-motion: reduce) {
9595
9588
  .toast:where([data-hn-ui-toast-region]),.toast.closing:where([data-hn-ui-toast-region]) {
@@ -9790,7 +9783,7 @@ to {
9790
9783
  slides, the label reaches back under the icon (the controller measures how far) with its text
9791
9784
  where it was, and fades out across the gap before the icon, fully gone where the icon begins
9792
9785
  to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
9793
- @keyframes ui-tree-item-marquee-94992850 {
9786
+ @keyframes ui-tree-item-marquee-5bc299b7 {
9794
9787
  from {
9795
9788
  transform: translateX(0);
9796
9789
  }
@@ -10046,7 +10039,7 @@ to {
10046
10039
  .row[data-ui-marquee] > .label > .label-text:where([data-hn-ui-tree-item]) {
10047
10040
  /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
10048
10041
  long enough to read rather than sliding back and forth. */
10049
- animation: ui-tree-item-marquee-94992850 var(--_marquee-duration) linear 0.5s 1 normal forwards;
10042
+ animation: ui-tree-item-marquee-5bc299b7 var(--_marquee-duration) linear 0.5s 1 normal forwards;
10050
10043
  will-change: transform;
10051
10044
  }
10052
10045
  .row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
@@ -10990,7 +10983,7 @@ html[data-ui-input-modality="touch"]
10990
10983
  width: 3px;
10991
10984
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid, #5b55d6));
10992
10985
  }
10993
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
10986
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
10994
10987
  @supports (-moz-appearance: none) {
10995
10988
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
10996
10989
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -11539,7 +11532,7 @@ html[data-ui-input-modality="touch"]
11539
11532
 
11540
11533
  /* A component that sets its display still honours the hidden attribute on its root. */
11541
11534
  }
11542
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
11535
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
11543
11536
  @supports (-moz-appearance: none) {
11544
11537
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
11545
11538
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -11573,7 +11566,7 @@ html[data-ui-input-modality="touch"]
11573
11566
 
11574
11567
  /* A component that sets its display still honours the hidden attribute on its root. */
11575
11568
  }
11576
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
11569
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
11577
11570
  @supports (-moz-appearance: none) {
11578
11571
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
11579
11572
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -11674,7 +11667,7 @@ html[data-ui-input-modality="touch"]
11674
11667
 
11675
11668
  /* A component that sets its display still honours the hidden attribute on its root. */
11676
11669
  }
11677
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
11670
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
11678
11671
  @supports (-moz-appearance: none) {
11679
11672
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
11680
11673
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -11805,7 +11798,7 @@ html[data-ui-input-modality="touch"]
11805
11798
 
11806
11799
  /* A component that sets its display still honours the hidden attribute on its root. */
11807
11800
  }
11808
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
11801
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
11809
11802
  @supports (-moz-appearance: none) {
11810
11803
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
11811
11804
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -11859,7 +11852,7 @@ html[data-ui-input-modality="touch"]
11859
11852
 
11860
11853
  /* A component that sets its display still honours the hidden attribute on its root. */
11861
11854
  }
11862
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
11855
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
11863
11856
  @supports (-moz-appearance: none) {
11864
11857
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
11865
11858
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -12335,7 +12328,7 @@ html[data-ui-input-modality="touch"]
12335
12328
 
12336
12329
  /* A component that sets its display still honours the hidden attribute on its root. */
12337
12330
  }
12338
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
12331
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
12339
12332
  @supports (-moz-appearance: none) {
12340
12333
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
12341
12334
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -12433,7 +12426,7 @@ html[data-ui-input-modality="touch"]
12433
12426
 
12434
12427
  /* A component that sets its display still honours the hidden attribute on its root. */
12435
12428
  }
12436
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
12429
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
12437
12430
  @supports (-moz-appearance: none) {
12438
12431
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
12439
12432
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -12597,7 +12590,7 @@ html[data-ui-input-modality="touch"]
12597
12590
  @media (prefers-reduced-motion: reduce) {
12598
12591
  }
12599
12592
  }
12600
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
12593
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
12601
12594
  @supports (-moz-appearance: none) {
12602
12595
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
12603
12596
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -12792,7 +12785,7 @@ html[data-ui-input-modality="touch"]
12792
12785
 
12793
12786
  /* A component that sets its display still honours the hidden attribute on its root. */
12794
12787
  }
12795
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
12788
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
12796
12789
  @supports (-moz-appearance: none) {
12797
12790
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
12798
12791
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -12925,7 +12918,7 @@ html[data-ui-input-modality="touch"]
12925
12918
  @media (prefers-reduced-motion: reduce) {
12926
12919
  }
12927
12920
  }
12928
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
12921
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
12929
12922
  @supports (-moz-appearance: none) {
12930
12923
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
12931
12924
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -13012,7 +13005,7 @@ html[data-ui-input-modality="touch"]
13012
13005
 
13013
13006
  /* A component that sets its display still honours the hidden attribute on its root. */
13014
13007
  }
13015
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
13008
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
13016
13009
  @supports (-moz-appearance: none) {
13017
13010
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
13018
13011
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -13166,7 +13159,7 @@ html[data-ui-input-modality="touch"]
13166
13159
 
13167
13160
  /* A component that sets its display still honours the hidden attribute on its root. */
13168
13161
  }
13169
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
13162
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
13170
13163
  @supports (-moz-appearance: none) {
13171
13164
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
13172
13165
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -13411,7 +13404,7 @@ html[data-ui-input-modality="touch"]
13411
13404
  @media (prefers-reduced-motion: reduce) {
13412
13405
  }
13413
13406
  }
13414
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
13407
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
13415
13408
  @supports (-moz-appearance: none) {
13416
13409
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
13417
13410
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -13632,7 +13625,7 @@ html[data-ui-input-modality="touch"]
13632
13625
 
13633
13626
  /* A component that sets its display still honours the hidden attribute on its root. */
13634
13627
  }
13635
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
13628
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
13636
13629
  @supports (-moz-appearance: none) {
13637
13630
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
13638
13631
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -13856,7 +13849,7 @@ html[data-ui-input-modality="touch"]
13856
13849
 
13857
13850
  /* A component that sets its display still honours the hidden attribute on its root. */
13858
13851
  }
13859
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
13852
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
13860
13853
  @supports (-moz-appearance: none) {
13861
13854
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
13862
13855
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -14067,7 +14060,7 @@ html[data-ui-input-modality="touch"]
14067
14060
 
14068
14061
  /* A component that sets its display still honours the hidden attribute on its root. */
14069
14062
  }
14070
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
14063
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
14071
14064
  @supports (-moz-appearance: none) {
14072
14065
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
14073
14066
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -14122,7 +14115,7 @@ html[data-ui-input-modality="touch"]
14122
14115
 
14123
14116
  /* The root is the hr, so the rules name :host; a bare hr matches only a descendant. */
14124
14117
  }
14125
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
14118
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
14126
14119
  @supports (-moz-appearance: none) {
14127
14120
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
14128
14121
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
@@ -14302,7 +14295,7 @@ html[data-ui-input-modality="touch"]
14302
14295
 
14303
14296
  /* A component that sets its display still honours the hidden attribute on its root. */
14304
14297
  }
14305
- /* Generated by HTML Next 1.0.0-alpha.57. Do not edit. */
14298
+ /* Generated by HTML Next 1.0.0-alpha.58. Do not edit. */
14306
14299
  @supports (-moz-appearance: none) {
14307
14300
  :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
14308
14301
  :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }