@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/UiText.vue CHANGED
@@ -1,8 +1,8 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.35 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
- import { computed, getCurrentInstance, useTemplateRef, watchSyncEffect } from 'vue'
3
+ import { computed, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
- import { preserveRootFocus } from './host'
5
+ import { checkHydratedRoot, nativeAttrs, preserveRootFocus, useReflectedProp } from './host'
6
6
  import { checkedProp, vPropValidity } from './props'
7
7
 
8
8
  defineOptions({ inheritAttrs: false })
@@ -252,75 +252,33 @@ void checkedProps.value
252
252
  watchSyncEffect(() => {
253
253
  void checkedProps.value
254
254
  })
255
- function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
256
- const names = Object.keys(attrs)
257
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
258
- return Object.fromEntries(names.map((name) => [
259
- Object.hasOwn(Object.prototype, name)
260
- ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
261
- : name,
262
- attrs[name],
263
- ]))
264
- }
265
- const componentInstance = getCurrentInstance()
266
- function reflectedProp(
267
- name: string,
268
- kebab: string,
269
- value: unknown,
270
- fallback: string | undefined,
271
- bound: boolean,
272
- separator?: string,
273
- ): string | undefined {
274
- const incoming = componentInstance?.vnode.props
275
- if (
276
- !bound
277
- && (incoming === null || incoming === undefined
278
- || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
279
- ) return fallback
280
- if (value === null || value === undefined) return undefined
281
- return Array.isArray(value) && separator !== undefined
282
- ? value.join(separator)
283
- : typeof value === 'object'
284
- ? JSON.stringify(value)
285
- : String(value)
286
- }
287
- const hydrationInstance = getCurrentInstance()
255
+ const reflectedProp = useReflectedProp()
288
256
 
289
257
  const rootArmElement = useTemplateRef<HTMLElement>('@html-next/root')
290
258
  const root = rootArmElement
291
259
  preserveRootFocus(root)
292
- const hydrationNode = hydrationInstance?.vnode.el
293
- if (
294
- typeof window !== 'undefined' && hydrationNode != null
295
- && (!(hydrationNode instanceof Element)
296
- || hydrationNode.localName !== ((checkedProps.value.as === 'span')
297
- ? 'span'
298
- : ((checkedProps.value.as === 'div')
299
- ? 'div'
300
- : ((checkedProps.value.as === 'small')
301
- ? 'small'
302
- : ((checkedProps.value.as === 'strong')
303
- ? 'strong'
304
- : ((checkedProps.value.as === 'label')
305
- ? 'label'
306
- : ((checkedProps.value.as === 'h2')
307
- ? 'h2'
308
- : ((checkedProps.value.as === 'h3')
309
- ? 'h3'
310
- : ((checkedProps.value.as === 'h4')
311
- ? 'h4'
312
- : ((checkedProps.value.as === 'h5')
313
- ? 'h5'
314
- : ((checkedProps.value.as === 'h6') ? 'h6' : ('p'))))))))))))
315
- ) {
316
- throw Object.assign(new Error('HR005: Server markup for <ui-text> has an incompatible root.'), {
317
- name: 'HtmlDiagnosticError',
318
- diagnostic: Object.freeze({
319
- code: 'HR005',
320
- message: 'Server markup for <ui-text> has an incompatible root.',
321
- }),
322
- })
323
- }
260
+ checkHydratedRoot(
261
+ (checkedProps.value.as === 'span')
262
+ ? 'span'
263
+ : ((checkedProps.value.as === 'div')
264
+ ? 'div'
265
+ : ((checkedProps.value.as === 'small')
266
+ ? 'small'
267
+ : ((checkedProps.value.as === 'strong')
268
+ ? 'strong'
269
+ : ((checkedProps.value.as === 'label')
270
+ ? 'label'
271
+ : ((checkedProps.value.as === 'h2')
272
+ ? 'h2'
273
+ : ((checkedProps.value.as === 'h3')
274
+ ? 'h3'
275
+ : ((checkedProps.value.as === 'h4')
276
+ ? 'h4'
277
+ : ((checkedProps.value.as === 'h5')
278
+ ? 'h5'
279
+ : ((checkedProps.value.as === 'h6') ? 'h6' : ('p')))))))))),
280
+ 'ui-text',
281
+ )
324
282
 
325
283
  /** The values the styles' :host-state() rules test. */
326
284
  const hostState = computed(() =>
@@ -350,7 +308,7 @@ const hostState = computed(() =>
350
308
  <template>
351
309
  <span
352
310
  v-if="checkedProps.as === 'span'"
353
- data-component="ui-text"
311
+ class="ui-text"
354
312
  v-bind="nativeAttrs($attrs)"
355
313
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
356
314
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -369,7 +327,7 @@ const hostState = computed(() =>
369
327
  ><slot /></span>
370
328
  <div
371
329
  v-else-if="checkedProps.as === 'div'"
372
- data-component="ui-text"
330
+ class="ui-text"
373
331
  v-bind="nativeAttrs($attrs)"
374
332
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
375
333
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -390,7 +348,7 @@ const hostState = computed(() =>
390
348
  </div>
391
349
  <small
392
350
  v-else-if="checkedProps.as === 'small'"
393
- data-component="ui-text"
351
+ class="ui-text"
394
352
  v-bind="nativeAttrs($attrs)"
395
353
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
396
354
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -409,7 +367,7 @@ const hostState = computed(() =>
409
367
  ><slot /></small>
410
368
  <strong
411
369
  v-else-if="checkedProps.as === 'strong'"
412
- data-component="ui-text"
370
+ class="ui-text"
413
371
  v-bind="nativeAttrs($attrs)"
414
372
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
415
373
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -428,7 +386,7 @@ const hostState = computed(() =>
428
386
  ><slot /></strong>
429
387
  <label
430
388
  v-else-if="checkedProps.as === 'label'"
431
- data-component="ui-text"
389
+ class="ui-text"
432
390
  v-bind="nativeAttrs($attrs)"
433
391
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
434
392
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -447,7 +405,7 @@ const hostState = computed(() =>
447
405
  ><slot /></label>
448
406
  <h2
449
407
  v-else-if="checkedProps.as === 'h2'"
450
- data-component="ui-text"
408
+ class="ui-text"
451
409
  v-bind="nativeAttrs($attrs)"
452
410
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
453
411
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -468,7 +426,7 @@ const hostState = computed(() =>
468
426
  </h2>
469
427
  <h3
470
428
  v-else-if="checkedProps.as === 'h3'"
471
- data-component="ui-text"
429
+ class="ui-text"
472
430
  v-bind="nativeAttrs($attrs)"
473
431
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
474
432
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -489,7 +447,7 @@ const hostState = computed(() =>
489
447
  </h3>
490
448
  <h4
491
449
  v-else-if="checkedProps.as === 'h4'"
492
- data-component="ui-text"
450
+ class="ui-text"
493
451
  v-bind="nativeAttrs($attrs)"
494
452
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
495
453
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -510,7 +468,7 @@ const hostState = computed(() =>
510
468
  </h4>
511
469
  <h5
512
470
  v-else-if="checkedProps.as === 'h5'"
513
- data-component="ui-text"
471
+ class="ui-text"
514
472
  v-bind="nativeAttrs($attrs)"
515
473
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
516
474
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -531,7 +489,7 @@ const hostState = computed(() =>
531
489
  </h5>
532
490
  <h6
533
491
  v-else-if="checkedProps.as === 'h6'"
534
- data-component="ui-text"
492
+ class="ui-text"
535
493
  v-bind="nativeAttrs($attrs)"
536
494
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
537
495
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -552,7 +510,7 @@ const hostState = computed(() =>
552
510
  </h6>
553
511
  <p
554
512
  v-else
555
- data-component="ui-text"
513
+ class="ui-text"
556
514
  v-bind="nativeAttrs($attrs)"
557
515
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
558
516
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
@@ -577,126 +535,129 @@ const hostState = computed(() =>
577
535
  /* Running text, set on the type scale and in a tone that says what it is, so a view never styles
578
536
  text of its own. The root is a paragraph unless as= names a span, div, small, strong, label, or
579
537
  heading. */
580
- [data-component~="ui-text"][data-ui-text-state~="grow"] {
581
- flex: 1;
582
- }
583
-
584
- [data-component~="ui-text"] {
585
- margin: 0;
586
- min-inline-size: 0;
587
- color: var(--ui-text-primary);
588
- text-align: start;
589
- }
590
538
 
591
539
  /* A heading drops the browser's heading size and weight, so size and weight set it as they set
592
540
  any text, and inherit keeps the text around it. */
593
- [data-component~="ui-text"]:is(h2, h3, h4, h5, h6) {
594
- font-size: inherit;
595
- font-weight: inherit;
596
- }
597
-
598
- [data-component~="ui-text"][data-ui-text-state~="size=xs"] {
599
- font-size: var(--ui-font-size-xs);
600
- line-height: var(--ui-line-height);
601
- }
602
- [data-component~="ui-text"][data-ui-text-state~="size=sm"] {
603
- font-size: var(--ui-font-size-sm);
604
- line-height: var(--ui-line-height);
605
- }
606
- [data-component~="ui-text"][data-ui-text-state~="size=md"] {
607
- font-size: var(--ui-font-size-md);
608
- line-height: var(--ui-line-height);
609
- }
610
- [data-component~="ui-text"][data-ui-text-state~="size=lg"] {
611
- font-size: var(--ui-font-size-lg);
612
- line-height: var(--ui-line-height-relaxed);
613
- }
614
541
 
615
542
  /* Opt in at the text owner; trimming does not inherit from a surrounding layout. */
616
- [data-component~="ui-text"][data-ui-text-state~="trim"] {
617
- text-box-trim: trim-both;
618
- text-box-edge: cap alphabetic;
619
- }
620
-
621
- [data-component~="ui-text"][data-ui-text-state~="tone=secondary"] {
622
- color: var(--ui-text-secondary);
623
- }
624
- [data-component~="ui-text"][data-ui-text-state~="tone=muted"] {
625
- color: var(--ui-text-muted);
626
- }
627
- [data-component~="ui-text"][data-ui-text-state~="tone=accent"] {
628
- color: var(--ui-accent-active);
629
- }
630
543
  /* Every status tone uses the text-safe token a subtle badge sets its words in, so text and badges
631
544
  in one tone match, and each holds 4.5:1 on sunken surfaces where some base colours fall short. */
632
- [data-component~="ui-text"][data-ui-text-state~="tone=danger"] {
633
- color: var(--ui-danger-subtle-text);
634
- }
635
- [data-component~="ui-text"][data-ui-text-state~="tone=success"] {
636
- color: var(--ui-success-subtle-text);
637
- }
638
- [data-component~="ui-text"][data-ui-text-state~="tone=info"] {
639
- color: var(--ui-info-subtle-text);
640
- }
641
- [data-component~="ui-text"][data-ui-text-state~="tone=warning"] {
642
- color: var(--ui-warning-subtle-text);
643
- }
644
-
645
- [data-component~="ui-text"][data-ui-text-state~="weight=normal"] {
646
- font-weight: var(--ui-font-normal);
647
- }
648
- [data-component~="ui-text"][data-ui-text-state~="weight=medium"] {
649
- font-weight: var(--ui-font-medium);
650
- }
651
- [data-component~="ui-text"][data-ui-text-state~="weight=semibold"] {
652
- font-weight: var(--ui-font-semibold);
653
- }
654
-
655
- [data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"] {
656
- font-size: var(--ui-font-size-xs);
657
- font-weight: var(--ui-font-semibold);
658
- letter-spacing: 0.06em;
659
- text-transform: uppercase;
660
- }
661
- [data-component~="ui-text"][data-ui-text-state~="variant=code"] {
662
- font-family: var(--ui-font-family-mono);
663
- }
664
545
 
665
546
  /* A link in running text is underlined, so it stands apart from the words around it by more than
666
547
  colour. */
667
- [data-component~="ui-text"] :slotted(a) {
668
- color: var(--ui-accent-active);
669
- text-decoration: underline;
670
- text-decoration-thickness: 0.06em;
671
- text-underline-offset: 0.18em;
672
- }
673
-
674
- [data-component~="ui-text"][data-ui-text-state~="truncate"] {
675
- overflow: hidden;
676
- text-overflow: ellipsis;
677
- white-space: nowrap;
678
- }
679
548
 
680
549
  /* Trim ends the layout box at the baseline; preserve descending ink while clipping long labels. */
681
- [data-component~="ui-text"][data-ui-text-state~="trim"][data-ui-text-state~="truncate"] {
682
- overflow-x: clip;
683
- overflow-y: visible;
684
- }
685
550
 
686
- [data-component~="ui-text"][data-ui-text-state~="align=center"] {
687
- text-align: center;
688
- }
551
+ /* A component that sets its display still honours the hidden attribute on its root. */
689
552
 
690
- [data-component~="ui-text"][data-ui-text-state~="font=sans"] {
691
- font-family: var(--ui-font-family-sans, sans-serif);
692
- }
553
+ @scope (.ui-text) {
554
+ :scope:where(:scope):is([data-ui-text-state~="grow"]) {
555
+ flex: 1;
556
+ }
693
557
 
694
- [data-component~="ui-text"][data-ui-text-state~="wrap=anywhere"] {
695
- overflow-wrap: anywhere;
696
- }
558
+ :scope:where(:scope) {
559
+ margin: 0;
560
+ min-inline-size: 0;
561
+ color: var(--ui-text-primary);
562
+ text-align: start;
563
+ }
564
+ :scope:where(:scope):is(:is(h2, h3, h4, h5, h6)) {
565
+ font-size: inherit;
566
+ font-weight: inherit;
567
+ }
697
568
 
698
- /* A component that sets its display still honours the hidden attribute on its root. */
699
- [data-component~="ui-text"][hidden] {
700
- display: none;
569
+ :scope:where(:scope):is([data-ui-text-state~="size=xs"]) {
570
+ font-size: var(--ui-font-size-xs);
571
+ line-height: var(--ui-line-height);
572
+ }
573
+ :scope:where(:scope):is([data-ui-text-state~="size=sm"]) {
574
+ font-size: var(--ui-font-size-sm);
575
+ line-height: var(--ui-line-height);
576
+ }
577
+ :scope:where(:scope):is([data-ui-text-state~="size=md"]) {
578
+ font-size: var(--ui-font-size-md);
579
+ line-height: var(--ui-line-height);
580
+ }
581
+ :scope:where(:scope):is([data-ui-text-state~="size=lg"]) {
582
+ font-size: var(--ui-font-size-lg);
583
+ line-height: var(--ui-line-height-relaxed);
584
+ }
585
+ :scope:where(:scope):is([data-ui-text-state~="trim"]) {
586
+ text-box-trim: trim-both;
587
+ text-box-edge: cap alphabetic;
588
+ }
589
+
590
+ :scope:where(:scope):is([data-ui-text-state~="tone=secondary"]) {
591
+ color: var(--ui-text-secondary);
592
+ }
593
+ :scope:where(:scope):is([data-ui-text-state~="tone=muted"]) {
594
+ color: var(--ui-text-muted);
595
+ }
596
+ :scope:where(:scope):is([data-ui-text-state~="tone=accent"]) {
597
+ color: var(--ui-accent-active);
598
+ }
599
+ :scope:where(:scope):is([data-ui-text-state~="tone=danger"]) {
600
+ color: var(--ui-danger-subtle-text);
601
+ }
602
+ :scope:where(:scope):is([data-ui-text-state~="tone=success"]) {
603
+ color: var(--ui-success-subtle-text);
604
+ }
605
+ :scope:where(:scope):is([data-ui-text-state~="tone=info"]) {
606
+ color: var(--ui-info-subtle-text);
607
+ }
608
+ :scope:where(:scope):is([data-ui-text-state~="tone=warning"]) {
609
+ color: var(--ui-warning-subtle-text);
610
+ }
611
+
612
+ :scope:where(:scope):is([data-ui-text-state~="weight=normal"]) {
613
+ font-weight: var(--ui-font-normal);
614
+ }
615
+ :scope:where(:scope):is([data-ui-text-state~="weight=medium"]) {
616
+ font-weight: var(--ui-font-medium);
617
+ }
618
+ :scope:where(:scope):is([data-ui-text-state~="weight=semibold"]) {
619
+ font-weight: var(--ui-font-semibold);
620
+ }
621
+
622
+ :scope:where(:scope):is([data-ui-text-state~="variant=eyebrow"]) {
623
+ font-size: var(--ui-font-size-xs);
624
+ font-weight: var(--ui-font-semibold);
625
+ letter-spacing: 0.06em;
626
+ text-transform: uppercase;
627
+ }
628
+ :scope:where(:scope):is([data-ui-text-state~="variant=code"]) {
629
+ font-family: var(--ui-font-family-mono);
630
+ }
631
+ :scope :slotted(a) {
632
+ color: var(--ui-accent-active);
633
+ text-decoration: underline;
634
+ text-decoration-thickness: 0.06em;
635
+ text-underline-offset: 0.18em;
636
+ }
637
+
638
+ :scope:where(:scope):is([data-ui-text-state~="truncate"]) {
639
+ overflow: hidden;
640
+ text-overflow: ellipsis;
641
+ white-space: nowrap;
642
+ }
643
+ :scope:where(:scope):is([data-ui-text-state~="trim"][data-ui-text-state~="truncate"]) {
644
+ overflow-x: clip;
645
+ overflow-y: visible;
646
+ }
647
+
648
+ :scope:where(:scope):is([data-ui-text-state~="align=center"]) {
649
+ text-align: center;
650
+ }
651
+
652
+ :scope:where(:scope):is([data-ui-text-state~="font=sans"]) {
653
+ font-family: var(--ui-font-family-sans, sans-serif);
654
+ }
655
+
656
+ :scope:where(:scope):is([data-ui-text-state~="wrap=anywhere"]) {
657
+ overflow-wrap: anywhere;
658
+ }
659
+ :scope:where(:scope):is([hidden]) {
660
+ display: none;
661
+ }
701
662
  }
702
663
  </style>
@@ -85,11 +85,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
85
85
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
86
86
  }>, {
87
87
  value: string | null;
88
+ required: boolean | null;
88
89
  invalid: boolean | null;
89
- rows: number | null;
90
90
  size: "sm" | "md" | "lg" | null;
91
+ rows: number | null;
91
92
  disabled: boolean | null;
92
- required: boolean | null;
93
93
  readonly: boolean | null;
94
94
  maxRows: number | null;
95
95
  autosize: boolean | null;