@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
package/vue/UiInput.vue CHANGED
@@ -1,64 +1,357 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.7 for Vue 3.5. Do not edit. -->
2
- <script setup lang="ts">
3
- import { computed, ref } from 'vue'
4
- import * as controllerModule from '../components/ui-input/ui-input.js'
1
+ <!-- Generated by HTML Next 1.0.0-alpha.11 for Vue 3.5. Do not edit. -->
2
+ <script
3
+ setup
4
+ lang="ts"
5
+ generic="T0 extends
6
+ | 'text'
7
+ | 'search'
8
+ | 'tel'
9
+ | 'url'
10
+ | 'email'
11
+ | 'password'
12
+ | 'date'
13
+ | 'month'
14
+ | 'week'
15
+ | 'time'
16
+ | 'datetime-local'
17
+ | 'number'
18
+ | 'range'
19
+ | 'color'
20
+ | null = 'text'"
21
+ >
22
+ import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
23
+ import type { PropType } from 'vue'
24
+ import { readBoundControl, vBindControl } from './control'
5
25
  import { createDispatch, useComponentHost } from './host'
26
+ import { checkedProp, selectedPropNode } from './props'
6
27
 
7
28
  defineOptions({ inheritAttrs: false })
8
29
 
9
- const props = withDefaults(
10
- defineProps<{
11
- disabled?: boolean
12
- invalid?: boolean
13
- readonly?: boolean
14
- required?: boolean
15
- size?: 'sm' | 'md' | 'lg'
16
- value?: string | number
17
- modelValue?: string | number | null
18
- }>(),
19
- {
20
- disabled: false,
21
- invalid: false,
22
- readonly: false,
23
- required: false,
24
- size: 'md',
30
+ const props = defineProps({
31
+ disabled: { type: null as unknown as PropType<boolean | null>, default: false },
32
+ invalid: { type: null as unknown as PropType<boolean | null>, default: false },
33
+ readonly: { type: null as unknown as PropType<boolean | null>, default: false },
34
+ required: { type: null as unknown as PropType<boolean | null>, default: false },
35
+ size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: 'md' },
36
+ type: { type: null as unknown as PropType<T0>, default: 'text' },
37
+ value: {
38
+ type: null as unknown as PropType<
39
+ T0 extends 'text' ? string | null
40
+ : T0 extends 'search' ? string | null
41
+ : T0 extends 'tel' ? string | null
42
+ : T0 extends 'url' ? string | null
43
+ : T0 extends 'email' ? string | null
44
+ : T0 extends 'password' ? string | null
45
+ : T0 extends 'date' ? string | null
46
+ : T0 extends 'month' ? string | null
47
+ : T0 extends 'week' ? string | null
48
+ : T0 extends 'time' ? string | null
49
+ : T0 extends 'datetime-local' ? string | null
50
+ : T0 extends 'number' ? number | null
51
+ : T0 extends 'range' ? number | null
52
+ : T0 extends 'color' ? string | null
53
+ : null
54
+ >,
55
+ default: null,
25
56
  },
26
- )
57
+ modelValue: {
58
+ type: null as unknown as PropType<
59
+ (T0 extends 'text' ? string | null
60
+ : T0 extends 'search' ? string | null
61
+ : T0 extends 'tel' ? string | null
62
+ : T0 extends 'url' ? string | null
63
+ : T0 extends 'email' ? string | null
64
+ : T0 extends 'password' ? string | null
65
+ : T0 extends 'date' ? string | null
66
+ : T0 extends 'month' ? string | null
67
+ : T0 extends 'week' ? string | null
68
+ : T0 extends 'time' ? string | null
69
+ : T0 extends 'datetime-local' ? string | null
70
+ : T0 extends 'number' ? number | null
71
+ : T0 extends 'range' ? number | null
72
+ : T0 extends 'color' ? string | null
73
+ : null) | undefined
74
+ >,
75
+ },
76
+ })
77
+ const checkedProps = computed(() => ({
78
+ disabled: checkedProp<boolean>(
79
+ props['disabled'],
80
+ { kind: 'terminal', name: 'boolean' },
81
+ false,
82
+ 'disabled',
83
+ undefined,
84
+ undefined,
85
+ ) as boolean,
86
+ invalid: checkedProp<boolean>(
87
+ props['invalid'],
88
+ { kind: 'terminal', name: 'boolean' },
89
+ false,
90
+ 'invalid',
91
+ undefined,
92
+ undefined,
93
+ ) as boolean,
94
+ readonly: checkedProp<boolean>(
95
+ props['readonly'],
96
+ { kind: 'terminal', name: 'boolean' },
97
+ false,
98
+ 'readonly',
99
+ undefined,
100
+ undefined,
101
+ ) as boolean,
102
+ required: checkedProp<boolean>(
103
+ props['required'],
104
+ { kind: 'terminal', name: 'boolean' },
105
+ false,
106
+ 'required',
107
+ undefined,
108
+ undefined,
109
+ ) as boolean,
110
+ size: checkedProp<'sm' | 'md' | 'lg'>(
111
+ props['size'],
112
+ { kind: 'terminal', name: 'keyword' },
113
+ false,
114
+ 'size',
115
+ undefined,
116
+ ['sm', 'md', 'lg'],
117
+ ) as 'sm' | 'md' | 'lg',
118
+ type: checkedProp<T0>(
119
+ props['type'],
120
+ { kind: 'terminal', name: 'keyword' },
121
+ false,
122
+ 'type',
123
+ undefined,
124
+ [
125
+ 'text',
126
+ 'search',
127
+ 'tel',
128
+ 'url',
129
+ 'email',
130
+ 'password',
131
+ 'date',
132
+ 'month',
133
+ 'week',
134
+ 'time',
135
+ 'datetime-local',
136
+ 'number',
137
+ 'range',
138
+ 'color',
139
+ ],
140
+ ) as T0,
141
+ value: checkedProp<
142
+ T0 extends 'text' ? string | null
143
+ : T0 extends 'search' ? string | null
144
+ : T0 extends 'tel' ? string | null
145
+ : T0 extends 'url' ? string | null
146
+ : T0 extends 'email' ? string | null
147
+ : T0 extends 'password' ? string | null
148
+ : T0 extends 'date' ? string | null
149
+ : T0 extends 'month' ? string | null
150
+ : T0 extends 'week' ? string | null
151
+ : T0 extends 'time' ? string | null
152
+ : T0 extends 'datetime-local' ? string | null
153
+ : T0 extends 'number' ? number | null
154
+ : T0 extends 'range' ? number | null
155
+ : T0 extends 'color' ? string | null
156
+ : null
157
+ >(
158
+ props['value'],
159
+ selectedPropNode(props['type'], [
160
+ { value: 'text', type: { kind: 'terminal', name: 'string' } },
161
+ { value: 'search', type: { kind: 'terminal', name: 'string' } },
162
+ { value: 'tel', type: { kind: 'terminal', name: 'string' } },
163
+ { value: 'url', type: { kind: 'terminal', name: 'string' } },
164
+ { value: 'email', type: { kind: 'terminal', name: 'string' } },
165
+ { value: 'password', type: { kind: 'terminal', name: 'string' } },
166
+ { value: 'date', type: { kind: 'terminal', name: 'string' } },
167
+ { value: 'month', type: { kind: 'terminal', name: 'string' } },
168
+ { value: 'week', type: { kind: 'terminal', name: 'string' } },
169
+ { value: 'time', type: { kind: 'terminal', name: 'string' } },
170
+ { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
171
+ { value: 'number', type: { kind: 'terminal', name: 'number' } },
172
+ { value: 'range', type: { kind: 'terminal', name: 'number' } },
173
+ { value: 'color', type: { kind: 'terminal', name: 'string' } },
174
+ ]),
175
+ false,
176
+ 'value',
177
+ undefined,
178
+ undefined,
179
+ ),
180
+ modelValue: checkedProp<
181
+ T0 extends 'text' ? string | null
182
+ : T0 extends 'search' ? string | null
183
+ : T0 extends 'tel' ? string | null
184
+ : T0 extends 'url' ? string | null
185
+ : T0 extends 'email' ? string | null
186
+ : T0 extends 'password' ? string | null
187
+ : T0 extends 'date' ? string | null
188
+ : T0 extends 'month' ? string | null
189
+ : T0 extends 'week' ? string | null
190
+ : T0 extends 'time' ? string | null
191
+ : T0 extends 'datetime-local' ? string | null
192
+ : T0 extends 'number' ? number | null
193
+ : T0 extends 'range' ? number | null
194
+ : T0 extends 'color' ? string | null
195
+ : null
196
+ >(
197
+ props.modelValue,
198
+ selectedPropNode(props['type'], [
199
+ { value: 'text', type: { kind: 'terminal', name: 'string' } },
200
+ { value: 'search', type: { kind: 'terminal', name: 'string' } },
201
+ { value: 'tel', type: { kind: 'terminal', name: 'string' } },
202
+ { value: 'url', type: { kind: 'terminal', name: 'string' } },
203
+ { value: 'email', type: { kind: 'terminal', name: 'string' } },
204
+ { value: 'password', type: { kind: 'terminal', name: 'string' } },
205
+ { value: 'date', type: { kind: 'terminal', name: 'string' } },
206
+ { value: 'month', type: { kind: 'terminal', name: 'string' } },
207
+ { value: 'week', type: { kind: 'terminal', name: 'string' } },
208
+ { value: 'time', type: { kind: 'terminal', name: 'string' } },
209
+ { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
210
+ { value: 'number', type: { kind: 'terminal', name: 'number' } },
211
+ { value: 'range', type: { kind: 'terminal', name: 'number' } },
212
+ { value: 'color', type: { kind: 'terminal', name: 'string' } },
213
+ ]),
214
+ false,
215
+ 'modelValue',
216
+ undefined,
217
+ undefined,
218
+ ),
219
+ }))
220
+ void checkedProps.value
221
+ watchSyncEffect(() => {
222
+ void checkedProps.value
223
+ })
224
+ function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
225
+ const names = Object.keys(attrs)
226
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
227
+ return Object.fromEntries(names.map((name) => [
228
+ Object.hasOwn(Object.prototype, name)
229
+ ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
230
+ : name,
231
+ attrs[name],
232
+ ]))
233
+ }
234
+ const componentInstance = getCurrentInstance()
235
+ function reflectedProp(
236
+ name: string,
237
+ kebab: string,
238
+ value: unknown,
239
+ fallback: string | undefined,
240
+ bound: boolean,
241
+ separator?: string,
242
+ ): string | undefined {
243
+ const incoming = componentInstance?.vnode.props
244
+ if (
245
+ !bound
246
+ && (incoming === null || incoming === undefined
247
+ || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
248
+ ) return fallback
249
+ if (value === null || value === undefined) return undefined
250
+ return Array.isArray(value) && separator !== undefined
251
+ ? value.join(separator)
252
+ : typeof value === 'object'
253
+ ? JSON.stringify(value)
254
+ : String(value)
255
+ }
256
+ const hydrationInstance = getCurrentInstance()
27
257
  const emit = defineEmits<{
28
- 'update:modelValue': [value: string]
258
+ 'update:modelValue': [
259
+ value: T0 extends 'text' ? string | null
260
+ : T0 extends 'search' ? string | null
261
+ : T0 extends 'tel' ? string | null
262
+ : T0 extends 'url' ? string | null
263
+ : T0 extends 'email' ? string | null
264
+ : T0 extends 'password' ? string | null
265
+ : T0 extends 'date' ? string | null
266
+ : T0 extends 'month' ? string | null
267
+ : T0 extends 'week' ? string | null
268
+ : T0 extends 'time' ? string | null
269
+ : T0 extends 'datetime-local' ? string | null
270
+ : T0 extends 'number' ? number | null
271
+ : T0 extends 'range' ? number | null
272
+ : T0 extends 'color' ? string | null
273
+ : null,
274
+ ]
29
275
  }>()
30
276
  const model = computed({
31
- get: () => props.modelValue ?? props.value ?? undefined,
32
- set: (value) => emit('update:modelValue', value as string),
277
+ get: () => checkedProps.value.modelValue ?? checkedProps.value.value ?? undefined,
278
+ set: (value) =>
279
+ emit(
280
+ 'update:modelValue',
281
+ value as T0 extends 'text' ? string | null
282
+ : T0 extends 'search' ? string | null
283
+ : T0 extends 'tel' ? string | null
284
+ : T0 extends 'url' ? string | null
285
+ : T0 extends 'email' ? string | null
286
+ : T0 extends 'password' ? string | null
287
+ : T0 extends 'date' ? string | null
288
+ : T0 extends 'month' ? string | null
289
+ : T0 extends 'week' ? string | null
290
+ : T0 extends 'time' ? string | null
291
+ : T0 extends 'datetime-local' ? string | null
292
+ : T0 extends 'number' ? number | null
293
+ : T0 extends 'range' ? number | null
294
+ : T0 extends 'color' ? string | null
295
+ : null,
296
+ ),
33
297
  })
34
298
 
35
299
  const root = ref<HTMLElement | null>(null)
300
+ const hydrationNode = hydrationInstance?.vnode.el
301
+ if (
302
+ typeof window !== 'undefined' && hydrationNode != null
303
+ && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('input'))
304
+ ) {
305
+ throw Object.assign(new Error('HR005: Server markup for <ui-input> has an incompatible root.'), {
306
+ name: 'HtmlDiagnosticError',
307
+ diagnostic: Object.freeze({
308
+ code: 'HR005',
309
+ message: 'Server markup for <ui-input> has an incompatible root.',
310
+ }),
311
+ })
312
+ }
36
313
 
37
314
  /** The values the styles' :host-state() rules test. */
38
315
  const hostState = computed(() =>
39
316
  [
40
- props.size && `size size=${props.size}`,
317
+ checkedProps.value.size && 'size',
318
+ checkedProps.value.size != null && `size=${encodeURIComponent(checkedProps.value.size)}`,
41
319
  ].filter(Boolean).join(' ')
42
320
  )
43
321
 
44
322
  const dispatch = createDispatch(root)
45
323
 
46
- useComponentHost(controllerModule.default, {
324
+ useComponentHost(() => import('../components/ui-input/ui-input.js'), {
47
325
  root,
48
326
  dispatch,
49
- props,
327
+ controllerSource: {
328
+ specifier: '../components/ui-input/ui-input.js',
329
+ definition: './components/ui-input/ui-input.html',
330
+ },
331
+ props: checkedProps,
50
332
  })
51
333
  </script>
52
334
 
53
335
  <template>
54
336
  <input
55
337
  data-component="ui-input"
56
- v-bind="$attrs"
57
- :disabled="disabled"
58
- :readonly="readonly"
59
- :required="required"
60
- :aria-invalid="invalid"
61
- v-model="model"
338
+ v-bind="nativeAttrs($attrs)"
339
+ :type="checkedProps.type ?? undefined"
340
+ :disabled="checkedProps.disabled ?? undefined"
341
+ :readonly="checkedProps.readonly ?? undefined"
342
+ :required="checkedProps.required ?? undefined"
343
+ :aria-invalid="checkedProps.invalid ?? undefined"
344
+ :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
345
+ :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
346
+ :data-readonly="reflectedProp('readonly', 'readonly', checkedProps.readonly, undefined, false)"
347
+ :data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
348
+ :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
349
+ :data-type="reflectedProp('type', 'type', checkedProps.type, undefined, false)"
350
+ :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
351
+ v-bind-control="{ tag: 'input', name: 'value', value: model, defaultValue: '' }"
352
+ @input="model = readBoundControl(
353
+ $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
354
+ ) as any"
62
355
  :data-ui-input-state="hostState || undefined"
63
356
  ref="root"
64
357
  >
@@ -1,6 +1,4 @@
1
- type __VLS_Props = {
2
- disabled?: boolean;
3
- };
1
+ import type { PropType } from 'vue';
4
2
  declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_7: {};
5
3
  type __VLS_Slots = {} & {
6
4
  prefix?: (props: typeof __VLS_1) => any;
@@ -11,9 +9,19 @@ type __VLS_Slots = {} & {
11
9
  } & {
12
10
  action?: (props: typeof __VLS_7) => any;
13
11
  };
14
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
- disabled: boolean;
16
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
13
+ disabled: {
14
+ type: PropType<boolean | null>;
15
+ default: boolean;
16
+ };
17
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
+ disabled: {
19
+ type: PropType<boolean | null>;
20
+ default: boolean;
21
+ };
22
+ }>> & Readonly<{}>, {
23
+ disabled: boolean | null;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
17
25
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
18
26
  declare const _default: typeof __VLS_export;
19
27
  export default _default;
@@ -1,42 +1,106 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.7 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.11 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
- import { computed, ref } from 'vue'
4
- import * as controllerModule from '../components/ui-input-group/ui-input-group.js'
3
+ import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
+ import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
+ import { checkedProp } from './props'
6
7
 
7
8
  defineOptions({ inheritAttrs: false })
8
9
 
9
- const props = withDefaults(
10
- defineProps<{
11
- disabled?: boolean
12
- }>(),
13
- {
14
- disabled: false,
15
- },
16
- )
10
+ const props = defineProps({
11
+ disabled: { type: null as unknown as PropType<boolean | null>, default: false },
12
+ })
13
+ const checkedProps = computed(() => ({
14
+ disabled: checkedProp<boolean>(
15
+ props['disabled'],
16
+ { kind: 'terminal', name: 'boolean' },
17
+ false,
18
+ 'disabled',
19
+ undefined,
20
+ undefined,
21
+ ) as boolean,
22
+ }))
23
+ void checkedProps.value
24
+ watchSyncEffect(() => {
25
+ void checkedProps.value
26
+ })
27
+ function nativeAttrs(attrs: Record<string, unknown>): Record<string, unknown> {
28
+ const names = Object.keys(attrs)
29
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs
30
+ return Object.fromEntries(names.map((name) => [
31
+ Object.hasOwn(Object.prototype, name)
32
+ ? name === '__proto__' ? '__Proto__' : name[0]!.toUpperCase() + name.slice(1)
33
+ : name,
34
+ attrs[name],
35
+ ]))
36
+ }
37
+ const componentInstance = getCurrentInstance()
38
+ function reflectedProp(
39
+ name: string,
40
+ kebab: string,
41
+ value: unknown,
42
+ fallback: string | undefined,
43
+ bound: boolean,
44
+ separator?: string,
45
+ ): string | undefined {
46
+ const incoming = componentInstance?.vnode.props
47
+ if (
48
+ !bound
49
+ && (incoming === null || incoming === undefined
50
+ || (!Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab)))
51
+ ) return fallback
52
+ if (value === null || value === undefined) return undefined
53
+ return Array.isArray(value) && separator !== undefined
54
+ ? value.join(separator)
55
+ : typeof value === 'object'
56
+ ? JSON.stringify(value)
57
+ : String(value)
58
+ }
59
+ const hydrationInstance = getCurrentInstance()
17
60
 
18
61
  const root = ref<HTMLElement | null>(null)
62
+ const hydrationNode = hydrationInstance?.vnode.el
63
+ if (
64
+ typeof window !== 'undefined' && hydrationNode != null
65
+ && (!(hydrationNode instanceof Element) || hydrationNode.localName !== ('div'))
66
+ ) {
67
+ throw Object.assign(
68
+ new Error('HR005: Server markup for <ui-input-group> has an incompatible root.'),
69
+ {
70
+ name: 'HtmlDiagnosticError',
71
+ diagnostic: Object.freeze({
72
+ code: 'HR005',
73
+ message: 'Server markup for <ui-input-group> has an incompatible root.',
74
+ }),
75
+ },
76
+ )
77
+ }
19
78
 
20
79
  /** The values the styles' :host-state() rules test. */
21
80
  const hostState = computed(() =>
22
81
  [
23
- props.disabled && 'disabled',
82
+ checkedProps.value.disabled && 'disabled',
24
83
  ].filter(Boolean).join(' ')
25
84
  )
26
85
 
27
86
  const dispatch = createDispatch(root)
28
87
 
29
- useComponentHost(controllerModule.default, {
88
+ useComponentHost(() => import('../components/ui-input-group/ui-input-group.js'), {
30
89
  root,
31
90
  dispatch,
32
- props,
91
+ controllerSource: {
92
+ specifier: '../components/ui-input-group/ui-input-group.js',
93
+ definition: './components/ui-input-group/ui-input-group.html',
94
+ },
95
+ props: checkedProps,
33
96
  })
34
97
  </script>
35
98
 
36
99
  <template>
37
100
  <div
38
101
  data-component="ui-input-group"
39
- v-bind="$attrs"
102
+ v-bind="nativeAttrs($attrs)"
103
+ :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
40
104
  :data-ui-input-group-state="hostState || undefined"
41
105
  ref="root"
42
106
  >
package/vue/UiList.d.ts CHANGED
@@ -1,21 +1,50 @@
1
- type __VLS_Props = {
2
- as?: 'ul' | 'ol';
3
- density?: 'comfortable' | 'compact';
4
- layout?: 'rows' | 'grid';
5
- markers?: 'none' | 'disc';
6
- };
1
+ import type { PropType } from 'vue';
7
2
  declare var __VLS_1: {}, __VLS_3: {};
8
3
  type __VLS_Slots = {} & {
9
4
  default?: (props: typeof __VLS_1) => any;
10
5
  } & {
11
6
  default?: (props: typeof __VLS_3) => any;
12
7
  };
13
- declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
- as: "ul" | "ol";
15
- density: "comfortable" | "compact";
16
- layout: "rows" | "grid";
17
- markers: "none" | "disc";
18
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
+ as: {
10
+ type: PropType<"ul" | "ol" | null>;
11
+ default: string;
12
+ };
13
+ density: {
14
+ type: PropType<"comfortable" | "compact" | null>;
15
+ default: string;
16
+ };
17
+ layout: {
18
+ type: PropType<"rows" | "grid" | null>;
19
+ default: string;
20
+ };
21
+ markers: {
22
+ type: PropType<"none" | "disc" | null>;
23
+ default: string;
24
+ };
25
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
26
+ as: {
27
+ type: PropType<"ul" | "ol" | null>;
28
+ default: string;
29
+ };
30
+ density: {
31
+ type: PropType<"comfortable" | "compact" | null>;
32
+ default: string;
33
+ };
34
+ layout: {
35
+ type: PropType<"rows" | "grid" | null>;
36
+ default: string;
37
+ };
38
+ markers: {
39
+ type: PropType<"none" | "disc" | null>;
40
+ default: string;
41
+ };
42
+ }>> & Readonly<{}>, {
43
+ as: "ol" | "ul" | null;
44
+ density: "comfortable" | "compact" | null;
45
+ layout: "rows" | "grid" | null;
46
+ markers: "none" | "disc" | null;
47
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
19
48
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
49
  declare const _default: typeof __VLS_export;
21
50
  export default _default;