@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
package/vue/UiListbox.vue CHANGED
@@ -1,28 +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, useTemplateRef, 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
- useTemplateRef,
22
- watchSyncEffect,
23
- } from 'vue'
24
- import type { PropType, VNode } from 'vue'
25
- 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'
26
16
  import { acceptsControllerWrite } from './props'
27
17
  import { checkedProp, propValidityState, vPropValidity } from './props'
28
18
  import UiScrollArea from './UiScrollArea.vue'
@@ -172,64 +162,7 @@ void checkedProps.value
172
162
  watchSyncEffect(() => {
173
163
  void checkedProps.value
174
164
  })
175
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
176
- const names = Object.keys(attrs)
177
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
178
- return Object.fromEntries(names.map((name) => [
179
- Object.hasOwn(Object.prototype, name)
180
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
181
- : name,
182
- attrs[name],
183
- ]))
184
- }
185
- const KeyedFailure = defineComponent({
186
- props: { error: { type: null, required: true } },
187
- setup(props) {
188
- return () => {
189
- throw props.error
190
- }
191
- },
192
- })
193
- const KeyedBoundary = defineComponent({
194
- setup(_props, { slots }) {
195
- let last: VNode[] = []
196
- return () => {
197
- try {
198
- last = slots.default?.() ?? []
199
- return last
200
- } catch (error) {
201
- if (
202
- !(error instanceof Error)
203
- || (error as Error & { diagnostic?: { code?: string } }).diagnostic?.code !== 'HR004'
204
- ) throw error
205
- if (typeof window === 'undefined') throw error
206
- return [...last, h(KeyedFailure, { error })]
207
- }
208
- }
209
- },
210
- })
211
- const componentInstance = getCurrentInstance()
212
- function reflectedProp(
213
- name: string,
214
- kebab: string,
215
- value: unknown,
216
- fallback: string | undefined,
217
- bound: boolean,
218
- separator?: string,
219
- ): string | undefined {
220
- const incoming = componentInstance?.vnode.props
221
- if (
222
- !bound
223
- && (incoming === null || incoming === undefined
224
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
225
- ) return fallback
226
- if (value === null || value === undefined) return undefined
227
- return Array.isArray(value) && separator !== undefined
228
- ? value.join(separator)
229
- : typeof value === 'object'
230
- ? JSON.stringify(value)
231
- : String(value)
232
- }
165
+ const reflectedProp = useReflectedProp()
233
166
  const hydrationInstance = getCurrentInstance()
234
167
  const emit = defineEmits<{
235
168
  'update:value': [value: string]
@@ -273,62 +206,13 @@ const guarded = computed(() => {
273
206
  ? Symbol.for('html-next.invalid-result')
274
207
  : objectValue[indexValue])({ true: '-1', false: '0' }, concat(checkedProps.value.disabled)))
275
208
  })
276
- let guardedBindingPrevious: any
277
- const guardedBinding = computed(() => {
278
- if (
279
- !(htmlNextAuthoredCheck2(
280
- validationError.value == null || typeof validationError.value === 'boolean',
281
- '$invalid or $validationError:validationError',
282
- './components/ui-listbox/ui-listbox.html: HR007: Reference validationError does not satisfy its declared type.',
283
- ))
284
- ) return guardedBindingPrevious
285
- return guardedBindingPrevious = checkedProps.value.invalid || validationError.value
286
- })
287
- let guardedBinding2Previous: any
288
- const guardedBinding2 = computed(() => {
289
- if (
290
- !(htmlNextAuthoredCheck2(
291
- hasSelection.value == null || typeof hasSelection.value === 'boolean',
292
- '$required and not $hasSelection and not $disabled:hasSelection',
293
- './components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.',
294
- ))
295
- ) return guardedBinding2Previous
296
- return guardedBinding2Previous = checkedProps.value.required && !hasSelection.value
297
- && !checkedProps.value.disabled
298
- })
299
- let guardedBinding3Previous: any
300
- const guardedBinding3 = computed(() => {
301
- if (
302
- !(htmlNextAuthoredCheck2(
303
- hasSelection.value == null || typeof hasSelection.value === 'boolean',
304
- '$hasSelection:hasSelection',
305
- './components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.',
306
- ))
307
- ) return guardedBinding3Previous
308
- return guardedBinding3Previous = hasSelection.value ? true : undefined
309
- })
310
209
  provide('html-next:ui-listbox:choices', choices)
311
210
  provide('html-next:ui-listbox:selection', selection)
312
211
  provide('html-next:ui-listbox:hasSelection', hasSelection)
313
212
  provide('html-next:ui-listbox:active', active)
314
213
  provide('html-next:ui-listbox:uid', uid)
315
214
  provide('html-next:ui-listbox:validationError', validationError)
316
- const hydrationNode = hydrationInstance?.vnode.el
317
- if (
318
- typeof window !== 'undefined' && hydrationNode != null
319
- && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
320
- ) {
321
- throw Object.assign(
322
- new Error('HR005: Server markup for <ui-listbox> has an incompatible root.'),
323
- {
324
- name: 'HtmlDiagnosticError',
325
- diagnostic: Object.freeze({
326
- code: 'HR005',
327
- message: 'Server markup for <ui-listbox> has an incompatible root.',
328
- }),
329
- },
330
- )
331
- }
215
+ checkHydratedRoot('div', 'ui-listbox')
332
216
 
333
217
  const isChangeDetail = (
334
218
  detail: unknown,
@@ -396,78 +280,19 @@ useComponentHost(() => import('../components/ui-listbox/ui-listbox.js'), {
396
280
  refs: { choices: choicesElement, options: optionsElement, validity: validityElement },
397
281
  state: { choices, selection, hasSelection, active, uid, validationError },
398
282
  })
399
-
400
- function text(value: unknown): string {
401
- if (Array.isArray(value)) return value.map(text).join(' ')
402
- return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
403
- }
404
-
405
- function attribute(value: unknown): any {
406
- if (
407
- value === null || value === undefined || value === false
408
- || (typeof value === 'object' && !Array.isArray(value))
409
- ) return undefined
410
- return value === true ? '' : text(value)
411
- }
412
-
413
- // A nonempty scalar call cannot produce the invalid-result sentinel.
414
- type ConcatResult<T extends unknown[]> = T extends
415
- [
416
- string | number | boolean | null | undefined,
417
- ...(string | number | boolean | null | undefined)[],
418
- ] ? string | undefined
419
- : string | symbol | undefined
420
- function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
421
- if (values.some(value => value === Symbol.for('html-next.invalid-result'))) {
422
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
423
- }
424
- if (values.some(value => value === undefined)) return undefined as ConcatResult<T>
425
- if (values.length === 0 || values.some(value => typeof value === 'object' && value !== null)) {
426
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
427
- }
428
- return values.map(value => value === null ? '' : String(value)).join('') as ConcatResult<T>
429
- }
430
-
431
- function uniqueKeys<T>(
432
- items: readonly T[],
433
- keyOf: (
434
- item: T,
435
- index: number,
436
- loop: { index: number; first: boolean; last: boolean; count: number },
437
- ) => unknown,
438
- ): readonly T[] {
439
- const seen = new Set<unknown>()
440
- for (let index = 0; index < items.length; index += 1) {
441
- const key = keyOf(items[index]!, index, {
442
- index,
443
- first: index === 0,
444
- last: index === items.length - 1,
445
- count: items.length,
446
- })
447
- if (seen.has(key)) {
448
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`
449
- throw Object.assign(new Error(`HR004: ${message}`), {
450
- name: 'HtmlDiagnosticError',
451
- diagnostic: Object.freeze({ code: 'HR004', message }),
452
- })
453
- }
454
- seen.add(key)
455
- }
456
- return items
457
- }
458
283
  </script>
459
284
 
460
285
  <template>
461
286
  <div
462
- data-component="ui-listbox"
287
+ class="ui-listbox"
463
288
  role="listbox"
464
289
  v-bind="nativeAttrs($attrs)"
465
290
  :tabindex="guarded"
466
291
  :aria-multiselectable="checkedProps.multiple ?? undefined"
467
292
  :aria-disabled="checkedProps.disabled ?? undefined"
468
293
  :aria-required="checkedProps.required ?? undefined"
469
- :aria-invalid="guardedBinding"
470
- :style="{ '--_rows': checkedProps.rows ?? undefined }"
294
+ :aria-invalid="checkedProps.invalid || validationError"
295
+ :style="{ '--_rows': checkedProps.rows?.toString() }"
471
296
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
472
297
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
473
298
  :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
@@ -480,7 +305,7 @@ function uniqueKeys<T>(
480
305
  ref="root"
481
306
  >
482
307
  <div class="choices">
483
- <UiScrollArea ref="choicesElement"><KeyedBoundary><div
308
+ <UiScrollArea class="ui-scroll-area" ref="choicesElement"><KeyedBoundary><div
484
309
  v-for="choice in uniqueKeys(choices, (choice, index, loop) => choice.index)"
485
310
  :key="choice.index"
486
311
  class="option"
@@ -520,8 +345,8 @@ function uniqueKeys<T>(
520
345
  type="checkbox"
521
346
  aria-hidden="true"
522
347
  tabindex="-1"
523
- :required="guardedBinding2"
524
- :checked.attr="guardedBinding3"
348
+ :required="checkedProps.required && !hasSelection && !checkedProps.disabled"
349
+ :checked.attr="hasSelection ? true : undefined"
525
350
  :disabled="checkedProps.disabled ?? undefined"
526
351
  ref="validityElement"
527
352
  >
@@ -550,78 +375,79 @@ function uniqueKeys<T>(
550
375
  inherits: false;
551
376
  }
552
377
 
553
- [data-component~="ui-listbox"] {
554
- position: relative;
555
- box-sizing: border-box;
556
- display: block;
557
- inline-size: 100%;
558
- min-inline-size: 0;
559
- margin: 0;
560
- padding: var(--ui-space-1);
561
- border: var(--ui-border-width) solid var(--ui-listbox-border, var(--ui-control-border));
562
- border-radius: var(--ui-listbox-radius, var(--ui-field-radius, var(--ui-radius-md)));
563
- background: var(--ui-listbox-surface, var(--ui-control-surface));
564
- color: var(--ui-text-primary);
565
- font: inherit;
566
- line-height: var(--ui-line-height-md);
567
- box-shadow: var(--ui-control-inset);
568
- outline: none;
569
- }
570
-
571
378
  /* Its own box around the nested Scroll Area, which it shrinks into so the choices scroll. */
572
- .choices {
573
- display: flex;
574
- flex-direction: column;
575
- max-block-size: calc(max(2, var(--_rows, 5)) * var(--ui-control-size-md));
576
- }
577
379
 
578
- [data-component~="ui-listbox"]:not([data-enhanced]) {
579
- padding: 0;
580
- border: 0;
581
- background: transparent;
582
- box-shadow: none;
583
- }
380
+ @scope (.ui-listbox) to (.ui-scroll-area) {
381
+ :scope:where(:scope) {
382
+ position: relative;
383
+ box-sizing: border-box;
384
+ display: block;
385
+ inline-size: 100%;
386
+ min-inline-size: 0;
387
+ margin: 0;
388
+ padding: var(--ui-space-1);
389
+ border: var(--ui-border-width) solid var(--ui-listbox-border, var(--ui-control-border));
390
+ border-radius: var(--ui-listbox-radius, var(--ui-field-radius, var(--ui-radius-md)));
391
+ background: var(--ui-listbox-surface, var(--ui-control-surface));
392
+ color: var(--ui-text-primary);
393
+ font: inherit;
394
+ line-height: var(--ui-line-height-md);
395
+ box-shadow: var(--ui-control-inset);
396
+ outline: none;
397
+ }
398
+ .choices {
399
+ display: flex;
400
+ flex-direction: column;
401
+ max-block-size: calc(max(2, var(--_rows, 5)) * var(--ui-control-size-md));
402
+ }
584
403
 
585
- [data-component~="ui-listbox"]:not([data-enhanced]) .choices,
586
- [data-component~="ui-listbox"][data-enhanced] .fallback {
587
- display: none;
588
- }
404
+ :scope:where(:scope):is(:not([data-enhanced])) {
405
+ padding: 0;
406
+ border: 0;
407
+ background: transparent;
408
+ box-shadow: none;
409
+ }
589
410
 
590
- .fallback {
591
- box-sizing: border-box;
592
- inline-size: 100%;
593
- font: inherit;
594
- }
411
+ :scope:not([data-enhanced]) .choices, :scope[data-enhanced] .fallback {
412
+ display: none;
413
+ }
595
414
 
596
- .validity {
597
- position: absolute;
598
- inline-size: 1px;
599
- block-size: 1px;
600
- overflow: hidden;
601
- clip-path: inset(50%);
602
- opacity: 0;
603
- pointer-events: none;
604
- }
415
+ .fallback {
416
+ box-sizing: border-box;
417
+ inline-size: 100%;
418
+ font: inherit;
419
+ }
605
420
 
606
- [data-component~="ui-listbox"]:focus-visible {
607
- border-color: var(--ui-control-focus);
608
- outline: var(--ui-focus-width) solid var(--ui-focus-ring);
609
- outline-offset: var(--ui-focus-width);
610
- box-shadow: var(--ui-listbox-focus-shadow, var(--ui-focus-halo));
611
- }
421
+ .validity {
422
+ position: absolute;
423
+ inline-size: 1px;
424
+ block-size: 1px;
425
+ overflow: hidden;
426
+ clip-path: inset(50%);
427
+ opacity: 0;
428
+ pointer-events: none;
429
+ }
612
430
 
613
- [data-component~="ui-listbox"][aria-invalid="true"] {
614
- border-color: var(--ui-listbox-invalid-border, var(--ui-field-danger, var(--ui-danger)));
615
- }
431
+ :scope:where(:scope):is(:focus-visible) {
432
+ border-color: var(--ui-control-focus);
433
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
434
+ outline-offset: var(--ui-focus-width);
435
+ box-shadow: var(--ui-listbox-focus-shadow, var(--ui-focus-halo));
436
+ }
616
437
 
617
- [data-component~="ui-listbox"][aria-disabled="true"] {
618
- background: var(--ui-control-surface-disabled);
619
- color: var(--ui-disabled-text);
620
- box-shadow: none;
621
- cursor: not-allowed;
622
- }
438
+ :scope:where(:scope):is([aria-invalid="true"]) {
439
+ border-color: var(--ui-listbox-invalid-border, var(--ui-field-danger, var(--ui-danger)));
440
+ }
623
441
 
624
- [data-component~="ui-listbox"][hidden] {
625
- display: none;
442
+ :scope:where(:scope):is([aria-disabled="true"]) {
443
+ background: var(--ui-control-surface-disabled);
444
+ color: var(--ui-disabled-text);
445
+ box-shadow: none;
446
+ cursor: not-allowed;
447
+ }
448
+
449
+ :scope:where(:scope):is([hidden]) {
450
+ display: none;
451
+ }
626
452
  }
627
453
  </style>
package/vue/UiMenu.d.ts CHANGED
@@ -38,17 +38,17 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
38
38
  readonly checked?: boolean;
39
39
  readonly trigger: "keyboard" | "pointer" | "programmatic";
40
40
  }>) => any;
41
- open: (event: CustomEvent<{
41
+ close: (event: CustomEvent<{
42
42
  readonly open: boolean;
43
- readonly reason: "action" | "programmatic";
43
+ readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
44
44
  readonly trigger: "keyboard" | "pointer" | "programmatic";
45
45
  }>) => any;
46
- "update:open": (value: boolean) => any;
47
- close: (event: CustomEvent<{
46
+ open: (event: CustomEvent<{
48
47
  readonly open: boolean;
49
- readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
48
+ readonly reason: "action" | "programmatic";
50
49
  readonly trigger: "keyboard" | "pointer" | "programmatic";
51
50
  }>) => any;
51
+ "update:open": (value: boolean) => any;
52
52
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
53
53
  density: {
54
54
  type: PropType<"comfortable" | "compact" | null>;
@@ -84,20 +84,20 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
84
84
  readonly checked?: boolean;
85
85
  readonly trigger: "keyboard" | "pointer" | "programmatic";
86
86
  }>) => any) | undefined;
87
- onOpen?: ((event: CustomEvent<{
87
+ onClose?: ((event: CustomEvent<{
88
88
  readonly open: boolean;
89
- readonly reason: "action" | "programmatic";
89
+ readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
90
90
  readonly trigger: "keyboard" | "pointer" | "programmatic";
91
91
  }>) => any) | undefined;
92
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
93
- onClose?: ((event: CustomEvent<{
92
+ onOpen?: ((event: CustomEvent<{
94
93
  readonly open: boolean;
95
- readonly reason: "action" | "programmatic" | "light-dismiss" | "escape";
94
+ readonly reason: "action" | "programmatic";
96
95
  readonly trigger: "keyboard" | "pointer" | "programmatic";
97
96
  }>) => any) | undefined;
97
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
98
98
  }>, {
99
- open: boolean | null;
100
99
  size: "sm" | "md" | null;
100
+ open: boolean | null;
101
101
  for: string | null;
102
102
  placement: string | null;
103
103
  inline: boolean | null;