@threadlabs/looma 0.19.0 → 0.20.0

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 (508) hide show
  1. package/components/shared/trigger.js +9 -4
  2. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  3. package/components/ui-avatar/ui-avatar.html +2 -2
  4. package/components/ui-avatar-group/ui-avatar-group.html +1 -1
  5. package/components/ui-avatar-group/ui-avatar-group.js +1 -1
  6. package/components/ui-badge/ui-badge.html +3 -3
  7. package/components/ui-button/ui-button.html +7 -6
  8. package/components/ui-callout/ui-callout.html +1 -1
  9. package/components/ui-card/ui-card.html +5 -4
  10. package/components/ui-checkbox/ui-checkbox.html +6 -2
  11. package/components/ui-cluster/ui-cluster.html +4 -4
  12. package/components/ui-combobox/ui-combobox.html +257 -34
  13. package/components/ui-combobox/ui-combobox.js +21 -20
  14. package/components/ui-container/ui-container.html +2 -2
  15. package/components/ui-context-menu/ui-context-menu.html +17 -5
  16. package/components/ui-cover/ui-cover.html +1 -1
  17. package/components/ui-description-list/ui-description-list.html +3 -3
  18. package/components/ui-dialog/ui-dialog.html +14 -6
  19. package/components/ui-disclosure/ui-disclosure.html +14 -5
  20. package/components/ui-editable/ui-editable.html +15 -4
  21. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
  22. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +1 -1
  23. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +26 -6
  24. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +90 -12
  25. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -5
  26. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +33 -7
  27. package/components/ui-grid/ui-grid.html +2 -2
  28. package/components/ui-icon-button/ui-icon-button.html +2 -2
  29. package/components/ui-input/ui-input.html +28 -6
  30. package/components/ui-list/ui-list.html +5 -4
  31. package/components/ui-list-item/ui-list-item.html +1 -1
  32. package/components/ui-listbox/ui-listbox.html +7 -1
  33. package/components/ui-menu/ui-menu.html +18 -5
  34. package/components/ui-menu-item/ui-menu-item.html +7 -2
  35. package/components/ui-meter/ui-meter.html +2 -2
  36. package/components/ui-nav-item/ui-nav-item.html +5 -4
  37. package/components/ui-page-header/ui-page-header.html +1 -1
  38. package/components/ui-popover/ui-popover.html +14 -5
  39. package/components/ui-radio/ui-radio.html +6 -2
  40. package/components/ui-radio-group/ui-radio-group.html +11 -3
  41. package/components/ui-reel/ui-reel.html +3 -3
  42. package/components/ui-scroll-area/ui-scroll-area.html +1 -1
  43. package/components/ui-search-shell/ui-search-shell.html +6 -2
  44. package/components/ui-section/ui-section.html +2 -2
  45. package/components/ui-select/ui-select.html +1 -1
  46. package/components/ui-separator/ui-separator.html +1 -1
  47. package/components/ui-sidebar/ui-sidebar.html +11 -4
  48. package/components/ui-spinner/ui-spinner.html +1 -1
  49. package/components/ui-stack/ui-stack.html +3 -3
  50. package/components/ui-status-message/ui-status-message.html +2 -2
  51. package/components/ui-switch/ui-switch.html +6 -2
  52. package/components/ui-switcher/ui-switcher.html +3 -3
  53. package/components/ui-table/ui-table.html +1 -1
  54. package/components/ui-tabs/ui-tabs.html +9 -4
  55. package/components/ui-text/ui-text.html +6 -6
  56. package/components/ui-textarea/ui-textarea.html +1 -1
  57. package/components/ui-toast/ui-toast.html +6 -2
  58. package/components/ui-toast-region/ui-toast-region.html +16 -4
  59. package/components/ui-tooltip/ui-tooltip.html +15 -6
  60. package/components/ui-tree/ui-tree.html +30 -7
  61. package/components/ui-tree-item/ui-tree-item.html +10 -6
  62. package/components/ui-tree-item/ui-tree-item.js +20 -3
  63. package/dist/index.js +1 -1
  64. package/editor/table-overlay.d.ts +1 -1
  65. package/package.json +3 -3
  66. package/styles/ui-action-bar.css +1 -1
  67. package/styles/ui-affordance-scope.css +1 -1
  68. package/styles/ui-avatar-group.css +1 -1
  69. package/styles/ui-avatar.css +1 -1
  70. package/styles/ui-badge.css +1 -1
  71. package/styles/ui-breadcrumb-item.css +1 -1
  72. package/styles/ui-breadcrumbs.css +1 -1
  73. package/styles/ui-button.css +1 -1
  74. package/styles/ui-callout.css +1 -1
  75. package/styles/ui-card.css +1 -1
  76. package/styles/ui-checkbox.css +1 -1
  77. package/styles/ui-cluster.css +1 -1
  78. package/styles/ui-combobox.css +1 -1
  79. package/styles/ui-container.css +1 -1
  80. package/styles/ui-context-menu.css +1 -1
  81. package/styles/ui-cover.css +1 -1
  82. package/styles/ui-description-item.css +1 -1
  83. package/styles/ui-description-list.css +1 -1
  84. package/styles/ui-dialog.css +1 -1
  85. package/styles/ui-disclosure.css +1 -1
  86. package/styles/ui-editable.css +1 -1
  87. package/styles/ui-editor-insert-table-grid.css +1 -1
  88. package/styles/ui-editor-mention-menu-item.css +1 -1
  89. package/styles/ui-editor-mention-menu.css +1 -1
  90. package/styles/ui-editor-slash-menu-group.css +1 -1
  91. package/styles/ui-editor-slash-menu-item.css +1 -1
  92. package/styles/ui-editor-slash-menu.css +1 -1
  93. package/styles/ui-editor-table-context-menu.css +1 -1
  94. package/styles/ui-editor-table-overlay.css +1 -1
  95. package/styles/ui-editor-table-toolbar.css +1 -1
  96. package/styles/ui-editor-toolbar.css +1 -1
  97. package/styles/ui-floating-action-button.css +1 -1
  98. package/styles/ui-form-field.css +1 -1
  99. package/styles/ui-grid.css +1 -1
  100. package/styles/ui-icon-button.css +1 -1
  101. package/styles/ui-icon.css +1 -1
  102. package/styles/ui-input-group.css +1 -1
  103. package/styles/ui-input.css +1 -1
  104. package/styles/ui-list-item.css +1 -1
  105. package/styles/ui-list.css +1 -1
  106. package/styles/ui-listbox.css +1 -1
  107. package/styles/ui-menu-group.css +1 -1
  108. package/styles/ui-menu-item.css +1 -1
  109. package/styles/ui-menu.css +1 -1
  110. package/styles/ui-meter.css +1 -1
  111. package/styles/ui-nav-item.css +1 -1
  112. package/styles/ui-page-header.css +1 -1
  113. package/styles/ui-popover.css +1 -1
  114. package/styles/ui-radio-group.css +1 -1
  115. package/styles/ui-radio.css +1 -1
  116. package/styles/ui-reel.css +1 -1
  117. package/styles/ui-scroll-area.css +1 -1
  118. package/styles/ui-search-result-row.css +1 -1
  119. package/styles/ui-search-shell.css +1 -1
  120. package/styles/ui-section.css +1 -1
  121. package/styles/ui-select.css +1 -1
  122. package/styles/ui-separator.css +1 -1
  123. package/styles/ui-sidebar.css +1 -1
  124. package/styles/ui-spinner.css +1 -1
  125. package/styles/ui-stack.css +1 -1
  126. package/styles/ui-status-message.css +1 -1
  127. package/styles/ui-switch.css +1 -1
  128. package/styles/ui-switcher.css +1 -1
  129. package/styles/ui-table.css +1 -1
  130. package/styles/ui-tabs.css +1 -1
  131. package/styles/ui-text.css +1 -1
  132. package/styles/ui-textarea.css +1 -1
  133. package/styles/ui-toast-region.css +1 -1
  134. package/styles/ui-toast.css +1 -1
  135. package/styles/ui-tooltip.css +1 -1
  136. package/styles/ui-top-bar.css +1 -1
  137. package/styles/ui-tree-item.css +6 -6
  138. package/styles/ui-tree.css +1 -1
  139. package/vanilla/UiActionBar.d.ts +1 -1
  140. package/vanilla/UiActionBar.js +5 -1
  141. package/vanilla/UiAffordanceScope.d.ts +1 -1
  142. package/vanilla/UiAffordanceScope.js +3 -2
  143. package/vanilla/UiAvatar.d.ts +1 -1
  144. package/vanilla/UiAvatar.js +4 -3
  145. package/vanilla/UiAvatarGroup.d.ts +1 -1
  146. package/vanilla/UiAvatarGroup.js +3 -2
  147. package/vanilla/UiBadge.d.ts +1 -1
  148. package/vanilla/UiBadge.js +2 -1
  149. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  150. package/vanilla/UiBreadcrumbItem.js +2 -1
  151. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  152. package/vanilla/UiBreadcrumbs.js +4 -7
  153. package/vanilla/UiButton.d.ts +1 -1
  154. package/vanilla/UiButton.js +6 -4
  155. package/vanilla/UiCallout.d.ts +1 -1
  156. package/vanilla/UiCallout.js +3 -2
  157. package/vanilla/UiCard.d.ts +1 -1
  158. package/vanilla/UiCard.js +6 -2
  159. package/vanilla/UiCheckbox.d.ts +1 -1
  160. package/vanilla/UiCheckbox.js +4 -2
  161. package/vanilla/UiCluster.d.ts +1 -1
  162. package/vanilla/UiCluster.js +2 -1
  163. package/vanilla/UiCombobox.d.ts +3 -2
  164. package/vanilla/UiCombobox.js +8 -2
  165. package/vanilla/UiContainer.d.ts +1 -1
  166. package/vanilla/UiContainer.js +2 -1
  167. package/vanilla/UiContextMenu.d.ts +1 -1
  168. package/vanilla/UiContextMenu.js +3 -2
  169. package/vanilla/UiCover.d.ts +1 -1
  170. package/vanilla/UiCover.js +4 -5
  171. package/vanilla/UiDescriptionItem.d.ts +1 -1
  172. package/vanilla/UiDescriptionItem.js +4 -7
  173. package/vanilla/UiDescriptionList.d.ts +1 -1
  174. package/vanilla/UiDescriptionList.js +2 -1
  175. package/vanilla/UiDialog.d.ts +1 -1
  176. package/vanilla/UiDialog.js +4 -2
  177. package/vanilla/UiDisclosure.d.ts +1 -1
  178. package/vanilla/UiDisclosure.js +4 -2
  179. package/vanilla/UiEditable.d.ts +1 -1
  180. package/vanilla/UiEditable.js +2 -2
  181. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  182. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  183. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  184. package/vanilla/UiEditorMentionMenu.js +5 -2
  185. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  186. package/vanilla/UiEditorMentionMenuItem.js +3 -1
  187. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  188. package/vanilla/UiEditorSlashMenu.js +6 -2
  189. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  190. package/vanilla/UiEditorSlashMenuGroup.js +4 -7
  191. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  192. package/vanilla/UiEditorSlashMenuItem.js +2 -1
  193. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  194. package/vanilla/UiEditorTableContextMenu.js +2 -2
  195. package/vanilla/UiEditorTableOverlay.d.ts +12 -2
  196. package/vanilla/UiEditorTableOverlay.js +2 -2
  197. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  198. package/vanilla/UiEditorTableToolbar.js +2 -2
  199. package/vanilla/UiEditorToolbar.d.ts +1 -1
  200. package/vanilla/UiEditorToolbar.js +2 -1
  201. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  202. package/vanilla/UiFloatingActionButton.js +2 -1
  203. package/vanilla/UiFormField.d.ts +1 -1
  204. package/vanilla/UiFormField.js +6 -1
  205. package/vanilla/UiGrid.d.ts +1 -1
  206. package/vanilla/UiGrid.js +4 -3
  207. package/vanilla/UiIcon.d.ts +1 -1
  208. package/vanilla/UiIcon.js +1 -1
  209. package/vanilla/UiIconButton.d.ts +1 -1
  210. package/vanilla/UiIconButton.js +4 -3
  211. package/vanilla/UiInput.d.ts +5 -4
  212. package/vanilla/UiInput.js +16 -13
  213. package/vanilla/UiInputGroup.d.ts +1 -1
  214. package/vanilla/UiInputGroup.js +5 -1
  215. package/vanilla/UiList.d.ts +1 -1
  216. package/vanilla/UiList.js +4 -2
  217. package/vanilla/UiListItem.d.ts +1 -1
  218. package/vanilla/UiListItem.js +5 -1
  219. package/vanilla/UiListbox.d.ts +1 -1
  220. package/vanilla/UiListbox.js +3 -2
  221. package/vanilla/UiMenu.d.ts +1 -1
  222. package/vanilla/UiMenu.js +3 -2
  223. package/vanilla/UiMenuGroup.d.ts +1 -1
  224. package/vanilla/UiMenuGroup.js +2 -1
  225. package/vanilla/UiMenuItem.d.ts +1 -1
  226. package/vanilla/UiMenuItem.js +6 -2
  227. package/vanilla/UiMeter.d.ts +1 -1
  228. package/vanilla/UiMeter.js +2 -2
  229. package/vanilla/UiNavItem.d.ts +2 -2
  230. package/vanilla/UiNavItem.js +11 -5
  231. package/vanilla/UiPageHeader.d.ts +1 -1
  232. package/vanilla/UiPageHeader.js +8 -5
  233. package/vanilla/UiPopover.d.ts +1 -1
  234. package/vanilla/UiPopover.js +3 -2
  235. package/vanilla/UiRadio.d.ts +1 -1
  236. package/vanilla/UiRadio.js +4 -2
  237. package/vanilla/UiRadioGroup.d.ts +1 -1
  238. package/vanilla/UiRadioGroup.js +3 -2
  239. package/vanilla/UiReel.d.ts +1 -1
  240. package/vanilla/UiReel.js +2 -1
  241. package/vanilla/UiScrollArea.d.ts +1 -1
  242. package/vanilla/UiScrollArea.js +3 -2
  243. package/vanilla/UiSearchResultRow.d.ts +1 -1
  244. package/vanilla/UiSearchResultRow.js +6 -1
  245. package/vanilla/UiSearchShell.d.ts +1 -1
  246. package/vanilla/UiSearchShell.js +6 -2
  247. package/vanilla/UiSection.d.ts +1 -1
  248. package/vanilla/UiSection.js +5 -2
  249. package/vanilla/UiSelect.d.ts +1 -1
  250. package/vanilla/UiSelect.js +3 -2
  251. package/vanilla/UiSeparator.d.ts +1 -1
  252. package/vanilla/UiSeparator.js +3 -7
  253. package/vanilla/UiSidebar.d.ts +1 -1
  254. package/vanilla/UiSidebar.js +3 -2
  255. package/vanilla/UiSpinner.d.ts +1 -1
  256. package/vanilla/UiSpinner.js +2 -2
  257. package/vanilla/UiStack.d.ts +1 -1
  258. package/vanilla/UiStack.js +2 -1
  259. package/vanilla/UiStatusMessage.d.ts +1 -1
  260. package/vanilla/UiStatusMessage.js +4 -2
  261. package/vanilla/UiSwitch.d.ts +1 -1
  262. package/vanilla/UiSwitch.js +4 -2
  263. package/vanilla/UiSwitcher.d.ts +1 -1
  264. package/vanilla/UiSwitcher.js +3 -2
  265. package/vanilla/UiTable.d.ts +1 -1
  266. package/vanilla/UiTable.js +3 -2
  267. package/vanilla/UiTabs.d.ts +1 -1
  268. package/vanilla/UiTabs.js +4 -2
  269. package/vanilla/UiText.d.ts +1 -1
  270. package/vanilla/UiText.js +13 -2
  271. package/vanilla/UiTextarea.d.ts +1 -1
  272. package/vanilla/UiTextarea.js +3 -3
  273. package/vanilla/UiToast.d.ts +1 -1
  274. package/vanilla/UiToast.js +4 -2
  275. package/vanilla/UiToastRegion.d.ts +1 -1
  276. package/vanilla/UiToastRegion.js +3 -2
  277. package/vanilla/UiTooltip.d.ts +1 -1
  278. package/vanilla/UiTooltip.js +3 -2
  279. package/vanilla/UiTopBar.d.ts +1 -1
  280. package/vanilla/UiTopBar.js +5 -1
  281. package/vanilla/UiTree.d.ts +1 -1
  282. package/vanilla/UiTree.js +3 -2
  283. package/vanilla/UiTreeItem.d.ts +1 -1
  284. package/vanilla/UiTreeItem.js +8 -4
  285. package/vue/UiActionBar.vue +33 -2
  286. package/vue/UiAffordanceScope.d.ts +23 -8
  287. package/vue/UiAffordanceScope.vue +90 -17
  288. package/vue/UiAvatar.d.ts +77 -19
  289. package/vue/UiAvatar.vue +151 -31
  290. package/vue/UiAvatarGroup.d.ts +50 -13
  291. package/vue/UiAvatarGroup.vue +121 -23
  292. package/vue/UiBadge.d.ts +32 -10
  293. package/vue/UiBadge.vue +104 -17
  294. package/vue/UiBreadcrumbItem.d.ts +14 -6
  295. package/vue/UiBreadcrumbItem.vue +82 -15
  296. package/vue/UiBreadcrumbs.d.ts +14 -6
  297. package/vue/UiBreadcrumbs.vue +78 -10
  298. package/vue/UiButton.d.ts +122 -27
  299. package/vue/UiButton.vue +288 -64
  300. package/vue/UiCallout.d.ts +14 -6
  301. package/vue/UiCallout.vue +84 -16
  302. package/vue/UiCard.d.ts +41 -12
  303. package/vue/UiCard.vue +149 -25
  304. package/vue/UiCheckbox.d.ts +85 -28
  305. package/vue/UiCheckbox.vue +173 -43
  306. package/vue/UiCluster.d.ts +41 -7
  307. package/vue/UiCluster.vue +122 -13
  308. package/vue/UiCombobox.d.ts +303 -110
  309. package/vue/UiCombobox.vue +723 -412
  310. package/vue/UiContainer.d.ts +23 -5
  311. package/vue/UiContainer.vue +89 -9
  312. package/vue/UiContextMenu.d.ts +38 -23
  313. package/vue/UiContextMenu.vue +113 -38
  314. package/vue/UiCover.d.ts +14 -6
  315. package/vue/UiCover.vue +76 -12
  316. package/vue/UiDescriptionItem.d.ts +14 -6
  317. package/vue/UiDescriptionItem.vue +78 -11
  318. package/vue/UiDescriptionList.d.ts +32 -9
  319. package/vue/UiDescriptionList.vue +106 -16
  320. package/vue/UiDialog.d.ts +89 -30
  321. package/vue/UiDialog.vue +168 -38
  322. package/vue/UiDisclosure.d.ts +70 -27
  323. package/vue/UiDisclosure.vue +149 -36
  324. package/vue/UiEditable.d.ts +119 -41
  325. package/vue/UiEditable.vue +220 -62
  326. package/vue/UiEditorInsertTableGrid.d.ts +46 -17
  327. package/vue/UiEditorInsertTableGrid.vue +215 -40
  328. package/vue/UiEditorMentionMenu.d.ts +128 -41
  329. package/vue/UiEditorMentionMenu.vue +211 -37
  330. package/vue/UiEditorMentionMenuItem.d.ts +32 -10
  331. package/vue/UiEditorMentionMenuItem.vue +98 -17
  332. package/vue/UiEditorSlashMenu.d.ts +110 -37
  333. package/vue/UiEditorSlashMenu.vue +189 -31
  334. package/vue/UiEditorSlashMenuGroup.d.ts +14 -6
  335. package/vue/UiEditorSlashMenuGroup.vue +80 -12
  336. package/vue/UiEditorSlashMenuItem.d.ts +50 -14
  337. package/vue/UiEditorSlashMenuItem.vue +120 -23
  338. package/vue/UiEditorTableContextMenu.d.ts +64 -20
  339. package/vue/UiEditorTableContextMenu.vue +326 -91
  340. package/vue/UiEditorTableOverlay.d.ts +170 -44
  341. package/vue/UiEditorTableOverlay.vue +420 -149
  342. package/vue/UiEditorTableToolbar.d.ts +64 -20
  343. package/vue/UiEditorTableToolbar.vue +344 -107
  344. package/vue/UiEditorToolbar.d.ts +14 -6
  345. package/vue/UiEditorToolbar.vue +79 -15
  346. package/vue/UiFloatingActionButton.d.ts +32 -10
  347. package/vue/UiFloatingActionButton.vue +96 -18
  348. package/vue/UiFormField.d.ts +32 -10
  349. package/vue/UiFormField.vue +99 -19
  350. package/vue/UiGrid.d.ts +32 -6
  351. package/vue/UiGrid.vue +95 -11
  352. package/vue/UiIcon.d.ts +14 -6
  353. package/vue/UiIcon.vue +99 -14
  354. package/vue/UiIconButton.d.ts +77 -19
  355. package/vue/UiIconButton.vue +176 -39
  356. package/vue/UiInput.d.ts +50 -19
  357. package/vue/UiInput.vue +326 -33
  358. package/vue/UiInputGroup.d.ts +14 -6
  359. package/vue/UiInputGroup.vue +79 -15
  360. package/vue/UiList.d.ts +41 -12
  361. package/vue/UiList.vue +125 -22
  362. package/vue/UiListItem.d.ts +23 -8
  363. package/vue/UiListItem.vue +88 -16
  364. package/vue/UiListbox.d.ts +86 -27
  365. package/vue/UiListbox.vue +272 -64
  366. package/vue/UiMenu.d.ts +69 -33
  367. package/vue/UiMenu.vue +142 -38
  368. package/vue/UiMenuGroup.d.ts +14 -6
  369. package/vue/UiMenuGroup.vue +80 -11
  370. package/vue/UiMenuItem.d.ts +61 -25
  371. package/vue/UiMenuItem.vue +174 -45
  372. package/vue/UiMeter.d.ts +68 -18
  373. package/vue/UiMeter.vue +215 -41
  374. package/vue/UiNavItem.d.ts +50 -11
  375. package/vue/UiNavItem.vue +163 -29
  376. package/vue/UiPageHeader.d.ts +14 -6
  377. package/vue/UiPageHeader.vue +75 -12
  378. package/vue/UiPopover.d.ts +43 -21
  379. package/vue/UiPopover.vue +147 -27
  380. package/vue/UiRadio.d.ts +67 -24
  381. package/vue/UiRadio.vue +147 -36
  382. package/vue/UiRadioGroup.d.ts +79 -29
  383. package/vue/UiRadioGroup.vue +162 -41
  384. package/vue/UiReel.d.ts +32 -6
  385. package/vue/UiReel.vue +97 -11
  386. package/vue/UiScrollArea.d.ts +14 -6
  387. package/vue/UiScrollArea.vue +83 -14
  388. package/vue/UiSearchResultRow.d.ts +23 -8
  389. package/vue/UiSearchResultRow.vue +86 -16
  390. package/vue/UiSearchShell.d.ts +48 -19
  391. package/vue/UiSearchShell.vue +120 -26
  392. package/vue/UiSection.d.ts +32 -10
  393. package/vue/UiSection.vue +103 -17
  394. package/vue/UiSelect.d.ts +59 -17
  395. package/vue/UiSelect.vue +140 -29
  396. package/vue/UiSeparator.d.ts +14 -6
  397. package/vue/UiSeparator.vue +80 -9
  398. package/vue/UiSidebar.d.ts +95 -31
  399. package/vue/UiSidebar.vue +172 -39
  400. package/vue/UiSpinner.d.ts +23 -8
  401. package/vue/UiSpinner.vue +115 -24
  402. package/vue/UiStack.d.ts +32 -6
  403. package/vue/UiStack.vue +107 -11
  404. package/vue/UiStatusMessage.d.ts +32 -10
  405. package/vue/UiStatusMessage.vue +109 -19
  406. package/vue/UiSwitch.d.ts +67 -24
  407. package/vue/UiSwitch.vue +147 -36
  408. package/vue/UiSwitcher.d.ts +41 -7
  409. package/vue/UiSwitcher.vue +118 -15
  410. package/vue/UiTable.d.ts +23 -8
  411. package/vue/UiTable.vue +91 -17
  412. package/vue/UiTabs.d.ts +66 -23
  413. package/vue/UiTabs.vue +230 -44
  414. package/vue/UiText.d.ts +68 -18
  415. package/vue/UiText.vue +308 -48
  416. package/vue/UiTextarea.d.ts +84 -21
  417. package/vue/UiTextarea.vue +172 -38
  418. package/vue/UiToast.d.ts +28 -13
  419. package/vue/UiToast.vue +103 -24
  420. package/vue/UiToastRegion.d.ts +29 -14
  421. package/vue/UiToastRegion.vue +202 -47
  422. package/vue/UiTooltip.d.ts +81 -31
  423. package/vue/UiTooltip.vue +192 -37
  424. package/vue/UiTopBar.vue +33 -2
  425. package/vue/UiTree.d.ts +72 -29
  426. package/vue/UiTree.vue +170 -49
  427. package/vue/UiTreeItem.d.ts +136 -35
  428. package/vue/UiTreeItem.vue +232 -66
  429. package/vue/chunks/UiActionBar.js +16 -3
  430. package/vue/chunks/UiAffordanceScope.js +66 -11
  431. package/vue/chunks/UiAvatar.js +121 -20
  432. package/vue/chunks/UiAvatarGroup.js +94 -15
  433. package/vue/chunks/UiBadge.js +82 -10
  434. package/vue/chunks/UiBreadcrumbItem.js +43 -9
  435. package/vue/chunks/UiBreadcrumbs.js +41 -5
  436. package/vue/chunks/UiButton.js +237 -51
  437. package/vue/chunks/UiCallout.js +53 -11
  438. package/vue/chunks/UiCard.js +145 -18
  439. package/vue/chunks/UiCheckbox.js +130 -30
  440. package/vue/chunks/UiCluster.js +99 -12
  441. package/vue/chunks/UiCombobox.js +545 -162
  442. package/vue/chunks/UiContainer.js +65 -7
  443. package/vue/chunks/UiContextMenu.js +56 -11
  444. package/vue/chunks/UiCover.js +41 -6
  445. package/vue/chunks/UiDescriptionItem.js +39 -4
  446. package/vue/chunks/UiDescriptionList.js +80 -10
  447. package/vue/chunks/UiDialog.js +125 -18
  448. package/vue/chunks/UiDisclosure.js +102 -17
  449. package/vue/chunks/UiEditable.js +154 -29
  450. package/vue/chunks/UiEditorInsertTableGrid.js +154 -31
  451. package/vue/chunks/UiEditorMentionMenu.js +221 -18
  452. package/vue/chunks/UiEditorMentionMenuItem.js +64 -7
  453. package/vue/chunks/UiEditorSlashMenu.js +201 -14
  454. package/vue/chunks/UiEditorSlashMenuGroup.js +43 -9
  455. package/vue/chunks/UiEditorSlashMenuItem.js +80 -14
  456. package/vue/chunks/UiEditorTableContextMenu.js +220 -49
  457. package/vue/chunks/UiEditorTableOverlay.js +390 -85
  458. package/vue/chunks/UiEditorTableToolbar.js +248 -71
  459. package/vue/chunks/UiEditorToolbar.js +44 -10
  460. package/vue/chunks/UiFloatingActionButton.js +57 -9
  461. package/vue/chunks/UiFormField.js +63 -12
  462. package/vue/chunks/UiGrid.js +80 -9
  463. package/vue/chunks/UiIcon.js +73 -16
  464. package/vue/chunks/UiIconButton.js +126 -28
  465. package/vue/chunks/UiInput.js +328 -22
  466. package/vue/chunks/UiInputGroup.js +44 -10
  467. package/vue/chunks/UiList.js +104 -15
  468. package/vue/chunks/UiListItem.js +57 -8
  469. package/vue/chunks/UiListbox.js +208 -49
  470. package/vue/chunks/UiMenu.js +88 -15
  471. package/vue/chunks/UiMenuGroup.js +41 -5
  472. package/vue/chunks/UiMenuItem.js +111 -32
  473. package/vue/chunks/UiMeter.js +166 -36
  474. package/vue/chunks/UiNavItem.js +133 -37
  475. package/vue/chunks/UiPageHeader.js +41 -6
  476. package/vue/chunks/UiPopover.js +81 -11
  477. package/vue/chunks/UiRadio.js +115 -24
  478. package/vue/chunks/UiRadioGroup.js +108 -19
  479. package/vue/chunks/UiReel.js +81 -10
  480. package/vue/chunks/UiScrollArea.js +47 -10
  481. package/vue/chunks/UiSearchResultRow.js +47 -8
  482. package/vue/chunks/UiSearchShell.js +84 -24
  483. package/vue/chunks/UiSection.js +77 -10
  484. package/vue/chunks/UiSelect.js +108 -20
  485. package/vue/chunks/UiSeparator.js +41 -5
  486. package/vue/chunks/UiSidebar.js +136 -20
  487. package/vue/chunks/UiSpinner.js +64 -19
  488. package/vue/chunks/UiStack.js +87 -10
  489. package/vue/chunks/UiStatusMessage.js +82 -12
  490. package/vue/chunks/UiSwitch.js +115 -24
  491. package/vue/chunks/UiSwitcher.js +103 -15
  492. package/vue/chunks/UiTable.js +63 -11
  493. package/vue/chunks/UiTabs.js +170 -30
  494. package/vue/chunks/UiText.js +365 -38
  495. package/vue/chunks/UiTextarea.js +132 -26
  496. package/vue/chunks/UiToast.js +70 -12
  497. package/vue/chunks/UiToastRegion.js +154 -33
  498. package/vue/chunks/UiTooltip.js +124 -16
  499. package/vue/chunks/UiTopBar.js +16 -3
  500. package/vue/chunks/UiTree.js +107 -15
  501. package/vue/chunks/UiTreeItem.js +167 -43
  502. package/vue/chunks/control.js +171 -0
  503. package/vue/chunks/host.js +170 -27
  504. package/vue/chunks/props.js +477 -0
  505. package/vue/components.css +1197 -1197
  506. package/vue/editor/index.js +58 -15
  507. package/vue/editor/primitives.d.ts +52 -2
  508. package/vue/host.ts +370 -39
@@ -1,10 +1,18 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { n as useComponentHost, t as createDispatch } from "./host.js";
2
+ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as checkedProp } from "./props.js";
3
4
  import { t as UiIcon_default } from "./UiIcon.js";
4
- import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString } from "vue";
5
- import * as controllerModule from "@threadlabs/looma/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js";
5
+ import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, h, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderList, toDisplayString, unref, watchSyncEffect, withCtx } from "vue";
6
6
  //#region .build/vue/UiEditorTableToolbar.vue?vue&type=script&setup=true&lang.ts
7
- var _hoisted_1 = ["hidden"];
7
+ var _hoisted_1 = [
8
+ "hidden",
9
+ "data-actions",
10
+ "data-cell-alignment",
11
+ "data-cell-background",
12
+ "data-header-column",
13
+ "data-header-row",
14
+ "data-open"
15
+ ];
8
16
  var _hoisted_2 = {
9
17
  key: 0,
10
18
  class: "group",
@@ -72,25 +80,138 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
72
80
  inheritAttrs: false,
73
81
  __name: "UiEditorTableToolbar",
74
82
  props: {
75
- actions: {},
76
- cellAlignment: { default: "left" },
77
- cellBackground: { default: "" },
83
+ actions: {
84
+ type: null,
85
+ default: null
86
+ },
87
+ cellAlignment: {
88
+ type: null,
89
+ default: "left"
90
+ },
91
+ cellBackground: {
92
+ type: null,
93
+ default: ""
94
+ },
78
95
  headerColumn: {
79
- type: Boolean,
96
+ type: null,
80
97
  default: false
81
98
  },
82
99
  headerRow: {
83
- type: Boolean,
100
+ type: null,
84
101
  default: false
85
102
  },
86
103
  open: {
87
- type: Boolean,
104
+ type: null,
88
105
  default: false
89
106
  }
90
107
  },
91
108
  emits: ["action"],
92
109
  setup(__props, { emit: __emit }) {
93
110
  const props = __props;
111
+ const checkedProps = computed(() => ({
112
+ actions: checkedProp(props["actions"], {
113
+ kind: "list",
114
+ item: {
115
+ kind: "constrained",
116
+ base: {
117
+ kind: "terminal",
118
+ name: "keyword"
119
+ },
120
+ values: [
121
+ "align-left",
122
+ "align-center",
123
+ "align-right",
124
+ "background-none",
125
+ "background-gray",
126
+ "background-yellow",
127
+ "background-blue",
128
+ "background-green",
129
+ "background-red",
130
+ "add-row-before",
131
+ "add-row-after",
132
+ "add-column-before",
133
+ "add-column-after",
134
+ "toggle-header-row",
135
+ "toggle-header-column",
136
+ "move-row-up",
137
+ "move-row-down",
138
+ "move-column-left",
139
+ "move-column-right",
140
+ "clear-cells",
141
+ "merge-cells",
142
+ "split-cell",
143
+ "delete-row",
144
+ "delete-column",
145
+ "delete-table"
146
+ ]
147
+ }
148
+ }, false, "actions", void 0, void 0),
149
+ cellAlignment: checkedProp(props["cellAlignment"], {
150
+ kind: "terminal",
151
+ name: "keyword"
152
+ }, false, "cellAlignment", void 0, [
153
+ "left",
154
+ "center",
155
+ "right"
156
+ ]),
157
+ cellBackground: checkedProp(props["cellBackground"], {
158
+ kind: "terminal",
159
+ name: "string"
160
+ }, false, "cellBackground", void 0, void 0),
161
+ headerColumn: checkedProp(props["headerColumn"], {
162
+ kind: "terminal",
163
+ name: "boolean"
164
+ }, false, "headerColumn", void 0, void 0),
165
+ headerRow: checkedProp(props["headerRow"], {
166
+ kind: "terminal",
167
+ name: "boolean"
168
+ }, false, "headerRow", void 0, void 0),
169
+ open: checkedProp(props["open"], {
170
+ kind: "terminal",
171
+ name: "boolean"
172
+ }, false, "open", void 0, void 0)
173
+ }));
174
+ checkedProps.value;
175
+ watchSyncEffect(() => {
176
+ checkedProps.value;
177
+ });
178
+ function nativeAttrs(attrs) {
179
+ const names = Object.keys(attrs);
180
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
181
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
182
+ }
183
+ const KeyedFailure = defineComponent({
184
+ props: { error: {
185
+ type: null,
186
+ required: true
187
+ } },
188
+ setup(props) {
189
+ return () => {
190
+ throw props.error;
191
+ };
192
+ }
193
+ });
194
+ const KeyedBoundary = defineComponent({ setup(_props, { slots }) {
195
+ let last = [];
196
+ return () => {
197
+ try {
198
+ last = slots.default?.() ?? [];
199
+ return last;
200
+ } catch (error) {
201
+ if (!(error instanceof Error) || error.diagnostic?.code !== "HR004") throw error;
202
+ if (typeof window === "undefined") throw error;
203
+ return [...last, h(KeyedFailure, { error })];
204
+ }
205
+ };
206
+ } });
207
+ const componentInstance = getCurrentInstance();
208
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
209
+ const incoming = componentInstance?.vnode.props;
210
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
211
+ if (value === null || value === void 0) return void 0;
212
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
213
+ }
214
+ const hydrationInstance = getCurrentInstance();
94
215
  const emit = __emit;
95
216
  const root = ref(null);
96
217
  const alignments = ref([]);
@@ -99,12 +220,24 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
99
220
  const sections = ref([]);
100
221
  const hasOverflow = ref(false);
101
222
  const overflowOpen = ref(false);
223
+ const hydrationNode = hydrationInstance?.vnode.el;
224
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-editor-table-toolbar> has an incompatible root."), {
225
+ name: "HtmlDiagnosticError",
226
+ diagnostic: Object.freeze({
227
+ code: "HR005",
228
+ message: "Server markup for <ui-editor-table-toolbar> has an incompatible root."
229
+ })
230
+ });
102
231
  const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "toggle-header-row" || detail["action"] === "toggle-header-column" || detail["action"] === "move-row-up" || detail["action"] === "move-row-down" || detail["action"] === "move-column-left" || detail["action"] === "move-column-right" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
103
232
  const dispatch = createDispatch(root, emit, { checks: { action: isActionDetail } });
104
- useComponentHost(controllerModule.default, {
233
+ useComponentHost(() => import("@threadlabs/looma/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js"), {
105
234
  root,
106
235
  dispatch,
107
- props,
236
+ controllerSource: {
237
+ specifier: "../components/ui-editor-table-toolbar/ui-editor-table-toolbar.js",
238
+ definition: "./components/ui-editor-table-toolbar/ui-editor-table-toolbar.html"
239
+ },
240
+ props: checkedProps,
108
241
  state: {
109
242
  alignments,
110
243
  structure,
@@ -122,35 +255,70 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
122
255
  if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
123
256
  return value === true ? "" : text(value);
124
257
  }
258
+ function uniqueKeys(items, keyOf) {
259
+ const seen = /* @__PURE__ */ new Set();
260
+ for (let index = 0; index < items.length; index += 1) {
261
+ const key = keyOf(items[index], index, {
262
+ index,
263
+ first: index === 0,
264
+ last: index === items.length - 1,
265
+ count: items.length
266
+ });
267
+ if (seen.has(key)) {
268
+ const message = `A keyed list produced duplicate key \`${text(key)}\`.`;
269
+ throw Object.assign(/* @__PURE__ */ new Error(`HR004: ${message}`), {
270
+ name: "HtmlDiagnosticError",
271
+ diagnostic: Object.freeze({
272
+ code: "HR004",
273
+ message
274
+ })
275
+ });
276
+ }
277
+ seen.add(key);
278
+ }
279
+ return items;
280
+ }
125
281
  return (_ctx, _cache) => {
126
282
  return openBlock(), createElementBlock("div", mergeProps({
127
283
  "data-component": "ui-editor-table-toolbar",
128
284
  role: "toolbar",
129
285
  "aria-label": "Table actions"
130
- }, _ctx.$attrs, {
131
- hidden: !__props.open,
286
+ }, nativeAttrs(_ctx.$attrs), {
287
+ hidden: !checkedProps.value.open,
288
+ "data-actions": reflectedProp("actions", "actions", checkedProps.value.actions, void 0, false),
289
+ "data-cell-alignment": reflectedProp("cellAlignment", "cell-alignment", checkedProps.value.cellAlignment, void 0, false),
290
+ "data-cell-background": reflectedProp("cellBackground", "cell-background", checkedProps.value.cellBackground, void 0, false),
291
+ "data-header-column": reflectedProp("headerColumn", "header-column", checkedProps.value.headerColumn, void 0, false),
292
+ "data-header-row": reflectedProp("headerRow", "header-row", checkedProps.value.headerRow, void 0, false),
293
+ "data-open": reflectedProp("open", "open", checkedProps.value.open, void 0, false),
132
294
  ref_key: "root",
133
295
  ref: root
134
296
  }), [
135
- alignments.value.length ? (openBlock(), createElementBlock("div", _hoisted_2, [(openBlock(true), createElementBlock(Fragment, null, renderList(alignments.value, (item) => {
136
- return openBlock(), createElementBlock("button", {
137
- key: item.action,
138
- type: "button",
139
- class: normalizeClass(["icon-button", { active: item.active }]),
140
- "data-action": item.action,
141
- "aria-label": item.label,
142
- title: item.label,
143
- "aria-pressed": item.active
144
- }, [createVNode(UiIcon_default, { name: item.action }, null, 8, ["name"])], 10, _hoisted_3);
145
- }), 128))])) : createCommentVNode("v-if", true),
297
+ alignments.value.length ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(unref(KeyedBoundary), null, {
298
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(alignments.value, (item, index, loop) => item.action), (item) => {
299
+ return openBlock(), createElementBlock("button", {
300
+ key: item.action,
301
+ type: "button",
302
+ class: normalizeClass(["icon-button", { active: item.active }]),
303
+ "data-action": item.action,
304
+ "aria-label": item.label,
305
+ title: item.label,
306
+ "aria-pressed": item.active
307
+ }, [createVNode(UiIcon_default, { name: item.action }, null, 8, ["name"])], 10, _hoisted_3);
308
+ }), 128))]),
309
+ _: 1
310
+ })])) : createCommentVNode("v-if", true),
146
311
  alignments.value.length && structure.value.length ? (openBlock(), createElementBlock("div", _hoisted_4)) : createCommentVNode("v-if", true),
147
- structure.value.length ? (openBlock(), createElementBlock("div", _hoisted_5, [(openBlock(true), createElementBlock(Fragment, null, renderList(structure.value, (item) => {
148
- return openBlock(), createElementBlock("button", {
149
- key: item.action,
150
- type: "button",
151
- "data-action": item.action
152
- }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 8, _hoisted_6);
153
- }), 128))])) : createCommentVNode("v-if", true),
312
+ structure.value.length ? (openBlock(), createElementBlock("div", _hoisted_5, [createVNode(unref(KeyedBoundary), null, {
313
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(structure.value, (item, indexLoop, loop) => item.action), (item) => {
314
+ return openBlock(), createElementBlock("button", {
315
+ key: item.action,
316
+ type: "button",
317
+ "data-action": item.action
318
+ }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 8, _hoisted_6);
319
+ }), 128))]),
320
+ _: 1
321
+ })])) : createCommentVNode("v-if", true),
154
322
  (alignments.value.length || structure.value.length) && hasOverflow.value ? (openBlock(), createElementBlock("div", _hoisted_7)) : createCommentVNode("v-if", true),
155
323
  hasOverflow.value ? (openBlock(), createElementBlock("div", _hoisted_8, [createElementVNode("button", {
156
324
  type: "button",
@@ -165,49 +333,58 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
165
333
  ], 8, _hoisted_9), overflowOpen.value ? (openBlock(), createElementBlock("div", _hoisted_11, [swatches.value.length ? (openBlock(), createElementBlock("div", _hoisted_12, [_cache[1] || (_cache[1] = createElementVNode("div", {
166
334
  class: "menu-heading",
167
335
  role: "presentation"
168
- }, "Background", -1)), createElementVNode("div", _hoisted_13, [(openBlock(true), createElementBlock(Fragment, null, renderList(swatches.value, (swatch) => {
169
- return openBlock(), createElementBlock("button", {
170
- key: swatch.action,
171
- type: "button",
172
- class: normalizeClass(["swatch-button", { selected: swatch.selected }]),
173
- role: "menuitemradio",
174
- "aria-checked": swatch.selected,
175
- "data-action": swatch.action
176
- }, [createElementVNode("span", {
177
- class: normalizeClass(["swatch", { default: !swatch.color }]),
178
- style: normalizeStyle({ "--_swatch": swatch.color })
179
- }, null, 6), createElementVNode("span", null, toDisplayString(swatch.label), 1)], 10, _hoisted_14);
180
- }), 128))])])) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(sections.value, (section) => {
181
- return openBlock(), createElementBlock("div", {
182
- key: section.heading,
183
- class: "menu-section divided",
184
- role: "none"
185
- }, [createElementVNode("div", _hoisted_15, toDisplayString(section.heading), 1), (openBlock(true), createElementBlock(Fragment, null, renderList(section.items, (item) => {
336
+ }, "Background", -1)), createElementVNode("div", _hoisted_13, [createVNode(unref(KeyedBoundary), null, {
337
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(swatches.value, (swatch, indexLoop2, loop) => swatch.action), (swatch) => {
186
338
  return openBlock(), createElementBlock("button", {
187
- key: item.action,
339
+ key: swatch.action,
188
340
  type: "button",
189
- role: attribute({
190
- true: "menuitemcheckbox",
191
- false: "menuitem"
192
- }[`${item.checkable}`]),
193
- "aria-checked": typeof {
194
- true: item.checked,
195
- false: null
196
- }[`${item.checkable}`] === "boolean" ? String({
197
- true: item.checked,
198
- false: null
199
- }[`${item.checkable}`]) : attribute({
200
- true: item.checked,
201
- false: null
202
- }[`${item.checkable}`]),
203
- "data-action": item.action,
204
- class: normalizeClass({ danger: item.danger })
205
- }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 10, _hoisted_16);
206
- }), 128))]);
207
- }), 128))])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)
341
+ class: normalizeClass(["swatch-button", { selected: swatch.selected }]),
342
+ role: "menuitemradio",
343
+ "aria-checked": swatch.selected,
344
+ "data-action": swatch.action
345
+ }, [createElementVNode("span", {
346
+ class: normalizeClass(["swatch", { default: !swatch.color }]),
347
+ style: normalizeStyle({ "--_swatch": swatch.color })
348
+ }, null, 6), createElementVNode("span", null, toDisplayString(swatch.label), 1)], 10, _hoisted_14);
349
+ }), 128))]),
350
+ _: 1
351
+ })])])) : createCommentVNode("v-if", true), createVNode(unref(KeyedBoundary), null, {
352
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(sections.value, (section, indexLoop3, loop) => section.heading), (section) => {
353
+ return openBlock(), createElementBlock("div", {
354
+ key: section.heading,
355
+ class: "menu-section divided",
356
+ role: "none"
357
+ }, [createElementVNode("div", _hoisted_15, toDisplayString(section.heading), 1), createVNode(unref(KeyedBoundary), null, {
358
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(section.items, (item, indexLoop4, loop) => item.action), (item) => {
359
+ return openBlock(), createElementBlock("button", {
360
+ key: item.action,
361
+ type: "button",
362
+ role: attribute({
363
+ true: "menuitemcheckbox",
364
+ false: "menuitem"
365
+ }[`${item.checkable}`]),
366
+ "aria-checked": typeof {
367
+ true: item.checked,
368
+ false: null
369
+ }[`${item.checkable}`] === "boolean" ? String({
370
+ true: item.checked,
371
+ false: null
372
+ }[`${item.checkable}`]) : attribute({
373
+ true: item.checked,
374
+ false: null
375
+ }[`${item.checkable}`]),
376
+ "data-action": item.action,
377
+ class: normalizeClass({ danger: item.danger })
378
+ }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 10, _hoisted_16);
379
+ }), 128))]),
380
+ _: 2
381
+ }, 1024)]);
382
+ }), 128))]),
383
+ _: 1
384
+ })])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true)
208
385
  ], 16, _hoisted_1);
209
386
  };
210
387
  }
211
- }), [["__scopeId", "data-v-3c04b848"]]);
388
+ }), [["__scopeId", "data-v-b6030103"]]);
212
389
  //#endregion
213
390
  export { UiEditorTableToolbar_default as t };
@@ -1,9 +1,9 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { n as useComponentHost, t as createDispatch } from "./host.js";
3
- import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, useTemplateRef } from "vue";
4
- import * as controllerModule from "@threadlabs/looma/components/ui-editor-toolbar/ui-editor-toolbar.js";
2
+ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as checkedProp } from "./props.js";
4
+ import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, useTemplateRef, watchSyncEffect } from "vue";
5
5
  //#region .build/vue/UiEditorToolbar.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["data-ui-editor-toolbar-state"];
6
+ var _hoisted_1 = ["data-floating", "data-ui-editor-toolbar-state"];
7
7
  var _hoisted_2 = {
8
8
  class: "strip",
9
9
  ref: "strip"
@@ -14,20 +14,53 @@ var UiEditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
14
14
  inheritAttrs: false,
15
15
  __name: "UiEditorToolbar",
16
16
  props: { floating: {
17
- type: Boolean,
17
+ type: null,
18
18
  default: false
19
19
  } },
20
20
  setup(__props) {
21
21
  const props = __props;
22
+ const checkedProps = computed(() => ({ floating: checkedProp(props["floating"], {
23
+ kind: "terminal",
24
+ name: "boolean"
25
+ }, false, "floating", void 0, void 0) }));
26
+ checkedProps.value;
27
+ watchSyncEffect(() => {
28
+ checkedProps.value;
29
+ });
30
+ function nativeAttrs(attrs) {
31
+ const names = Object.keys(attrs);
32
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
33
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
34
+ }
35
+ const componentInstance = getCurrentInstance();
36
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
37
+ const incoming = componentInstance?.vnode.props;
38
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
39
+ if (value === null || value === void 0) return void 0;
40
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
41
+ }
42
+ const hydrationInstance = getCurrentInstance();
22
43
  const root = ref(null);
23
44
  const stripElement = useTemplateRef("strip");
45
+ const hydrationNode = hydrationInstance?.vnode.el;
46
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-editor-toolbar> has an incompatible root."), {
47
+ name: "HtmlDiagnosticError",
48
+ diagnostic: Object.freeze({
49
+ code: "HR005",
50
+ message: "Server markup for <ui-editor-toolbar> has an incompatible root."
51
+ })
52
+ });
24
53
  /** The values the styles' :host-state() rules test. */
25
- const hostState = computed(() => [props.floating && "floating"].filter(Boolean).join(" "));
54
+ const hostState = computed(() => [checkedProps.value.floating && "floating"].filter(Boolean).join(" "));
26
55
  const dispatch = createDispatch(root);
27
- useComponentHost(controllerModule.default, {
56
+ useComponentHost(() => import("@threadlabs/looma/components/ui-editor-toolbar/ui-editor-toolbar.js"), {
28
57
  root,
29
58
  dispatch,
30
- props,
59
+ controllerSource: {
60
+ specifier: "../components/ui-editor-toolbar/ui-editor-toolbar.js",
61
+ definition: "./components/ui-editor-toolbar/ui-editor-toolbar.html"
62
+ },
63
+ props: checkedProps,
31
64
  refs: { strip: stripElement }
32
65
  });
33
66
  return (_ctx, _cache) => {
@@ -35,13 +68,14 @@ var UiEditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
35
68
  "data-component": "ui-editor-toolbar",
36
69
  role: "toolbar",
37
70
  "aria-label": "Editor toolbar"
38
- }, _ctx.$attrs, {
71
+ }, nativeAttrs(_ctx.$attrs), {
72
+ "data-floating": reflectedProp("floating", "floating", checkedProps.value.floating, void 0, false),
39
73
  "data-ui-editor-toolbar-state": hostState.value || void 0,
40
74
  ref_key: "root",
41
75
  ref: root
42
76
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
43
77
  };
44
78
  }
45
- }), [["__scopeId", "data-v-2600c9ad"]]);
79
+ }), [["__scopeId", "data-v-3ddffb27"]]);
46
80
  //#endregion
47
81
  export { UiEditorToolbar_default as t };
@@ -1,9 +1,13 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
2
+ import { t as checkedProp } from "./props.js";
3
+ import { computed, createElementBlock, defineComponent, getCurrentInstance, mergeProps, openBlock, renderSlot, watchSyncEffect } from "vue";
3
4
  //#region .build/vue/UiFloatingActionButton.vue?vue&type=script&setup=true&lang.ts
4
5
  var _hoisted_1 = [
5
6
  "aria-label",
6
7
  "disabled",
8
+ "data-disabled",
9
+ "data-label",
10
+ "data-mobile-only",
7
11
  "data-ui-floating-action-button-state"
8
12
  ];
9
13
  //#endregion
@@ -13,30 +17,74 @@ var UiFloatingActionButton_default = /*#__PURE__*/ _plugin_vue_export_helper_def
13
17
  __name: "UiFloatingActionButton",
14
18
  props: {
15
19
  disabled: {
16
- type: Boolean,
20
+ type: null,
17
21
  default: false
18
22
  },
19
- label: { default: "" },
23
+ label: {
24
+ type: null,
25
+ default: ""
26
+ },
20
27
  mobileOnly: {
21
- type: Boolean,
28
+ type: null,
22
29
  default: false
23
30
  }
24
31
  },
25
32
  setup(__props) {
26
33
  const props = __props;
34
+ const checkedProps = computed(() => ({
35
+ disabled: checkedProp(props["disabled"], {
36
+ kind: "terminal",
37
+ name: "boolean"
38
+ }, false, "disabled", void 0, void 0),
39
+ label: checkedProp(props["label"], {
40
+ kind: "terminal",
41
+ name: "string"
42
+ }, false, "label", void 0, void 0),
43
+ mobileOnly: checkedProp(props["mobileOnly"], {
44
+ kind: "terminal",
45
+ name: "boolean"
46
+ }, false, "mobileOnly", void 0, void 0)
47
+ }));
48
+ checkedProps.value;
49
+ watchSyncEffect(() => {
50
+ checkedProps.value;
51
+ });
52
+ function nativeAttrs(attrs) {
53
+ const names = Object.keys(attrs);
54
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
55
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
56
+ }
57
+ const componentInstance = getCurrentInstance();
58
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
59
+ const incoming = componentInstance?.vnode.props;
60
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
61
+ if (value === null || value === void 0) return void 0;
62
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
63
+ }
64
+ const hydrationNode = getCurrentInstance()?.vnode.el;
65
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "button")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-floating-action-button> has an incompatible root."), {
66
+ name: "HtmlDiagnosticError",
67
+ diagnostic: Object.freeze({
68
+ code: "HR005",
69
+ message: "Server markup for <ui-floating-action-button> has an incompatible root."
70
+ })
71
+ });
27
72
  /** The values the styles' :host-state() rules test. */
28
- const hostState = computed(() => [props.mobileOnly && "mobileOnly"].filter(Boolean).join(" "));
73
+ const hostState = computed(() => [checkedProps.value.mobileOnly && "mobileOnly"].filter(Boolean).join(" "));
29
74
  return (_ctx, _cache) => {
30
75
  return openBlock(), createElementBlock("button", mergeProps({
31
76
  "data-component": "ui-floating-action-button",
32
77
  type: "button"
33
- }, _ctx.$attrs, {
34
- "aria-label": __props.label,
35
- disabled: __props.disabled,
78
+ }, nativeAttrs(_ctx.$attrs), {
79
+ "aria-label": checkedProps.value.label ?? void 0,
80
+ disabled: checkedProps.value.disabled ?? void 0,
81
+ "data-disabled": reflectedProp("disabled", "disabled", checkedProps.value.disabled, void 0, false),
82
+ "data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false),
83
+ "data-mobile-only": reflectedProp("mobileOnly", "mobile-only", checkedProps.value.mobileOnly, void 0, false),
36
84
  "data-ui-floating-action-button-state": hostState.value || void 0
37
85
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
38
86
  };
39
87
  }
40
- }), [["__scopeId", "data-v-610f67a7"]]);
88
+ }), [["__scopeId", "data-v-640b32f4"]]);
41
89
  //#endregion
42
90
  export { UiFloatingActionButton_default as t };