@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
@@ -1,19 +1,17 @@
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">
14
3
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
15
4
  import type { PropType } from 'vue'
16
- import { createDispatch, preserveRootFocus, useComponentHost } from './host'
5
+ import {
6
+ attribute,
7
+ checkHydratedRoot,
8
+ concat,
9
+ createDispatch,
10
+ nativeAttrs,
11
+ preserveRootFocus,
12
+ useComponentHost,
13
+ useReflectedProp,
14
+ } from './host'
17
15
  import { acceptsControllerWrite } from './props'
18
16
  import { checkedProp, propValidityState, vPropValidity } from './props'
19
17
  import UiIcon from './UiIcon.vue'
@@ -139,38 +137,7 @@ void checkedProps.value
139
137
  watchSyncEffect(() => {
140
138
  void checkedProps.value
141
139
  })
142
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
143
- const names = Object.keys(attrs)
144
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
145
- return Object.fromEntries(names.map((name) => [
146
- Object.hasOwn(Object.prototype, name)
147
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
148
- : name,
149
- attrs[name],
150
- ]))
151
- }
152
- const componentInstance = getCurrentInstance()
153
- function reflectedProp(
154
- name: string,
155
- kebab: string,
156
- value: unknown,
157
- fallback: string | undefined,
158
- bound: boolean,
159
- separator?: string,
160
- ): string | undefined {
161
- const incoming = componentInstance?.vnode.props
162
- if (
163
- !bound
164
- && (incoming === null || incoming === undefined
165
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
166
- ) return fallback
167
- if (value === null || value === undefined) return undefined
168
- return Array.isArray(value) && separator !== undefined
169
- ? value.join(separator)
170
- : typeof value === 'object'
171
- ? JSON.stringify(value)
172
- : String(value)
173
- }
140
+ const reflectedProp = useReflectedProp()
174
141
  const hydrationInstance = getCurrentInstance()
175
142
  const emit = defineEmits<{
176
143
  'update:checked': [value: boolean]
@@ -214,55 +181,11 @@ const guarded = computed(() => {
214
181
  concat(checkedProps.value.disabled),
215
182
  ))
216
183
  })
217
- let guardedBindingPrevious: any
218
- const guardedBinding = computed(() => {
219
- if (
220
- !(htmlNextAuthoredCheck2(
221
- internalChecked.value == null || typeof internalChecked.value === 'boolean',
222
- '{ action: null, checkbox: $internalChecked, radio: $internalChecked }[$type]:internalChecked',
223
- './components/ui-menu-item/ui-menu-item.html: HR007: Reference internalChecked does not satisfy its declared type.',
224
- ))
225
- ) return guardedBindingPrevious
226
- return guardedBindingPrevious =
227
- typeof ((({
228
- action: null,
229
- checkbox: internalChecked.value,
230
- radio: internalChecked.value,
231
- }) as Record<string, any>)[checkedProps.value.type]) === 'boolean'
232
- ? String(
233
- (({
234
- action: null,
235
- checkbox: internalChecked.value,
236
- radio: internalChecked.value,
237
- }) as Record<string, any>)[checkedProps.value.type],
238
- )
239
- : attribute(
240
- (({
241
- action: null,
242
- checkbox: internalChecked.value,
243
- radio: internalChecked.value,
244
- }) as Record<string, any>)[checkedProps.value.type],
245
- )
246
- })
247
184
  provide('html-next:ui-menu-item:internalChecked', internalChecked)
248
- const hydrationNode = hydrationInstance?.vnode.el
249
- if (
250
- typeof window !== 'undefined' && hydrationNode != null
251
- && (!(hydrationNode instanceof Element)
252
- || hydrationNode.localName
253
- !== ((checkedProps.value.href && checkedProps.value.type === 'action') ? 'a' : ('div')))
254
- ) {
255
- throw Object.assign(
256
- new Error('HR005: Server markup for <ui-menu-item> has an incompatible root.'),
257
- {
258
- name: 'HtmlDiagnosticError',
259
- diagnostic: Object.freeze({
260
- code: 'HR005',
261
- message: 'Server markup for <ui-menu-item> has an incompatible root.',
262
- }),
263
- },
264
- )
265
- }
185
+ checkHydratedRoot(
186
+ (checkedProps.value.href && checkedProps.value.type === 'action') ? 'a' : ('div'),
187
+ 'ui-menu-item',
188
+ )
266
189
 
267
190
  /** The values the styles' :host-state() rules test. */
268
191
  const hostState = computed(() =>
@@ -320,43 +243,12 @@ useComponentHost(() => import('../components/ui-menu-item/ui-menu-item.js'), {
320
243
  propValidityState({ contract: propValidityContract, values: { ...props } }, name),
321
244
  state: { internalChecked },
322
245
  })
323
-
324
- function text(value: unknown): string {
325
- if (Array.isArray(value)) return value.map(text).join(' ')
326
- return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
327
- }
328
-
329
- function attribute(value: unknown): any {
330
- if (
331
- value === null || value === undefined || value === false
332
- || (typeof value === 'object' && !Array.isArray(value))
333
- ) return undefined
334
- return value === true ? '' : text(value)
335
- }
336
-
337
- // A nonempty scalar call cannot produce the invalid-result sentinel.
338
- type ConcatResult<T extends unknown[]> = T extends
339
- [
340
- string | number | boolean | null | undefined,
341
- ...(string | number | boolean | null | undefined)[],
342
- ] ? string | undefined
343
- : string | symbol | undefined
344
- function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
345
- if (values.some(value => value === Symbol.for('html-next.invalid-result'))) {
346
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
347
- }
348
- if (values.some(value => value === undefined)) return undefined as ConcatResult<T>
349
- if (values.length === 0 || values.some(value => typeof value === 'object' && value !== null)) {
350
- return Symbol.for('html-next.invalid-result') as ConcatResult<T>
351
- }
352
- return values.map(value => value === null ? '' : String(value)).join('') as ConcatResult<T>
353
- }
354
246
  </script>
355
247
 
356
248
  <template>
357
249
  <a
358
250
  v-if="checkedProps.href && checkedProps.type === 'action'"
359
- data-component="ui-menu-item"
251
+ class="ui-menu-item"
360
252
  role="menuitem"
361
253
  tabindex="-1"
362
254
  v-bind="nativeAttrs($attrs)"
@@ -376,7 +268,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
376
268
  <span class="shortcut" aria-hidden="true"><slot name="shortcut" /></span></a>
377
269
  <div
378
270
  v-else
379
- data-component="ui-menu-item"
271
+ class="ui-menu-item"
380
272
  tabindex="-1"
381
273
  v-bind="nativeAttrs($attrs)"
382
274
  :role="attribute(
@@ -385,7 +277,20 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
385
277
  any
386
278
  >)[checkedProps.type],
387
279
  )"
388
- :aria-checked="guardedBinding"
280
+ :aria-checked="typeof ((({ action: null, checkbox: internalChecked, radio: internalChecked }) as Record<
281
+ string,
282
+ any
283
+ >)[checkedProps.type]) === 'boolean'
284
+ ? String(
285
+ (({ action: null, checkbox: internalChecked, radio: internalChecked }) as Record<string, any>)[
286
+ checkedProps.type
287
+ ],
288
+ )
289
+ : attribute(
290
+ (({ action: null, checkbox: internalChecked, radio: internalChecked }) as Record<string, any>)[
291
+ checkedProps.type
292
+ ],
293
+ )"
389
294
  :aria-disabled="checkedProps.disabled ?? undefined"
390
295
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
391
296
  :data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
@@ -399,6 +304,7 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
399
304
  >
400
305
  <span class="indicator" aria-hidden="true"><UiIcon
401
306
  v-if="(checkedProps.type === 'checkbox' || checkedProps.type === 'radio') && internalChecked"
307
+ class="ui-icon"
402
308
  name="check"
403
309
  /></span>
404
310
  <span class="icon" aria-hidden="true"><slot name="icon" /></span>
@@ -434,162 +340,163 @@ function concat<T extends unknown[]>(...values: T): ConcatResult<T> {
434
340
  inherits: false;
435
341
  }
436
342
 
437
- [data-component~="ui-menu-item"] {
438
- display: flex;
439
- align-items: center;
440
- gap: var(--ui-space-2);
441
- box-sizing: border-box;
442
- width: 100%;
443
- padding: var(
444
- --ui-menu-item-padding-block,
445
- var(--_ui-default-menu-item-padding-block, var(--ui-space-2))
446
- )
447
- var(
448
- --ui-menu-item-padding-inline,
449
- var(--_ui-default-menu-item-padding-inline, var(--ui-space-3))
450
- );
451
- text-align: left;
452
- border-radius: var(
453
- --ui-menu-item-radius,
454
- var(--_ui-default-menu-item-radius, var(--ui-selection-radius))
455
- );
456
- color: var(--ui-text-primary);
457
- font-size: var(
458
- --ui-menu-item-font-size,
459
- var(--_ui-default-menu-item-font-size, var(--ui-font-size-md))
460
- );
461
- font-weight: var(--ui-font-medium);
462
- text-decoration: none;
463
- cursor: pointer;
464
- outline: none;
465
- transition:
466
- background-color var(--ui-motion-fast) var(--ui-motion-ease),
467
- color var(--ui-motion-fast) var(--ui-motion-ease);
468
- }
469
-
470
343
  /* A named icon has a fixed column; an icon-enabled menu reserves it on every row. */
471
- .icon {
472
- display: var(--_ui-default-menu-icon-display, none);
473
- align-items: center;
474
- justify-content: center;
475
- flex: none;
476
- inline-size: var(--ui-icon-size-sm);
477
- block-size: var(--ui-icon-size-sm);
478
- }
479
344
 
480
- .icon:not(:empty) {
481
- display: inline-flex;
482
- }
345
+ /* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
346
+ as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
483
347
 
484
- .icon :slotted(svg) {
485
- inline-size: 100%;
486
- block-size: 100%;
487
- }
348
+ /* A <kbd> takes the browser's monospace; the hint reads in the item's own type. */
488
349
 
489
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="tone=danger"] {
490
- color: var(--ui-danger);
491
- }
350
+ /* Keep the text row at the shared control height where cap trimming is available. */
492
351
 
493
- .label {
494
- display: flex;
495
- align-items: center;
496
- gap: var(--ui-space-2);
497
- flex: 1;
498
- min-inline-size: 0;
499
- }
352
+ /* A component that sets its display still honours the hidden attribute on its root. */
500
353
 
501
- .indicator {
502
- display: inline-flex;
503
- align-items: center;
504
- justify-content: center;
505
- flex: none;
506
- box-sizing: border-box;
507
- inline-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
508
- block-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
509
- border: var(--ui-border-width) solid var(--ui-control-border);
510
- border-radius: var(--ui-radius-sm);
511
- color: var(--ui-surface);
512
- --_ui-default-icon-size: 0.75rem;
513
- }
354
+ @scope (.ui-menu-item) to (.ui-icon) {
355
+ :scope:where(:scope) {
356
+ display: flex;
357
+ align-items: center;
358
+ gap: var(--ui-space-2);
359
+ box-sizing: border-box;
360
+ width: 100%;
361
+ padding: var(
362
+ --ui-menu-item-padding-block,
363
+ var(--_ui-default-menu-item-padding-block, var(--ui-space-2))
364
+ )
365
+ var(
366
+ --ui-menu-item-padding-inline,
367
+ var(--_ui-default-menu-item-padding-inline, var(--ui-space-3))
368
+ );
369
+ text-align: left;
370
+ border-radius: var(
371
+ --ui-menu-item-radius,
372
+ var(--_ui-default-menu-item-radius, var(--ui-selection-radius))
373
+ );
374
+ color: var(--ui-text-primary);
375
+ font-size: var(
376
+ --ui-menu-item-font-size,
377
+ var(--_ui-default-menu-item-font-size, var(--ui-font-size-md))
378
+ );
379
+ font-weight: var(--ui-font-medium);
380
+ text-decoration: none;
381
+ cursor: pointer;
382
+ outline: none;
383
+ transition:
384
+ background-color var(--ui-motion-fast) var(--ui-motion-ease),
385
+ color var(--ui-motion-fast) var(--ui-motion-ease);
386
+ }
387
+ .icon {
388
+ display: var(--_ui-default-menu-icon-display, none);
389
+ align-items: center;
390
+ justify-content: center;
391
+ flex: none;
392
+ inline-size: var(--ui-icon-size-sm);
393
+ block-size: var(--ui-icon-size-sm);
394
+ }
514
395
 
515
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator {
516
- display: none;
517
- }
396
+ .icon:not(:empty) {
397
+ display: inline-flex;
398
+ }
518
399
 
519
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=checkbox"][aria-checked="true"]
520
- .indicator {
521
- border-color: var(--ui-accent);
522
- background: var(--ui-accent);
523
- }
400
+ .icon :slotted(svg) {
401
+ inline-size: 100%;
402
+ block-size: 100%;
403
+ }
524
404
 
525
- /* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
526
- as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
527
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator {
528
- border-color: transparent;
529
- color: var(--ui-text-secondary);
530
- }
405
+ :scope:where(:scope):is([data-ui-menu-item-state~="tone=danger"]) {
406
+ color: var(--ui-danger);
407
+ }
531
408
 
532
- .shortcut {
533
- margin-inline-start: auto;
534
- color: var(--ui-text-secondary);
535
- font-size: var(--ui-font-size-sm);
536
- font-weight: var(--ui-font-normal);
537
- }
409
+ .label {
410
+ display: flex;
411
+ align-items: center;
412
+ gap: var(--ui-space-2);
413
+ flex: 1;
414
+ min-inline-size: 0;
415
+ }
538
416
 
539
- .shortcut:empty {
540
- display: none;
541
- }
417
+ .indicator {
418
+ display: inline-flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ flex: none;
422
+ box-sizing: border-box;
423
+ inline-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
424
+ block-size: var(--_ui-default-menu-indicator-size, var(--ui-icon-size-sm));
425
+ border: var(--ui-border-width) solid var(--ui-control-border);
426
+ border-radius: var(--ui-radius-sm);
427
+ color: var(--ui-surface);
428
+ --_ui-default-icon-size: 0.75rem;
429
+ }
542
430
 
543
- /* A <kbd> takes the browser's monospace; the hint reads in the item's own type. */
544
- .shortcut :slotted(kbd) {
545
- font: inherit;
546
- }
431
+ :scope[data-ui-menu-item-state~="type=action"] .indicator {
432
+ display: none;
433
+ }
547
434
 
548
- /* Keep the text row at the shared control height where cap trimming is available. */
549
- @supports (text-box-trim: trim-both) {
550
- [data-component~="ui-menu-item"] {
551
- min-block-size: var(
552
- --ui-menu-item-min-block-size,
553
- var(--_ui-default-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem))
554
- );
555
- text-box-trim: trim-both;
556
- text-box-edge: cap alphabetic;
435
+ :scope[data-ui-menu-item-state~="type=checkbox"][aria-checked="true"] .indicator {
436
+ border-color: var(--ui-accent);
437
+ background: var(--ui-accent);
438
+ }
439
+ :scope[data-ui-menu-item-state~="type=radio"] .indicator {
440
+ border-color: transparent;
441
+ color: var(--ui-text-secondary);
557
442
  }
558
- }
559
443
 
560
- [data-component~="ui-menu-item"]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
561
- background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
562
- }
444
+ .shortcut {
445
+ margin-inline-start: auto;
446
+ color: var(--ui-text-secondary);
447
+ font-size: var(--ui-font-size-sm);
448
+ font-weight: var(--ui-font-normal);
449
+ }
563
450
 
564
- [data-component~="ui-menu-item"]:focus-visible {
565
- outline: var(--ui-focus-width) solid var(--ui-focus-ring);
566
- outline-offset: calc(-1 * var(--ui-focus-width));
567
- }
451
+ .shortcut:empty {
452
+ display: none;
453
+ }
454
+ .shortcut :slotted(kbd) {
455
+ font: inherit;
456
+ }
457
+ @supports (text-box-trim: trim-both) {
458
+ :scope:where(:scope) {
459
+ min-block-size: var(
460
+ --ui-menu-item-min-block-size,
461
+ var(--_ui-default-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem))
462
+ );
463
+ text-box-trim: trim-both;
464
+ text-box-edge: cap alphabetic;
465
+ }
466
+ }
568
467
 
569
- [data-component~="ui-menu-item"][aria-disabled="true"] {
570
- background: var(--ui-disabled-surface);
571
- color: var(--ui-disabled-text);
572
- cursor: not-allowed;
573
- }
468
+ :scope:where(:scope):is(:is(:hover, :focus-visible):not([aria-disabled="true"])) {
469
+ background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
470
+ }
574
471
 
575
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator {
576
- border-color: var(--ui-disabled-border);
577
- background: transparent;
578
- color: var(--ui-disabled-text);
579
- }
472
+ :scope:where(:scope):is(:focus-visible) {
473
+ outline: var(--ui-focus-width) solid var(--ui-focus-ring);
474
+ outline-offset: calc(-1 * var(--ui-focus-width));
475
+ }
580
476
 
581
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator::after {
582
- background: var(--ui-disabled-text);
583
- }
477
+ :scope:where(:scope):is([aria-disabled="true"]) {
478
+ background: var(--ui-disabled-surface);
479
+ color: var(--ui-disabled-text);
480
+ cursor: not-allowed;
481
+ }
584
482
 
585
- @media (forced-colors: active) {
586
- [data-component~="ui-menu-item"]:focus-visible {
587
- outline-color: Highlight;
483
+ :scope[aria-disabled="true"] .indicator {
484
+ border-color: var(--ui-disabled-border);
485
+ background: transparent;
486
+ color: var(--ui-disabled-text);
588
487
  }
589
- }
590
488
 
591
- /* A component that sets its display still honours the hidden attribute on its root. */
592
- [data-component~="ui-menu-item"][hidden] {
593
- display: none;
489
+ :scope[aria-disabled="true"] .indicator::after {
490
+ background: var(--ui-disabled-text);
491
+ }
492
+
493
+ @media (forced-colors: active) {
494
+ :scope:where(:scope):is(:focus-visible) {
495
+ outline-color: Highlight;
496
+ }
497
+ }
498
+ :scope:where(:scope):is([hidden]) {
499
+ display: none;
500
+ }
594
501
  }
595
502
  </style>
package/vue/UiMeter.d.ts CHANGED
@@ -1,6 +1,4 @@
1
1
  import type { PropType } from 'vue';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
2
  declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
3
  label: {
6
4
  type: PropType<string | null>;
@@ -82,8 +80,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
82
80
  default: string;
83
81
  };
84
82
  }>> & Readonly<{}>, {
85
- label: string | null;
86
83
  value: number | null;
84
+ segments: number | null;
85
+ label: string | null;
87
86
  size: "sm" | "md" | null;
88
87
  max: number | null;
89
88
  tone: "info" | "neutral" | "accent" | "success" | "warning" | "danger" | null;
@@ -92,6 +91,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
92
91
  readonly value: number;
93
92
  readonly color: string;
94
93
  }[] | null;
95
- segments: number | null;
96
94
  valueText: string | null;
97
95
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
96
+ declare const _default: typeof __VLS_export;
97
+ export default _default;