@threadlabs/looma 0.28.4 → 0.28.6

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 (437) hide show
  1. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +96 -0
  2. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js +56 -0
  3. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  4. package/dist/index.js +34 -33
  5. package/package.json +3 -2
  6. package/styles/ui-action-bar.css +13 -6
  7. package/styles/ui-affordance-scope.css +12 -5
  8. package/styles/ui-avatar-group.css +17 -10
  9. package/styles/ui-avatar.css +23 -16
  10. package/styles/ui-badge.css +78 -71
  11. package/styles/ui-breadcrumb-item.css +12 -5
  12. package/styles/ui-breadcrumbs.css +10 -3
  13. package/styles/ui-button.css +79 -72
  14. package/styles/ui-callout.css +29 -22
  15. package/styles/ui-card.css +25 -18
  16. package/styles/ui-checkbox.css +45 -37
  17. package/styles/ui-cluster.css +34 -27
  18. package/styles/ui-combobox.css +46 -39
  19. package/styles/ui-container.css +20 -13
  20. package/styles/ui-context-menu.css +17 -10
  21. package/styles/ui-cover.css +12 -5
  22. package/styles/ui-description-item.css +10 -3
  23. package/styles/ui-description-list.css +20 -13
  24. package/styles/ui-dialog.css +44 -35
  25. package/styles/ui-disclosure.css +32 -25
  26. package/styles/ui-editable.css +15 -8
  27. package/styles/ui-editor-image-toolbar.css +1 -0
  28. package/styles/ui-editor-insert-table-grid.css +11 -4
  29. package/styles/ui-editor-mention-menu-item.css +17 -8
  30. package/styles/ui-editor-mention-menu.css +14 -7
  31. package/styles/ui-editor-slash-menu-group.css +10 -3
  32. package/styles/ui-editor-slash-menu-item.css +15 -8
  33. package/styles/ui-editor-slash-menu.css +15 -8
  34. package/styles/ui-editor-surface.css +10 -3
  35. package/styles/ui-editor-table-context-menu.css +17 -10
  36. package/styles/ui-editor-table-overlay.css +17 -10
  37. package/styles/ui-editor-table-toolbar.css +22 -15
  38. package/styles/ui-editor-toolbar.css +18 -11
  39. package/styles/ui-floating-action-button.css +21 -14
  40. package/styles/ui-form-field.css +20 -13
  41. package/styles/ui-grid.css +21 -14
  42. package/styles/ui-icon-button.css +80 -73
  43. package/styles/ui-icon.css +14 -7
  44. package/styles/ui-image.css +25 -18
  45. package/styles/ui-input-group.css +34 -27
  46. package/styles/ui-input.css +42 -35
  47. package/styles/ui-list-item.css +33 -26
  48. package/styles/ui-list.css +22 -15
  49. package/styles/ui-listbox.css +22 -14
  50. package/styles/ui-menu-group.css +10 -3
  51. package/styles/ui-menu-item.css +29 -22
  52. package/styles/ui-menu.css +25 -18
  53. package/styles/ui-meter.css +36 -29
  54. package/styles/ui-nav-item.css +26 -19
  55. package/styles/ui-page-header.css +12 -5
  56. package/styles/ui-popover.css +27 -20
  57. package/styles/ui-radio-group.css +14 -6
  58. package/styles/ui-radio.css +24 -17
  59. package/styles/ui-reel.css +28 -21
  60. package/styles/ui-scroll-area.css +22 -15
  61. package/styles/ui-search-result-row.css +28 -21
  62. package/styles/ui-search-shell.css +24 -17
  63. package/styles/ui-section.css +14 -7
  64. package/styles/ui-select.css +33 -26
  65. package/styles/ui-separator.css +17 -10
  66. package/styles/ui-sidebar.css +35 -28
  67. package/styles/ui-spinner.css +32 -23
  68. package/styles/ui-stack.css +29 -21
  69. package/styles/ui-status-message.css +14 -7
  70. package/styles/ui-switch.css +29 -22
  71. package/styles/ui-switcher.css +27 -20
  72. package/styles/ui-table.css +14 -7
  73. package/styles/ui-tabs.css +24 -17
  74. package/styles/ui-text.css +35 -28
  75. package/styles/ui-textarea.css +37 -30
  76. package/styles/ui-toast-region.css +74 -63
  77. package/styles/ui-toast.css +21 -14
  78. package/styles/ui-tooltip.css +38 -31
  79. package/styles/ui-top-bar.css +19 -12
  80. package/styles/ui-tree-item.css +79 -71
  81. package/styles/ui-tree.css +18 -11
  82. package/vanilla/UiActionBar.d.ts +1 -1
  83. package/vanilla/UiActionBar.js +1 -1
  84. package/vanilla/UiAffordanceScope.d.ts +1 -1
  85. package/vanilla/UiAffordanceScope.js +1 -1
  86. package/vanilla/UiAvatar.d.ts +1 -1
  87. package/vanilla/UiAvatar.js +1 -1
  88. package/vanilla/UiAvatarGroup.d.ts +1 -1
  89. package/vanilla/UiAvatarGroup.js +1 -1
  90. package/vanilla/UiBadge.d.ts +1 -1
  91. package/vanilla/UiBadge.js +1 -1
  92. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  93. package/vanilla/UiBreadcrumbItem.js +1 -1
  94. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  95. package/vanilla/UiBreadcrumbs.js +1 -1
  96. package/vanilla/UiButton.d.ts +1 -1
  97. package/vanilla/UiButton.js +19 -57
  98. package/vanilla/UiCallout.d.ts +1 -1
  99. package/vanilla/UiCallout.js +25 -73
  100. package/vanilla/UiCard.d.ts +1 -1
  101. package/vanilla/UiCard.js +1 -1
  102. package/vanilla/UiCheckbox.d.ts +1 -1
  103. package/vanilla/UiCheckbox.js +1 -1
  104. package/vanilla/UiCluster.d.ts +1 -1
  105. package/vanilla/UiCluster.js +1 -1
  106. package/vanilla/UiCombobox.d.ts +1 -1
  107. package/vanilla/UiCombobox.js +60 -166
  108. package/vanilla/UiContainer.d.ts +1 -1
  109. package/vanilla/UiContainer.js +1 -1
  110. package/vanilla/UiContextMenu.d.ts +1 -1
  111. package/vanilla/UiContextMenu.js +1 -1
  112. package/vanilla/UiCover.d.ts +1 -1
  113. package/vanilla/UiCover.js +1 -1
  114. package/vanilla/UiDescriptionItem.d.ts +1 -1
  115. package/vanilla/UiDescriptionItem.js +1 -1
  116. package/vanilla/UiDescriptionList.d.ts +1 -1
  117. package/vanilla/UiDescriptionList.js +1 -1
  118. package/vanilla/UiDialog.d.ts +1 -1
  119. package/vanilla/UiDialog.js +4 -10
  120. package/vanilla/UiDisclosure.d.ts +1 -1
  121. package/vanilla/UiDisclosure.js +1 -1
  122. package/vanilla/UiEditable.d.ts +1 -1
  123. package/vanilla/UiEditable.js +7 -19
  124. package/vanilla/UiEditorImageToolbar.d.ts +19 -0
  125. package/vanilla/UiEditorImageToolbar.js +171 -0
  126. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  127. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  128. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  129. package/vanilla/UiEditorMentionMenu.js +17 -37
  130. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  131. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  132. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenu.js +5 -4
  134. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  135. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  136. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  137. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  138. package/vanilla/UiEditorSurface.d.ts +1 -1
  139. package/vanilla/UiEditorSurface.js +1 -1
  140. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  141. package/vanilla/UiEditorTableContextMenu.js +6 -14
  142. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  143. package/vanilla/UiEditorTableOverlay.js +9 -25
  144. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorTableToolbar.js +25 -77
  146. package/vanilla/UiEditorToolbar.d.ts +1 -1
  147. package/vanilla/UiEditorToolbar.js +1 -1
  148. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  149. package/vanilla/UiFloatingActionButton.js +1 -1
  150. package/vanilla/UiFormField.d.ts +1 -1
  151. package/vanilla/UiFormField.js +1 -1
  152. package/vanilla/UiGrid.d.ts +1 -1
  153. package/vanilla/UiGrid.js +1 -1
  154. package/vanilla/UiIcon.d.ts +1 -1
  155. package/vanilla/UiIcon.js +15 -47
  156. package/vanilla/UiIconButton.d.ts +1 -1
  157. package/vanilla/UiIconButton.js +4 -10
  158. package/vanilla/UiImage.d.ts +1 -1
  159. package/vanilla/UiImage.js +1 -1
  160. package/vanilla/UiInput.d.ts +1 -1
  161. package/vanilla/UiInput.js +1 -1
  162. package/vanilla/UiInputGroup.d.ts +1 -1
  163. package/vanilla/UiInputGroup.js +1 -1
  164. package/vanilla/UiList.d.ts +1 -1
  165. package/vanilla/UiList.js +1 -1
  166. package/vanilla/UiListItem.d.ts +1 -1
  167. package/vanilla/UiListItem.js +1 -1
  168. package/vanilla/UiListbox.d.ts +1 -1
  169. package/vanilla/UiListbox.js +4 -10
  170. package/vanilla/UiMenu.d.ts +1 -1
  171. package/vanilla/UiMenu.js +1 -1
  172. package/vanilla/UiMenuGroup.d.ts +1 -1
  173. package/vanilla/UiMenuGroup.js +4 -10
  174. package/vanilla/UiMenuItem.d.ts +1 -1
  175. package/vanilla/UiMenuItem.js +4 -10
  176. package/vanilla/UiMeter.d.ts +1 -1
  177. package/vanilla/UiMeter.js +13 -33
  178. package/vanilla/UiNavItem.d.ts +1 -1
  179. package/vanilla/UiNavItem.js +1 -1
  180. package/vanilla/UiPageHeader.d.ts +1 -1
  181. package/vanilla/UiPageHeader.js +1 -1
  182. package/vanilla/UiPopover.d.ts +1 -1
  183. package/vanilla/UiPopover.js +1 -1
  184. package/vanilla/UiRadio.d.ts +1 -1
  185. package/vanilla/UiRadio.js +1 -1
  186. package/vanilla/UiRadioGroup.d.ts +1 -1
  187. package/vanilla/UiRadioGroup.js +1 -1
  188. package/vanilla/UiReel.d.ts +1 -1
  189. package/vanilla/UiReel.js +1 -1
  190. package/vanilla/UiScrollArea.d.ts +1 -1
  191. package/vanilla/UiScrollArea.js +1 -1
  192. package/vanilla/UiSearchResultRow.d.ts +1 -1
  193. package/vanilla/UiSearchResultRow.js +1 -1
  194. package/vanilla/UiSearchShell.d.ts +1 -1
  195. package/vanilla/UiSearchShell.js +1 -1
  196. package/vanilla/UiSection.d.ts +1 -1
  197. package/vanilla/UiSection.js +1 -1
  198. package/vanilla/UiSelect.d.ts +1 -1
  199. package/vanilla/UiSelect.js +1 -1
  200. package/vanilla/UiSeparator.d.ts +1 -1
  201. package/vanilla/UiSeparator.js +1 -1
  202. package/vanilla/UiSidebar.d.ts +1 -1
  203. package/vanilla/UiSidebar.js +1 -1
  204. package/vanilla/UiSpinner.d.ts +1 -1
  205. package/vanilla/UiSpinner.js +1 -1
  206. package/vanilla/UiStack.d.ts +1 -1
  207. package/vanilla/UiStack.js +1 -1
  208. package/vanilla/UiStatusMessage.d.ts +1 -1
  209. package/vanilla/UiStatusMessage.js +1 -1
  210. package/vanilla/UiSwitch.d.ts +1 -1
  211. package/vanilla/UiSwitch.js +1 -1
  212. package/vanilla/UiSwitcher.d.ts +1 -1
  213. package/vanilla/UiSwitcher.js +1 -1
  214. package/vanilla/UiTable.d.ts +1 -1
  215. package/vanilla/UiTable.js +1 -1
  216. package/vanilla/UiTabs.d.ts +1 -1
  217. package/vanilla/UiTabs.js +1 -1
  218. package/vanilla/UiText.d.ts +1 -1
  219. package/vanilla/UiText.js +1 -1
  220. package/vanilla/UiTextarea.d.ts +1 -1
  221. package/vanilla/UiTextarea.js +1 -1
  222. package/vanilla/UiToast.d.ts +1 -1
  223. package/vanilla/UiToast.js +1 -1
  224. package/vanilla/UiToastRegion.d.ts +1 -1
  225. package/vanilla/UiToastRegion.js +1 -1
  226. package/vanilla/UiTooltip.d.ts +1 -1
  227. package/vanilla/UiTooltip.js +1 -1
  228. package/vanilla/UiTopBar.d.ts +1 -1
  229. package/vanilla/UiTopBar.js +1 -1
  230. package/vanilla/UiTree.d.ts +1 -1
  231. package/vanilla/UiTree.js +1 -1
  232. package/vanilla/UiTreeItem.d.ts +1 -1
  233. package/vanilla/UiTreeItem.js +7 -19
  234. package/vanilla/index.js +1 -0
  235. package/vue/UiActionBar.vue +46 -78
  236. package/vue/UiAffordanceScope.vue +27 -66
  237. package/vue/UiAvatar.d.ts +10 -7
  238. package/vue/UiAvatar.vue +100 -218
  239. package/vue/UiAvatarGroup.d.ts +10 -7
  240. package/vue/UiAvatarGroup.vue +78 -160
  241. package/vue/UiBadge.d.ts +1 -1
  242. package/vue/UiBadge.vue +483 -520
  243. package/vue/UiBreadcrumbItem.vue +52 -123
  244. package/vue/UiBreadcrumbs.vue +27 -70
  245. package/vue/UiButton.d.ts +2 -2
  246. package/vue/UiButton.vue +420 -471
  247. package/vue/UiCallout.vue +131 -175
  248. package/vue/UiCard.d.ts +1 -1
  249. package/vue/UiCard.vue +112 -151
  250. package/vue/UiCheckbox.d.ts +13 -10
  251. package/vue/UiCheckbox.vue +160 -221
  252. package/vue/UiCluster.d.ts +1 -1
  253. package/vue/UiCluster.vue +84 -128
  254. package/vue/UiCombobox.d.ts +71 -68
  255. package/vue/UiCombobox.vue +417 -743
  256. package/vue/UiContainer.vue +43 -87
  257. package/vue/UiContextMenu.d.ts +6 -6
  258. package/vue/UiContextMenu.vue +78 -117
  259. package/vue/UiCover.vue +29 -69
  260. package/vue/UiDescriptionItem.vue +39 -82
  261. package/vue/UiDescriptionList.vue +64 -107
  262. package/vue/UiDialog.d.ts +22 -19
  263. package/vue/UiDialog.vue +193 -246
  264. package/vue/UiDisclosure.d.ts +22 -19
  265. package/vue/UiDisclosure.vue +192 -283
  266. package/vue/UiEditable.d.ts +5 -5
  267. package/vue/UiEditable.vue +124 -207
  268. package/vue/UiEditorImageToolbar.d.ts +54 -0
  269. package/vue/UiEditorImageToolbar.js +2 -0
  270. package/vue/UiEditorImageToolbar.vue +415 -0
  271. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  272. package/vue/UiEditorInsertTableGrid.vue +98 -266
  273. package/vue/UiEditorMentionMenu.d.ts +15 -12
  274. package/vue/UiEditorMentionMenu.vue +150 -239
  275. package/vue/UiEditorMentionMenuItem.vue +66 -110
  276. package/vue/UiEditorSlashMenu.d.ts +16 -13
  277. package/vue/UiEditorSlashMenu.vue +172 -253
  278. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  279. package/vue/UiEditorSlashMenuItem.vue +67 -115
  280. package/vue/UiEditorSurface.vue +19 -63
  281. package/vue/UiEditorTableContextMenu.vue +135 -269
  282. package/vue/UiEditorTableOverlay.d.ts +2 -2
  283. package/vue/UiEditorTableOverlay.vue +310 -479
  284. package/vue/UiEditorTableToolbar.d.ts +2 -2
  285. package/vue/UiEditorTableToolbar.vue +182 -357
  286. package/vue/UiEditorToolbar.vue +143 -183
  287. package/vue/UiFloatingActionButton.vue +70 -114
  288. package/vue/UiFormField.d.ts +1 -1
  289. package/vue/UiFormField.vue +76 -117
  290. package/vue/UiGrid.d.ts +1 -1
  291. package/vue/UiGrid.vue +65 -103
  292. package/vue/UiIcon.vue +32 -106
  293. package/vue/UiIconButton.d.ts +2 -2
  294. package/vue/UiIconButton.vue +359 -411
  295. package/vue/UiImage.vue +145 -180
  296. package/vue/UiInput.vue +158 -190
  297. package/vue/UiInputGroup.vue +199 -239
  298. package/vue/UiList.vue +67 -109
  299. package/vue/UiListItem.vue +154 -201
  300. package/vue/UiListbox.d.ts +10 -7
  301. package/vue/UiListbox.vue +86 -260
  302. package/vue/UiMenu.d.ts +11 -11
  303. package/vue/UiMenu.vue +118 -152
  304. package/vue/UiMenuGroup.vue +21 -67
  305. package/vue/UiMenuItem.d.ts +19 -16
  306. package/vue/UiMenuItem.vue +169 -262
  307. package/vue/UiMeter.d.ts +4 -4
  308. package/vue/UiMeter.vue +166 -680
  309. package/vue/UiNavItem.vue +140 -213
  310. package/vue/UiPageHeader.vue +81 -127
  311. package/vue/UiPopover.d.ts +7 -7
  312. package/vue/UiPopover.vue +90 -129
  313. package/vue/UiRadio.d.ts +12 -9
  314. package/vue/UiRadio.vue +91 -149
  315. package/vue/UiRadioGroup.d.ts +2 -2
  316. package/vue/UiRadioGroup.vue +47 -85
  317. package/vue/UiReel.vue +89 -130
  318. package/vue/UiScrollArea.d.ts +1 -1
  319. package/vue/UiScrollArea.vue +78 -119
  320. package/vue/UiSearchResultRow.vue +96 -149
  321. package/vue/UiSearchShell.d.ts +2 -2
  322. package/vue/UiSearchShell.vue +159 -196
  323. package/vue/UiSection.vue +105 -149
  324. package/vue/UiSelect.d.ts +1 -1
  325. package/vue/UiSelect.vue +114 -146
  326. package/vue/UiSeparator.vue +42 -85
  327. package/vue/UiSidebar.d.ts +10 -7
  328. package/vue/UiSidebar.vue +193 -260
  329. package/vue/UiSpinner.vue +54 -130
  330. package/vue/UiStack.vue +66 -107
  331. package/vue/UiStatusMessage.d.ts +1 -1
  332. package/vue/UiStatusMessage.vue +61 -135
  333. package/vue/UiSwitch.d.ts +12 -9
  334. package/vue/UiSwitch.vue +136 -194
  335. package/vue/UiSwitcher.vue +69 -107
  336. package/vue/UiTable.vue +121 -156
  337. package/vue/UiTabs.d.ts +1 -1
  338. package/vue/UiTabs.vue +139 -267
  339. package/vue/UiText.d.ts +4 -4
  340. package/vue/UiText.vue +145 -184
  341. package/vue/UiTextarea.d.ts +2 -2
  342. package/vue/UiTextarea.vue +162 -194
  343. package/vue/UiToast.vue +70 -118
  344. package/vue/UiToastRegion.vue +157 -276
  345. package/vue/UiTooltip.d.ts +21 -18
  346. package/vue/UiTooltip.vue +174 -234
  347. package/vue/UiTopBar.vue +48 -76
  348. package/vue/UiTree.vue +46 -79
  349. package/vue/UiTreeItem.d.ts +18 -15
  350. package/vue/UiTreeItem.vue +526 -668
  351. package/vue/chunks/UiActionBar.js +5 -17
  352. package/vue/chunks/UiAffordanceScope.js +7 -26
  353. package/vue/chunks/UiAvatar.js +20 -74
  354. package/vue/chunks/UiAvatarGroup.js +14 -56
  355. package/vue/chunks/UiBadge.js +10 -28
  356. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  357. package/vue/chunks/UiBreadcrumbs.js +7 -25
  358. package/vue/chunks/UiButton.js +80 -103
  359. package/vue/chunks/UiCallout.js +9 -27
  360. package/vue/chunks/UiCard.js +33 -53
  361. package/vue/chunks/UiCheckbox.js +14 -46
  362. package/vue/chunks/UiCluster.js +13 -31
  363. package/vue/chunks/UiCombobox.js +99 -237
  364. package/vue/chunks/UiContainer.js +9 -27
  365. package/vue/chunks/UiContextMenu.js +7 -26
  366. package/vue/chunks/UiCover.js +7 -25
  367. package/vue/chunks/UiDescriptionItem.js +6 -24
  368. package/vue/chunks/UiDescriptionList.js +9 -27
  369. package/vue/chunks/UiDialog.js +18 -47
  370. package/vue/chunks/UiDisclosure.js +19 -66
  371. package/vue/chunks/UiEditable.js +18 -60
  372. package/vue/chunks/UiEditorImageToolbar.js +515 -0
  373. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  374. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  375. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  376. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  377. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  378. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  379. package/vue/chunks/UiEditorSurface.js +7 -25
  380. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  381. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  382. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  383. package/vue/chunks/UiEditorToolbar.js +7 -26
  384. package/vue/chunks/UiFloatingActionButton.js +10 -28
  385. package/vue/chunks/UiFormField.js +8 -27
  386. package/vue/chunks/UiGrid.js +10 -28
  387. package/vue/chunks/UiIcon.js +21 -74
  388. package/vue/chunks/UiIconButton.js +18 -50
  389. package/vue/chunks/UiImage.js +14 -33
  390. package/vue/chunks/UiInput.js +12 -31
  391. package/vue/chunks/UiInputGroup.js +10 -29
  392. package/vue/chunks/UiList.js +17 -37
  393. package/vue/chunks/UiListItem.js +12 -30
  394. package/vue/chunks/UiListbox.js +22 -124
  395. package/vue/chunks/UiMenu.js +13 -32
  396. package/vue/chunks/UiMenuGroup.js +8 -26
  397. package/vue/chunks/UiMenuItem.js +35 -80
  398. package/vue/chunks/UiMeter.js +17 -351
  399. package/vue/chunks/UiNavItem.js +23 -57
  400. package/vue/chunks/UiPageHeader.js +7 -25
  401. package/vue/chunks/UiPopover.js +9 -28
  402. package/vue/chunks/UiRadio.js +11 -43
  403. package/vue/chunks/UiRadioGroup.js +13 -32
  404. package/vue/chunks/UiReel.js +10 -28
  405. package/vue/chunks/UiScrollArea.js +10 -29
  406. package/vue/chunks/UiSearchResultRow.js +10 -28
  407. package/vue/chunks/UiSearchShell.js +9 -28
  408. package/vue/chunks/UiSection.js +9 -27
  409. package/vue/chunks/UiSelect.js +10 -29
  410. package/vue/chunks/UiSeparator.js +10 -28
  411. package/vue/chunks/UiSidebar.js +15 -47
  412. package/vue/chunks/UiSpinner.js +8 -44
  413. package/vue/chunks/UiStack.js +12 -30
  414. package/vue/chunks/UiStatusMessage.js +10 -42
  415. package/vue/chunks/UiSwitch.js +11 -43
  416. package/vue/chunks/UiSwitcher.js +9 -28
  417. package/vue/chunks/UiTable.js +7 -26
  418. package/vue/chunks/UiTabs.js +15 -91
  419. package/vue/chunks/UiText.js +148 -168
  420. package/vue/chunks/UiTextarea.js +16 -35
  421. package/vue/chunks/UiToast.js +13 -37
  422. package/vue/chunks/UiToastRegion.js +16 -88
  423. package/vue/chunks/UiTooltip.js +14 -46
  424. package/vue/chunks/UiTopBar.js +5 -17
  425. package/vue/chunks/UiTree.js +13 -32
  426. package/vue/chunks/UiTreeItem.js +34 -90
  427. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  428. package/vue/chunks/control.js +3 -0
  429. package/vue/chunks/props.js +1 -1
  430. package/vue/components.css +7902 -7830
  431. package/vue/editor/index.js +42 -171
  432. package/vue/editor/primitives.d.ts +9 -1
  433. package/vue/host.ts +999 -14
  434. package/vue/index.d.ts +1 -0
  435. package/vue/index.js +9 -8
  436. package/vue/chunks/host.js +0 -443
  437. package/vue/editor/image-controls.d.ts +0 -19
package/vue/UiTabs.vue CHANGED
@@ -1,17 +1,17 @@
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, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
+ import type { PropType } from 'vue'
3
5
  import {
4
- computed,
5
- defineComponent,
6
- getCurrentInstance,
7
- h,
8
- provide,
9
- ref,
10
- useTemplateRef,
11
- watchSyncEffect,
12
- } from 'vue'
13
- import type { PropType, VNode } from 'vue'
14
- import { createDispatch, useComponentHost } from './host'
6
+ checkHydratedRoot,
7
+ concat,
8
+ createDispatch,
9
+ KeyedBoundary,
10
+ nativeAttrs,
11
+ uniqueKeys,
12
+ useComponentHost,
13
+ useReflectedProp,
14
+ } from './host'
15
15
  import { acceptsControllerWrite } from './props'
16
16
  import { checkedProp, propValidityState, vPropValidity } from './props'
17
17
 
@@ -158,64 +158,7 @@ void checkedProps.value
158
158
  watchSyncEffect(() => {
159
159
  void checkedProps.value
160
160
  })
161
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
162
- const names = Object.keys(attrs)
163
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
164
- return Object.fromEntries(names.map((name) => [
165
- Object.hasOwn(Object.prototype, name)
166
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
167
- : name,
168
- attrs[name],
169
- ]))
170
- }
171
- const KeyedFailure = defineComponent({
172
- props: { error: { type: null, required: true } },
173
- setup(props) {
174
- return () => {
175
- throw props.error
176
- }
177
- },
178
- })
179
- const KeyedBoundary = defineComponent({
180
- setup(_props, { slots }) {
181
- let last: VNode[] = []
182
- return () => {
183
- try {
184
- last = slots.default?.() ?? []
185
- return last
186
- } catch (error) {
187
- if (
188
- !(error instanceof Error)
189
- || (error as Error & { diagnostic?: { code?: string } }).diagnostic?.code !== 'HR004'
190
- ) throw error
191
- if (typeof window === 'undefined') throw error
192
- return [...last, h(KeyedFailure, { error })]
193
- }
194
- }
195
- },
196
- })
197
- const componentInstance = getCurrentInstance()
198
- function reflectedProp(
199
- name: string,
200
- kebab: string,
201
- value: unknown,
202
- fallback: string | undefined,
203
- bound: boolean,
204
- separator?: string,
205
- ): string | undefined {
206
- const incoming = componentInstance?.vnode.props
207
- if (
208
- !bound
209
- && (incoming === null || incoming === undefined
210
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
211
- ) return fallback
212
- if (value === null || value === undefined) return undefined
213
- return Array.isArray(value) && separator !== undefined
214
- ? value.join(separator)
215
- : typeof value === 'object'
216
- ? JSON.stringify(value)
217
- : String(value)
218
- }
161
+ const reflectedProp = useReflectedProp()
219
162
  const hydrationInstance = getCurrentInstance()
220
163
  const emit = defineEmits<{
221
164
  'update:value': [value: string]
@@ -237,19 +180,7 @@ const internalValue = ref('')
237
180
  const tabs = ref<{ id: string; label: string }[]>([])
238
181
  provide('html-next:ui-tabs:internalValue', internalValue)
239
182
  provide('html-next:ui-tabs:tabs', tabs)
240
- const hydrationNode = hydrationInstance?.vnode.el
241
- if (
242
- typeof window !== 'undefined' && hydrationNode != null
243
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
244
- ) {
245
- throw Object.assign(new Error('HR005: Server markup for <ui-tabs> has an incompatible root.'), {
246
- name: 'HtmlDiagnosticError',
247
- diagnostic: Object.freeze({
248
- code: 'HR005',
249
- message: 'Server markup for <ui-tabs> has an incompatible root.',
250
- }),
251
- })
252
- }
183
+ checkHydratedRoot('div', 'ui-tabs')
253
184
 
254
185
  /** The values the styles' :host-state() rules test. */
255
186
  const hostState = computed(() =>
@@ -323,62 +254,11 @@ useComponentHost(() => import('../components/ui-tabs/ui-tabs.js'), {
323
254
  refs: { list: listElement, panels: panelsElement },
324
255
  state: { internalValue, tabs },
325
256
  })
326
-
327
- function text(value: unknown): string {
328
- if (Array.isArray(value)) return value.map(text).join(' ')
329
- return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
330
- }
331
-
332
- // A nonempty scalar call cannot produce the invalid-result sentinel.
333
- type ConcatResult<T extends unknown[]> = T extends
334
- [
335
- string | number | boolean | null | undefined,
336
- ...(string | number | boolean | null | undefined)[],
337
- ] ? string | undefined
338
- : string | symbol | undefined
339
- function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
340
- if (values.some(value => value === Symbol.for('html-next.invalid-result'))) {
341
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
342
- }
343
- if (values.some(value => value === undefined)) return undefined as ConcatResult<T>
344
- if (values.length === 0 || values.some(value => typeof value === 'object' && value !== null)) {
345
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
346
- }
347
- return values.map(value => value === null ? '' : String(value)).join('') as ConcatResult<T>
348
- }
349
-
350
- function uniqueKeys<T>(
351
- items: readonly T[],
352
- keyOf: (
353
- item: T,
354
- index: number,
355
- loop: { index: number; first: boolean; last: boolean; count: number },
356
- ) => unknown,
357
- ): readonly T[] {
358
- const seen = new Set<unknown>()
359
- for (let index = 0; index < items.length; index += 1) {
360
- const key = keyOf(items[index]!, index, {
361
- index,
362
- first: index === 0,
363
- last: index === items.length - 1,
364
- count: items.length,
365
- })
366
- if (seen.has(key)) {
367
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`
368
- throw Object.assign(new Error(`HR004: ${message}`), {
369
- name: 'HtmlDiagnosticError',
370
- diagnostic: Object.freeze({ code: 'HR004', message }),
371
- })
372
- }
373
- seen.add(key)
374
- }
375
- return items
376
- }
377
257
  </script>
378
258
 
379
259
  <template>
380
260
  <div
381
- data-component="ui-tabs"
261
+ class="ui-tabs"
382
262
  v-bind="nativeAttrs($attrs)"
383
263
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
384
264
  :data-activation="reflectedProp('activation', 'activation', checkedProps.activation, undefined, false)"
@@ -431,155 +311,147 @@ function uniqueKeys<T>(
431
311
  }
432
312
 
433
313
  /* Density resolves into the tab row's own values; the public tokens still override them. */
434
- [data-component~="ui-tabs"] {
435
- /* Hooks do not inherit, so the parts below read them from the root. */
436
- --_ui-tabs-tab-min-block-size: var(--ui-tabs-tab-min-block-size);
437
- --_ui-tabs-tab-padding-block: var(--ui-tabs-tab-padding-block);
438
- --_ui-tabs-tab-padding-inline: var(--ui-tabs-tab-padding-inline);
439
314
 
440
- --_tab-min-block-size: var(--ui-control-size);
441
- --_tab-padding-block: var(--ui-space-2);
442
- --_tab-padding-inline: var(--ui-space-3);
443
- }
315
+ /* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
316
+ /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
317
+ * Trimming applies to block containers, so the box is a block with centred content. */
444
318
 
445
- [data-component~="ui-tabs"][data-ui-tabs-state~="density=compact"] {
446
- --_tab-min-block-size: var(--ui-control-size-sm);
447
- --_tab-padding-block: var(--ui-space-1);
448
- --_tab-padding-inline: var(--ui-space-2);
449
- }
319
+ /* A component that sets its display still honours the hidden attribute on its root. */
450
320
 
451
- [data-component~="ui-tabs"] {
452
- display: grid;
453
- inline-size: 100%;
454
- min-inline-size: 0;
455
- }
321
+ @scope (.ui-tabs) {
322
+ :scope:where(:scope) {
323
+ /* Hooks do not inherit, so the parts below read them from the root. */
324
+ --_ui-tabs-tab-min-block-size: var(--ui-tabs-tab-min-block-size);
325
+ --_ui-tabs-tab-padding-block: var(--ui-tabs-tab-padding-block);
326
+ --_ui-tabs-tab-padding-inline: var(--ui-tabs-tab-padding-inline);
456
327
 
457
- .list {
458
- display: grid;
459
- grid-auto-flow: column;
460
- grid-auto-columns: max-content;
461
- justify-content: start;
462
- inline-size: 100%;
463
- max-inline-size: 100%;
464
- /* Tabs that do not fit scroll sideways rather than wrapping or squeezing. */
465
- overflow-x: auto;
466
- /* overflow-x: auto would make the block axis scrollable too; a sideways swipe must not scroll the
467
- strip or the page vertically. */
468
- overflow-y: hidden;
469
- overscroll-behavior: contain;
470
- scrollbar-width: thin;
471
- border-block-end: var(--ui-border-width) solid var(--ui-border-divider);
472
- }
328
+ --_tab-min-block-size: var(--ui-control-size);
329
+ --_tab-padding-block: var(--ui-space-2);
330
+ --_tab-padding-inline: var(--ui-space-3);
331
+ }
473
332
 
474
- .list button,
475
- .list > :slotted(button[slot="tab"]) {
476
- min-block-size: var(--_ui-tabs-tab-min-block-size, var(--_tab-min-block-size));
477
- margin: 0 0 calc(-1 * var(--ui-border-width));
478
- padding: var(--_ui-tabs-tab-padding-block, var(--_tab-padding-block))
479
- var(--_ui-tabs-tab-padding-inline, var(--_tab-padding-inline));
480
- border: 0;
481
- border-block-end: var(--ui-accent-line-width) solid transparent;
482
- background: transparent;
483
- color: var(--ui-text-secondary);
484
- font: inherit;
485
- font-size: var(--ui-font-size-sm);
486
- font-weight: var(--ui-font-medium);
487
- cursor: pointer;
488
- transition:
489
- color var(--ui-motion-fast) var(--ui-motion-ease),
490
- background-color var(--ui-motion-fast) var(--ui-motion-ease),
491
- border-color var(--ui-motion-fast) var(--ui-motion-ease);
492
- }
333
+ :scope:where(:scope):is([data-ui-tabs-state~="density=compact"]) {
334
+ --_tab-min-block-size: var(--ui-control-size-sm);
335
+ --_tab-padding-block: var(--ui-space-1);
336
+ --_tab-padding-inline: var(--ui-space-2);
337
+ }
493
338
 
494
- /* Centre the glyphs, not the line box: a label without descenders otherwise reads high. */
495
- /* Centre the glyphs, not the line box: a label without descenders otherwise reads high.
496
- * Trimming applies to block containers, so the box is a block with centred content. */
497
- @supports (text-box-trim: trim-both) {
498
- .list button,
499
- .list > :slotted(button[slot="tab"]) {
500
- display: block;
501
- text-align: center;
502
- align-content: center;
503
- text-box-trim: trim-both;
504
- text-box-edge: cap alphabetic;
339
+ :scope:where(:scope) {
340
+ display: grid;
341
+ inline-size: 100%;
342
+ min-inline-size: 0;
505
343
  }
506
- }
507
344
 
508
- [data-component~="ui-tabs"][data-ui-tabs-state~="stretch"] .list {
509
- grid-auto-columns: minmax(max-content, 1fr);
510
- }
345
+ .list {
346
+ display: grid;
347
+ grid-auto-flow: column;
348
+ grid-auto-columns: max-content;
349
+ justify-content: start;
350
+ inline-size: 100%;
351
+ max-inline-size: 100%;
352
+ /* Tabs that do not fit scroll sideways rather than wrapping or squeezing. */
353
+ overflow-x: auto;
354
+ /* overflow-x: auto would make the block axis scrollable too; a sideways swipe must not scroll the
355
+ strip or the page vertically. */
356
+ overflow-y: hidden;
357
+ overscroll-behavior: contain;
358
+ scrollbar-width: thin;
359
+ border-block-end: var(--ui-border-width) solid var(--ui-border-divider);
360
+ }
511
361
 
512
- .list button,
513
- .list > :slotted(button[slot="tab"]) {
514
- white-space: nowrap;
515
- }
362
+ .list button, .list > :slotted(button[slot="tab"]) {
363
+ min-block-size: var(--_ui-tabs-tab-min-block-size, var(--_tab-min-block-size));
364
+ margin: 0 0 calc(-1 * var(--ui-border-width));
365
+ padding: var(--_ui-tabs-tab-padding-block, var(--_tab-padding-block))
366
+ var(--_ui-tabs-tab-padding-inline, var(--_tab-padding-inline));
367
+ border: 0;
368
+ border-block-end: var(--ui-accent-line-width) solid transparent;
369
+ background: transparent;
370
+ color: var(--ui-text-secondary);
371
+ font: inherit;
372
+ font-size: var(--ui-font-size-sm);
373
+ font-weight: var(--ui-font-medium);
374
+ cursor: pointer;
375
+ transition:
376
+ color var(--ui-motion-fast) var(--ui-motion-ease),
377
+ background-color var(--ui-motion-fast) var(--ui-motion-ease),
378
+ border-color var(--ui-motion-fast) var(--ui-motion-ease);
379
+ }
380
+ @supports (text-box-trim: trim-both) {
381
+ .list button, .list > :slotted(button[slot="tab"]) {
382
+ display: block;
383
+ text-align: center;
384
+ align-content: center;
385
+ text-box-trim: trim-both;
386
+ text-box-edge: cap alphabetic;
387
+ }
388
+ }
516
389
 
517
- .list button:hover,
518
- .list > :slotted(button[slot="tab"]:hover) {
519
- color: var(--ui-text-primary);
520
- background: var(--ui-surface-muted);
521
- }
522
- .list button[aria-selected="true"],
523
- .list > :slotted(button[slot="tab"][aria-selected="true"]) {
524
- color: var(--ui-accent-solid);
525
- border-block-end-color: var(--ui-accent-solid);
526
- }
527
- .list button:focus-visible,
528
- .list > :slotted(button[slot="tab"]:focus-visible) {
529
- position: relative;
530
- outline: none;
531
- box-shadow: inset 0 0 0 var(--ui-focus-width)
532
- color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
533
- border-radius: var(--ui-radius-sm);
534
- }
390
+ :scope[data-ui-tabs-state~="stretch"] .list {
391
+ grid-auto-columns: minmax(max-content, 1fr);
392
+ }
535
393
 
536
- .panels {
537
- min-inline-size: 0;
538
- }
539
- .panels > :slotted(*) {
540
- padding: var(--ui-space-4);
541
- }
394
+ .list button, .list > :slotted(button[slot="tab"]) {
395
+ white-space: nowrap;
396
+ }
542
397
 
543
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] {
544
- grid-template-columns: max-content minmax(0, 1fr);
545
- align-items: start;
546
- }
398
+ .list button:hover, .list > :slotted(button[slot="tab"]:hover) {
399
+ color: var(--ui-text-primary);
400
+ background: var(--ui-surface-muted);
401
+ }
402
+ .list button[aria-selected="true"], .list > :slotted(button[slot="tab"][aria-selected="true"]) {
403
+ color: var(--ui-accent-solid);
404
+ border-block-end-color: var(--ui-accent-solid);
405
+ }
406
+ .list button:focus-visible, .list > :slotted(button[slot="tab"]:focus-visible) {
407
+ position: relative;
408
+ outline: none;
409
+ box-shadow: inset 0 0 0 var(--ui-focus-width)
410
+ color-mix(in srgb, var(--ui-focus-ring) 45%, transparent);
411
+ border-radius: var(--ui-radius-sm);
412
+ }
547
413
 
548
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list {
549
- grid-auto-flow: row;
550
- grid-auto-columns: auto;
551
- border-block-end: 0;
552
- border-inline-end: var(--ui-border-width) solid var(--ui-border-divider);
553
- }
414
+ .panels {
415
+ min-inline-size: 0;
416
+ }
417
+ .panels > :slotted(*) {
418
+ padding: var(--ui-space-4);
419
+ }
554
420
 
555
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"] .list button,
556
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"]
557
- .list
558
- > :slotted(button[slot="tab"]) {
559
- margin: 0 calc(-1 * var(--ui-border-width)) 0 0;
560
- border-block-end: 0;
561
- border-inline-end: var(--ui-accent-line-width) solid transparent;
562
- text-align: start;
563
- }
421
+ :scope:where(:scope):is([data-ui-tabs-state~="orientation=vertical"]) {
422
+ grid-template-columns: max-content minmax(0, 1fr);
423
+ align-items: start;
424
+ }
564
425
 
565
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"]
566
- .list
567
- button[aria-selected="true"],
568
- [data-component~="ui-tabs"][data-ui-tabs-state~="orientation=vertical"]
569
- .list
570
- > :slotted(button[slot="tab"][aria-selected="true"]) {
571
- border-inline-end-color: var(--ui-accent-solid);
572
- }
426
+ :scope[data-ui-tabs-state~="orientation=vertical"] .list {
427
+ grid-auto-flow: row;
428
+ grid-auto-columns: auto;
429
+ border-block-end: 0;
430
+ border-inline-end: var(--ui-border-width) solid var(--ui-border-divider);
431
+ }
573
432
 
574
- @media (prefers-reduced-motion: reduce) {
575
- .list button,
576
- .list > :slotted(button[slot="tab"]) {
577
- transition: none;
433
+ :scope[data-ui-tabs-state~="orientation=vertical"] .list button,
434
+ :scope[data-ui-tabs-state~="orientation=vertical"] .list > :slotted(button[slot="tab"]) {
435
+ margin: 0 calc(-1 * var(--ui-border-width)) 0 0;
436
+ border-block-end: 0;
437
+ border-inline-end: var(--ui-accent-line-width) solid transparent;
438
+ text-align: start;
578
439
  }
579
- }
580
440
 
581
- /* A component that sets its display still honours the hidden attribute on its root. */
582
- [data-component~="ui-tabs"][hidden] {
583
- display: none;
441
+ :scope[data-ui-tabs-state~="orientation=vertical"] .list button[aria-selected="true"],
442
+ :scope[data-ui-tabs-state~="orientation=vertical"]
443
+ .list
444
+ > :slotted(button[slot="tab"][aria-selected="true"]) {
445
+ border-inline-end-color: var(--ui-accent-solid);
446
+ }
447
+
448
+ @media (prefers-reduced-motion: reduce) {
449
+ .list button, .list > :slotted(button[slot="tab"]) {
450
+ transition: none;
451
+ }
452
+ }
453
+ :scope:where(:scope):is([hidden]) {
454
+ display: none;
455
+ }
584
456
  }
585
457
  </style>
package/vue/UiText.d.ts CHANGED
@@ -114,17 +114,17 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
114
114
  default: string;
115
115
  };
116
116
  }>> & Readonly<{}>, {
117
- font: "inherit" | "sans" | null;
118
117
  size: "inherit" | "xs" | "sm" | "md" | "lg" | null;
119
- tone: "secondary" | "default" | "info" | "accent" | "success" | "warning" | "danger" | "muted" | null;
118
+ trim: boolean | null;
119
+ font: "inherit" | "sans" | null;
120
+ tone: "default" | "secondary" | "info" | "accent" | "success" | "warning" | "danger" | "muted" | null;
120
121
  variant: "code" | "body" | "eyebrow" | null;
121
122
  align: "center" | "start" | null;
122
123
  as: "div" | "h2" | "h3" | "h4" | "h5" | "h6" | "label" | "p" | "small" | "span" | "strong" | null;
123
124
  wrap: "normal" | "anywhere" | null;
124
- trim: boolean | null;
125
125
  grow: boolean | null;
126
126
  truncate: boolean | null;
127
- weight: "inherit" | "medium" | "normal" | "semibold" | null;
127
+ weight: "medium" | "inherit" | "normal" | "semibold" | null;
128
128
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
129
129
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
130
130
  declare const _default: typeof __VLS_export;