@threadlabs/looma 0.28.5 → 0.28.7

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 (453) hide show
  1. package/components/ui-editor-block-actions/ui-editor-block-actions.html +20 -0
  2. package/components/ui-editor-block-actions/ui-editor-block-actions.js +14 -0
  3. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +7 -6
  4. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js +2 -1
  5. package/components/ui-editor-link-card/ui-editor-link-card.html +57 -0
  6. package/components/ui-editor-link-card/ui-editor-link-card.js +27 -0
  7. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  8. package/dist/index.js +36 -34
  9. package/package.json +3 -2
  10. package/styles/ui-action-bar.css +13 -6
  11. package/styles/ui-affordance-scope.css +12 -5
  12. package/styles/ui-avatar-group.css +17 -10
  13. package/styles/ui-avatar.css +23 -16
  14. package/styles/ui-badge.css +78 -71
  15. package/styles/ui-breadcrumb-item.css +12 -5
  16. package/styles/ui-breadcrumbs.css +10 -3
  17. package/styles/ui-button.css +79 -72
  18. package/styles/ui-callout.css +29 -22
  19. package/styles/ui-card.css +25 -18
  20. package/styles/ui-checkbox.css +45 -37
  21. package/styles/ui-cluster.css +34 -27
  22. package/styles/ui-combobox.css +46 -39
  23. package/styles/ui-container.css +20 -13
  24. package/styles/ui-context-menu.css +17 -10
  25. package/styles/ui-cover.css +12 -5
  26. package/styles/ui-description-item.css +10 -3
  27. package/styles/ui-description-list.css +20 -13
  28. package/styles/ui-dialog.css +44 -35
  29. package/styles/ui-disclosure.css +32 -25
  30. package/styles/ui-editable.css +15 -8
  31. package/styles/ui-editor-block-actions.css +1 -0
  32. package/styles/ui-editor-image-toolbar.css +1 -1
  33. package/styles/ui-editor-insert-table-grid.css +11 -4
  34. package/styles/ui-editor-link-card.css +1 -0
  35. package/styles/ui-editor-mention-menu-item.css +17 -8
  36. package/styles/ui-editor-mention-menu.css +14 -7
  37. package/styles/ui-editor-slash-menu-group.css +10 -3
  38. package/styles/ui-editor-slash-menu-item.css +15 -8
  39. package/styles/ui-editor-slash-menu.css +15 -8
  40. package/styles/ui-editor-surface.css +10 -3
  41. package/styles/ui-editor-table-context-menu.css +17 -10
  42. package/styles/ui-editor-table-overlay.css +17 -10
  43. package/styles/ui-editor-table-toolbar.css +22 -15
  44. package/styles/ui-editor-toolbar.css +18 -11
  45. package/styles/ui-floating-action-button.css +21 -14
  46. package/styles/ui-form-field.css +20 -13
  47. package/styles/ui-grid.css +21 -14
  48. package/styles/ui-icon-button.css +80 -73
  49. package/styles/ui-icon.css +14 -7
  50. package/styles/ui-image.css +25 -18
  51. package/styles/ui-input-group.css +34 -27
  52. package/styles/ui-input.css +42 -35
  53. package/styles/ui-list-item.css +33 -26
  54. package/styles/ui-list.css +22 -15
  55. package/styles/ui-listbox.css +22 -14
  56. package/styles/ui-menu-group.css +10 -3
  57. package/styles/ui-menu-item.css +29 -22
  58. package/styles/ui-menu.css +25 -18
  59. package/styles/ui-meter.css +36 -29
  60. package/styles/ui-nav-item.css +26 -19
  61. package/styles/ui-page-header.css +12 -5
  62. package/styles/ui-popover.css +27 -20
  63. package/styles/ui-radio-group.css +14 -6
  64. package/styles/ui-radio.css +24 -17
  65. package/styles/ui-reel.css +28 -21
  66. package/styles/ui-scroll-area.css +22 -15
  67. package/styles/ui-search-result-row.css +28 -21
  68. package/styles/ui-search-shell.css +24 -17
  69. package/styles/ui-section.css +14 -7
  70. package/styles/ui-select.css +33 -26
  71. package/styles/ui-separator.css +17 -10
  72. package/styles/ui-sidebar.css +35 -28
  73. package/styles/ui-spinner.css +32 -23
  74. package/styles/ui-stack.css +29 -21
  75. package/styles/ui-status-message.css +14 -7
  76. package/styles/ui-switch.css +29 -22
  77. package/styles/ui-switcher.css +27 -20
  78. package/styles/ui-table.css +14 -7
  79. package/styles/ui-tabs.css +24 -17
  80. package/styles/ui-text.css +35 -28
  81. package/styles/ui-textarea.css +37 -30
  82. package/styles/ui-toast-region.css +74 -63
  83. package/styles/ui-toast.css +21 -14
  84. package/styles/ui-tooltip.css +38 -31
  85. package/styles/ui-top-bar.css +19 -12
  86. package/styles/ui-tree-item.css +79 -71
  87. package/styles/ui-tree.css +18 -11
  88. package/vanilla/UiActionBar.d.ts +1 -1
  89. package/vanilla/UiActionBar.js +1 -1
  90. package/vanilla/UiAffordanceScope.d.ts +1 -1
  91. package/vanilla/UiAffordanceScope.js +1 -1
  92. package/vanilla/UiAvatar.d.ts +1 -1
  93. package/vanilla/UiAvatar.js +1 -1
  94. package/vanilla/UiAvatarGroup.d.ts +1 -1
  95. package/vanilla/UiAvatarGroup.js +1 -1
  96. package/vanilla/UiBadge.d.ts +1 -1
  97. package/vanilla/UiBadge.js +1 -1
  98. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  99. package/vanilla/UiBreadcrumbItem.js +1 -1
  100. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  101. package/vanilla/UiBreadcrumbs.js +1 -1
  102. package/vanilla/UiButton.d.ts +1 -1
  103. package/vanilla/UiButton.js +19 -57
  104. package/vanilla/UiCallout.d.ts +1 -1
  105. package/vanilla/UiCallout.js +25 -73
  106. package/vanilla/UiCard.d.ts +1 -1
  107. package/vanilla/UiCard.js +1 -1
  108. package/vanilla/UiCheckbox.d.ts +1 -1
  109. package/vanilla/UiCheckbox.js +1 -1
  110. package/vanilla/UiCluster.d.ts +1 -1
  111. package/vanilla/UiCluster.js +1 -1
  112. package/vanilla/UiCombobox.d.ts +1 -1
  113. package/vanilla/UiCombobox.js +60 -166
  114. package/vanilla/UiContainer.d.ts +1 -1
  115. package/vanilla/UiContainer.js +1 -1
  116. package/vanilla/UiContextMenu.d.ts +1 -1
  117. package/vanilla/UiContextMenu.js +1 -1
  118. package/vanilla/UiCover.d.ts +1 -1
  119. package/vanilla/UiCover.js +1 -1
  120. package/vanilla/UiDescriptionItem.d.ts +1 -1
  121. package/vanilla/UiDescriptionItem.js +1 -1
  122. package/vanilla/UiDescriptionList.d.ts +1 -1
  123. package/vanilla/UiDescriptionList.js +1 -1
  124. package/vanilla/UiDialog.d.ts +1 -1
  125. package/vanilla/UiDialog.js +4 -10
  126. package/vanilla/UiDisclosure.d.ts +1 -1
  127. package/vanilla/UiDisclosure.js +1 -1
  128. package/vanilla/UiEditable.d.ts +1 -1
  129. package/vanilla/UiEditable.js +7 -19
  130. package/vanilla/UiEditorBlockActions.d.ts +16 -0
  131. package/vanilla/UiEditorBlockActions.js +41 -0
  132. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  133. package/vanilla/UiEditorImageToolbar.js +2 -2
  134. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  135. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  136. package/vanilla/UiEditorLinkCard.d.ts +20 -0
  137. package/vanilla/UiEditorLinkCard.js +153 -0
  138. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  139. package/vanilla/UiEditorMentionMenu.js +17 -37
  140. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  141. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  142. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  143. package/vanilla/UiEditorSlashMenu.js +5 -4
  144. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  145. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  146. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  147. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  148. package/vanilla/UiEditorSurface.d.ts +1 -1
  149. package/vanilla/UiEditorSurface.js +1 -1
  150. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  151. package/vanilla/UiEditorTableContextMenu.js +6 -14
  152. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  153. package/vanilla/UiEditorTableOverlay.js +9 -25
  154. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  155. package/vanilla/UiEditorTableToolbar.js +25 -77
  156. package/vanilla/UiEditorToolbar.d.ts +1 -1
  157. package/vanilla/UiEditorToolbar.js +1 -1
  158. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  159. package/vanilla/UiFloatingActionButton.js +1 -1
  160. package/vanilla/UiFormField.d.ts +1 -1
  161. package/vanilla/UiFormField.js +1 -1
  162. package/vanilla/UiGrid.d.ts +1 -1
  163. package/vanilla/UiGrid.js +1 -1
  164. package/vanilla/UiIcon.d.ts +1 -1
  165. package/vanilla/UiIcon.js +15 -47
  166. package/vanilla/UiIconButton.d.ts +1 -1
  167. package/vanilla/UiIconButton.js +4 -10
  168. package/vanilla/UiImage.d.ts +1 -1
  169. package/vanilla/UiImage.js +1 -1
  170. package/vanilla/UiInput.d.ts +1 -1
  171. package/vanilla/UiInput.js +1 -1
  172. package/vanilla/UiInputGroup.d.ts +1 -1
  173. package/vanilla/UiInputGroup.js +1 -1
  174. package/vanilla/UiList.d.ts +1 -1
  175. package/vanilla/UiList.js +1 -1
  176. package/vanilla/UiListItem.d.ts +1 -1
  177. package/vanilla/UiListItem.js +1 -1
  178. package/vanilla/UiListbox.d.ts +1 -1
  179. package/vanilla/UiListbox.js +4 -10
  180. package/vanilla/UiMenu.d.ts +1 -1
  181. package/vanilla/UiMenu.js +1 -1
  182. package/vanilla/UiMenuGroup.d.ts +1 -1
  183. package/vanilla/UiMenuGroup.js +4 -10
  184. package/vanilla/UiMenuItem.d.ts +1 -1
  185. package/vanilla/UiMenuItem.js +4 -10
  186. package/vanilla/UiMeter.d.ts +1 -1
  187. package/vanilla/UiMeter.js +13 -33
  188. package/vanilla/UiNavItem.d.ts +1 -1
  189. package/vanilla/UiNavItem.js +1 -1
  190. package/vanilla/UiPageHeader.d.ts +1 -1
  191. package/vanilla/UiPageHeader.js +1 -1
  192. package/vanilla/UiPopover.d.ts +1 -1
  193. package/vanilla/UiPopover.js +1 -1
  194. package/vanilla/UiRadio.d.ts +1 -1
  195. package/vanilla/UiRadio.js +1 -1
  196. package/vanilla/UiRadioGroup.d.ts +1 -1
  197. package/vanilla/UiRadioGroup.js +1 -1
  198. package/vanilla/UiReel.d.ts +1 -1
  199. package/vanilla/UiReel.js +1 -1
  200. package/vanilla/UiScrollArea.d.ts +1 -1
  201. package/vanilla/UiScrollArea.js +1 -1
  202. package/vanilla/UiSearchResultRow.d.ts +1 -1
  203. package/vanilla/UiSearchResultRow.js +1 -1
  204. package/vanilla/UiSearchShell.d.ts +1 -1
  205. package/vanilla/UiSearchShell.js +1 -1
  206. package/vanilla/UiSection.d.ts +1 -1
  207. package/vanilla/UiSection.js +1 -1
  208. package/vanilla/UiSelect.d.ts +1 -1
  209. package/vanilla/UiSelect.js +1 -1
  210. package/vanilla/UiSeparator.d.ts +1 -1
  211. package/vanilla/UiSeparator.js +1 -1
  212. package/vanilla/UiSidebar.d.ts +1 -1
  213. package/vanilla/UiSidebar.js +1 -1
  214. package/vanilla/UiSpinner.d.ts +1 -1
  215. package/vanilla/UiSpinner.js +1 -1
  216. package/vanilla/UiStack.d.ts +1 -1
  217. package/vanilla/UiStack.js +1 -1
  218. package/vanilla/UiStatusMessage.d.ts +1 -1
  219. package/vanilla/UiStatusMessage.js +1 -1
  220. package/vanilla/UiSwitch.d.ts +1 -1
  221. package/vanilla/UiSwitch.js +1 -1
  222. package/vanilla/UiSwitcher.d.ts +1 -1
  223. package/vanilla/UiSwitcher.js +1 -1
  224. package/vanilla/UiTable.d.ts +1 -1
  225. package/vanilla/UiTable.js +1 -1
  226. package/vanilla/UiTabs.d.ts +1 -1
  227. package/vanilla/UiTabs.js +1 -1
  228. package/vanilla/UiText.d.ts +1 -1
  229. package/vanilla/UiText.js +1 -1
  230. package/vanilla/UiTextarea.d.ts +1 -1
  231. package/vanilla/UiTextarea.js +1 -1
  232. package/vanilla/UiToast.d.ts +1 -1
  233. package/vanilla/UiToast.js +1 -1
  234. package/vanilla/UiToastRegion.d.ts +1 -1
  235. package/vanilla/UiToastRegion.js +1 -1
  236. package/vanilla/UiTooltip.d.ts +1 -1
  237. package/vanilla/UiTooltip.js +1 -1
  238. package/vanilla/UiTopBar.d.ts +1 -1
  239. package/vanilla/UiTopBar.js +1 -1
  240. package/vanilla/UiTree.d.ts +1 -1
  241. package/vanilla/UiTree.js +1 -1
  242. package/vanilla/UiTreeItem.d.ts +1 -1
  243. package/vanilla/UiTreeItem.js +7 -19
  244. package/vanilla/index.js +2 -0
  245. package/vue/UiActionBar.vue +46 -78
  246. package/vue/UiAffordanceScope.vue +27 -66
  247. package/vue/UiAvatar.d.ts +10 -7
  248. package/vue/UiAvatar.vue +100 -218
  249. package/vue/UiAvatarGroup.d.ts +10 -7
  250. package/vue/UiAvatarGroup.vue +78 -160
  251. package/vue/UiBadge.d.ts +1 -1
  252. package/vue/UiBadge.vue +483 -520
  253. package/vue/UiBreadcrumbItem.vue +52 -123
  254. package/vue/UiBreadcrumbs.vue +27 -70
  255. package/vue/UiButton.d.ts +2 -2
  256. package/vue/UiButton.vue +420 -471
  257. package/vue/UiCallout.vue +131 -175
  258. package/vue/UiCard.d.ts +1 -1
  259. package/vue/UiCard.vue +112 -151
  260. package/vue/UiCheckbox.d.ts +13 -10
  261. package/vue/UiCheckbox.vue +160 -221
  262. package/vue/UiCluster.d.ts +1 -1
  263. package/vue/UiCluster.vue +84 -128
  264. package/vue/UiCombobox.d.ts +71 -68
  265. package/vue/UiCombobox.vue +417 -743
  266. package/vue/UiContainer.vue +43 -87
  267. package/vue/UiContextMenu.d.ts +6 -6
  268. package/vue/UiContextMenu.vue +78 -117
  269. package/vue/UiCover.vue +29 -69
  270. package/vue/UiDescriptionItem.vue +39 -82
  271. package/vue/UiDescriptionList.vue +64 -107
  272. package/vue/UiDialog.d.ts +22 -19
  273. package/vue/UiDialog.vue +193 -246
  274. package/vue/UiDisclosure.d.ts +22 -19
  275. package/vue/UiDisclosure.vue +192 -283
  276. package/vue/UiEditable.d.ts +5 -5
  277. package/vue/UiEditable.vue +124 -207
  278. package/vue/UiEditorBlockActions.d.ts +33 -0
  279. package/vue/UiEditorBlockActions.js +2 -0
  280. package/vue/UiEditorBlockActions.vue +125 -0
  281. package/vue/UiEditorImageToolbar.d.ts +2 -2
  282. package/vue/UiEditorImageToolbar.vue +45 -256
  283. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  284. package/vue/UiEditorInsertTableGrid.vue +98 -266
  285. package/vue/UiEditorLinkCard.d.ts +58 -0
  286. package/vue/UiEditorLinkCard.js +2 -0
  287. package/vue/UiEditorLinkCard.vue +319 -0
  288. package/vue/UiEditorMentionMenu.d.ts +15 -12
  289. package/vue/UiEditorMentionMenu.vue +150 -239
  290. package/vue/UiEditorMentionMenuItem.vue +66 -110
  291. package/vue/UiEditorSlashMenu.d.ts +16 -13
  292. package/vue/UiEditorSlashMenu.vue +172 -253
  293. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  294. package/vue/UiEditorSlashMenuItem.vue +67 -115
  295. package/vue/UiEditorSurface.vue +19 -63
  296. package/vue/UiEditorTableContextMenu.vue +135 -269
  297. package/vue/UiEditorTableOverlay.d.ts +2 -2
  298. package/vue/UiEditorTableOverlay.vue +310 -479
  299. package/vue/UiEditorTableToolbar.d.ts +2 -2
  300. package/vue/UiEditorTableToolbar.vue +182 -357
  301. package/vue/UiEditorToolbar.vue +143 -183
  302. package/vue/UiFloatingActionButton.vue +70 -114
  303. package/vue/UiFormField.d.ts +1 -1
  304. package/vue/UiFormField.vue +76 -117
  305. package/vue/UiGrid.d.ts +1 -1
  306. package/vue/UiGrid.vue +65 -103
  307. package/vue/UiIcon.vue +32 -106
  308. package/vue/UiIconButton.d.ts +2 -2
  309. package/vue/UiIconButton.vue +359 -411
  310. package/vue/UiImage.vue +145 -180
  311. package/vue/UiInput.vue +158 -190
  312. package/vue/UiInputGroup.vue +199 -239
  313. package/vue/UiList.vue +67 -109
  314. package/vue/UiListItem.vue +154 -201
  315. package/vue/UiListbox.d.ts +10 -7
  316. package/vue/UiListbox.vue +86 -260
  317. package/vue/UiMenu.d.ts +11 -11
  318. package/vue/UiMenu.vue +118 -152
  319. package/vue/UiMenuGroup.vue +21 -67
  320. package/vue/UiMenuItem.d.ts +19 -16
  321. package/vue/UiMenuItem.vue +169 -262
  322. package/vue/UiMeter.d.ts +4 -4
  323. package/vue/UiMeter.vue +166 -680
  324. package/vue/UiNavItem.vue +140 -213
  325. package/vue/UiPageHeader.vue +81 -127
  326. package/vue/UiPopover.d.ts +7 -7
  327. package/vue/UiPopover.vue +90 -129
  328. package/vue/UiRadio.d.ts +12 -9
  329. package/vue/UiRadio.vue +91 -149
  330. package/vue/UiRadioGroup.d.ts +2 -2
  331. package/vue/UiRadioGroup.vue +47 -85
  332. package/vue/UiReel.vue +89 -130
  333. package/vue/UiScrollArea.d.ts +1 -1
  334. package/vue/UiScrollArea.vue +78 -119
  335. package/vue/UiSearchResultRow.vue +96 -149
  336. package/vue/UiSearchShell.d.ts +2 -2
  337. package/vue/UiSearchShell.vue +159 -196
  338. package/vue/UiSection.vue +105 -149
  339. package/vue/UiSelect.d.ts +1 -1
  340. package/vue/UiSelect.vue +114 -146
  341. package/vue/UiSeparator.vue +42 -85
  342. package/vue/UiSidebar.d.ts +10 -7
  343. package/vue/UiSidebar.vue +193 -260
  344. package/vue/UiSpinner.vue +54 -130
  345. package/vue/UiStack.vue +66 -107
  346. package/vue/UiStatusMessage.d.ts +1 -1
  347. package/vue/UiStatusMessage.vue +61 -135
  348. package/vue/UiSwitch.d.ts +12 -9
  349. package/vue/UiSwitch.vue +136 -194
  350. package/vue/UiSwitcher.vue +69 -107
  351. package/vue/UiTable.vue +121 -156
  352. package/vue/UiTabs.d.ts +1 -1
  353. package/vue/UiTabs.vue +139 -267
  354. package/vue/UiText.d.ts +4 -4
  355. package/vue/UiText.vue +145 -184
  356. package/vue/UiTextarea.d.ts +2 -2
  357. package/vue/UiTextarea.vue +162 -194
  358. package/vue/UiToast.vue +70 -118
  359. package/vue/UiToastRegion.vue +157 -276
  360. package/vue/UiTooltip.d.ts +21 -18
  361. package/vue/UiTooltip.vue +174 -234
  362. package/vue/UiTopBar.vue +48 -76
  363. package/vue/UiTree.vue +46 -79
  364. package/vue/UiTreeItem.d.ts +18 -15
  365. package/vue/UiTreeItem.vue +526 -668
  366. package/vue/chunks/UiActionBar.js +5 -17
  367. package/vue/chunks/UiAffordanceScope.js +7 -26
  368. package/vue/chunks/UiAvatar.js +20 -74
  369. package/vue/chunks/UiAvatarGroup.js +14 -56
  370. package/vue/chunks/UiBadge.js +10 -28
  371. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  372. package/vue/chunks/UiBreadcrumbs.js +7 -25
  373. package/vue/chunks/UiButton.js +80 -103
  374. package/vue/chunks/UiCallout.js +9 -27
  375. package/vue/chunks/UiCard.js +33 -53
  376. package/vue/chunks/UiCheckbox.js +14 -46
  377. package/vue/chunks/UiCluster.js +13 -31
  378. package/vue/chunks/UiCombobox.js +99 -237
  379. package/vue/chunks/UiContainer.js +9 -27
  380. package/vue/chunks/UiContextMenu.js +7 -26
  381. package/vue/chunks/UiCover.js +7 -25
  382. package/vue/chunks/UiDescriptionItem.js +6 -24
  383. package/vue/chunks/UiDescriptionList.js +9 -27
  384. package/vue/chunks/UiDialog.js +18 -47
  385. package/vue/chunks/UiDisclosure.js +19 -66
  386. package/vue/chunks/UiEditable.js +18 -60
  387. package/vue/chunks/UiEditorBlockActions.js +127 -0
  388. package/vue/chunks/UiEditorImageToolbar.js +40 -127
  389. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  390. package/vue/chunks/UiEditorLinkCard.js +356 -0
  391. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  392. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  393. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  394. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  395. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  396. package/vue/chunks/UiEditorSurface.js +7 -25
  397. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  398. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  399. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  400. package/vue/chunks/UiEditorToolbar.js +7 -26
  401. package/vue/chunks/UiFloatingActionButton.js +10 -28
  402. package/vue/chunks/UiFormField.js +8 -27
  403. package/vue/chunks/UiGrid.js +10 -28
  404. package/vue/chunks/UiIcon.js +21 -74
  405. package/vue/chunks/UiIconButton.js +18 -50
  406. package/vue/chunks/UiImage.js +14 -33
  407. package/vue/chunks/UiInput.js +12 -31
  408. package/vue/chunks/UiInputGroup.js +10 -29
  409. package/vue/chunks/UiList.js +17 -37
  410. package/vue/chunks/UiListItem.js +12 -30
  411. package/vue/chunks/UiListbox.js +22 -124
  412. package/vue/chunks/UiMenu.js +13 -32
  413. package/vue/chunks/UiMenuGroup.js +8 -26
  414. package/vue/chunks/UiMenuItem.js +35 -80
  415. package/vue/chunks/UiMeter.js +17 -351
  416. package/vue/chunks/UiNavItem.js +23 -57
  417. package/vue/chunks/UiPageHeader.js +7 -25
  418. package/vue/chunks/UiPopover.js +9 -28
  419. package/vue/chunks/UiRadio.js +11 -43
  420. package/vue/chunks/UiRadioGroup.js +13 -32
  421. package/vue/chunks/UiReel.js +10 -28
  422. package/vue/chunks/UiScrollArea.js +10 -29
  423. package/vue/chunks/UiSearchResultRow.js +10 -28
  424. package/vue/chunks/UiSearchShell.js +9 -28
  425. package/vue/chunks/UiSection.js +9 -27
  426. package/vue/chunks/UiSelect.js +10 -29
  427. package/vue/chunks/UiSeparator.js +10 -28
  428. package/vue/chunks/UiSidebar.js +15 -47
  429. package/vue/chunks/UiSpinner.js +8 -44
  430. package/vue/chunks/UiStack.js +12 -30
  431. package/vue/chunks/UiStatusMessage.js +10 -42
  432. package/vue/chunks/UiSwitch.js +11 -43
  433. package/vue/chunks/UiSwitcher.js +9 -28
  434. package/vue/chunks/UiTable.js +7 -26
  435. package/vue/chunks/UiTabs.js +15 -91
  436. package/vue/chunks/UiText.js +148 -168
  437. package/vue/chunks/UiTextarea.js +16 -35
  438. package/vue/chunks/UiToast.js +13 -37
  439. package/vue/chunks/UiToastRegion.js +16 -88
  440. package/vue/chunks/UiTooltip.js +14 -46
  441. package/vue/chunks/UiTopBar.js +5 -17
  442. package/vue/chunks/UiTree.js +13 -32
  443. package/vue/chunks/UiTreeItem.js +34 -90
  444. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  445. package/vue/chunks/control.js +3 -0
  446. package/vue/chunks/props.js +1 -1
  447. package/vue/components.css +7689 -7617
  448. package/vue/editor/index.js +30 -95
  449. package/vue/editor/primitives.d.ts +8 -2
  450. package/vue/host.ts +999 -14
  451. package/vue/index.d.ts +2 -0
  452. package/vue/index.js +5 -3
  453. package/vue/chunks/host.js +0 -443
@@ -21,17 +21,17 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
21
21
  default: string;
22
22
  };
23
23
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
- open: (event: CustomEvent<{
24
+ close: (event: CustomEvent<{
25
25
  readonly open: boolean;
26
26
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
27
27
  readonly trigger: "keyboard" | "pointer" | "programmatic";
28
28
  }>) => any;
29
- "update:open": (value: boolean) => any;
30
- close: (event: CustomEvent<{
29
+ open: (event: CustomEvent<{
31
30
  readonly open: boolean;
32
31
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
33
32
  readonly trigger: "keyboard" | "pointer" | "programmatic";
34
33
  }>) => any;
34
+ "update:open": (value: boolean) => any;
35
35
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
36
36
  for: {
37
37
  type: PropType<string | null>;
@@ -50,20 +50,20 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
50
50
  default: string;
51
51
  };
52
52
  }>> & Readonly<{
53
- onOpen?: ((event: CustomEvent<{
53
+ onClose?: ((event: CustomEvent<{
54
54
  readonly open: boolean;
55
55
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
56
56
  readonly trigger: "keyboard" | "pointer" | "programmatic";
57
57
  }>) => any) | undefined;
58
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
59
- onClose?: ((event: CustomEvent<{
58
+ onOpen?: ((event: CustomEvent<{
60
59
  readonly open: boolean;
61
60
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
62
61
  readonly trigger: "keyboard" | "pointer" | "programmatic";
63
62
  }>) => any) | undefined;
63
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
64
64
  }>, {
65
- open: boolean | null;
66
65
  size: "sm" | "md" | "lg" | "content" | null;
66
+ open: boolean | null;
67
67
  for: string | null;
68
68
  placement: "left" | "right" | "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | null;
69
69
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
package/vue/UiPopover.vue CHANGED
@@ -1,8 +1,14 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
- import { createDispatch, useComponentHost } from './host'
5
+ import {
6
+ checkHydratedRoot,
7
+ createDispatch,
8
+ nativeAttrs,
9
+ useComponentHost,
10
+ useReflectedProp,
11
+ } from './host'
6
12
  import { acceptsControllerWrite } from './props'
7
13
  import { checkedProp, propValidityState, vPropValidity } from './props'
8
14
 
@@ -142,38 +148,7 @@ void checkedProps.value
142
148
  watchSyncEffect(() => {
143
149
  void checkedProps.value
144
150
  })
145
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
146
- const names = Object.keys(attrs)
147
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
148
- return Object.fromEntries(names.map((name) => [
149
- Object.hasOwn(Object.prototype, name)
150
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
151
- : name,
152
- attrs[name],
153
- ]))
154
- }
155
- const componentInstance = getCurrentInstance()
156
- function reflectedProp(
157
- name: string,
158
- kebab: string,
159
- value: unknown,
160
- fallback: string | undefined,
161
- bound: boolean,
162
- separator?: string,
163
- ): string | undefined {
164
- const incoming = componentInstance?.vnode.props
165
- if (
166
- !bound
167
- && (incoming === null || incoming === undefined
168
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
169
- ) return fallback
170
- if (value === null || value === undefined) return undefined
171
- return Array.isArray(value) && separator !== undefined
172
- ? value.join(separator)
173
- : typeof value === 'object'
174
- ? JSON.stringify(value)
175
- : String(value)
176
- }
151
+ const reflectedProp = useReflectedProp()
177
152
  const hydrationInstance = getCurrentInstance()
178
153
  const emit = defineEmits<{
179
154
  'update:open': [value: boolean]
@@ -200,22 +175,7 @@ const emit = defineEmits<{
200
175
  const root = ref<HTMLElement | null>(null)
201
176
  const internalOpen = ref(false)
202
177
  provide('html-next:ui-popover:internalOpen', internalOpen)
203
- const hydrationNode = hydrationInstance?.vnode.el
204
- if (
205
- typeof window !== 'undefined' && hydrationNode != null
206
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('span'))
207
- ) {
208
- throw Object.assign(
209
- new Error('HR005: Server markup for <ui-popover> has an incompatible root.'),
210
- {
211
- name: 'HtmlDiagnosticError',
212
- diagnostic: Object.freeze({
213
- code: 'HR005',
214
- message: 'Server markup for <ui-popover> has an incompatible root.',
215
- }),
216
- },
217
- )
218
- }
178
+ checkHydratedRoot('span', 'ui-popover')
219
179
 
220
180
  /** The values the styles' :host-state() rules test. */
221
181
  const hostState = computed(() =>
@@ -276,7 +236,7 @@ useComponentHost(() => import('../components/ui-popover/ui-popover.js'), {
276
236
 
277
237
  <template>
278
238
  <span
279
- data-component="ui-popover"
239
+ class="ui-popover"
280
240
  v-bind="nativeAttrs($attrs)"
281
241
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
282
242
  :data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
@@ -318,93 +278,94 @@ useComponentHost(() => import('../components/ui-popover/ui-popover.js'), {
318
278
  syntax: "*";
319
279
  inherits: false;
320
280
  }
281
+ @scope (.ui-popover) {
282
+ :scope:where(:scope) {
283
+ --_ui-popover-surface: var(--ui-popover-surface);
284
+ --_ui-popover-border: var(--ui-popover-border);
285
+ --_ui-popover-radius: var(--ui-popover-radius);
286
+ --_ui-popover-shadow: var(--ui-popover-shadow);
287
+ --_ui-popover-padding: var(--ui-popover-padding);
288
+ box-sizing: border-box;
289
+ max-inline-size: min(
290
+ 20rem,
291
+ calc(100vw - var(--ui-popover-viewport-gap, var(--ui-space-2)) * 2)
292
+ );
293
+ max-block-size: calc(100dvh - var(--ui-popover-viewport-gap, var(--ui-space-2)) * 2);
294
+ overflow: visible;
295
+ padding: 0;
296
+ border: 0;
297
+ outline: 0;
298
+ border-radius: 0;
299
+ background: transparent;
300
+ box-shadow: none;
301
+ }
321
302
 
322
- [data-component~="ui-popover"] {
323
- --_ui-popover-surface: var(--ui-popover-surface);
324
- --_ui-popover-border: var(--ui-popover-border);
325
- --_ui-popover-radius: var(--ui-popover-radius);
326
- --_ui-popover-shadow: var(--ui-popover-shadow);
327
- --_ui-popover-padding: var(--ui-popover-padding);
328
- box-sizing: border-box;
329
- max-inline-size: min(
330
- 20rem,
331
- calc(100vw - var(--ui-popover-viewport-gap, var(--ui-space-2)) * 2)
332
- );
333
- max-block-size: calc(100dvh - var(--ui-popover-viewport-gap, var(--ui-space-2)) * 2);
334
- overflow: visible;
335
- padding: 0;
336
- border: 0;
337
- outline: 0;
338
- border-radius: 0;
339
- background: transparent;
340
- box-shadow: none;
341
- }
342
-
343
- .surface {
344
- box-sizing: border-box;
345
- max-inline-size: inherit;
346
- max-block-size: inherit;
347
- overflow: auto;
348
- padding: var(--_ui-popover-padding, var(--ui-space-3));
349
- background: var(--_ui-popover-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
350
- border: var(--ui-border-width) solid
351
- var(--_ui-popover-border, var(--ui-overlay-border, var(--ui-border-strong)));
352
- border-radius: var(--_ui-popover-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
353
- box-shadow: var(
354
- --_ui-popover-shadow,
355
- var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
356
- );
357
- }
358
-
359
- [data-component~="ui-popover"]:not([data-component~="ui-popover"][data-ui-popover-state~="internalOpen"]) {
360
- display: none;
361
- }
362
-
363
- [data-component~="ui-popover"][popover] {
364
- position: fixed;
365
- inset: auto;
366
- margin: 0;
367
- opacity: 0;
368
- transform: translateY(-4px) scale(0.99);
369
- transition:
370
- opacity var(--ui-motion-fast) var(--ui-motion-ease),
371
- transform var(--ui-motion-fast) var(--ui-motion-ease),
372
- display var(--ui-motion-fast) allow-discrete,
373
- overlay var(--ui-motion-fast) allow-discrete;
374
- }
303
+ .surface {
304
+ box-sizing: border-box;
305
+ max-inline-size: inherit;
306
+ max-block-size: inherit;
307
+ overflow: auto;
308
+ padding: var(--_ui-popover-padding, var(--ui-space-3));
309
+ background: var(--_ui-popover-surface, var(--ui-overlay-surface, var(--ui-surface-elevated)));
310
+ border: var(--ui-border-width) solid
311
+ var(--_ui-popover-border, var(--ui-overlay-border, var(--ui-border-strong)));
312
+ border-radius: var(--_ui-popover-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
313
+ box-shadow: var(
314
+ --_ui-popover-shadow,
315
+ var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
316
+ );
317
+ }
375
318
 
376
- [data-component~="ui-popover"][popover]:popover-open {
377
- opacity: 1;
378
- transform: translateY(0) scale(1);
379
- }
319
+ :scope:where(:scope):is(:not(:scope[data-ui-popover-state~="internalOpen"])) {
320
+ display: none;
321
+ }
380
322
 
381
- @starting-style {
382
- [data-component~="ui-popover"][popover]:popover-open {
323
+ :scope:where(:scope):is([popover]) {
324
+ position: fixed;
325
+ inset: auto;
326
+ margin: 0;
383
327
  opacity: 0;
384
328
  transform: translateY(-4px) scale(0.99);
329
+ transition:
330
+ opacity var(--ui-motion-fast) var(--ui-motion-ease),
331
+ transform var(--ui-motion-fast) var(--ui-motion-ease),
332
+ display var(--ui-motion-fast) allow-discrete,
333
+ overlay var(--ui-motion-fast) allow-discrete;
385
334
  }
386
- }
387
335
 
388
- [data-component~="ui-popover"][data-ui-popover-state~="size=sm"] {
389
- inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
390
- max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
391
- }
392
- [data-component~="ui-popover"][data-ui-popover-state~="size=md"] {
393
- inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
394
- max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
395
- }
396
- [data-component~="ui-popover"][data-ui-popover-state~="size=lg"] {
397
- inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
398
- max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
399
- }
336
+ :scope:where(:scope):is([popover]:popover-open) {
337
+ opacity: 1;
338
+ transform: translateY(0) scale(1);
339
+ }
400
340
 
401
- [data-component~="ui-popover"][hidden] {
402
- display: none;
403
- }
341
+ @starting-style {
342
+ :scope:where(:scope):is([popover]:popover-open) {
343
+ opacity: 0;
344
+ transform: translateY(-4px) scale(0.99);
345
+ }
346
+ }
347
+
348
+ :scope:where(:scope):is([data-ui-popover-state~="size=sm"]) {
349
+ inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
350
+ max-inline-size: min(22rem, calc(100vw - var(--ui-space-2) * 2));
351
+ }
352
+ :scope:where(:scope):is([data-ui-popover-state~="size=md"]) {
353
+ inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
354
+ max-inline-size: min(28rem, calc(100vw - var(--ui-space-2) * 2));
355
+ }
356
+ :scope:where(:scope):is([data-ui-popover-state~="size=lg"]) {
357
+ inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
358
+ max-inline-size: min(36rem, calc(100vw - var(--ui-space-2) * 2));
359
+ }
360
+
361
+ :scope:where(:scope):is([hidden]) {
362
+ display: none;
363
+ }
404
364
 
405
- @media (prefers-reduced-motion: reduce) {
406
- [data-component~="ui-popover"][popover] {
407
- transition: none;
365
+ @media (prefers-reduced-motion: reduce) {
366
+ :scope:where(:scope):is([popover]) {
367
+ transition: none;
368
+ }
408
369
  }
409
370
  }
410
371
  </style>
package/vue/UiRadio.d.ts CHANGED
@@ -1,7 +1,11 @@
1
1
  import type { PropType } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ declare var __VLS_1: {}, __VLS_3: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ } & {
6
+ description?: (props: typeof __VLS_3) => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
9
  checked: {
6
10
  type: PropType<boolean | null>;
7
11
  default: boolean;
@@ -70,15 +74,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import
70
74
  }>, {
71
75
  name: string | null;
72
76
  value: string | null;
77
+ required: boolean | null;
73
78
  size: "sm" | "md" | "lg" | null;
74
79
  disabled: boolean | null;
75
80
  checked: boolean | null;
76
- required: boolean | null;
77
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
78
- default?: (props: {}) => any;
79
- } & {
80
- description?: (props: {}) => any;
81
- }>;
81
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
82
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
83
+ declare const _default: typeof __VLS_export;
84
+ export default _default;
82
85
  type __VLS_WithSlots<T, S> = T & {
83
86
  new (): {
84
87
  $slots: S;
package/vue/UiRadio.vue CHANGED
@@ -1,20 +1,15 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
2
- <script lang="ts">
3
- const htmlNextAuthoredCheck2Reported = new Set<string>()
4
- function htmlNextAuthoredCheck2(accepted: boolean, location: string, message: string): boolean {
5
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
6
- htmlNextAuthoredCheck2Reported.add(location)
7
- console.warn(message)
8
- }
9
- return accepted
10
- }
11
- </script>
12
-
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
13
2
  <script setup lang="ts">
14
3
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
15
4
  import type { PropType } from 'vue'
16
5
  import { vBindControl } from './control'
17
- import { createDispatch, useComponentHost } from './host'
6
+ import {
7
+ checkHydratedRoot,
8
+ createDispatch,
9
+ nativeAttrs,
10
+ useComponentHost,
11
+ useReflectedProp,
12
+ } from './host'
18
13
  import { acceptsControllerWrite } from './props'
19
14
  import { checkedProp, propValidityState, vPropValidity } from './props'
20
15
 
@@ -137,38 +132,7 @@ void checkedProps.value
137
132
  watchSyncEffect(() => {
138
133
  void checkedProps.value
139
134
  })
140
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
141
- const names = Object.keys(attrs)
142
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
143
- return Object.fromEntries(names.map((name) => [
144
- Object.hasOwn(Object.prototype, name)
145
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
146
- : name,
147
- attrs[name],
148
- ]))
149
- }
150
- const componentInstance = getCurrentInstance()
151
- function reflectedProp(
152
- name: string,
153
- kebab: string,
154
- value: unknown,
155
- fallback: string | undefined,
156
- bound: boolean,
157
- separator?: string,
158
- ): string | undefined {
159
- const incoming = componentInstance?.vnode.props
160
- if (
161
- !bound
162
- && (incoming === null || incoming === undefined
163
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
164
- ) return fallback
165
- if (value === null || value === undefined) return undefined
166
- return Array.isArray(value) && separator !== undefined
167
- ? value.join(separator)
168
- : typeof value === 'object'
169
- ? JSON.stringify(value)
170
- : String(value)
171
- }
135
+ const reflectedProp = useReflectedProp()
172
136
  const hydrationInstance = getCurrentInstance()
173
137
  const emit = defineEmits<{
174
138
  'update:checked': [value: boolean]
@@ -188,31 +152,8 @@ const root = ref<HTMLElement | null>(null)
188
152
  const inputElement = useTemplateRef<HTMLElement>('inputElement')
189
153
  const descriptionElement = useTemplateRef<HTMLElement>('descriptionElement')
190
154
  const internalChecked = ref(false)
191
- let guardedPrevious: any
192
- const guarded = computed(() => {
193
- if (
194
- !(htmlNextAuthoredCheck2(
195
- internalChecked.value == null || typeof internalChecked.value === 'boolean',
196
- '$internalChecked:internalChecked',
197
- './components/ui-radio/ui-radio.html: HR007: Reference internalChecked does not satisfy its declared type.',
198
- ))
199
- ) return guardedPrevious
200
- return guardedPrevious = internalChecked.value
201
- })
202
155
  provide('html-next:ui-radio:internalChecked', internalChecked)
203
- const hydrationNode = hydrationInstance?.vnode.el
204
- if (
205
- typeof window !== 'undefined' && hydrationNode != null
206
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('label'))
207
- ) {
208
- throw Object.assign(new Error('HR005: Server markup for <ui-radio> has an incompatible root.'), {
209
- name: 'HtmlDiagnosticError',
210
- diagnostic: Object.freeze({
211
- code: 'HR005',
212
- message: 'Server markup for <ui-radio> has an incompatible root.',
213
- }),
214
- })
215
- }
156
+ checkHydratedRoot('label', 'ui-radio')
216
157
 
217
158
  /** The values the styles' :host-state() rules test. */
218
159
  const hostState = computed(() =>
@@ -270,7 +211,7 @@ useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
270
211
 
271
212
  <template>
272
213
  <label
273
- data-component="ui-radio"
214
+ class="ui-radio"
274
215
  v-bind="nativeAttrs($attrs)"
275
216
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
276
217
  :data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
@@ -313,99 +254,100 @@ useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
313
254
  inherits: false;
314
255
  }
315
256
 
316
- [data-component~="ui-radio"] {
317
- /* Hooks do not inherit, so the parts below read them from the root. */
318
- --_ui-radio-size: var(--ui-radio-size);
257
+ /* The label, and under it an optional line saying what the choice means. */
319
258
 
320
- display: inline-flex;
321
- align-items: flex-start;
322
- gap: var(--ui-radio-gap, var(--ui-space-2));
323
- max-inline-size: 100%;
324
- color: var(--ui-text-primary);
325
- cursor: pointer;
326
- }
259
+ /* A sized choice keeps its box and aligns instead: the label takes that size's field type size,
260
+ and the first line centres in that control height, so the label shares a row's baseline.
261
+ Multi-line labels and descriptions still grow downward from that first line. */
327
262
 
328
- /* The label, and under it an optional line saying what the choice means. */
329
- .text {
330
- display: flex;
331
- flex-direction: column;
332
- gap: var(--ui-space-1);
333
- min-inline-size: 0;
334
- }
263
+ /* A component that sets its display still honours the hidden attribute on its root. */
335
264
 
336
- .label {
337
- min-inline-size: 0;
338
- line-height: var(--ui-line-height-md);
339
- }
265
+ @scope (.ui-radio) {
266
+ :scope:where(:scope) {
267
+ /* Hooks do not inherit, so the parts below read them from the root. */
268
+ --_ui-radio-size: var(--ui-radio-size);
340
269
 
341
- .description {
342
- color: var(--ui-text-secondary);
343
- font-size: var(--ui-font-size-sm);
344
- line-height: var(--ui-line-height);
345
- }
270
+ display: inline-flex;
271
+ align-items: flex-start;
272
+ gap: var(--ui-radio-gap, var(--ui-space-2));
273
+ max-inline-size: 100%;
274
+ color: var(--ui-text-primary);
275
+ cursor: pointer;
276
+ }
277
+ .text {
278
+ display: flex;
279
+ flex-direction: column;
280
+ gap: var(--ui-space-1);
281
+ min-inline-size: 0;
282
+ }
346
283
 
347
- .description:empty {
348
- display: none;
349
- }
284
+ .label {
285
+ min-inline-size: 0;
286
+ line-height: var(--ui-line-height-md);
287
+ }
350
288
 
351
- input {
352
- flex: 0 0 auto;
353
- inline-size: var(--_ui-radio-size, 1.125rem);
354
- block-size: var(--_ui-radio-size, 1.125rem);
355
- margin: calc(0.125em + 1px) 0 0;
356
- accent-color: var(--ui-accent-solid);
357
- cursor: pointer;
358
- }
289
+ .description {
290
+ color: var(--ui-text-secondary);
291
+ font-size: var(--ui-font-size-sm);
292
+ line-height: var(--ui-line-height);
293
+ }
359
294
 
360
- input:focus-visible {
361
- outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
362
- outline-offset: var(--ui-focus-width);
363
- }
295
+ .description:empty {
296
+ display: none;
297
+ }
364
298
 
365
- [data-component~="ui-radio"][data-ui-radio-state~="disabled"] {
366
- color: var(--ui-disabled-text);
367
- cursor: not-allowed;
368
- }
369
- [data-component~="ui-radio"][data-ui-radio-state~="disabled"] .description {
370
- color: var(--ui-disabled-text);
371
- }
372
- [data-component~="ui-radio"][data-ui-radio-state~="disabled"] input {
373
- cursor: not-allowed;
374
- }
299
+ input {
300
+ flex: 0 0 auto;
301
+ inline-size: var(--_ui-radio-size, 1.125rem);
302
+ block-size: var(--_ui-radio-size, 1.125rem);
303
+ margin: calc(0.125em + 1px) 0 0;
304
+ accent-color: var(--ui-accent-solid);
305
+ cursor: pointer;
306
+ }
375
307
 
376
- /* A sized choice keeps its box and aligns instead: the label takes that size's field type size,
377
- and the first line centres in that control height, so the label shares a row's baseline.
378
- Multi-line labels and descriptions still grow downward from that first line. */
379
- [data-component~="ui-radio"][data-ui-radio-state~="size=sm"] {
380
- --_font: var(--ui-font-size-sm);
381
- --_row: var(--ui-control-size-sm);
382
- }
308
+ input:focus-visible {
309
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
310
+ outline-offset: var(--ui-focus-width);
311
+ }
383
312
 
384
- [data-component~="ui-radio"][data-ui-radio-state~="size=lg"] {
385
- --_font: var(--ui-font-size-md);
386
- --_row: var(--ui-control-size-lg);
387
- }
313
+ :scope:where(:scope):is([data-ui-radio-state~="disabled"]) {
314
+ color: var(--ui-disabled-text);
315
+ cursor: not-allowed;
316
+ }
317
+ :scope[data-ui-radio-state~="disabled"] .description {
318
+ color: var(--ui-disabled-text);
319
+ }
320
+ :scope[data-ui-radio-state~="disabled"] input {
321
+ cursor: not-allowed;
322
+ }
323
+ :scope:where(:scope):is([data-ui-radio-state~="size=sm"]) {
324
+ --_font: var(--ui-font-size-sm);
325
+ --_row: var(--ui-control-size-sm);
326
+ }
388
327
 
389
- [data-component~="ui-radio"][data-ui-radio-state~="size=sm"],
390
- [data-component~="ui-radio"][data-ui-radio-state~="size=lg"] {
391
- --_line: calc(var(--_font) * var(--ui-line-height-md));
392
- font-size: var(--_font);
393
- padding-block: calc((var(--_row) - var(--_line)) / 2);
394
- }
328
+ :scope:where(:scope):is([data-ui-radio-state~="size=lg"]) {
329
+ --_font: var(--ui-font-size-md);
330
+ --_row: var(--ui-control-size-lg);
331
+ }
395
332
 
396
- [data-component~="ui-radio"][data-ui-radio-state~="size=sm"] input,
397
- [data-component~="ui-radio"][data-ui-radio-state~="size=lg"] input {
398
- margin-top: calc((var(--_line) - var(--_ui-radio-size, 1.125rem)) / 2 + 1px);
399
- }
333
+ :scope:where(:scope):is([data-ui-radio-state~="size=sm"]),
334
+ :scope:where(:scope):is([data-ui-radio-state~="size=lg"]) {
335
+ --_line: calc(var(--_font) * var(--ui-line-height-md));
336
+ font-size: var(--_font);
337
+ padding-block: calc((var(--_row) - var(--_line)) / 2);
338
+ }
400
339
 
401
- @media (pointer: coarse) {
402
- [data-component~="ui-radio"][data-ui-radio-state~="size=sm"] {
403
- --_row: var(--ui-control-min-block-size);
340
+ :scope[data-ui-radio-state~="size=sm"] input, :scope[data-ui-radio-state~="size=lg"] input {
341
+ margin-top: calc((var(--_line) - var(--_ui-radio-size, 1.125rem)) / 2 + 1px);
404
342
  }
405
- }
406
343
 
407
- /* A component that sets its display still honours the hidden attribute on its root. */
408
- [data-component~="ui-radio"][hidden] {
409
- display: none;
344
+ @media (pointer: coarse) {
345
+ :scope:where(:scope):is([data-ui-radio-state~="size=sm"]) {
346
+ --_row: var(--ui-control-min-block-size);
347
+ }
348
+ }
349
+ :scope:where(:scope):is([hidden]) {
350
+ display: none;
351
+ }
410
352
  }
411
353
  </style>
@@ -86,12 +86,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
86
86
  }>) => any) | undefined;
87
87
  "onUpdate:value"?: ((value: string) => any) | undefined;
88
88
  }>, {
89
- label: string | null;
90
89
  name: string | null;
91
90
  value: string | null;
91
+ required: boolean | null;
92
+ label: string | null;
92
93
  invalid: boolean | null;
93
94
  disabled: boolean | null;
94
- required: boolean | null;
95
95
  orientation: "vertical" | "horizontal" | null;
96
96
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
97
97
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;