@threadlabs/looma 0.28.5 → 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 (429) hide show
  1. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  2. package/dist/index.js +1 -1
  3. package/package.json +3 -2
  4. package/styles/ui-action-bar.css +13 -6
  5. package/styles/ui-affordance-scope.css +12 -5
  6. package/styles/ui-avatar-group.css +17 -10
  7. package/styles/ui-avatar.css +23 -16
  8. package/styles/ui-badge.css +78 -71
  9. package/styles/ui-breadcrumb-item.css +12 -5
  10. package/styles/ui-breadcrumbs.css +10 -3
  11. package/styles/ui-button.css +79 -72
  12. package/styles/ui-callout.css +29 -22
  13. package/styles/ui-card.css +25 -18
  14. package/styles/ui-checkbox.css +45 -37
  15. package/styles/ui-cluster.css +34 -27
  16. package/styles/ui-combobox.css +46 -39
  17. package/styles/ui-container.css +20 -13
  18. package/styles/ui-context-menu.css +17 -10
  19. package/styles/ui-cover.css +12 -5
  20. package/styles/ui-description-item.css +10 -3
  21. package/styles/ui-description-list.css +20 -13
  22. package/styles/ui-dialog.css +44 -35
  23. package/styles/ui-disclosure.css +32 -25
  24. package/styles/ui-editable.css +15 -8
  25. package/styles/ui-editor-image-toolbar.css +1 -1
  26. package/styles/ui-editor-insert-table-grid.css +11 -4
  27. package/styles/ui-editor-mention-menu-item.css +17 -8
  28. package/styles/ui-editor-mention-menu.css +14 -7
  29. package/styles/ui-editor-slash-menu-group.css +10 -3
  30. package/styles/ui-editor-slash-menu-item.css +15 -8
  31. package/styles/ui-editor-slash-menu.css +15 -8
  32. package/styles/ui-editor-surface.css +10 -3
  33. package/styles/ui-editor-table-context-menu.css +17 -10
  34. package/styles/ui-editor-table-overlay.css +17 -10
  35. package/styles/ui-editor-table-toolbar.css +22 -15
  36. package/styles/ui-editor-toolbar.css +18 -11
  37. package/styles/ui-floating-action-button.css +21 -14
  38. package/styles/ui-form-field.css +20 -13
  39. package/styles/ui-grid.css +21 -14
  40. package/styles/ui-icon-button.css +80 -73
  41. package/styles/ui-icon.css +14 -7
  42. package/styles/ui-image.css +25 -18
  43. package/styles/ui-input-group.css +34 -27
  44. package/styles/ui-input.css +42 -35
  45. package/styles/ui-list-item.css +33 -26
  46. package/styles/ui-list.css +22 -15
  47. package/styles/ui-listbox.css +22 -14
  48. package/styles/ui-menu-group.css +10 -3
  49. package/styles/ui-menu-item.css +29 -22
  50. package/styles/ui-menu.css +25 -18
  51. package/styles/ui-meter.css +36 -29
  52. package/styles/ui-nav-item.css +26 -19
  53. package/styles/ui-page-header.css +12 -5
  54. package/styles/ui-popover.css +27 -20
  55. package/styles/ui-radio-group.css +14 -6
  56. package/styles/ui-radio.css +24 -17
  57. package/styles/ui-reel.css +28 -21
  58. package/styles/ui-scroll-area.css +22 -15
  59. package/styles/ui-search-result-row.css +28 -21
  60. package/styles/ui-search-shell.css +24 -17
  61. package/styles/ui-section.css +14 -7
  62. package/styles/ui-select.css +33 -26
  63. package/styles/ui-separator.css +17 -10
  64. package/styles/ui-sidebar.css +35 -28
  65. package/styles/ui-spinner.css +32 -23
  66. package/styles/ui-stack.css +29 -21
  67. package/styles/ui-status-message.css +14 -7
  68. package/styles/ui-switch.css +29 -22
  69. package/styles/ui-switcher.css +27 -20
  70. package/styles/ui-table.css +14 -7
  71. package/styles/ui-tabs.css +24 -17
  72. package/styles/ui-text.css +35 -28
  73. package/styles/ui-textarea.css +37 -30
  74. package/styles/ui-toast-region.css +74 -63
  75. package/styles/ui-toast.css +21 -14
  76. package/styles/ui-tooltip.css +38 -31
  77. package/styles/ui-top-bar.css +19 -12
  78. package/styles/ui-tree-item.css +79 -71
  79. package/styles/ui-tree.css +18 -11
  80. package/vanilla/UiActionBar.d.ts +1 -1
  81. package/vanilla/UiActionBar.js +1 -1
  82. package/vanilla/UiAffordanceScope.d.ts +1 -1
  83. package/vanilla/UiAffordanceScope.js +1 -1
  84. package/vanilla/UiAvatar.d.ts +1 -1
  85. package/vanilla/UiAvatar.js +1 -1
  86. package/vanilla/UiAvatarGroup.d.ts +1 -1
  87. package/vanilla/UiAvatarGroup.js +1 -1
  88. package/vanilla/UiBadge.d.ts +1 -1
  89. package/vanilla/UiBadge.js +1 -1
  90. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  91. package/vanilla/UiBreadcrumbItem.js +1 -1
  92. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  93. package/vanilla/UiBreadcrumbs.js +1 -1
  94. package/vanilla/UiButton.d.ts +1 -1
  95. package/vanilla/UiButton.js +19 -57
  96. package/vanilla/UiCallout.d.ts +1 -1
  97. package/vanilla/UiCallout.js +25 -73
  98. package/vanilla/UiCard.d.ts +1 -1
  99. package/vanilla/UiCard.js +1 -1
  100. package/vanilla/UiCheckbox.d.ts +1 -1
  101. package/vanilla/UiCheckbox.js +1 -1
  102. package/vanilla/UiCluster.d.ts +1 -1
  103. package/vanilla/UiCluster.js +1 -1
  104. package/vanilla/UiCombobox.d.ts +1 -1
  105. package/vanilla/UiCombobox.js +60 -166
  106. package/vanilla/UiContainer.d.ts +1 -1
  107. package/vanilla/UiContainer.js +1 -1
  108. package/vanilla/UiContextMenu.d.ts +1 -1
  109. package/vanilla/UiContextMenu.js +1 -1
  110. package/vanilla/UiCover.d.ts +1 -1
  111. package/vanilla/UiCover.js +1 -1
  112. package/vanilla/UiDescriptionItem.d.ts +1 -1
  113. package/vanilla/UiDescriptionItem.js +1 -1
  114. package/vanilla/UiDescriptionList.d.ts +1 -1
  115. package/vanilla/UiDescriptionList.js +1 -1
  116. package/vanilla/UiDialog.d.ts +1 -1
  117. package/vanilla/UiDialog.js +4 -10
  118. package/vanilla/UiDisclosure.d.ts +1 -1
  119. package/vanilla/UiDisclosure.js +1 -1
  120. package/vanilla/UiEditable.d.ts +1 -1
  121. package/vanilla/UiEditable.js +7 -19
  122. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  123. package/vanilla/UiEditorImageToolbar.js +1 -1
  124. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  125. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  126. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  127. package/vanilla/UiEditorMentionMenu.js +17 -37
  128. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  129. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  130. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  131. package/vanilla/UiEditorSlashMenu.js +5 -4
  132. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  134. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  135. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  136. package/vanilla/UiEditorSurface.d.ts +1 -1
  137. package/vanilla/UiEditorSurface.js +1 -1
  138. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  139. package/vanilla/UiEditorTableContextMenu.js +6 -14
  140. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  141. package/vanilla/UiEditorTableOverlay.js +9 -25
  142. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  143. package/vanilla/UiEditorTableToolbar.js +25 -77
  144. package/vanilla/UiEditorToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorToolbar.js +1 -1
  146. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  147. package/vanilla/UiFloatingActionButton.js +1 -1
  148. package/vanilla/UiFormField.d.ts +1 -1
  149. package/vanilla/UiFormField.js +1 -1
  150. package/vanilla/UiGrid.d.ts +1 -1
  151. package/vanilla/UiGrid.js +1 -1
  152. package/vanilla/UiIcon.d.ts +1 -1
  153. package/vanilla/UiIcon.js +15 -47
  154. package/vanilla/UiIconButton.d.ts +1 -1
  155. package/vanilla/UiIconButton.js +4 -10
  156. package/vanilla/UiImage.d.ts +1 -1
  157. package/vanilla/UiImage.js +1 -1
  158. package/vanilla/UiInput.d.ts +1 -1
  159. package/vanilla/UiInput.js +1 -1
  160. package/vanilla/UiInputGroup.d.ts +1 -1
  161. package/vanilla/UiInputGroup.js +1 -1
  162. package/vanilla/UiList.d.ts +1 -1
  163. package/vanilla/UiList.js +1 -1
  164. package/vanilla/UiListItem.d.ts +1 -1
  165. package/vanilla/UiListItem.js +1 -1
  166. package/vanilla/UiListbox.d.ts +1 -1
  167. package/vanilla/UiListbox.js +4 -10
  168. package/vanilla/UiMenu.d.ts +1 -1
  169. package/vanilla/UiMenu.js +1 -1
  170. package/vanilla/UiMenuGroup.d.ts +1 -1
  171. package/vanilla/UiMenuGroup.js +4 -10
  172. package/vanilla/UiMenuItem.d.ts +1 -1
  173. package/vanilla/UiMenuItem.js +4 -10
  174. package/vanilla/UiMeter.d.ts +1 -1
  175. package/vanilla/UiMeter.js +13 -33
  176. package/vanilla/UiNavItem.d.ts +1 -1
  177. package/vanilla/UiNavItem.js +1 -1
  178. package/vanilla/UiPageHeader.d.ts +1 -1
  179. package/vanilla/UiPageHeader.js +1 -1
  180. package/vanilla/UiPopover.d.ts +1 -1
  181. package/vanilla/UiPopover.js +1 -1
  182. package/vanilla/UiRadio.d.ts +1 -1
  183. package/vanilla/UiRadio.js +1 -1
  184. package/vanilla/UiRadioGroup.d.ts +1 -1
  185. package/vanilla/UiRadioGroup.js +1 -1
  186. package/vanilla/UiReel.d.ts +1 -1
  187. package/vanilla/UiReel.js +1 -1
  188. package/vanilla/UiScrollArea.d.ts +1 -1
  189. package/vanilla/UiScrollArea.js +1 -1
  190. package/vanilla/UiSearchResultRow.d.ts +1 -1
  191. package/vanilla/UiSearchResultRow.js +1 -1
  192. package/vanilla/UiSearchShell.d.ts +1 -1
  193. package/vanilla/UiSearchShell.js +1 -1
  194. package/vanilla/UiSection.d.ts +1 -1
  195. package/vanilla/UiSection.js +1 -1
  196. package/vanilla/UiSelect.d.ts +1 -1
  197. package/vanilla/UiSelect.js +1 -1
  198. package/vanilla/UiSeparator.d.ts +1 -1
  199. package/vanilla/UiSeparator.js +1 -1
  200. package/vanilla/UiSidebar.d.ts +1 -1
  201. package/vanilla/UiSidebar.js +1 -1
  202. package/vanilla/UiSpinner.d.ts +1 -1
  203. package/vanilla/UiSpinner.js +1 -1
  204. package/vanilla/UiStack.d.ts +1 -1
  205. package/vanilla/UiStack.js +1 -1
  206. package/vanilla/UiStatusMessage.d.ts +1 -1
  207. package/vanilla/UiStatusMessage.js +1 -1
  208. package/vanilla/UiSwitch.d.ts +1 -1
  209. package/vanilla/UiSwitch.js +1 -1
  210. package/vanilla/UiSwitcher.d.ts +1 -1
  211. package/vanilla/UiSwitcher.js +1 -1
  212. package/vanilla/UiTable.d.ts +1 -1
  213. package/vanilla/UiTable.js +1 -1
  214. package/vanilla/UiTabs.d.ts +1 -1
  215. package/vanilla/UiTabs.js +1 -1
  216. package/vanilla/UiText.d.ts +1 -1
  217. package/vanilla/UiText.js +1 -1
  218. package/vanilla/UiTextarea.d.ts +1 -1
  219. package/vanilla/UiTextarea.js +1 -1
  220. package/vanilla/UiToast.d.ts +1 -1
  221. package/vanilla/UiToast.js +1 -1
  222. package/vanilla/UiToastRegion.d.ts +1 -1
  223. package/vanilla/UiToastRegion.js +1 -1
  224. package/vanilla/UiTooltip.d.ts +1 -1
  225. package/vanilla/UiTooltip.js +1 -1
  226. package/vanilla/UiTopBar.d.ts +1 -1
  227. package/vanilla/UiTopBar.js +1 -1
  228. package/vanilla/UiTree.d.ts +1 -1
  229. package/vanilla/UiTree.js +1 -1
  230. package/vanilla/UiTreeItem.d.ts +1 -1
  231. package/vanilla/UiTreeItem.js +7 -19
  232. package/vue/UiActionBar.vue +46 -78
  233. package/vue/UiAffordanceScope.vue +27 -66
  234. package/vue/UiAvatar.d.ts +10 -7
  235. package/vue/UiAvatar.vue +100 -218
  236. package/vue/UiAvatarGroup.d.ts +10 -7
  237. package/vue/UiAvatarGroup.vue +78 -160
  238. package/vue/UiBadge.d.ts +1 -1
  239. package/vue/UiBadge.vue +483 -520
  240. package/vue/UiBreadcrumbItem.vue +52 -123
  241. package/vue/UiBreadcrumbs.vue +27 -70
  242. package/vue/UiButton.d.ts +2 -2
  243. package/vue/UiButton.vue +420 -471
  244. package/vue/UiCallout.vue +131 -175
  245. package/vue/UiCard.d.ts +1 -1
  246. package/vue/UiCard.vue +112 -151
  247. package/vue/UiCheckbox.d.ts +13 -10
  248. package/vue/UiCheckbox.vue +160 -221
  249. package/vue/UiCluster.d.ts +1 -1
  250. package/vue/UiCluster.vue +84 -128
  251. package/vue/UiCombobox.d.ts +71 -68
  252. package/vue/UiCombobox.vue +417 -743
  253. package/vue/UiContainer.vue +43 -87
  254. package/vue/UiContextMenu.d.ts +6 -6
  255. package/vue/UiContextMenu.vue +78 -117
  256. package/vue/UiCover.vue +29 -69
  257. package/vue/UiDescriptionItem.vue +39 -82
  258. package/vue/UiDescriptionList.vue +64 -107
  259. package/vue/UiDialog.d.ts +22 -19
  260. package/vue/UiDialog.vue +193 -246
  261. package/vue/UiDisclosure.d.ts +22 -19
  262. package/vue/UiDisclosure.vue +192 -283
  263. package/vue/UiEditable.d.ts +5 -5
  264. package/vue/UiEditable.vue +124 -207
  265. package/vue/UiEditorImageToolbar.d.ts +2 -2
  266. package/vue/UiEditorImageToolbar.vue +41 -251
  267. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  268. package/vue/UiEditorInsertTableGrid.vue +98 -266
  269. package/vue/UiEditorMentionMenu.d.ts +15 -12
  270. package/vue/UiEditorMentionMenu.vue +150 -239
  271. package/vue/UiEditorMentionMenuItem.vue +66 -110
  272. package/vue/UiEditorSlashMenu.d.ts +16 -13
  273. package/vue/UiEditorSlashMenu.vue +172 -253
  274. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  275. package/vue/UiEditorSlashMenuItem.vue +67 -115
  276. package/vue/UiEditorSurface.vue +19 -63
  277. package/vue/UiEditorTableContextMenu.vue +135 -269
  278. package/vue/UiEditorTableOverlay.d.ts +2 -2
  279. package/vue/UiEditorTableOverlay.vue +310 -479
  280. package/vue/UiEditorTableToolbar.d.ts +2 -2
  281. package/vue/UiEditorTableToolbar.vue +182 -357
  282. package/vue/UiEditorToolbar.vue +143 -183
  283. package/vue/UiFloatingActionButton.vue +70 -114
  284. package/vue/UiFormField.d.ts +1 -1
  285. package/vue/UiFormField.vue +76 -117
  286. package/vue/UiGrid.d.ts +1 -1
  287. package/vue/UiGrid.vue +65 -103
  288. package/vue/UiIcon.vue +32 -106
  289. package/vue/UiIconButton.d.ts +2 -2
  290. package/vue/UiIconButton.vue +359 -411
  291. package/vue/UiImage.vue +145 -180
  292. package/vue/UiInput.vue +158 -190
  293. package/vue/UiInputGroup.vue +199 -239
  294. package/vue/UiList.vue +67 -109
  295. package/vue/UiListItem.vue +154 -201
  296. package/vue/UiListbox.d.ts +10 -7
  297. package/vue/UiListbox.vue +86 -260
  298. package/vue/UiMenu.d.ts +11 -11
  299. package/vue/UiMenu.vue +118 -152
  300. package/vue/UiMenuGroup.vue +21 -67
  301. package/vue/UiMenuItem.d.ts +19 -16
  302. package/vue/UiMenuItem.vue +169 -262
  303. package/vue/UiMeter.d.ts +4 -4
  304. package/vue/UiMeter.vue +166 -680
  305. package/vue/UiNavItem.vue +140 -213
  306. package/vue/UiPageHeader.vue +81 -127
  307. package/vue/UiPopover.d.ts +7 -7
  308. package/vue/UiPopover.vue +90 -129
  309. package/vue/UiRadio.d.ts +12 -9
  310. package/vue/UiRadio.vue +91 -149
  311. package/vue/UiRadioGroup.d.ts +2 -2
  312. package/vue/UiRadioGroup.vue +47 -85
  313. package/vue/UiReel.vue +89 -130
  314. package/vue/UiScrollArea.d.ts +1 -1
  315. package/vue/UiScrollArea.vue +78 -119
  316. package/vue/UiSearchResultRow.vue +96 -149
  317. package/vue/UiSearchShell.d.ts +2 -2
  318. package/vue/UiSearchShell.vue +159 -196
  319. package/vue/UiSection.vue +105 -149
  320. package/vue/UiSelect.d.ts +1 -1
  321. package/vue/UiSelect.vue +114 -146
  322. package/vue/UiSeparator.vue +42 -85
  323. package/vue/UiSidebar.d.ts +10 -7
  324. package/vue/UiSidebar.vue +193 -260
  325. package/vue/UiSpinner.vue +54 -130
  326. package/vue/UiStack.vue +66 -107
  327. package/vue/UiStatusMessage.d.ts +1 -1
  328. package/vue/UiStatusMessage.vue +61 -135
  329. package/vue/UiSwitch.d.ts +12 -9
  330. package/vue/UiSwitch.vue +136 -194
  331. package/vue/UiSwitcher.vue +69 -107
  332. package/vue/UiTable.vue +121 -156
  333. package/vue/UiTabs.d.ts +1 -1
  334. package/vue/UiTabs.vue +139 -267
  335. package/vue/UiText.d.ts +4 -4
  336. package/vue/UiText.vue +145 -184
  337. package/vue/UiTextarea.d.ts +2 -2
  338. package/vue/UiTextarea.vue +162 -194
  339. package/vue/UiToast.vue +70 -118
  340. package/vue/UiToastRegion.vue +157 -276
  341. package/vue/UiTooltip.d.ts +21 -18
  342. package/vue/UiTooltip.vue +174 -234
  343. package/vue/UiTopBar.vue +48 -76
  344. package/vue/UiTree.vue +46 -79
  345. package/vue/UiTreeItem.d.ts +18 -15
  346. package/vue/UiTreeItem.vue +526 -668
  347. package/vue/chunks/UiActionBar.js +5 -17
  348. package/vue/chunks/UiAffordanceScope.js +7 -26
  349. package/vue/chunks/UiAvatar.js +20 -74
  350. package/vue/chunks/UiAvatarGroup.js +14 -56
  351. package/vue/chunks/UiBadge.js +10 -28
  352. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  353. package/vue/chunks/UiBreadcrumbs.js +7 -25
  354. package/vue/chunks/UiButton.js +80 -103
  355. package/vue/chunks/UiCallout.js +9 -27
  356. package/vue/chunks/UiCard.js +33 -53
  357. package/vue/chunks/UiCheckbox.js +14 -46
  358. package/vue/chunks/UiCluster.js +13 -31
  359. package/vue/chunks/UiCombobox.js +99 -237
  360. package/vue/chunks/UiContainer.js +9 -27
  361. package/vue/chunks/UiContextMenu.js +7 -26
  362. package/vue/chunks/UiCover.js +7 -25
  363. package/vue/chunks/UiDescriptionItem.js +6 -24
  364. package/vue/chunks/UiDescriptionList.js +9 -27
  365. package/vue/chunks/UiDialog.js +18 -47
  366. package/vue/chunks/UiDisclosure.js +19 -66
  367. package/vue/chunks/UiEditable.js +18 -60
  368. package/vue/chunks/UiEditorImageToolbar.js +34 -103
  369. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  370. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  371. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  372. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  373. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  374. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  375. package/vue/chunks/UiEditorSurface.js +7 -25
  376. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  377. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  378. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  379. package/vue/chunks/UiEditorToolbar.js +7 -26
  380. package/vue/chunks/UiFloatingActionButton.js +10 -28
  381. package/vue/chunks/UiFormField.js +8 -27
  382. package/vue/chunks/UiGrid.js +10 -28
  383. package/vue/chunks/UiIcon.js +21 -74
  384. package/vue/chunks/UiIconButton.js +18 -50
  385. package/vue/chunks/UiImage.js +14 -33
  386. package/vue/chunks/UiInput.js +12 -31
  387. package/vue/chunks/UiInputGroup.js +10 -29
  388. package/vue/chunks/UiList.js +17 -37
  389. package/vue/chunks/UiListItem.js +12 -30
  390. package/vue/chunks/UiListbox.js +22 -124
  391. package/vue/chunks/UiMenu.js +13 -32
  392. package/vue/chunks/UiMenuGroup.js +8 -26
  393. package/vue/chunks/UiMenuItem.js +35 -80
  394. package/vue/chunks/UiMeter.js +17 -351
  395. package/vue/chunks/UiNavItem.js +23 -57
  396. package/vue/chunks/UiPageHeader.js +7 -25
  397. package/vue/chunks/UiPopover.js +9 -28
  398. package/vue/chunks/UiRadio.js +11 -43
  399. package/vue/chunks/UiRadioGroup.js +13 -32
  400. package/vue/chunks/UiReel.js +10 -28
  401. package/vue/chunks/UiScrollArea.js +10 -29
  402. package/vue/chunks/UiSearchResultRow.js +10 -28
  403. package/vue/chunks/UiSearchShell.js +9 -28
  404. package/vue/chunks/UiSection.js +9 -27
  405. package/vue/chunks/UiSelect.js +10 -29
  406. package/vue/chunks/UiSeparator.js +10 -28
  407. package/vue/chunks/UiSidebar.js +15 -47
  408. package/vue/chunks/UiSpinner.js +8 -44
  409. package/vue/chunks/UiStack.js +12 -30
  410. package/vue/chunks/UiStatusMessage.js +10 -42
  411. package/vue/chunks/UiSwitch.js +11 -43
  412. package/vue/chunks/UiSwitcher.js +9 -28
  413. package/vue/chunks/UiTable.js +7 -26
  414. package/vue/chunks/UiTabs.js +15 -91
  415. package/vue/chunks/UiText.js +148 -168
  416. package/vue/chunks/UiTextarea.js +16 -35
  417. package/vue/chunks/UiToast.js +13 -37
  418. package/vue/chunks/UiToastRegion.js +16 -88
  419. package/vue/chunks/UiTooltip.js +14 -46
  420. package/vue/chunks/UiTopBar.js +5 -17
  421. package/vue/chunks/UiTree.js +13 -32
  422. package/vue/chunks/UiTreeItem.js +34 -90
  423. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  424. package/vue/chunks/control.js +3 -0
  425. package/vue/chunks/props.js +1 -1
  426. package/vue/components.css +7606 -7534
  427. package/vue/editor/index.js +1 -1
  428. package/vue/host.ts +999 -14
  429. package/vue/chunks/host.js +0 -443
@@ -1,443 +0,0 @@
1
- import { Fragment, computed, getCurrentInstance, onBeforeUnmount, onBeforeUpdate, onMounted, onUpdated, shallowRef, useSlots, watchEffect } from "vue";
2
- //#region .build/vue/host.ts
3
- function controllerNamespaces(options, source) {
4
- const reported = /* @__PURE__ */ new Set();
5
- const nested = /* @__PURE__ */ new WeakMap();
6
- const eventType = typeof Event === "undefined" ? void 0 : Object.getOwnPropertyDescriptor(Event.prototype, "type").get;
7
- const eventBrands = /* @__PURE__ */ new WeakMap();
8
- const nativeEvent = (value) => {
9
- if (!("type" in value) || eventType === void 0) return false;
10
- const known = eventBrands.get(value);
11
- if (known !== void 0) return known;
12
- let accepted = false;
13
- try {
14
- eventType.call(value);
15
- accepted = true;
16
- } catch {}
17
- eventBrands.set(value, accepted);
18
- return accepted;
19
- };
20
- const warn = (path, readonly) => {
21
- if (reported.has(path)) return;
22
- reported.add(path);
23
- console.warn(source + ": HR007: Destination " + path + (readonly ? " is read-only." : " does not satisfy its declared type."));
24
- };
25
- const write = (name, keys, value, readonly, apply) => {
26
- if (readonly || options.acceptsState?.(name, keys, value) === false) warn([name, ...keys].join("."), readonly);
27
- else apply();
28
- return true;
29
- };
30
- const wrap = (value, name, keys, readonly) => {
31
- if (value === null || typeof value !== "object" || nativeEvent(value)) return value;
32
- const path = [name, ...keys].join(".");
33
- let paths = nested.get(value);
34
- if (paths === void 0) nested.set(value, paths = /* @__PURE__ */ new Map());
35
- const known = paths.get(path);
36
- if (known !== void 0) return known;
37
- const surface = readonly ? Array.isArray(value) ? [] : Object.create(Object.getPrototypeOf(value)) : value;
38
- if (readonly && Array.isArray(value)) surface.length = value.length;
39
- const proxy = new Proxy(surface, {
40
- get: (_target, key) => wrap(Reflect.get(value, key), name, [...keys, String(key)], readonly),
41
- set: (_target, key, next) => write(name, [...keys, String(key)], next, readonly, () => {
42
- const previous = Reflect.get(value, key);
43
- if (Reflect.set(value, key, next) && !Object.is(previous, next)) options.changed?.(name);
44
- }),
45
- has: (_target, key) => Reflect.has(value, key),
46
- ownKeys: () => Reflect.ownKeys(value),
47
- getOwnPropertyDescriptor: (_target, key) => {
48
- if (readonly && Array.isArray(value) && key === "length") {
49
- surface.length = value.length;
50
- return Reflect.getOwnPropertyDescriptor(surface, key);
51
- }
52
- const descriptor = Reflect.getOwnPropertyDescriptor(value, key);
53
- return descriptor === void 0 ? void 0 : readonly ? {
54
- ...descriptor,
55
- configurable: true
56
- } : descriptor;
57
- },
58
- deleteProperty: (_target, key) => write(name, [...keys, String(key)], void 0, readonly, () => {
59
- if (Reflect.has(value, key) && Reflect.deleteProperty(value, key)) options.changed?.(name);
60
- }),
61
- defineProperty: (_target, key, descriptor) => {
62
- if (readonly || !("value" in descriptor) || options.acceptsState?.(name, [...keys, String(key)], descriptor.value) === false) {
63
- warn([
64
- name,
65
- ...keys,
66
- String(key)
67
- ].join("."), readonly);
68
- return false;
69
- }
70
- const changed = Reflect.defineProperty(value, key, descriptor);
71
- if (changed) options.changed?.(name);
72
- return changed;
73
- }
74
- });
75
- paths.set(path, proxy);
76
- return proxy;
77
- };
78
- return {
79
- state: new Proxy({}, {
80
- get: (_target, name) => {
81
- if (typeof name !== "string") return void 0;
82
- if (Object.hasOwn(options.state, name)) return wrap(options.state[name].get(), name, [], false);
83
- if (Object.hasOwn(options.computed, name)) return wrap(options.computed[name](), name, [], true);
84
- },
85
- set: (_target, name, value) => write(String(name), [], value, typeof name !== "string" || !Object.hasOwn(options.state, name), () => options.state[String(name)].set(value)),
86
- deleteProperty: (_target, name) => {
87
- warn(String(name), true);
88
- return true;
89
- },
90
- defineProperty: (_target, name) => {
91
- warn(String(name), true);
92
- return false;
93
- },
94
- has: (_target, name) => typeof name === "string" && (Object.hasOwn(options.state, name) || Object.hasOwn(options.computed, name))
95
- }),
96
- data: new Proxy({}, {
97
- get: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name) ? wrap(options.data[name](), "data." + name, [], true) : void 0,
98
- set: (_target, name, value) => write("data." + String(name), [], value, true, () => {}),
99
- deleteProperty: (_target, name) => {
100
- warn("data." + String(name), true);
101
- return true;
102
- },
103
- defineProperty: (_target, name) => {
104
- warn("data." + String(name), true);
105
- return false;
106
- },
107
- has: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name)
108
- })
109
- };
110
- }
111
- function dispatchToTargets(recorded, send) {
112
- const targets = (recorded instanceof Set ? [...recorded] : Array.isArray(recorded) ? [...recorded] : [recorded]).map((ref) => ref?.nodeType === 1 ? ref : ref?.$el).filter((element) => element?.nodeType === 1 && element.isConnected).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & 4 ? -1 : 1);
113
- for (const target of targets) if (target.isConnected) send(target);
114
- }
115
- var runtimeKey = Symbol.for("@nextwebwg/html-next.runtime.v1");
116
- function observeConnection(element, check) {
117
- const document = element.ownerDocument;
118
- const state = document[runtimeKey] ??= {};
119
- let hub = state.mutationHub;
120
- if (hub === void 0) {
121
- const Observer = document.defaultView?.MutationObserver ?? MutationObserver;
122
- const subscribers = /* @__PURE__ */ new Set();
123
- const observer = new Observer((mutations) => {
124
- for (const notify of Array.from(subscribers)) notify(mutations);
125
- });
126
- hub = {
127
- observer,
128
- subscribers
129
- };
130
- state.mutationHub = hub;
131
- observer.observe(document, {
132
- childList: true,
133
- subtree: true
134
- });
135
- }
136
- const shared = hub;
137
- const subscriber = () => check();
138
- shared.subscribers.add(subscriber);
139
- return () => {
140
- shared.subscribers.delete(subscriber);
141
- if (shared.subscribers.size === 0 && state.mutationHub === shared) {
142
- shared.observer.disconnect();
143
- delete state.mutationHub;
144
- }
145
- };
146
- }
147
- /** Keep native focus on the corresponding control when a root-level $match replaces its element. */
148
- function preserveRootFocus(root) {
149
- const focusable = "a[href], button, input, select, textarea, summary, [tabindex], [contenteditable]";
150
- let previous = null;
151
- let active = null;
152
- let focusIndex = -1;
153
- onBeforeUpdate(() => {
154
- previous = root.value;
155
- active = previous?.ownerDocument.activeElement ?? null;
156
- focusIndex = previous !== null && active !== null && active !== previous && previous.contains(active) ? Array.from(previous.querySelectorAll(focusable)).indexOf(active) : -1;
157
- });
158
- onUpdated(() => {
159
- const next = root.value;
160
- if (previous === null || next === null || previous === next) return;
161
- (active === previous ? next : active?.isConnected === true && next.contains(active) ? active : focusIndex >= 0 ? next.querySelectorAll(focusable)[focusIndex] : void 0)?.focus?.({ preventScroll: true });
162
- });
163
- }
164
- /** Vue does not promise a `v-for` ref array in source order, and the host does. */
165
- function inDocumentOrder(elements) {
166
- return [...elements].sort((a, b) => (a.compareDocumentPosition(b) & 4) !== 0 ? -1 : 1);
167
- }
168
- /** Slot content flattened to the elements Vue mounted for it, descending through fragments. */
169
- function slottedElements(nodes) {
170
- const elements = [];
171
- for (const node of nodes) if (node.type === Fragment && Array.isArray(node.children)) elements.push(...slottedElements(node.children));
172
- else if (node.el instanceof Element) elements.push(node.el);
173
- return elements;
174
- }
175
- /**
176
- * The controller host, built from Vue refs, effects, and lifecycle. Reads and writes reach the
177
- * component's own refs, so a controller's change renders as any other Vue change does. Vue
178
- * hooks cover mount/unmount; a shared native observer also detects external root detachment
179
- * and reinsertion without treating an in-tree move as a new connection.
180
- */
181
- function useComponentHost(controllerLoader, options) {
182
- const { root, dispatch, props, propInputs = () => null, propNames = [], refs = {}, state = {}, computed: computedValues = {}, data = {}, context = {} } = options;
183
- const vueSlots = useSlots();
184
- const component = getCurrentInstance();
185
- const report = (error) => {
186
- const handler = component?.appContext.config.errorHandler;
187
- if (handler === void 0) queueMicrotask(() => {
188
- throw error;
189
- });
190
- else handler(error, component?.proxy ?? null, "HTML Next controller");
191
- };
192
- const controllerDiagnostic = (code, reason) => {
193
- const edge = options.controllerSource;
194
- const source = edge?.definition ? new URL(edge.definition, document.baseURI).href : void 0;
195
- const url = new URL(edge?.specifier ?? "", source ?? document.baseURI).href;
196
- const message = code === "HJ002" ? "Controller module `" + url + "` must default-export a function." : "Controller module `" + url + "` failed to load: " + (reason instanceof Error ? reason.message : String(reason)) + ".";
197
- return Object.assign(/* @__PURE__ */ new Error((source === void 0 ? "" : source + ": ") + code + ": " + message), {
198
- name: "HtmlDiagnosticError",
199
- diagnostic: Object.freeze({
200
- code,
201
- message,
202
- ...source === void 0 ? {} : { source }
203
- })
204
- });
205
- };
206
- let controllerModule;
207
- const loadControllerModule = () => controllerModule ??= Promise.resolve().then(controllerLoader).then((candidate) => {
208
- if (typeof candidate?.default !== "function") throw controllerDiagnostic("HJ002");
209
- return candidate;
210
- }).catch((error) => {
211
- if (error instanceof Error && "diagnostic" in error) throw error;
212
- throw controllerDiagnostic("HJ001", error);
213
- });
214
- const stops = [];
215
- const connected = shallowRef(false);
216
- const pauses = /* @__PURE__ */ new Map();
217
- const subscriptions = /* @__PURE__ */ new Set();
218
- const activate = (entry) => {
219
- if (entry.type === "connect") entry.cleanup = entry.callback(new Event("connect"));
220
- else if (entry.type !== "disconnect") {
221
- entry.target = root.value ?? void 0;
222
- entry.target?.addEventListener(entry.type, entry.callback);
223
- }
224
- };
225
- const deactivate = (entry, disconnecting) => {
226
- entry.target?.removeEventListener(entry.type, entry.callback);
227
- entry.target = void 0;
228
- const cleanup = entry.cleanup;
229
- entry.cleanup = void 0;
230
- cleanup?.();
231
- if (disconnecting && entry.type === "disconnect") entry.callback(new Event("disconnect"));
232
- };
233
- const propHandles = Object.create(null);
234
- for (const name of propNames) {
235
- const validity = () => options.propValidity?.(name);
236
- propHandles[name] = Object.freeze({
237
- get value() {
238
- return props?.value[name];
239
- },
240
- get inputValue() {
241
- return propInputs(name);
242
- },
243
- get validity() {
244
- return validity();
245
- },
246
- validate: validity
247
- });
248
- }
249
- const host = {
250
- get element() {
251
- return root.value;
252
- },
253
- get root() {
254
- return root.value;
255
- },
256
- ...controllerNamespaces({
257
- state: Object.fromEntries(Object.entries(state).map(([name, value]) => [name, {
258
- get: () => value.value,
259
- set: (next) => {
260
- value.value = next;
261
- }
262
- }])),
263
- computed: Object.fromEntries([...Object.entries(computedValues), ...Object.entries(context)].map(([name, value]) => [name, () => value.value])),
264
- data: Object.fromEntries(Object.entries(data).map(([name, value]) => [name, () => value.value])),
265
- acceptsState: options.acceptsState
266
- }, options.controllerSource?.definition ?? "<component>"),
267
- on(type, callback) {
268
- const entry = {
269
- type,
270
- callback
271
- };
272
- subscriptions.add(entry);
273
- if (connected.value) activate(entry);
274
- return () => {
275
- if (subscriptions.delete(entry)) deactivate(entry, false);
276
- };
277
- },
278
- props: Object.freeze(propHandles),
279
- refs: Object.defineProperties({}, Object.fromEntries(Object.entries(refs).map(([name, ref]) => [name, {
280
- enumerable: true,
281
- get: () => Array.isArray(ref.value) ? inDocumentOrder(ref.value) : ref.value
282
- }]))),
283
- slots: new Proxy({}, {
284
- get: (_target, name) => {
285
- if (typeof name !== "string") return void 0;
286
- const render = vueSlots[name];
287
- return render === void 0 ? [] : slottedElements(render());
288
- },
289
- has: (_target, name) => typeof name === "string" && vueSlots[name] !== void 0
290
- }),
291
- signal(initialValue) {
292
- const value = shallowRef(initialValue);
293
- return {
294
- get: () => value.value,
295
- set: (next) => {
296
- value.value = next;
297
- },
298
- update: (next) => {
299
- value.value = next(value.value);
300
- }
301
- };
302
- },
303
- computed(compute) {
304
- const value = computed(compute);
305
- return { get: () => value.value };
306
- },
307
- effect(run) {
308
- let cleanup;
309
- const pause = () => {
310
- const previous = cleanup;
311
- cleanup = void 0;
312
- previous?.();
313
- };
314
- const stop = watchEffect(() => {
315
- pause();
316
- if (connected.value) cleanup = run();
317
- }, { flush: "post" });
318
- const dispose = () => {
319
- stop();
320
- pause();
321
- pauses.delete(dispose);
322
- };
323
- pauses.set(dispose, pause);
324
- stops.push(dispose);
325
- return dispose;
326
- },
327
- dispatch
328
- };
329
- let cleanup;
330
- let started;
331
- let stopObserving;
332
- let connection = 0;
333
- let initialized = false;
334
- let unmounted = false;
335
- const disconnect = () => {
336
- if (!connected.value) return;
337
- connected.value = false;
338
- connection += 1;
339
- for (const pause of pauses.values()) pause();
340
- for (const entry of subscriptions) deactivate(entry, true);
341
- cleanup?.();
342
- cleanup = void 0;
343
- };
344
- const synchronize = () => {
345
- if (unmounted) return;
346
- if (root.value?.isConnected !== true) {
347
- disconnect();
348
- return;
349
- }
350
- if (connected.value) {
351
- for (const entry of subscriptions) if (entry.type !== "connect" && entry.type !== "disconnect" && entry.target !== root.value) {
352
- deactivate(entry, false);
353
- activate(entry);
354
- }
355
- return;
356
- }
357
- connected.value = true;
358
- for (const entry of subscriptions) activate(entry);
359
- if (initialized) return;
360
- const current = ++connection;
361
- started = loadControllerModule().then(async (loaded) => {
362
- if (!connected.value || current !== connection || initialized) return loaded;
363
- initialized = true;
364
- const result = await loaded.default(host);
365
- if (typeof result === "function") {
366
- if (!connected.value || current !== connection) result();
367
- else cleanup = result;
368
- }
369
- return loaded;
370
- });
371
- started.catch(report);
372
- };
373
- onMounted(() => {
374
- if (root.value === null) return;
375
- stopObserving = observeConnection(root.value, () => {
376
- try {
377
- synchronize();
378
- } catch (error) {
379
- report(error);
380
- }
381
- });
382
- synchronize();
383
- });
384
- onUpdated(synchronize);
385
- onBeforeUnmount(() => {
386
- unmounted = true;
387
- stopObserving?.();
388
- disconnect();
389
- for (const stop of stops.splice(0)) stop();
390
- subscriptions.clear();
391
- });
392
- return host;
393
- }
394
- var HtmlDiagnosticError = class extends Error {
395
- diagnostic;
396
- constructor(code, message) {
397
- super(code + ": " + message);
398
- this.name = "HtmlDiagnosticError";
399
- this.diagnostic = Object.freeze({
400
- code,
401
- message
402
- });
403
- }
404
- };
405
- /** Reports declared CustomEvents to Vue and dispatches them through the DOM. */
406
- function createDispatch(root, emit, options = {}) {
407
- const { declared = {}, checks = {}, modeled = [] } = options;
408
- const reported = /* @__PURE__ */ new Map();
409
- return (name, detail, targets) => {
410
- const check = checks[name];
411
- if (detail !== void 0 && check !== void 0 && !check(detail)) throw new HtmlDiagnosticError("HR002", `Event \`${name}\` detail does not satisfy its declared type.`);
412
- if (targets !== void 0) {
413
- let accepted = true;
414
- dispatchToTargets(targets, (target) => {
415
- if (!target.dispatchEvent(new CustomEvent(name, {
416
- bubbles: true,
417
- composed: true,
418
- ...declared[name],
419
- detail
420
- }))) accepted = false;
421
- });
422
- return accepted;
423
- }
424
- if (detail !== null && typeof detail === "object") for (const prop of modeled) {
425
- if (!(prop in detail)) continue;
426
- const value = detail[prop];
427
- if (reported.has(prop) && Object.is(reported.get(prop), value)) continue;
428
- if (reported.size === 0) queueMicrotask(() => reported.clear());
429
- reported.set(prop, value);
430
- emit?.(`update:${prop}`, value);
431
- }
432
- const event = new CustomEvent(name, {
433
- bubbles: true,
434
- composed: true,
435
- ...declared[name],
436
- detail
437
- });
438
- if (check !== void 0) emit?.(name, event);
439
- return root.value?.dispatchEvent(event) ?? true;
440
- };
441
- }
442
- //#endregion
443
- export { preserveRootFocus as n, useComponentHost as r, createDispatch as t };