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