@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,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, 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 { checkedProp, propValidityState, vPropValidity } from './props'
7
13
 
8
14
  defineOptions({ inheritAttrs: false })
@@ -36,58 +42,12 @@ void checkedProps.value
36
42
  watchSyncEffect(() => {
37
43
  void checkedProps.value
38
44
  })
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
- }
45
+ const reflectedProp = useReflectedProp()
71
46
  const hydrationInstance = getCurrentInstance()
72
47
 
73
48
  const root = ref<HTMLElement | null>(null)
74
49
  const stripElement = useTemplateRef<HTMLElement>('stripElement')
75
- const hydrationNode = hydrationInstance?.vnode.el
76
- if (
77
- typeof window !== 'undefined' && hydrationNode != null
78
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
79
- ) {
80
- throw Object.assign(
81
- new Error('HR005: Server markup for <ui-editor-toolbar> has an incompatible root.'),
82
- {
83
- name: 'HtmlDiagnosticError',
84
- diagnostic: Object.freeze({
85
- code: 'HR005',
86
- message: 'Server markup for <ui-editor-toolbar> has an incompatible root.',
87
- }),
88
- },
89
- )
90
- }
50
+ checkHydratedRoot('div', 'ui-editor-toolbar')
91
51
 
92
52
  /** The values the styles' :host-state() rules test. */
93
53
  const hostState = computed(() =>
@@ -122,7 +82,7 @@ useComponentHost(() => import('../components/ui-editor-toolbar/ui-editor-toolbar
122
82
 
123
83
  <template>
124
84
  <div
125
- data-component="ui-editor-toolbar"
85
+ class="ui-editor-toolbar"
126
86
  role="toolbar"
127
87
  aria-label="Editor toolbar"
128
88
  v-bind="nativeAttrs($attrs)"
@@ -136,159 +96,159 @@ useComponentHost(() => import('../components/ui-editor-toolbar/ui-editor-toolbar
136
96
  </template>
137
97
 
138
98
  <style scoped>
139
- [data-component~="ui-editor-toolbar"] {
140
- position: sticky;
141
- top: 0;
142
- z-index: var(--ui-editor-toolbar-z-index, 10);
143
- display: flex;
144
- align-items: center;
145
- padding: var(--ui-editor-toolbar-padding-block, 6px)
146
- var(--ui-editor-toolbar-padding-inline, 12px);
147
- min-height: var(--ui-editor-toolbar-min-height, 48px);
148
- background: var(--ui-editor-toolbar-surface, var(--ui-surface));
149
- border-bottom: var(--ui-border-width) solid
150
- var(--ui-editor-toolbar-border, var(--ui-border-divider));
151
- }
152
-
153
99
  /* One row, always. When the controls outgrow the space, the row scrolls sideways rather than
154
- wrapping into several lines, and a fade at each edge that has more to show says so. */
155
- .strip {
156
- display: flex;
157
- flex: 1 1 auto;
158
- align-items: center;
159
- justify-content: flex-start;
160
- gap: var(--ui-editor-toolbar-gap, 2px);
161
- min-width: 0;
162
- overflow-x: auto;
163
- overflow-y: hidden;
164
- overscroll-behavior-inline: contain;
165
- scrollbar-width: none;
166
- }
167
-
168
- .strip::-webkit-scrollbar {
169
- display: none;
170
- }
171
-
172
- .strip > :slotted(*) {
173
- flex: 0 0 auto;
174
- }
100
+ wrapping into several lines, and a fade at each edge that has more to show says so. */
175
101
 
176
102
  /* The edge fades are the scroll fade every Looma scroller uses (see ui-scroll-area), a mask on the
177
103
  strip, so a floating toolbar's border and shadow stay whole. */
178
- .strip {
179
- --_ui-scroll-fade-direction: to right;
180
- --_ui-scroll-fade-size: var(--ui-editor-toolbar-fade-size, var(--ui-scroll-fade-size, 24px));
181
- mask-image: linear-gradient(
182
- var(--_ui-scroll-fade-direction),
183
- transparent,
184
- #000 var(--_ui-scroll-fade-start),
185
- #000 calc(100% - var(--_ui-scroll-fade-end)),
186
- transparent
187
- );
188
- animation:
189
- ui-scroll-fade-start linear,
190
- ui-scroll-fade-start-hold linear,
191
- ui-scroll-fade-end-hold linear,
192
- ui-scroll-fade-end linear;
193
- animation-timeline: scroll(self inline);
194
- animation-range:
195
- 0 var(--_ui-scroll-fade-size),
196
- var(--_ui-scroll-fade-size) calc(100% + 1px),
197
- -1px calc(100% - var(--_ui-scroll-fade-size)),
198
- calc(100% - var(--_ui-scroll-fade-size)) 100%;
199
- }
200
104
 
201
- [data-component~="ui-editor-toolbar"]:dir(rtl) .strip {
202
- --_ui-scroll-fade-direction: to left;
203
- }
105
+ /* Inside LoomaEditor's sticky shell, the shell is the sticky surface. */
204
106
 
205
- :slotted(.divider) {
206
- width: 1px;
207
- height: 20px;
208
- background: var(--ui-editor-toolbar-divider, var(--ui-border-divider));
209
- flex-shrink: 0;
210
- margin: 0 var(--ui-editor-toolbar-divider-margin, 4px);
211
- }
107
+ /* Inside LoomaEditor's mobile shell, the toolbar is a scroll-snapping strip. */
212
108
 
213
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"] {
214
- position: relative;
215
- top: auto;
216
- width: max-content;
217
- max-width: min(calc(100vw - 24px), 100%);
218
- min-height: auto;
219
- padding: var(--ui-editor-toolbar-floating-padding, 4px);
220
- background: color-mix(
221
- in srgb,
222
- var(--ui-editor-toolbar-surface, var(--ui-surface)) 96%,
223
- transparent
224
- );
225
- border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
226
- border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
227
- box-shadow: var(
228
- --ui-editor-toolbar-floating-shadow,
229
- var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12))
230
- );
231
- backdrop-filter: blur(10px);
232
- }
109
+ /* A component that sets its display still honours the hidden attribute on its root. */
233
110
 
234
- @media (max-width: 767px) {
235
- [data-component~="ui-editor-toolbar"] {
236
- position: fixed;
237
- top: auto;
238
- bottom: env(safe-area-inset-bottom);
239
- left: 0;
240
- right: 0;
241
- min-height: var(--ui-editor-toolbar-mobile-min-height, 56px);
242
- border-top: var(--ui-border-width) solid
111
+ @scope (.ui-editor-toolbar) {
112
+ :scope:where(:scope) {
113
+ position: sticky;
114
+ top: 0;
115
+ z-index: var(--ui-editor-toolbar-z-index, 10);
116
+ display: flex;
117
+ align-items: center;
118
+ padding: var(--ui-editor-toolbar-padding-block, 6px)
119
+ var(--ui-editor-toolbar-padding-inline, 12px);
120
+ min-height: var(--ui-editor-toolbar-min-height, 48px);
121
+ background: var(--ui-editor-toolbar-surface, var(--ui-surface));
122
+ border-bottom: var(--ui-border-width) solid
243
123
  var(--ui-editor-toolbar-border, var(--ui-border-divider));
244
- border-bottom: none;
245
- box-shadow: var(--ui-editor-toolbar-mobile-shadow, 0 -2px 8px rgb(0 0 0 / 0.06));
124
+ }
125
+ .strip {
126
+ display: flex;
127
+ flex: 1 1 auto;
128
+ align-items: center;
129
+ justify-content: flex-start;
130
+ gap: var(--ui-editor-toolbar-gap, 2px);
131
+ min-width: 0;
132
+ overflow-x: auto;
133
+ overflow-y: hidden;
134
+ overscroll-behavior-inline: contain;
135
+ scrollbar-width: none;
136
+ }
137
+
138
+ .strip::-webkit-scrollbar {
139
+ display: none;
140
+ }
141
+
142
+ .strip > :slotted(*) {
143
+ flex: 0 0 auto;
144
+ }
145
+ .strip {
146
+ --_ui-scroll-fade-direction: to right;
147
+ --_ui-scroll-fade-size: var(--ui-editor-toolbar-fade-size, var(--ui-scroll-fade-size, 24px));
148
+ mask-image: linear-gradient(
149
+ var(--_ui-scroll-fade-direction),
150
+ transparent,
151
+ #000 var(--_ui-scroll-fade-start),
152
+ #000 calc(100% - var(--_ui-scroll-fade-end)),
153
+ transparent
154
+ );
155
+ animation:
156
+ ui-scroll-fade-start linear,
157
+ ui-scroll-fade-start-hold linear,
158
+ ui-scroll-fade-end-hold linear,
159
+ ui-scroll-fade-end linear;
160
+ animation-timeline: scroll(self inline);
161
+ animation-range:
162
+ 0 var(--_ui-scroll-fade-size),
163
+ var(--_ui-scroll-fade-size) calc(100% + 1px),
164
+ -1px calc(100% - var(--_ui-scroll-fade-size)),
165
+ calc(100% - var(--_ui-scroll-fade-size)) 100%;
166
+ }
167
+
168
+ :scope:dir(rtl) .strip {
169
+ --_ui-scroll-fade-direction: to left;
170
+ }
171
+
172
+ :slotted(.divider) {
173
+ width: 1px;
174
+ height: 20px;
175
+ background: var(--ui-editor-toolbar-divider, var(--ui-border-divider));
176
+ flex-shrink: 0;
177
+ margin: 0 var(--ui-editor-toolbar-divider-margin, 4px);
246
178
  }
247
179
 
248
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"] {
180
+ :scope:where(:scope):is([data-ui-editor-toolbar-state~="floating"]) {
249
181
  position: relative;
250
- inset: auto;
182
+ top: auto;
183
+ width: max-content;
184
+ max-width: min(calc(100vw - 24px), 100%);
251
185
  min-height: auto;
186
+ padding: var(--ui-editor-toolbar-floating-padding, 4px);
187
+ background: color-mix(
188
+ in srgb,
189
+ var(--ui-editor-toolbar-surface, var(--ui-surface)) 96%,
190
+ transparent
191
+ );
252
192
  border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
253
193
  border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
254
194
  box-shadow: var(
255
195
  --ui-editor-toolbar-floating-shadow,
256
196
  var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12))
257
197
  );
198
+ backdrop-filter: blur(10px);
258
199
  }
259
- }
260
-
261
- /* Inside LoomaEditor's sticky shell, the shell is the sticky surface. */
262
- .looma-editor__sticky-toolbar-shell [data-component~="ui-editor-toolbar"] {
263
- position: relative;
264
- min-height: var(--ui-editor-toolbar-min-height, 48px);
265
- background: transparent;
266
- border: 0;
267
- box-shadow: none;
268
- }
269
200
 
270
- /* Inside LoomaEditor's mobile shell, the toolbar is a scroll-snapping strip. */
271
- .looma-editor__mobile-toolbar-shell
272
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"] {
273
- width: 100%;
274
- max-width: none;
275
- min-height: 100%;
276
- padding: 0;
277
- background: transparent;
278
- border: 0;
279
- border-radius: 0;
280
- box-shadow: none;
281
- backdrop-filter: none;
282
- }
283
-
284
- .looma-editor__mobile-toolbar-shell
285
- [data-component~="ui-editor-toolbar"][data-ui-editor-toolbar-state~="floating"]
286
- .strip {
287
- scroll-snap-type: x mandatory;
288
- }
201
+ @media (max-width: 767px) {
202
+ :scope:where(:scope) {
203
+ position: fixed;
204
+ top: auto;
205
+ bottom: env(safe-area-inset-bottom);
206
+ left: 0;
207
+ right: 0;
208
+ min-height: var(--ui-editor-toolbar-mobile-min-height, 56px);
209
+ border-top: var(--ui-border-width) solid
210
+ var(--ui-editor-toolbar-border, var(--ui-border-divider));
211
+ border-bottom: none;
212
+ box-shadow: var(--ui-editor-toolbar-mobile-shadow, 0 -2px 8px rgb(0 0 0 / 0.06));
213
+ }
214
+
215
+ :scope:where(:scope):is([data-ui-editor-toolbar-state~="floating"]) {
216
+ position: relative;
217
+ inset: auto;
218
+ min-height: auto;
219
+ border: var(--ui-border-width) solid var(--ui-editor-toolbar-border, var(--ui-border-strong));
220
+ border-radius: var(--ui-editor-toolbar-floating-radius, var(--ui-radius-lg));
221
+ box-shadow: var(
222
+ --ui-editor-toolbar-floating-shadow,
223
+ var(--ui-shadow-lg, 0 10px 24px rgb(0 0 0 / 0.12))
224
+ );
225
+ }
226
+ }
227
+ :scope:where(:scope):is(.looma-editor__sticky-toolbar-shell *) {
228
+ position: relative;
229
+ min-height: var(--ui-editor-toolbar-min-height, 48px);
230
+ background: transparent;
231
+ border: 0;
232
+ box-shadow: none;
233
+ }
234
+ :scope:where(:scope):is(.looma-editor__mobile-toolbar-shell
235
+ [data-ui-editor-toolbar-state~="floating"]) {
236
+ width: 100%;
237
+ max-width: none;
238
+ min-height: 100%;
239
+ padding: 0;
240
+ background: transparent;
241
+ border: 0;
242
+ border-radius: 0;
243
+ box-shadow: none;
244
+ backdrop-filter: none;
245
+ }
289
246
 
290
- /* A component that sets its display still honours the hidden attribute on its root. */
291
- [data-component~="ui-editor-toolbar"][hidden] {
292
- display: none;
247
+ .looma-editor__mobile-toolbar-shell :scope[data-ui-editor-toolbar-state~="floating"] .strip {
248
+ scroll-snap-type: x mandatory;
249
+ }
250
+ :scope:where(:scope):is([hidden]) {
251
+ display: none;
252
+ }
293
253
  }
294
254
  </style>
@@ -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 !== ('button'))
108
- ) {
109
- throw Object.assign(
110
- new Error('HR005: Server markup for <ui-floating-action-button> has an incompatible root.'),
111
- {
112
- name: 'HtmlDiagnosticError',
113
- diagnostic: Object.freeze({
114
- code: 'HR005',
115
- message: 'Server markup for <ui-floating-action-button> has an incompatible root.',
116
- }),
117
- },
118
- )
119
- }
73
+ checkHydratedRoot('button', 'ui-floating-action-button')
120
74
 
121
75
  /** The values the styles' :host-state() rules test. */
122
76
  const hostState = computed(() =>
@@ -128,7 +82,7 @@ const hostState = computed(() =>
128
82
 
129
83
  <template>
130
84
  <button
131
- data-component="ui-floating-action-button"
85
+ class="ui-floating-action-button"
132
86
  type="button"
133
87
  v-bind="nativeAttrs($attrs)"
134
88
  :aria-label="checkedProps.label ?? undefined"
@@ -158,76 +112,78 @@ const hostState = computed(() =>
158
112
  inherits: false;
159
113
  }
160
114
 
161
- [data-component~="ui-floating-action-button"] {
162
- position: fixed;
163
- inset-block-end: calc(
164
- var(--ui-floating-action-button-inset-block-end, var(--ui-space-6)) +
165
- env(safe-area-inset-bottom)
166
- );
167
- inset-inline-end: max(
168
- var(--ui-floating-action-button-inset-inline-end, var(--ui-space-5)),
169
- env(safe-area-inset-right)
170
- );
171
- inline-size: var(--ui-control-min-block-size);
172
- block-size: var(--ui-control-min-block-size);
173
- display: inline-flex;
174
- z-index: var(--ui-floating-action-button-z-index, 100);
175
- }
115
+ /* A component that sets its display still honours the hidden attribute on its root. */
176
116
 
177
- [data-component~="ui-floating-action-button"] {
178
- appearance: none;
179
- border: none;
180
- border-radius: var(--ui-radius-round);
181
- margin: 0;
182
- padding: 0;
183
- display: inline-flex;
184
- align-items: center;
185
- justify-content: center;
186
- background: var(--ui-accent);
187
- color: var(--ui-on-accent);
188
- box-shadow: 0 4px 12px color-mix(in srgb, var(--ui-accent) 40%, transparent);
189
- cursor: pointer;
190
- transition:
191
- background-color var(--ui-motion-fast) var(--ui-motion-ease),
192
- transform var(--ui-motion-fast) var(--ui-motion-ease),
193
- box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
194
- }
117
+ @scope (.ui-floating-action-button) {
118
+ :scope:where(:scope) {
119
+ position: fixed;
120
+ inset-block-end: calc(
121
+ var(--ui-floating-action-button-inset-block-end, var(--ui-space-6)) +
122
+ env(safe-area-inset-bottom)
123
+ );
124
+ inset-inline-end: max(
125
+ var(--ui-floating-action-button-inset-inline-end, var(--ui-space-5)),
126
+ env(safe-area-inset-right)
127
+ );
128
+ inline-size: var(--ui-control-min-block-size);
129
+ block-size: var(--ui-control-min-block-size);
130
+ display: inline-flex;
131
+ z-index: var(--ui-floating-action-button-z-index, 100);
132
+ }
195
133
 
196
- [data-component~="ui-floating-action-button"]:hover:enabled {
197
- background: var(--ui-accent-hover);
198
- box-shadow: 0 6px 16px color-mix(in srgb, var(--ui-accent) 50%, transparent);
199
- }
134
+ :scope:where(:scope) {
135
+ appearance: none;
136
+ border: none;
137
+ border-radius: var(--ui-radius-round);
138
+ margin: 0;
139
+ padding: 0;
140
+ display: inline-flex;
141
+ align-items: center;
142
+ justify-content: center;
143
+ background: var(--ui-accent);
144
+ color: var(--ui-on-accent);
145
+ box-shadow: 0 4px 12px color-mix(in srgb, var(--ui-accent) 40%, transparent);
146
+ cursor: pointer;
147
+ transition:
148
+ background-color var(--ui-motion-fast) var(--ui-motion-ease),
149
+ transform var(--ui-motion-fast) var(--ui-motion-ease),
150
+ box-shadow var(--ui-motion-fast) var(--ui-motion-ease);
151
+ }
200
152
 
201
- [data-component~="ui-floating-action-button"]:active:enabled {
202
- transform: scale(0.94);
203
- }
153
+ :scope:where(:scope):is(:hover:enabled) {
154
+ background: var(--ui-accent-hover);
155
+ box-shadow: 0 6px 16px color-mix(in srgb, var(--ui-accent) 50%, transparent);
156
+ }
204
157
 
205
- [data-component~="ui-floating-action-button"]:focus-visible {
206
- outline: var(--ui-focus-width) solid var(--ui-focus-ring);
207
- outline-offset: var(--ui-focus-width);
208
- }
158
+ :scope:where(:scope):is(:active:enabled) {
159
+ transform: scale(0.94);
160
+ }
209
161
 
210
- [data-component~="ui-floating-action-button"]:disabled {
211
- background: var(--ui-disabled-surface);
212
- color: var(--ui-disabled-text);
213
- box-shadow: none;
214
- cursor: not-allowed;
215
- }
162
+ :scope:where(:scope):is(:focus-visible) {
163
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
164
+ outline-offset: var(--ui-focus-width);
165
+ }
216
166
 
217
- :slotted(svg) {
218
- inline-size: var(--ui-icon-size-lg);
219
- block-size: var(--ui-icon-size-lg);
220
- flex-shrink: 0;
221
- }
167
+ :scope:where(:scope):is(:disabled) {
168
+ background: var(--ui-disabled-surface);
169
+ color: var(--ui-disabled-text);
170
+ box-shadow: none;
171
+ cursor: not-allowed;
172
+ }
222
173
 
223
- @media (min-width: 768px) {
224
- [data-component~="ui-floating-action-button"][data-ui-floating-action-button-state~="mobileOnly"] {
225
- display: none;
174
+ :slotted(svg) {
175
+ inline-size: var(--ui-icon-size-lg);
176
+ block-size: var(--ui-icon-size-lg);
177
+ flex-shrink: 0;
226
178
  }
227
- }
228
179
 
229
- /* A component that sets its display still honours the hidden attribute on its root. */
230
- [data-component~="ui-floating-action-button"][hidden] {
231
- display: none;
180
+ @media (min-width: 768px) {
181
+ :scope:where(:scope):is([data-ui-floating-action-button-state~="mobileOnly"]) {
182
+ display: none;
183
+ }
184
+ }
185
+ :scope:where(:scope):is([hidden]) {
186
+ display: none;
187
+ }
232
188
  }
233
189
  </style>
@@ -38,9 +38,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
38
38
  default: boolean;
39
39
  };
40
40
  }>> & Readonly<{}>, {
41
+ required: boolean | null;
41
42
  invalid: boolean | null;
42
43
  disabled: boolean | null;
43
- required: boolean | null;
44
44
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
45
45
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
46
46
  declare const _default: typeof __VLS_export;