@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,6 +1,6 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
2
  import { a as vPropValidity, n as checkedProp } from "./props.js";
3
- import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
3
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiListItem.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
6
6
  "aria-current",
@@ -152,26 +152,8 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
152
152
  watchSyncEffect(() => {
153
153
  checkedProps.value;
154
154
  });
155
- function nativeAttrs(attrs) {
156
- const names = Object.keys(attrs);
157
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
158
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
159
- }
160
- const componentInstance = getCurrentInstance();
161
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
162
- const incoming = componentInstance?.vnode.props;
163
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
164
- if (value === null || value === void 0) return void 0;
165
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
166
- }
167
- const hydrationNode = getCurrentInstance()?.vnode.el;
168
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "li")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-list-item> has an incompatible root."), {
169
- name: "HtmlDiagnosticError",
170
- diagnostic: Object.freeze({
171
- code: "HR005",
172
- message: "Server markup for <ui-list-item> has an incompatible root."
173
- })
174
- });
155
+ const reflectedProp = useReflectedProp();
156
+ checkHydratedRoot("li", "ui-list-item");
175
157
  /** The values the styles' :host-state() rules test. */
176
158
  const hostState = computed(() => [
177
159
  checkedProps.value.variant && "variant",
@@ -184,14 +166,14 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
184
166
  checkedProps.value.align != null && `align=${encodeURIComponent(checkedProps.value.align)}`
185
167
  ].filter(Boolean).join(" "));
186
168
  return (_ctx, _cache) => {
187
- return withDirectives((openBlock(), createElementBlock("li", mergeProps({ "data-component": "ui-list-item" }, nativeAttrs(_ctx.$attrs), {
169
+ return withDirectives((openBlock(), createElementBlock("li", mergeProps({ class: "ui-list-item" }, unref(nativeAttrs)(_ctx.$attrs), {
188
170
  "aria-current": checkedProps.value.current ?? void 0,
189
- "data-align": reflectedProp("align", "align", checkedProps.value.align, void 0, false),
190
- "data-current": reflectedProp("current", "current", checkedProps.value.current, void 0, false),
191
- "data-highlighted": reflectedProp("highlighted", "highlighted", checkedProps.value.highlighted, void 0, false),
192
- "data-leading-interactive": reflectedProp("leadingInteractive", "leading-interactive", checkedProps.value.leadingInteractive, void 0, false),
193
- "data-variant": reflectedProp("variant", "variant", checkedProps.value.variant, void 0, false),
194
- "data-wrap": reflectedProp("wrap", "wrap", checkedProps.value.wrap, void 0, false),
171
+ "data-align": unref(reflectedProp)("align", "align", checkedProps.value.align, void 0, false),
172
+ "data-current": unref(reflectedProp)("current", "current", checkedProps.value.current, void 0, false),
173
+ "data-highlighted": unref(reflectedProp)("highlighted", "highlighted", checkedProps.value.highlighted, void 0, false),
174
+ "data-leading-interactive": unref(reflectedProp)("leadingInteractive", "leading-interactive", checkedProps.value.leadingInteractive, void 0, false),
175
+ "data-variant": unref(reflectedProp)("variant", "variant", checkedProps.value.variant, void 0, false),
176
+ "data-wrap": unref(reflectedProp)("wrap", "wrap", checkedProps.value.wrap, void 0, false),
195
177
  "data-ui-list-item-state": hostState.value || void 0
196
178
  }), [
197
179
  createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "leading")]),
@@ -203,6 +185,6 @@ var UiListItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
203
185
  }]]);
204
186
  };
205
187
  }
206
- }), [["__scopeId", "data-v-2363907e"]]);
188
+ }), [["__scopeId", "data-v-8c851f73"]]);
207
189
  //#endregion
208
190
  export { UiListItem_default as t };
@@ -1,8 +1,7 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { r as useComponentHost, t as createDispatch } from "./host.js";
1
+ import { _ as useComponentHost, a as concat, g as uniqueKeys, i as checkHydratedRoot, n as KeyedBoundary, o as createDispatch, p as nativeAttrs, r as attribute, t as _plugin_vue_export_helper_default, v as useReflectedProp } from "./_plugin-vue_export-helper.js";
3
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
4
3
  import { t as UiScrollArea_default } from "./UiScrollArea.js";
5
- import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, h, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
4
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
6
5
  //#region .build/vue/UiListbox.vue?vue&type=script&setup=true&lang.ts
7
6
  var _hoisted_1 = [
8
7
  "tabindex",
@@ -40,14 +39,6 @@ var _hoisted_6 = [
40
39
  "^checked",
41
40
  "disabled"
42
41
  ];
43
- var htmlNextAuthoredCheck2Reported = /* @__PURE__ */ new Set();
44
- function htmlNextAuthoredCheck2(accepted, location, message) {
45
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
46
- htmlNextAuthoredCheck2Reported.add(location);
47
- console.warn(message);
48
- }
49
- return accepted;
50
- }
51
42
  //#endregion
52
43
  //#region .build/vue/UiListbox.vue
53
44
  var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -228,42 +219,7 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
228
219
  watchSyncEffect(() => {
229
220
  checkedProps.value;
230
221
  });
231
- function nativeAttrs(attrs) {
232
- const names = Object.keys(attrs);
233
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
234
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
235
- }
236
- const KeyedFailure = defineComponent({
237
- props: { error: {
238
- type: null,
239
- required: true
240
- } },
241
- setup(props) {
242
- return () => {
243
- throw props.error;
244
- };
245
- }
246
- });
247
- const KeyedBoundary = defineComponent({ setup(_props, { slots }) {
248
- let last = [];
249
- return () => {
250
- try {
251
- last = slots.default?.() ?? [];
252
- return last;
253
- } catch (error) {
254
- if (!(error instanceof Error) || error.diagnostic?.code !== "HR004") throw error;
255
- if (typeof window === "undefined") throw error;
256
- return [...last, h(KeyedFailure, { error })];
257
- }
258
- };
259
- } });
260
- const componentInstance = getCurrentInstance();
261
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
262
- const incoming = componentInstance?.vnode.props;
263
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
264
- if (value === null || value === void 0) return void 0;
265
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
266
- }
222
+ const reflectedProp = useReflectedProp();
267
223
  const hydrationInstance = getCurrentInstance();
268
224
  const emit = __emit;
269
225
  const root = ref(null);
@@ -287,35 +243,13 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
287
243
  false: "0"
288
244
  }, concat(checkedProps.value.disabled)));
289
245
  });
290
- let guardedBindingPrevious;
291
- const guardedBinding = computed(() => {
292
- if (!htmlNextAuthoredCheck2(validationError.value == null || typeof validationError.value === "boolean", "$invalid or $validationError:validationError", "./components/ui-listbox/ui-listbox.html: HR007: Reference validationError does not satisfy its declared type.")) return guardedBindingPrevious;
293
- return guardedBindingPrevious = checkedProps.value.invalid || validationError.value;
294
- });
295
- let guardedBinding2Previous;
296
- const guardedBinding2 = computed(() => {
297
- if (!htmlNextAuthoredCheck2(hasSelection.value == null || typeof hasSelection.value === "boolean", "$required and not $hasSelection and not $disabled:hasSelection", "./components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.")) return guardedBinding2Previous;
298
- return guardedBinding2Previous = checkedProps.value.required && !hasSelection.value && !checkedProps.value.disabled;
299
- });
300
- let guardedBinding3Previous;
301
- const guardedBinding3 = computed(() => {
302
- if (!htmlNextAuthoredCheck2(hasSelection.value == null || typeof hasSelection.value === "boolean", "$hasSelection:hasSelection", "./components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.")) return guardedBinding3Previous;
303
- return guardedBinding3Previous = hasSelection.value ? true : void 0;
304
- });
305
246
  provide("html-next:ui-listbox:choices", choices);
306
247
  provide("html-next:ui-listbox:selection", selection);
307
248
  provide("html-next:ui-listbox:hasSelection", hasSelection);
308
249
  provide("html-next:ui-listbox:active", active);
309
250
  provide("html-next:ui-listbox:uid", uid);
310
251
  provide("html-next:ui-listbox:validationError", validationError);
311
- const hydrationNode = hydrationInstance?.vnode.el;
312
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-listbox> has an incompatible root."), {
313
- name: "HtmlDiagnosticError",
314
- diagnostic: Object.freeze({
315
- code: "HR005",
316
- message: "Server markup for <ui-listbox> has an incompatible root."
317
- })
318
- });
252
+ checkHydratedRoot("div", "ui-listbox");
319
253
  const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (typeof detail["value"] === "string" || detail["value"] === null) && Array.isArray(detail["values"]) && detail["values"].every((item) => typeof item === "string") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer") && Object.keys(detail).every((key) => [
320
254
  "value",
321
255
  "values",
@@ -440,78 +374,42 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
440
374
  validationError
441
375
  }
442
376
  });
443
- function text(value) {
444
- if (Array.isArray(value)) return value.map(text).join(" ");
445
- return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
446
- }
447
- function attribute(value) {
448
- if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
449
- return value === true ? "" : text(value);
450
- }
451
- function concat(...values) {
452
- if (values.some((value) => value === Symbol.for("html-next.invalid-result"))) return Symbol.for("html-next.invalid-result");
453
- if (values.some((value) => value === void 0)) return void 0;
454
- if (values.length === 0 || values.some((value) => typeof value === "object" && value !== null)) return Symbol.for("html-next.invalid-result");
455
- return values.map((value) => value === null ? "" : String(value)).join("");
456
- }
457
- function uniqueKeys(items, keyOf) {
458
- const seen = /* @__PURE__ */ new Set();
459
- for (let index = 0; index < items.length; index += 1) {
460
- const key = keyOf(items[index], index, {
461
- index,
462
- first: index === 0,
463
- last: index === items.length - 1,
464
- count: items.length
465
- });
466
- if (seen.has(key)) {
467
- const message = `A keyed list produced duplicate key \`${text(key)}\`.`;
468
- throw Object.assign(/* @__PURE__ */ new Error(`HR004: ${message}`), {
469
- name: "HtmlDiagnosticError",
470
- diagnostic: Object.freeze({
471
- code: "HR004",
472
- message
473
- })
474
- });
475
- }
476
- seen.add(key);
477
- }
478
- return items;
479
- }
480
377
  return (_ctx, _cache) => {
481
378
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({
482
- "data-component": "ui-listbox",
379
+ class: "ui-listbox",
483
380
  role: "listbox"
484
- }, nativeAttrs(_ctx.$attrs), {
381
+ }, unref(nativeAttrs)(_ctx.$attrs), {
485
382
  tabindex: guarded.value,
486
383
  "aria-multiselectable": checkedProps.value.multiple ?? void 0,
487
384
  "aria-disabled": checkedProps.value.disabled ?? void 0,
488
385
  "aria-required": checkedProps.value.required ?? void 0,
489
- "aria-invalid": guardedBinding.value,
490
- style: { "--_rows": checkedProps.value.rows ?? void 0 },
491
- "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
492
- "data-invalid": reflectedProp("invalid", "invalid", checkedProps.value.invalid, void 0, false),
493
- "data-multiple": reflectedProp("multiple", "multiple", checkedProps.value.multiple, void 0, false),
494
- "data-name": reflectedProp("name", "name", checkedProps.value.name, void 0, false),
495
- "data-required": reflectedProp("required", "required", checkedProps.value.required, void 0, false),
496
- "data-rows": reflectedProp("rows", "rows", checkedProps.value.rows, void 0, false),
497
- "data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, false),
498
- "data-values": reflectedProp("values", "values", checkedProps.value.values, void 0, false),
386
+ "aria-invalid": checkedProps.value.invalid || validationError.value,
387
+ style: { "--_rows": checkedProps.value.rows?.toString() },
388
+ "data-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
389
+ "data-invalid": unref(reflectedProp)("invalid", "invalid", checkedProps.value.invalid, void 0, false),
390
+ "data-multiple": unref(reflectedProp)("multiple", "multiple", checkedProps.value.multiple, void 0, false),
391
+ "data-name": unref(reflectedProp)("name", "name", checkedProps.value.name, void 0, false),
392
+ "data-required": unref(reflectedProp)("required", "required", checkedProps.value.required, void 0, false),
393
+ "data-rows": unref(reflectedProp)("rows", "rows", checkedProps.value.rows, void 0, false),
394
+ "data-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, false),
395
+ "data-values": unref(reflectedProp)("values", "values", checkedProps.value.values, void 0, false),
499
396
  ref_key: "root",
500
397
  ref: root
501
398
  }), [
502
399
  createElementVNode("div", _hoisted_2, [createVNode(UiScrollArea_default, {
400
+ class: "ui-scroll-area",
503
401
  ref_key: "choicesElement",
504
402
  ref: choicesElement
505
403
  }, {
506
404
  default: withCtx(() => [createVNode(unref(KeyedBoundary), null, {
507
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(choices.value, (choice, index, loop) => choice.index), (choice) => {
405
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(choices.value, (choice, index, loop) => choice.index), (choice) => {
508
406
  return openBlock(), createElementBlock("div", {
509
407
  key: choice.index,
510
408
  class: normalizeClass(["option", { active: choice.index === active.value }]),
511
409
  role: "option",
512
410
  "data-ui-choice-option": "",
513
411
  "data-multiple": checkedProps.value.multiple ? "" : void 0,
514
- id: concat(uid.value, "-option-", choice.index),
412
+ id: unref(concat)(uid.value, "-option-", choice.index),
515
413
  "data-index": choice.index,
516
414
  "aria-selected": choice.selected,
517
415
  "aria-disabled": choice.disabled
@@ -545,8 +443,8 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
545
443
  type: "checkbox",
546
444
  "aria-hidden": "true",
547
445
  tabindex: "-1",
548
- required: guardedBinding2.value,
549
- "^checked": guardedBinding3.value,
446
+ required: checkedProps.value.required && !hasSelection.value && !checkedProps.value.disabled,
447
+ "^checked": hasSelection.value ? true : void 0,
550
448
  disabled: checkedProps.value.disabled ?? void 0,
551
449
  ref_key: "validityElement",
552
450
  ref: validityElement
@@ -557,6 +455,6 @@ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
557
455
  }]]);
558
456
  };
559
457
  }
560
- }), [["__scopeId", "data-v-e7a8688c"]]);
458
+ }), [["__scopeId", "data-v-93820102"]]);
561
459
  //#endregion
562
460
  export { UiListbox_default as t };
@@ -1,5 +1,4 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { r as useComponentHost, t as createDispatch } from "./host.js";
1
+ import { _ as useComponentHost, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useReflectedProp } from "./_plugin-vue_export-helper.js";
3
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
4
3
  import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
5
4
  //#region .build/vue/UiMenu.vue?vue&type=script&setup=true&lang.ts
@@ -174,31 +173,13 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
174
173
  watchSyncEffect(() => {
175
174
  checkedProps.value;
176
175
  });
177
- function nativeAttrs(attrs) {
178
- const names = Object.keys(attrs);
179
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
180
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
181
- }
182
- const componentInstance = getCurrentInstance();
183
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
184
- const incoming = componentInstance?.vnode.props;
185
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
186
- if (value === null || value === void 0) return void 0;
187
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
188
- }
176
+ const reflectedProp = useReflectedProp();
189
177
  const hydrationInstance = getCurrentInstance();
190
178
  const emit = __emit;
191
179
  const root = ref(null);
192
180
  const internalOpen = ref(false);
193
181
  provide("html-next:ui-menu:internalOpen", internalOpen);
194
- const hydrationNode = hydrationInstance?.vnode.el;
195
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-menu> has an incompatible root."), {
196
- name: "HtmlDiagnosticError",
197
- diagnostic: Object.freeze({
198
- code: "HR005",
199
- message: "Server markup for <ui-menu> has an incompatible root."
200
- })
201
- });
182
+ checkHydratedRoot("div", "ui-menu");
202
183
  /** The values the styles' :host-state() rules test. */
203
184
  const hostState = computed(() => [
204
185
  checkedProps.value.density && "density",
@@ -266,17 +247,17 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
266
247
  });
267
248
  return (_ctx, _cache) => {
268
249
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({
269
- "data-component": "ui-menu",
250
+ class: "ui-menu",
270
251
  role: "menu",
271
252
  "aria-orientation": "vertical"
272
- }, nativeAttrs(_ctx.$attrs), {
273
- "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
274
- "data-for": reflectedProp("for", "for", checkedProps.value.for, void 0, false),
275
- "data-icons": reflectedProp("icons", "icons", checkedProps.value.icons, void 0, false),
276
- "data-inline": reflectedProp("inline", "inline", checkedProps.value.inline, void 0, false),
277
- "data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
278
- "data-placement": reflectedProp("placement", "placement", checkedProps.value.placement, void 0, false),
279
- "data-size": reflectedProp("size", "size", checkedProps.value.size, void 0, false),
253
+ }, unref(nativeAttrs)(_ctx.$attrs), {
254
+ "data-density": unref(reflectedProp)("density", "density", checkedProps.value.density, void 0, false),
255
+ "data-for": unref(reflectedProp)("for", "for", checkedProps.value.for, void 0, false),
256
+ "data-icons": unref(reflectedProp)("icons", "icons", checkedProps.value.icons, void 0, false),
257
+ "data-inline": unref(reflectedProp)("inline", "inline", checkedProps.value.inline, void 0, false),
258
+ "data-open": unref(reflectedProp)("open", "open", checkedProps.value.open, void 0, false),
259
+ "data-placement": unref(reflectedProp)("placement", "placement", checkedProps.value.placement, void 0, false),
260
+ "data-size": unref(reflectedProp)("size", "size", checkedProps.value.size, void 0, false),
280
261
  "data-ui-menu-state": hostState.value || void 0,
281
262
  ref_key: "root",
282
263
  ref: root
@@ -286,6 +267,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
286
267
  }]]);
287
268
  };
288
269
  }
289
- }), [["__scopeId", "data-v-b6bd5ab3"]]);
270
+ }), [["__scopeId", "data-v-1ded0073"]]);
290
271
  //#endregion
291
272
  export { UiMenu_default as t };
@@ -1,6 +1,6 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
1
+ import { i as checkHydratedRoot, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
2
  import { a as vPropValidity, n as checkedProp } from "./props.js";
3
- import { computed, createCommentVNode, createElementBlock, defineComponent, getCurrentInstance, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
3
+ import { computed, createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiMenuGroup.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = ["aria-label", "data-label"];
6
6
  var _hoisted_2 = {
@@ -37,39 +37,21 @@ var UiMenuGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
37
37
  watchSyncEffect(() => {
38
38
  checkedProps.value;
39
39
  });
40
- function nativeAttrs(attrs) {
41
- const names = Object.keys(attrs);
42
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
43
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
44
- }
45
- const componentInstance = getCurrentInstance();
46
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
47
- const incoming = componentInstance?.vnode.props;
48
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
49
- if (value === null || value === void 0) return void 0;
50
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
51
- }
52
- const hydrationNode = getCurrentInstance()?.vnode.el;
53
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-menu-group> has an incompatible root."), {
54
- name: "HtmlDiagnosticError",
55
- diagnostic: Object.freeze({
56
- code: "HR005",
57
- message: "Server markup for <ui-menu-group> has an incompatible root."
58
- })
59
- });
40
+ const reflectedProp = useReflectedProp();
41
+ checkHydratedRoot("div", "ui-menu-group");
60
42
  return (_ctx, _cache) => {
61
43
  return withDirectives((openBlock(), createElementBlock("div", mergeProps({
62
- "data-component": "ui-menu-group",
44
+ class: "ui-menu-group",
63
45
  role: "group"
64
- }, nativeAttrs(_ctx.$attrs), {
46
+ }, unref(nativeAttrs)(_ctx.$attrs), {
65
47
  "aria-label": checkedProps.value.label ?? void 0,
66
- "data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false)
48
+ "data-label": unref(reflectedProp)("label", "label", checkedProps.value.label, void 0, false)
67
49
  }), [checkedProps.value.label ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(checkedProps.value.label), 1)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[unref(vPropValidity), {
68
50
  contract: propValidityContract,
69
51
  values: { ...props }
70
52
  }]]);
71
53
  };
72
54
  }
73
- }), [["__scopeId", "data-v-af3ae8c5"]]);
55
+ }), [["__scopeId", "data-v-d68e51f2"]]);
74
56
  //#endregion
75
57
  export { UiMenuGroup_default as t };
@@ -1,5 +1,4 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { n as preserveRootFocus, r as useComponentHost, t as createDispatch } from "./host.js";
1
+ import { _ as useComponentHost, a as concat, h as preserveRootFocus, i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, r as attribute, t as _plugin_vue_export_helper_default, v as useReflectedProp } from "./_plugin-vue_export-helper.js";
3
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
4
3
  import { t as UiIcon_default } from "./UiIcon.js";
5
4
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
@@ -49,14 +48,6 @@ var _hoisted_9 = {
49
48
  class: "shortcut",
50
49
  "aria-hidden": "true"
51
50
  };
52
- var htmlNextAuthoredCheck2Reported = /* @__PURE__ */ new Set();
53
- function htmlNextAuthoredCheck2(accepted, location, message) {
54
- if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
55
- htmlNextAuthoredCheck2Reported.add(location);
56
- console.warn(message);
57
- }
58
- return accepted;
59
- }
60
51
  //#endregion
61
52
  //#region .build/vue/UiMenuItem.vue
62
53
  var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -202,18 +193,7 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
202
193
  watchSyncEffect(() => {
203
194
  checkedProps.value;
204
195
  });
205
- function nativeAttrs(attrs) {
206
- const names = Object.keys(attrs);
207
- if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
208
- return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
209
- }
210
- const componentInstance = getCurrentInstance();
211
- function reflectedProp(name, kebab, value, fallback, bound, separator) {
212
- const incoming = componentInstance?.vnode.props;
213
- if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
214
- if (value === null || value === void 0) return void 0;
215
- return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
216
- }
196
+ const reflectedProp = useReflectedProp();
217
197
  const hydrationInstance = getCurrentInstance();
218
198
  const emit = __emit;
219
199
  const root = useTemplateRef("@html-next/root");
@@ -230,32 +210,8 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
230
210
  false: checkedProps.value.href
231
211
  }, concat(checkedProps.value.disabled)));
232
212
  });
233
- let guardedBindingPrevious;
234
- const guardedBinding = computed(() => {
235
- if (!htmlNextAuthoredCheck2(internalChecked.value == null || typeof internalChecked.value === "boolean", "{ action: null, checkbox: $internalChecked, radio: $internalChecked }[$type]:internalChecked", "./components/ui-menu-item/ui-menu-item.html: HR007: Reference internalChecked does not satisfy its declared type.")) return guardedBindingPrevious;
236
- return guardedBindingPrevious = typeof {
237
- action: null,
238
- checkbox: internalChecked.value,
239
- radio: internalChecked.value
240
- }[checkedProps.value.type] === "boolean" ? String({
241
- action: null,
242
- checkbox: internalChecked.value,
243
- radio: internalChecked.value
244
- }[checkedProps.value.type]) : attribute({
245
- action: null,
246
- checkbox: internalChecked.value,
247
- radio: internalChecked.value
248
- }[checkedProps.value.type]);
249
- });
250
213
  provide("html-next:ui-menu-item:internalChecked", internalChecked);
251
- const hydrationNode = hydrationInstance?.vnode.el;
252
- if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== (checkedProps.value.href && checkedProps.value.type === "action" ? "a" : "div"))) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-menu-item> has an incompatible root."), {
253
- name: "HtmlDiagnosticError",
254
- diagnostic: Object.freeze({
255
- code: "HR005",
256
- message: "Server markup for <ui-menu-item> has an incompatible root."
257
- })
258
- });
214
+ checkHydratedRoot(checkedProps.value.href && checkedProps.value.type === "action" ? "a" : "div", "ui-menu-item");
259
215
  /** The values the styles' :host-state() rules test. */
260
216
  const hostState = computed(() => [
261
217
  checkedProps.value.tone && "tone",
@@ -308,35 +264,21 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
308
264
  }, name),
309
265
  state: { internalChecked }
310
266
  });
311
- function text(value) {
312
- if (Array.isArray(value)) return value.map(text).join(" ");
313
- return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
314
- }
315
- function attribute(value) {
316
- if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
317
- return value === true ? "" : text(value);
318
- }
319
- function concat(...values) {
320
- if (values.some((value) => value === Symbol.for("html-next.invalid-result"))) return Symbol.for("html-next.invalid-result");
321
- if (values.some((value) => value === void 0)) return void 0;
322
- if (values.length === 0 || values.some((value) => typeof value === "object" && value !== null)) return Symbol.for("html-next.invalid-result");
323
- return values.map((value) => value === null ? "" : String(value)).join("");
324
- }
325
267
  return (_ctx, _cache) => {
326
268
  return checkedProps.value.href && checkedProps.value.type === "action" ? withDirectives((openBlock(), createElementBlock("a", mergeProps({
327
269
  key: 0,
328
- "data-component": "ui-menu-item",
270
+ class: "ui-menu-item",
329
271
  role: "menuitem",
330
272
  tabindex: "-1"
331
- }, nativeAttrs(_ctx.$attrs), {
273
+ }, unref(nativeAttrs)(_ctx.$attrs), {
332
274
  "aria-disabled": checkedProps.value.disabled ?? void 0,
333
275
  href: guarded.value,
334
- "data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
335
- "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
336
- "data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
337
- "data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
338
- "data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
339
- "data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
276
+ "data-checked": unref(reflectedProp)("checked", "checked", checkedProps.value.checked, void 0, false),
277
+ "data-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
278
+ "data-href": unref(reflectedProp)("href", "href", checkedProps.value.href, void 0, false),
279
+ "data-tone": unref(reflectedProp)("tone", "tone", checkedProps.value.tone, void 0, false),
280
+ "data-type": unref(reflectedProp)("type", "type", checkedProps.value.type, void 0, false),
281
+ "data-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, true),
340
282
  "data-ui-menu-item-state": hostState.value || void 0,
341
283
  ref: "@html-next/root"
342
284
  }), [
@@ -348,27 +290,40 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
348
290
  values: { ...props }
349
291
  }]]) : withDirectives((openBlock(), createElementBlock("div", mergeProps({
350
292
  key: 1,
351
- "data-component": "ui-menu-item",
293
+ class: "ui-menu-item",
352
294
  tabindex: "-1"
353
- }, nativeAttrs(_ctx.$attrs), {
354
- role: attribute({
295
+ }, unref(nativeAttrs)(_ctx.$attrs), {
296
+ role: unref(attribute)({
355
297
  action: "menuitem",
356
298
  checkbox: "menuitemcheckbox",
357
299
  radio: "menuitemradio"
358
300
  }[checkedProps.value.type]),
359
- "aria-checked": guardedBinding.value,
301
+ "aria-checked": typeof {
302
+ action: null,
303
+ checkbox: internalChecked.value,
304
+ radio: internalChecked.value
305
+ }[checkedProps.value.type] === "boolean" ? String({
306
+ action: null,
307
+ checkbox: internalChecked.value,
308
+ radio: internalChecked.value
309
+ }[checkedProps.value.type]) : unref(attribute)({
310
+ action: null,
311
+ checkbox: internalChecked.value,
312
+ radio: internalChecked.value
313
+ }[checkedProps.value.type]),
360
314
  "aria-disabled": checkedProps.value.disabled ?? void 0,
361
- "data-checked": reflectedProp("checked", "checked", checkedProps.value.checked, void 0, false),
362
- "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
363
- "data-href": reflectedProp("href", "href", checkedProps.value.href, void 0, false),
364
- "data-tone": reflectedProp("tone", "tone", checkedProps.value.tone, void 0, false),
365
- "data-type": reflectedProp("type", "type", checkedProps.value.type, void 0, false),
366
- "data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, true),
315
+ "data-checked": unref(reflectedProp)("checked", "checked", checkedProps.value.checked, void 0, false),
316
+ "data-disabled": unref(reflectedProp)("disabled", "disabled", checkedProps.value.disabled, void 0, false),
317
+ "data-href": unref(reflectedProp)("href", "href", checkedProps.value.href, void 0, false),
318
+ "data-tone": unref(reflectedProp)("tone", "tone", checkedProps.value.tone, void 0, false),
319
+ "data-type": unref(reflectedProp)("type", "type", checkedProps.value.type, void 0, false),
320
+ "data-value": unref(reflectedProp)("value", "value", checkedProps.value.value, void 0, true),
367
321
  "data-ui-menu-item-state": hostState.value || void 0,
368
322
  ref: "@html-next/root"
369
323
  }), [
370
324
  createElementVNode("span", _hoisted_6, [(checkedProps.value.type === "checkbox" || checkedProps.value.type === "radio") && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
371
325
  key: 0,
326
+ class: "ui-icon",
372
327
  name: "check"
373
328
  })) : createCommentVNode("v-if", true)]),
374
329
  createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "icon")]),
@@ -380,6 +335,6 @@ var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
380
335
  }]]);
381
336
  };
382
337
  }
383
- }), [["__scopeId", "data-v-32e2a3e1"]]);
338
+ }), [["__scopeId", "data-v-50b6e1bc"]]);
384
339
  //#endregion
385
340
  export { UiMenuItem_default as t };