@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,6 +1,4 @@
1
1
  import type { PropType } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
2
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
3
  actions: {
6
4
  type: PropType<readonly ("align-left" | "align-center" | "align-right" | "background-none" | "background-gray" | "background-yellow" | "background-blue" | "background-green" | "background-red" | "add-row-before" | "add-row-after" | "add-column-before" | "add-column-after" | "toggle-header-row" | "toggle-header-column" | "move-row-up" | "move-row-down" | "move-column-left" | "move-column-right" | "clear-cells" | "merge-cells" | "split-cell" | "delete-row" | "delete-column" | "delete-table")[] | null>;
@@ -67,3 +65,5 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
67
65
  headerColumn: boolean | null;
68
66
  cellAlignment: "left" | "right" | "center" | null;
69
67
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
68
+ declare const _default: typeof __VLS_export;
69
+ export default _default;
@@ -1,27 +1,18 @@
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">
3
+ import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
+ import type { PropType } from 'vue'
14
5
  import {
15
- computed,
16
- defineComponent,
17
- getCurrentInstance,
18
- h,
19
- provide,
20
- ref,
21
- watchSyncEffect,
22
- } from 'vue'
23
- import type { PropType, VNode } from 'vue'
24
- import { createDispatch, useComponentHost } from './host'
6
+ attribute,
7
+ checkHydratedRoot,
8
+ concat,
9
+ createDispatch,
10
+ KeyedBoundary,
11
+ nativeAttrs,
12
+ uniqueKeys,
13
+ useComponentHost,
14
+ useReflectedProp,
15
+ } from './host'
25
16
  import { acceptsControllerWrite } from './props'
26
17
  import { checkedProp, propValidityState, vPropValidity } from './props'
27
18
  import UiIcon from './UiIcon.vue'
@@ -266,64 +257,7 @@ void checkedProps.value
266
257
  watchSyncEffect(() => {
267
258
  void checkedProps.value
268
259
  })
269
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
270
- const names = Object.keys(attrs)
271
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
272
- return Object.fromEntries(names.map((name) => [
273
- Object.hasOwn(Object.prototype, name)
274
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
275
- : name,
276
- attrs[name],
277
- ]))
278
- }
279
- const KeyedFailure = defineComponent({
280
- props: { error: { type: null, required: true } },
281
- setup(props) {
282
- return () => {
283
- throw props.error
284
- }
285
- },
286
- })
287
- const KeyedBoundary = defineComponent({
288
- setup(_props, { slots }) {
289
- let last: VNode[] = []
290
- return () => {
291
- try {
292
- last = slots.default?.() ?? []
293
- return last
294
- } catch (error) {
295
- if (
296
- !(error instanceof Error)
297
- || (error as Error & { diagnostic?: { code?: string } }).diagnostic?.code !== 'HR004'
298
- ) throw error
299
- if (typeof window === 'undefined') throw error
300
- return [...last, h(KeyedFailure, { error })]
301
- }
302
- }
303
- },
304
- })
305
- const componentInstance = getCurrentInstance()
306
- function reflectedProp(
307
- name: string,
308
- kebab: string,
309
- value: unknown,
310
- fallback: string | undefined,
311
- bound: boolean,
312
- separator?: string,
313
- ): string | undefined {
314
- const incoming = componentInstance?.vnode.props
315
- if (
316
- !bound
317
- && (incoming === null || incoming === undefined
318
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
319
- ) return fallback
320
- if (value === null || value === undefined) return undefined
321
- return Array.isArray(value) && separator !== undefined
322
- ? value.join(separator)
323
- : typeof value === 'object'
324
- ? JSON.stringify(value)
325
- : String(value)
326
- }
260
+ const reflectedProp = useReflectedProp()
327
261
  const hydrationInstance = getCurrentInstance()
328
262
  const emit = defineEmits<{
329
263
  action: [
@@ -383,39 +317,13 @@ const sections = ref<
383
317
  >([])
384
318
  const hasOverflow = ref(false)
385
319
  const overflowOpen = ref(false)
386
- let guardedPrevious: any
387
- const guarded = computed(() => {
388
- if (
389
- !(htmlNextAuthoredCheck2(
390
- overflowOpen.value == null || typeof overflowOpen.value === 'boolean',
391
- '$overflowOpen:overflowOpen',
392
- './components/ui-editor-table-toolbar/ui-editor-table-toolbar.html: HR007: Reference overflowOpen does not satisfy its declared type.',
393
- ))
394
- ) return guardedPrevious
395
- return guardedPrevious = overflowOpen.value
396
- })
397
320
  provide('html-next:ui-editor-table-toolbar:alignments', alignments)
398
321
  provide('html-next:ui-editor-table-toolbar:structure', structure)
399
322
  provide('html-next:ui-editor-table-toolbar:swatches', swatches)
400
323
  provide('html-next:ui-editor-table-toolbar:sections', sections)
401
324
  provide('html-next:ui-editor-table-toolbar:hasOverflow', hasOverflow)
402
325
  provide('html-next:ui-editor-table-toolbar:overflowOpen', overflowOpen)
403
- const hydrationNode = hydrationInstance?.vnode.el
404
- if (
405
- typeof window !== 'undefined' && hydrationNode != null
406
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
407
- ) {
408
- throw Object.assign(
409
- new Error('HR005: Server markup for <ui-editor-table-toolbar> has an incompatible root.'),
410
- {
411
- name: 'HtmlDiagnosticError',
412
- diagnostic: Object.freeze({
413
- code: 'HR005',
414
- message: 'Server markup for <ui-editor-table-toolbar> has an incompatible root.',
415
- }),
416
- },
417
- )
418
- }
326
+ checkHydratedRoot('div', 'ui-editor-table-toolbar')
419
327
 
420
328
  const isActionDetail = (
421
329
  detail: unknown,
@@ -576,70 +484,11 @@ useComponentHost(() => import('../components/ui-editor-table-toolbar/ui-editor-t
576
484
  propValidityState({ contract: propValidityContract, values: { ...props } }, name),
577
485
  state: { alignments, structure, swatches, sections, hasOverflow, overflowOpen },
578
486
  })
579
-
580
- function text(value: unknown): string {
581
- if (Array.isArray(value)) return value.map(text).join(' ')
582
- return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
583
- }
584
-
585
- function attribute(value: unknown): any {
586
- if (
587
- value === null || value === undefined || value === false
588
- || (typeof value === 'object' && !Array.isArray(value))
589
- ) return undefined
590
- return value === true ? '' : text(value)
591
- }
592
-
593
- // A nonempty scalar call cannot produce the invalid-result sentinel.
594
- type ConcatResult<T extends unknown[]> = T extends
595
- [
596
- string | number | boolean | null | undefined,
597
- ...(string | number | boolean | null | undefined)[],
598
- ] ? string | undefined
599
- : string | symbol | undefined
600
- function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
601
- if (values.some(value => value === Symbol.for('html-next.invalid-result'))) {
602
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
603
- }
604
- if (values.some(value => value === undefined)) return undefined as ConcatResult<T>
605
- if (values.length === 0 || values.some(value => typeof value === 'object' && value !== null)) {
606
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
607
- }
608
- return values.map(value => value === null ? '' : String(value)).join('') as ConcatResult<T>
609
- }
610
-
611
- function uniqueKeys<T>(
612
- items: readonly T[],
613
- keyOf: (
614
- item: T,
615
- index: number,
616
- loop: { index: number; first: boolean; last: boolean; count: number },
617
- ) => unknown,
618
- ): readonly T[] {
619
- const seen = new Set<unknown>()
620
- for (let index = 0; index < items.length; index += 1) {
621
- const key = keyOf(items[index]!, index, {
622
- index,
623
- first: index === 0,
624
- last: index === items.length - 1,
625
- count: items.length,
626
- })
627
- if (seen.has(key)) {
628
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`
629
- throw Object.assign(new Error(`HR004: ${message}`), {
630
- name: 'HtmlDiagnosticError',
631
- diagnostic: Object.freeze({ code: 'HR004', message }),
632
- })
633
- }
634
- seen.add(key)
635
- }
636
- return items
637
- }
638
487
  </script>
639
488
 
640
489
  <template>
641
490
  <div
642
- data-component="ui-editor-table-toolbar"
491
+ class="ui-editor-table-toolbar"
643
492
  role="toolbar"
644
493
  aria-label="Table actions"
645
494
  v-bind="nativeAttrs($attrs)"
@@ -665,7 +514,7 @@ function uniqueKeys<T>(
665
514
  :aria-pressed="item.active"
666
515
  :class="{ active: item.active }"
667
516
  >
668
- <UiIcon :name="item.action" />
517
+ <UiIcon class="ui-icon" :name="item.action" />
669
518
  </button></KeyedBoundary>
670
519
  </div>
671
520
  <div v-if="alignments.length && structure.length" class="sep" aria-hidden="true"></div>
@@ -676,7 +525,7 @@ function uniqueKeys<T>(
676
525
  type="button"
677
526
  :data-action="item.action"
678
527
  >
679
- <UiIcon :name="item.icon" />
528
+ <UiIcon class="ui-icon" :name="item.icon" />
680
529
  <span>{{ item.label }}</span>
681
530
  </button></KeyedBoundary>
682
531
  </div>
@@ -692,11 +541,11 @@ function uniqueKeys<T>(
692
541
  class="more"
693
542
  data-action="toggle-overflow"
694
543
  aria-haspopup="menu"
695
- :aria-expanded="guarded"
544
+ :aria-expanded="overflowOpen"
696
545
  >
697
- <UiIcon name="table" />
546
+ <UiIcon class="ui-icon" name="table" />
698
547
  <span>Table options</span>
699
- <span class="chevron"><UiIcon name="chevron-down" /></span>
548
+ <span class="chevron"><UiIcon class="ui-icon" name="chevron-down" /></span>
700
549
  </button>
701
550
  <div v-if="overflowOpen" class="menu" role="menu" aria-label="More table actions">
702
551
  <div v-if="swatches.length" class="menu-section" role="none">
@@ -765,7 +614,7 @@ function uniqueKeys<T>(
765
614
  :data-action="item.action"
766
615
  :class="{ danger: item.danger }"
767
616
  >
768
- <UiIcon :name="item.icon" />
617
+ <UiIcon class="ui-icon" :name="item.icon" />
769
618
  <span>{{ item.label }}</span>
770
619
  </button></KeyedBoundary>
771
620
  </div></KeyedBoundary>
@@ -775,189 +624,165 @@ function uniqueKeys<T>(
775
624
  </template>
776
625
 
777
626
  <style scoped>
778
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] {
779
- min-width: max-content;
780
- min-height: 100%;
781
- padding: 0;
782
- background: transparent;
783
- border: 0;
784
- border-radius: 0;
785
- box-shadow: none;
786
- backdrop-filter: none;
787
- }
788
-
789
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button {
790
- min-height: 44px;
791
- background: transparent;
792
- }
793
-
794
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.active,
795
- .looma-editor__mobile-toolbar-shell [data-component~="ui-editor-table-toolbar"] button.selected {
796
- background: var(--ui-accent-soft, var(--ui-accent-subtle));
797
- }
798
-
799
- [data-component~="ui-editor-table-toolbar"] {
800
- display: inline-flex;
801
- align-items: center;
802
- gap: var(--ui-space-1);
803
- padding: var(--ui-space-1);
804
- background: color-mix(in srgb, var(--ui-surface) 94%, transparent);
805
- border: var(--ui-border-width) solid var(--ui-border-strong);
806
- border-radius: calc(var(--ui-radius-md) + 2 * var(--ui-border-width));
807
- box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
808
- backdrop-filter: blur(10px);
809
- }
810
-
811
- .group {
812
- display: inline-flex;
813
- align-items: center;
814
- gap: 2px;
815
- overflow: hidden;
816
- }
817
-
818
- .sep {
819
- width: 1px;
820
- align-self: stretch;
821
- background: var(--ui-border-divider);
822
- }
823
-
824
- .overflow {
825
- position: relative;
826
- }
827
-
828
- [data-component~="ui-editor-table-toolbar"] button {
829
- display: inline-flex;
830
- align-items: center;
831
- justify-content: center;
832
- gap: var(--ui-space-2);
833
- min-height: 32px;
834
- border: 0;
835
- border-radius: var(--ui-radius-sm);
836
- background: transparent;
837
- color: var(--ui-text-primary);
838
- cursor: pointer;
839
- font-size: var(--ui-font-size-sm);
840
- font-weight: 500;
841
- line-height: 1;
842
- padding: var(--ui-space-2) var(--ui-space-2);
843
- white-space: nowrap;
844
- }
845
-
846
- [data-component~="ui-editor-table-toolbar"] button:hover {
847
- background: var(--ui-surface-hover);
848
- }
849
-
850
- [data-component~="ui-editor-table-toolbar"] button.active {
851
- background: var(--ui-accent-soft, var(--ui-accent-subtle));
852
- color: var(--ui-accent-active);
853
- }
854
-
855
- .group button {
856
- border-radius: var(--ui-radius-sm);
857
- }
858
-
859
- .group button + button {
860
- border-left: 0;
861
- }
862
-
863
- [data-component~="ui-editor-table-toolbar"] .more {
864
- border: 0;
865
- border-radius: var(--ui-radius-sm);
866
- }
867
-
868
- [data-component~="ui-editor-table-toolbar"] button.danger {
869
- color: var(--ui-danger);
870
- }
871
-
872
- [data-component~="ui-editor-table-toolbar"] {
873
- --_ui-default-icon-size: var(--ui-editor-toolbar-icon-size, 1rem);
874
- --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
875
- }
876
-
877
- .chevron {
878
- display: inline-flex;
879
- --_ui-default-icon-size: 0.875rem;
880
- }
881
-
882
- [data-component~="ui-editor-table-toolbar"] .icon-button {
883
- width: 32px;
884
- padding-inline: 0;
885
- }
886
-
887
- .menu {
888
- box-sizing: border-box;
889
- position: fixed;
890
- inset: auto;
891
- margin: 0;
892
- min-width: 12rem;
893
- max-width: min(17rem, calc(100vw - 24px));
894
- padding: var(--ui-space-1);
895
- background: var(--ui-surface);
896
- border: var(--ui-border-width) solid var(--ui-border-strong);
897
- border-radius: var(--ui-radius-md);
898
- box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
899
- display: flex;
900
- flex-direction: column;
901
- gap: 2px;
902
- z-index: 2;
903
- overflow-y: auto;
904
- overscroll-behavior: contain;
905
- scrollbar-width: thin;
906
- }
907
-
908
- .menu-section + .menu-section {
909
- margin-top: var(--ui-space-1);
910
- padding-top: var(--ui-space-1);
911
- border-top: var(--ui-border-width) solid var(--ui-border-divider);
912
- }
913
-
914
- .menu-heading {
915
- padding: var(--ui-space-1) var(--ui-space-2);
916
- font-size: var(--ui-font-size-2xs);
917
- font-weight: 700;
918
- letter-spacing: 0.05em;
919
- text-transform: uppercase;
920
- color: var(--ui-text-muted);
921
- }
922
-
923
- .menu button {
924
- display: flex;
925
- justify-content: flex-start;
926
- width: 100%;
927
- text-align: left;
928
- }
929
-
930
- .swatches {
931
- display: grid;
932
- grid-template-columns: repeat(2, minmax(0, 1fr));
933
- gap: 2px;
934
- }
935
-
936
- [data-component~="ui-editor-table-toolbar"] .swatch-button {
937
- gap: var(--ui-space-1);
938
- justify-content: flex-start;
939
- }
940
-
941
- .swatch {
942
- width: 14px;
943
- height: 14px;
944
- flex: 0 0 14px;
945
- border: var(--ui-border-width) solid color-mix(in srgb, var(--ui-border) 80%, #000);
946
- border-radius: var(--ui-radius-round);
947
- background: var(--_swatch);
948
- }
949
-
950
- .swatch.default {
951
- background:
952
- linear-gradient(135deg, transparent 44%, var(--ui-danger) 46% 54%, transparent 56%),
953
- var(--ui-surface);
954
- }
955
-
956
- .swatch-button.selected {
957
- background: var(--ui-accent-soft, var(--ui-accent-subtle));
958
- }
959
-
960
- [data-component~="ui-editor-table-toolbar"][hidden] {
961
- display: none;
627
+ @scope (.ui-editor-table-toolbar) to (.ui-icon) {
628
+ :scope:where(:scope):is(.looma-editor__mobile-toolbar-shell *) {
629
+ min-width: max-content;
630
+ min-height: 100%;
631
+ padding: 0;
632
+ background: transparent;
633
+ border: 0;
634
+ border-radius: 0;
635
+ box-shadow: none;
636
+ backdrop-filter: none;
637
+ }
638
+ .looma-editor__mobile-toolbar-shell :scope button {
639
+ min-height: 44px;
640
+ background: transparent;
641
+ }
642
+ .looma-editor__mobile-toolbar-shell :scope button.active,
643
+ .looma-editor__mobile-toolbar-shell :scope button.selected {
644
+ background: var(--ui-accent-soft, var(--ui-accent-subtle));
645
+ }
646
+ :scope:where(:scope) {
647
+ display: inline-flex;
648
+ align-items: center;
649
+ gap: var(--ui-space-1);
650
+ padding: var(--ui-space-1);
651
+ background: color-mix(in srgb, var(--ui-surface) 94%, transparent);
652
+ border: var(--ui-border-width) solid var(--ui-border-strong);
653
+ border-radius: calc(var(--ui-radius-md) + 2 * var(--ui-border-width));
654
+ box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
655
+ backdrop-filter: blur(10px);
656
+ }
657
+ .group {
658
+ display: inline-flex;
659
+ align-items: center;
660
+ gap: 2px;
661
+ overflow: hidden;
662
+ }
663
+ .sep {
664
+ width: 1px;
665
+ align-self: stretch;
666
+ background: var(--ui-border-divider);
667
+ }
668
+ .overflow {
669
+ position: relative;
670
+ }
671
+ :scope button {
672
+ display: inline-flex;
673
+ align-items: center;
674
+ justify-content: center;
675
+ gap: var(--ui-space-2);
676
+ min-height: 32px;
677
+ border: 0;
678
+ border-radius: var(--ui-radius-sm);
679
+ background: transparent;
680
+ color: var(--ui-text-primary);
681
+ cursor: pointer;
682
+ font-size: var(--ui-font-size-sm);
683
+ font-weight: 500;
684
+ line-height: 1;
685
+ padding: var(--ui-space-2) var(--ui-space-2);
686
+ white-space: nowrap;
687
+ }
688
+ :scope button:hover {
689
+ background: var(--ui-surface-hover);
690
+ }
691
+ :scope button.active {
692
+ background: var(--ui-accent-soft, var(--ui-accent-subtle));
693
+ color: var(--ui-accent-active);
694
+ }
695
+ .group button {
696
+ border-radius: var(--ui-radius-sm);
697
+ }
698
+ .group button + button {
699
+ border-left: 0;
700
+ }
701
+ :scope .more {
702
+ border: 0;
703
+ border-radius: var(--ui-radius-sm);
704
+ }
705
+ :scope button.danger {
706
+ color: var(--ui-danger);
707
+ }
708
+ :scope:where(:scope) {
709
+ --_ui-default-icon-size: var(--ui-editor-toolbar-icon-size, 1rem);
710
+ --_ui-default-icon-stroke-width: var(--ui-editor-toolbar-icon-stroke-width, 1.75);
711
+ }
712
+ .chevron {
713
+ display: inline-flex;
714
+ --_ui-default-icon-size: 0.875rem;
715
+ }
716
+ :scope .icon-button {
717
+ width: 32px;
718
+ padding-inline: 0;
719
+ }
720
+ .menu {
721
+ box-sizing: border-box;
722
+ position: fixed;
723
+ inset: auto;
724
+ margin: 0;
725
+ min-width: 12rem;
726
+ max-width: min(17rem, calc(100vw - 24px));
727
+ padding: var(--ui-space-1);
728
+ background: var(--ui-surface);
729
+ border: var(--ui-border-width) solid var(--ui-border-strong);
730
+ border-radius: var(--ui-radius-md);
731
+ box-shadow: var(--ui-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));
732
+ display: flex;
733
+ flex-direction: column;
734
+ gap: 2px;
735
+ z-index: 2;
736
+ overflow-y: auto;
737
+ overscroll-behavior: contain;
738
+ scrollbar-width: thin;
739
+ }
740
+ .menu-section + .menu-section {
741
+ margin-top: var(--ui-space-1);
742
+ padding-top: var(--ui-space-1);
743
+ border-top: var(--ui-border-width) solid var(--ui-border-divider);
744
+ }
745
+ .menu-heading {
746
+ padding: var(--ui-space-1) var(--ui-space-2);
747
+ font-size: var(--ui-font-size-2xs);
748
+ font-weight: 700;
749
+ letter-spacing: 0.05em;
750
+ text-transform: uppercase;
751
+ color: var(--ui-text-muted);
752
+ }
753
+ .menu button {
754
+ display: flex;
755
+ justify-content: flex-start;
756
+ width: 100%;
757
+ text-align: left;
758
+ }
759
+ .swatches {
760
+ display: grid;
761
+ grid-template-columns: repeat(2, minmax(0, 1fr));
762
+ gap: 2px;
763
+ }
764
+ :scope .swatch-button {
765
+ gap: var(--ui-space-1);
766
+ justify-content: flex-start;
767
+ }
768
+ .swatch {
769
+ width: 14px;
770
+ height: 14px;
771
+ flex: 0 0 14px;
772
+ border: var(--ui-border-width) solid color-mix(in srgb, var(--ui-border) 80%, #000);
773
+ border-radius: var(--ui-radius-round);
774
+ background: var(--_swatch);
775
+ }
776
+ .swatch.default {
777
+ background:
778
+ linear-gradient(135deg, transparent 44%, var(--ui-danger) 46% 54%, transparent 56%),
779
+ var(--ui-surface);
780
+ }
781
+ .swatch-button.selected {
782
+ background: var(--ui-accent-soft, var(--ui-accent-subtle));
783
+ }
784
+ :scope:where(:scope):is([hidden]) {
785
+ display: none;
786
+ }
962
787
  }
963
788
  </style>