@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
@@ -1,7 +1,8 @@
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
- import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
3
+ import { computed, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
+ import { checkHydratedRoot, nativeAttrs, useReflectedProp } from './host'
5
6
  import { checkedProp, vPropValidity } from './props'
6
7
 
7
8
  defineOptions({ inheritAttrs: false })
@@ -67,56 +68,9 @@ void checkedProps.value
67
68
  watchSyncEffect(() => {
68
69
  void checkedProps.value
69
70
  })
70
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
71
- const names = Object.keys(attrs)
72
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
73
- return Object.fromEntries(names.map((name) => [
74
- Object.hasOwn(Object.prototype, name)
75
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
76
- : name,
77
- attrs[name],
78
- ]))
79
- }
80
- const componentInstance = getCurrentInstance()
81
- function reflectedProp(
82
- name: string,
83
- kebab: string,
84
- value: unknown,
85
- fallback: string | undefined,
86
- bound: boolean,
87
- separator?: string,
88
- ): string | undefined {
89
- const incoming = componentInstance?.vnode.props
90
- if (
91
- !bound
92
- && (incoming === null || incoming === undefined
93
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
94
- ) return fallback
95
- if (value === null || value === undefined) return undefined
96
- return Array.isArray(value) && separator !== undefined
97
- ? value.join(separator)
98
- : typeof value === 'object'
99
- ? JSON.stringify(value)
100
- : String(value)
101
- }
102
- const hydrationInstance = getCurrentInstance()
71
+ const reflectedProp = useReflectedProp()
103
72
 
104
- const hydrationNode = hydrationInstance?.vnode.el
105
- if (
106
- typeof window !== 'undefined' && hydrationNode != null
107
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
108
- ) {
109
- throw Object.assign(
110
- new Error('HR005: Server markup for <ui-container> has an incompatible root.'),
111
- {
112
- name: 'HtmlDiagnosticError',
113
- diagnostic: Object.freeze({
114
- code: 'HR005',
115
- message: 'Server markup for <ui-container> has an incompatible root.',
116
- }),
117
- },
118
- )
119
- }
73
+ checkHydratedRoot('div', 'ui-container')
120
74
 
121
75
  /** The values the styles' :host-state() rules test. */
122
76
  const hostState = computed(() =>
@@ -134,7 +88,7 @@ const hostState = computed(() =>
134
88
 
135
89
  <template>
136
90
  <div
137
- data-component="ui-container"
91
+ class="ui-container"
138
92
  v-bind="nativeAttrs($attrs)"
139
93
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
140
94
  :data-fill="reflectedProp('fill', 'fill', checkedProps.fill, undefined, false)"
@@ -157,42 +111,44 @@ const hostState = computed(() =>
157
111
  inherits: false;
158
112
  }
159
113
 
160
- [data-component~="ui-container"] {
161
- --_container-measure: 65ch;
162
- --_container-gutters: var(--ui-space-4);
163
- display: block;
164
- inline-size: 100%;
165
- max-inline-size: var(--ui-container-measure, var(--_container-measure));
166
- margin-inline: auto;
167
- padding-inline: var(--ui-container-gutters, var(--_container-gutters));
168
- }
114
+ /* A component that sets its display still honours the hidden attribute on its root. */
169
115
 
170
- [data-component~="ui-container"][data-ui-container-state~="measure=narrow"] {
171
- --_container-measure: 45ch;
172
- }
173
- [data-component~="ui-container"][data-ui-container-state~="fill"] {
174
- box-sizing: border-box;
175
- display: flex;
176
- flex-direction: column;
177
- flex: 1;
178
- min-inline-size: 0;
179
- min-block-size: 0;
180
- }
181
- [data-component~="ui-container"][data-ui-container-state~="measure=wide"] {
182
- --_container-measure: 80ch;
183
- }
184
- [data-component~="ui-container"][data-ui-container-state~="gutters=s"] {
185
- --_container-gutters: var(--ui-space-3);
186
- }
187
- [data-component~="ui-container"][data-ui-container-state~="gutters=m"] {
188
- --_container-gutters: var(--ui-space-4);
189
- }
190
- [data-component~="ui-container"][data-ui-container-state~="gutters=l"] {
191
- --_container-gutters: var(--ui-space-5);
192
- }
116
+ @scope (.ui-container) {
117
+ :scope:where(:scope) {
118
+ --_container-measure: 65ch;
119
+ --_container-gutters: var(--ui-space-4);
120
+ display: block;
121
+ inline-size: 100%;
122
+ max-inline-size: var(--ui-container-measure, var(--_container-measure));
123
+ margin-inline: auto;
124
+ padding-inline: var(--ui-container-gutters, var(--_container-gutters));
125
+ }
193
126
 
194
- /* A component that sets its display still honours the hidden attribute on its root. */
195
- [data-component~="ui-container"][hidden] {
196
- display: none;
127
+ :scope:where(:scope):is([data-ui-container-state~="measure=narrow"]) {
128
+ --_container-measure: 45ch;
129
+ }
130
+ :scope:where(:scope):is([data-ui-container-state~="fill"]) {
131
+ box-sizing: border-box;
132
+ display: flex;
133
+ flex-direction: column;
134
+ flex: 1;
135
+ min-inline-size: 0;
136
+ min-block-size: 0;
137
+ }
138
+ :scope:where(:scope):is([data-ui-container-state~="measure=wide"]) {
139
+ --_container-measure: 80ch;
140
+ }
141
+ :scope:where(:scope):is([data-ui-container-state~="gutters=s"]) {
142
+ --_container-gutters: var(--ui-space-3);
143
+ }
144
+ :scope:where(:scope):is([data-ui-container-state~="gutters=m"]) {
145
+ --_container-gutters: var(--ui-space-4);
146
+ }
147
+ :scope:where(:scope):is([data-ui-container-state~="gutters=l"]) {
148
+ --_container-gutters: var(--ui-space-5);
149
+ }
150
+ :scope:where(:scope):is([hidden]) {
151
+ display: none;
152
+ }
197
153
  }
198
154
  </style>
@@ -18,17 +18,17 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
18
18
  readonly checked?: boolean;
19
19
  readonly trigger: "keyboard" | "pointer" | "programmatic";
20
20
  }>) => any;
21
- open: (event: CustomEvent<{
21
+ close: (event: CustomEvent<{
22
22
  readonly open: boolean;
23
23
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
24
24
  readonly trigger: "keyboard" | "pointer" | "programmatic";
25
25
  }>) => any;
26
- "update:open": (value: boolean) => any;
27
- close: (event: CustomEvent<{
26
+ open: (event: CustomEvent<{
28
27
  readonly open: boolean;
29
28
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
30
29
  readonly trigger: "keyboard" | "pointer" | "programmatic";
31
30
  }>) => any;
31
+ "update:open": (value: boolean) => any;
32
32
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
33
33
  for: {
34
34
  type: PropType<string | null>;
@@ -44,17 +44,17 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
44
44
  readonly checked?: boolean;
45
45
  readonly trigger: "keyboard" | "pointer" | "programmatic";
46
46
  }>) => any) | undefined;
47
- onOpen?: ((event: CustomEvent<{
47
+ onClose?: ((event: CustomEvent<{
48
48
  readonly open: boolean;
49
49
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
50
50
  readonly trigger: "keyboard" | "pointer" | "programmatic";
51
51
  }>) => any) | undefined;
52
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
53
- onClose?: ((event: CustomEvent<{
52
+ onOpen?: ((event: CustomEvent<{
54
53
  readonly open: boolean;
55
54
  readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
56
55
  readonly trigger: "keyboard" | "pointer" | "programmatic";
57
56
  }>) => any) | undefined;
57
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
58
58
  }>, {
59
59
  open: boolean | null;
60
60
  for: string | null;
@@ -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, useTemplateRef, 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
 
@@ -52,38 +58,7 @@ void checkedProps.value
52
58
  watchSyncEffect(() => {
53
59
  void checkedProps.value
54
60
  })
55
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
56
- const names = Object.keys(attrs)
57
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
58
- return Object.fromEntries(names.map((name) => [
59
- Object.hasOwn(Object.prototype, name)
60
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
61
- : name,
62
- attrs[name],
63
- ]))
64
- }
65
- const componentInstance = getCurrentInstance()
66
- function reflectedProp(
67
- name: string,
68
- kebab: string,
69
- value: unknown,
70
- fallback: string | undefined,
71
- bound: boolean,
72
- separator?: string,
73
- ): string | undefined {
74
- const incoming = componentInstance?.vnode.props
75
- if (
76
- !bound
77
- && (incoming === null || incoming === undefined
78
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
79
- ) return fallback
80
- if (value === null || value === undefined) return undefined
81
- return Array.isArray(value) && separator !== undefined
82
- ? value.join(separator)
83
- : typeof value === 'object'
84
- ? JSON.stringify(value)
85
- : String(value)
86
- }
61
+ const reflectedProp = useReflectedProp()
87
62
  const hydrationInstance = getCurrentInstance()
88
63
  const emit = defineEmits<{
89
64
  'update:open': [value: boolean]
@@ -120,22 +95,7 @@ const root = ref<HTMLElement | null>(null)
120
95
  const menuElement = useTemplateRef<HTMLElement>('menuElement')
121
96
  const internalOpen = ref(false)
122
97
  provide('html-next:ui-context-menu:internalOpen', internalOpen)
123
- const hydrationNode = hydrationInstance?.vnode.el
124
- if (
125
- typeof window !== 'undefined' && hydrationNode != null
126
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('span'))
127
- ) {
128
- throw Object.assign(
129
- new Error('HR005: Server markup for <ui-context-menu> has an incompatible root.'),
130
- {
131
- name: 'HtmlDiagnosticError',
132
- diagnostic: Object.freeze({
133
- code: 'HR005',
134
- message: 'Server markup for <ui-context-menu> has an incompatible root.',
135
- }),
136
- },
137
- )
138
- }
98
+ checkHydratedRoot('span', 'ui-context-menu')
139
99
 
140
100
  const isOpenDetail = (
141
101
  detail: unknown,
@@ -199,7 +159,7 @@ useComponentHost(() => import('../components/ui-context-menu/ui-context-menu.js'
199
159
 
200
160
  <template>
201
161
  <span
202
- data-component="ui-context-menu"
162
+ class="ui-context-menu"
203
163
  v-bind="nativeAttrs($attrs)"
204
164
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
205
165
  :data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
@@ -231,82 +191,83 @@ useComponentHost(() => import('../components/ui-context-menu/ui-context-menu.js'
231
191
  inherits: false;
232
192
  }
233
193
 
234
- [data-component~="ui-context-menu"] {
235
- /* Hooks do not inherit, so the parts below read them from the root. */
236
- --_ui-context-menu-surface: var(--ui-context-menu-surface);
237
- --_ui-context-menu-border: var(--ui-context-menu-border);
238
- --_ui-context-menu-radius: var(--ui-context-menu-radius);
239
- --_ui-context-menu-shadow: var(--ui-context-menu-shadow);
240
- --_ui-context-menu-z-index: var(--ui-context-menu-z-index);
194
+ /* A component that sets its display still honours the hidden attribute on its root. */
241
195
 
242
- display: contents;
243
- }
196
+ @scope (.ui-context-menu) {
197
+ :scope:where(:scope) {
198
+ /* Hooks do not inherit, so the parts below read them from the root. */
199
+ --_ui-context-menu-surface: var(--ui-context-menu-surface);
200
+ --_ui-context-menu-border: var(--ui-context-menu-border);
201
+ --_ui-context-menu-radius: var(--ui-context-menu-radius);
202
+ --_ui-context-menu-shadow: var(--ui-context-menu-shadow);
203
+ --_ui-context-menu-z-index: var(--ui-context-menu-z-index);
244
204
 
245
- .menu {
246
- position: fixed;
247
- inset: auto;
248
- margin: 0;
249
- display: flex;
250
- flex-direction: column;
251
- box-sizing: border-box;
252
- padding: var(--ui-space-1);
253
- background: var(
254
- --_ui-context-menu-surface,
255
- var(--ui-overlay-surface, var(--ui-surface-elevated))
256
- );
257
- border: var(--ui-border-width) solid
258
- var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
259
- border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
260
- box-shadow: var(
261
- --_ui-context-menu-shadow,
262
- var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
263
- );
264
- outline: 0;
265
- overflow: auto;
266
- z-index: var(--_ui-context-menu-z-index, 1000);
267
- min-width: 12rem;
268
- opacity: 0;
269
- transform: translateY(-4px) scale(0.99);
270
- transition:
271
- opacity var(--ui-motion-fast) var(--ui-motion-ease),
272
- transform var(--ui-motion-fast) var(--ui-motion-ease),
273
- display var(--ui-motion-fast) allow-discrete,
274
- overlay var(--ui-motion-fast) allow-discrete;
275
- }
205
+ display: contents;
206
+ }
276
207
 
277
- .menu hr {
278
- align-self: stretch;
279
- block-size: 0;
280
- margin: var(--ui-space-1) 0;
281
- border: 0;
282
- border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
283
- }
208
+ .menu {
209
+ position: fixed;
210
+ inset: auto;
211
+ margin: 0;
212
+ display: flex;
213
+ flex-direction: column;
214
+ box-sizing: border-box;
215
+ padding: var(--ui-space-1);
216
+ background: var(
217
+ --_ui-context-menu-surface,
218
+ var(--ui-overlay-surface, var(--ui-surface-elevated))
219
+ );
220
+ border: var(--ui-border-width) solid
221
+ var(--_ui-context-menu-border, var(--ui-overlay-border, var(--ui-border-strong)));
222
+ border-radius: var(--_ui-context-menu-radius, var(--ui-overlay-radius, var(--ui-radius-lg)));
223
+ box-shadow: var(
224
+ --_ui-context-menu-shadow,
225
+ var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
226
+ );
227
+ outline: 0;
228
+ overflow: auto;
229
+ z-index: var(--_ui-context-menu-z-index, 1000);
230
+ min-width: 12rem;
231
+ opacity: 0;
232
+ transform: translateY(-4px) scale(0.99);
233
+ transition:
234
+ opacity var(--ui-motion-fast) var(--ui-motion-ease),
235
+ transform var(--ui-motion-fast) var(--ui-motion-ease),
236
+ display var(--ui-motion-fast) allow-discrete,
237
+ overlay var(--ui-motion-fast) allow-discrete;
238
+ }
284
239
 
285
- .menu:popover-open {
286
- opacity: 1;
287
- transform: translateY(0) scale(1);
288
- }
240
+ .menu hr {
241
+ align-self: stretch;
242
+ block-size: 0;
243
+ margin: var(--ui-space-1) 0;
244
+ border: 0;
245
+ border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
246
+ }
289
247
 
290
- @starting-style {
291
248
  .menu:popover-open {
292
- opacity: 0;
293
- transform: translateY(-4px) scale(0.99);
249
+ opacity: 1;
250
+ transform: translateY(0) scale(1);
294
251
  }
295
- }
296
252
 
297
- .menu[hidden],
298
- .menu[popover]:not(:popover-open) {
299
- display: none;
300
- }
253
+ @starting-style {
254
+ .menu:popover-open {
255
+ opacity: 0;
256
+ transform: translateY(-4px) scale(0.99);
257
+ }
258
+ }
301
259
 
302
- @media (prefers-reduced-motion: reduce) {
303
- .menu {
304
- transition: none;
260
+ .menu[hidden], .menu[popover]:not(:popover-open) {
261
+ display: none;
305
262
  }
306
- }
307
263
 
308
- /* A component that sets its display still honours the hidden attribute on its root. */
309
- [data-component~="ui-context-menu"][hidden] {
310
- display: none;
264
+ @media (prefers-reduced-motion: reduce) {
265
+ .menu {
266
+ transition: none;
267
+ }
268
+ }
269
+ :scope:where(:scope):is([hidden]) {
270
+ display: none;
271
+ }
311
272
  }
312
273
  </style>
package/vue/UiCover.vue CHANGED
@@ -1,7 +1,8 @@
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
- import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
3
+ import { computed, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
+ import { checkHydratedRoot, nativeAttrs, useReflectedProp } from './host'
5
6
  import { checkedProp, vPropValidity } from './props'
6
7
 
7
8
  defineOptions({ inheritAttrs: false })
@@ -36,53 +37,9 @@ void checkedProps.value
36
37
  watchSyncEffect(() => {
37
38
  void checkedProps.value
38
39
  })
39
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
40
- const names = Object.keys(attrs)
41
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
42
- return Object.fromEntries(names.map((name) => [
43
- Object.hasOwn(Object.prototype, name)
44
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
45
- : name,
46
- attrs[name],
47
- ]))
48
- }
49
- const componentInstance = getCurrentInstance()
50
- function reflectedProp(
51
- name: string,
52
- kebab: string,
53
- value: unknown,
54
- fallback: string | undefined,
55
- bound: boolean,
56
- separator?: string,
57
- ): string | undefined {
58
- const incoming = componentInstance?.vnode.props
59
- if (
60
- !bound
61
- && (incoming === null || incoming === undefined
62
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
63
- ) return fallback
64
- if (value === null || value === undefined) return undefined
65
- return Array.isArray(value) && separator !== undefined
66
- ? value.join(separator)
67
- : typeof value === 'object'
68
- ? JSON.stringify(value)
69
- : String(value)
70
- }
71
- const hydrationInstance = getCurrentInstance()
40
+ const reflectedProp = useReflectedProp()
72
41
 
73
- const hydrationNode = hydrationInstance?.vnode.el
74
- if (
75
- typeof window !== 'undefined' && hydrationNode != null
76
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
77
- ) {
78
- throw Object.assign(new Error('HR005: Server markup for <ui-cover> has an incompatible root.'), {
79
- name: 'HtmlDiagnosticError',
80
- diagnostic: Object.freeze({
81
- code: 'HR005',
82
- message: 'Server markup for <ui-cover> has an incompatible root.',
83
- }),
84
- })
85
- }
42
+ checkHydratedRoot('div', 'ui-cover')
86
43
 
87
44
  /** The values the styles' :host-state() rules test. */
88
45
  const hostState = computed(() =>
@@ -95,7 +52,7 @@ const hostState = computed(() =>
95
52
 
96
53
  <template>
97
54
  <div
98
- data-component="ui-cover"
55
+ class="ui-cover"
99
56
  v-bind="nativeAttrs($attrs)"
100
57
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
101
58
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -108,28 +65,31 @@ const hostState = computed(() =>
108
65
  <style scoped>
109
66
  /* A layout primitive that centres its content in the space, both ways, with room around it: the
110
67
  frame for a view that is one card or one message. */
111
- [data-component~="ui-cover"] {
112
- display: flex;
113
- flex-direction: column;
114
- align-items: center;
115
- justify-content: center;
116
- gap: var(--ui-space-6);
117
- box-sizing: border-box;
118
- min-block-size: 100dvh;
119
- padding: var(--ui-space-6) var(--ui-space-4);
120
- }
121
68
 
122
- [data-component~="ui-cover"][data-ui-cover-state~="size=fill"] {
123
- flex: 1;
124
- min-block-size: 100%;
125
- }
69
+ /* A component that sets its display still honours the hidden attribute on its root. */
126
70
 
127
- [data-component~="ui-cover"] > :slotted(*) {
128
- max-inline-size: 100%;
129
- }
71
+ @scope (.ui-cover) {
72
+ :scope:where(:scope) {
73
+ display: flex;
74
+ flex-direction: column;
75
+ align-items: center;
76
+ justify-content: center;
77
+ gap: var(--ui-space-6);
78
+ box-sizing: border-box;
79
+ min-block-size: 100dvh;
80
+ padding: var(--ui-space-6) var(--ui-space-4);
81
+ }
130
82
 
131
- /* A component that sets its display still honours the hidden attribute on its root. */
132
- [data-component~="ui-cover"][hidden] {
133
- display: none;
83
+ :scope:where(:scope):is([data-ui-cover-state~="size=fill"]) {
84
+ flex: 1;
85
+ min-block-size: 100%;
86
+ }
87
+
88
+ :scope > :slotted(*) {
89
+ max-inline-size: 100%;
90
+ }
91
+ :scope:where(:scope):is([hidden]) {
92
+ display: none;
93
+ }
134
94
  }
135
95
  </style>