@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/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;