@threadlabs/looma 0.25.7 → 0.26.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 (434) hide show
  1. package/components/ui-avatar/ui-avatar.html +4 -4
  2. package/components/ui-avatar-group/ui-avatar-group.html +2 -2
  3. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
  4. package/components/ui-breadcrumbs/ui-breadcrumbs.html +1 -1
  5. package/components/ui-button/ui-button.html +27 -27
  6. package/components/ui-callout/ui-callout.html +5 -5
  7. package/components/ui-card/ui-card.html +3 -3
  8. package/components/ui-checkbox/ui-checkbox.html +8 -8
  9. package/components/ui-combobox/ui-combobox.html +59 -59
  10. package/components/ui-dialog/ui-dialog.html +2 -2
  11. package/components/ui-disclosure/ui-disclosure.html +3 -3
  12. package/components/ui-editable/ui-editable.html +8 -8
  13. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +11 -11
  14. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +10 -10
  15. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +2 -2
  16. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +7 -7
  17. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +1 -1
  18. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +3 -3
  19. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +16 -16
  20. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +31 -31
  21. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +33 -33
  22. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  23. package/components/ui-grid/ui-grid.html +1 -1
  24. package/components/ui-icon/ui-icon.html +12 -12
  25. package/components/ui-icon-button/ui-icon-button.html +6 -6
  26. package/components/ui-image/ui-image.html +2 -2
  27. package/components/ui-input/ui-input.html +1 -1
  28. package/components/ui-list/ui-list.html +1 -1
  29. package/components/ui-list-item/ui-list-item.html +1 -1
  30. package/components/ui-listbox/ui-listbox.html +24 -24
  31. package/components/ui-menu-group/ui-menu-group.html +2 -2
  32. package/components/ui-menu-item/ui-menu-item.html +9 -9
  33. package/components/ui-meter/ui-meter.html +8 -8
  34. package/components/ui-nav-item/ui-nav-item.html +6 -6
  35. package/components/ui-radio/ui-radio.html +1 -1
  36. package/components/ui-radio-group/ui-radio-group.html +1 -1
  37. package/components/ui-search-result-row/ui-search-result-row.html +1 -1
  38. package/components/ui-search-shell/ui-search-shell.html +1 -1
  39. package/components/ui-section/ui-section.html +1 -1
  40. package/components/ui-select/ui-select.html +1 -1
  41. package/components/ui-separator/ui-separator.html +1 -1
  42. package/components/ui-sidebar/ui-sidebar.html +2 -2
  43. package/components/ui-spinner/ui-spinner.html +4 -4
  44. package/components/ui-stack/ui-stack.html +1 -1
  45. package/components/ui-status-message/ui-status-message.html +3 -3
  46. package/components/ui-switch/ui-switch.html +5 -5
  47. package/components/ui-tabs/ui-tabs.html +8 -8
  48. package/components/ui-text/ui-text.html +10 -10
  49. package/components/ui-textarea/ui-textarea.html +8 -8
  50. package/components/ui-toast/ui-toast.html +1 -1
  51. package/components/ui-toast-region/ui-toast-region.html +8 -8
  52. package/components/ui-tooltip/ui-tooltip.html +1 -1
  53. package/components/ui-tree-item/ui-tree-item.html +18 -18
  54. package/dist/index.js +1 -1
  55. package/package.json +3 -3
  56. package/styles/ui-action-bar.css +1 -1
  57. package/styles/ui-affordance-scope.css +1 -1
  58. package/styles/ui-avatar-group.css +1 -1
  59. package/styles/ui-avatar.css +1 -1
  60. package/styles/ui-badge.css +1 -1
  61. package/styles/ui-breadcrumb-item.css +1 -1
  62. package/styles/ui-breadcrumbs.css +1 -1
  63. package/styles/ui-button.css +1 -1
  64. package/styles/ui-callout.css +1 -1
  65. package/styles/ui-card.css +1 -1
  66. package/styles/ui-checkbox.css +1 -1
  67. package/styles/ui-cluster.css +1 -1
  68. package/styles/ui-combobox.css +1 -1
  69. package/styles/ui-container.css +1 -1
  70. package/styles/ui-context-menu.css +1 -1
  71. package/styles/ui-cover.css +1 -1
  72. package/styles/ui-description-item.css +1 -1
  73. package/styles/ui-description-list.css +1 -1
  74. package/styles/ui-dialog.css +1 -1
  75. package/styles/ui-disclosure.css +1 -1
  76. package/styles/ui-editable.css +1 -1
  77. package/styles/ui-editor-insert-table-grid.css +1 -1
  78. package/styles/ui-editor-mention-menu-item.css +1 -1
  79. package/styles/ui-editor-mention-menu.css +1 -1
  80. package/styles/ui-editor-slash-menu-group.css +1 -1
  81. package/styles/ui-editor-slash-menu-item.css +1 -1
  82. package/styles/ui-editor-slash-menu.css +1 -1
  83. package/styles/ui-editor-surface.css +1 -1
  84. package/styles/ui-editor-table-context-menu.css +1 -1
  85. package/styles/ui-editor-table-overlay.css +1 -1
  86. package/styles/ui-editor-table-toolbar.css +1 -1
  87. package/styles/ui-editor-toolbar.css +1 -1
  88. package/styles/ui-floating-action-button.css +1 -1
  89. package/styles/ui-form-field.css +1 -1
  90. package/styles/ui-grid.css +1 -1
  91. package/styles/ui-icon-button.css +1 -1
  92. package/styles/ui-icon.css +1 -1
  93. package/styles/ui-image.css +1 -1
  94. package/styles/ui-input-group.css +1 -1
  95. package/styles/ui-input.css +1 -1
  96. package/styles/ui-list-item.css +1 -1
  97. package/styles/ui-list.css +1 -1
  98. package/styles/ui-listbox.css +1 -1
  99. package/styles/ui-menu-group.css +1 -1
  100. package/styles/ui-menu-item.css +1 -1
  101. package/styles/ui-menu.css +1 -1
  102. package/styles/ui-meter.css +1 -1
  103. package/styles/ui-nav-item.css +1 -1
  104. package/styles/ui-page-header.css +1 -1
  105. package/styles/ui-popover.css +1 -1
  106. package/styles/ui-radio-group.css +1 -1
  107. package/styles/ui-radio.css +1 -1
  108. package/styles/ui-reel.css +1 -1
  109. package/styles/ui-scroll-area.css +1 -1
  110. package/styles/ui-search-result-row.css +1 -1
  111. package/styles/ui-search-shell.css +1 -1
  112. package/styles/ui-section.css +1 -1
  113. package/styles/ui-select.css +1 -1
  114. package/styles/ui-separator.css +1 -1
  115. package/styles/ui-sidebar.css +1 -1
  116. package/styles/ui-spinner.css +1 -1
  117. package/styles/ui-stack.css +1 -1
  118. package/styles/ui-status-message.css +1 -1
  119. package/styles/ui-switch.css +1 -1
  120. package/styles/ui-switcher.css +1 -1
  121. package/styles/ui-table.css +1 -1
  122. package/styles/ui-tabs.css +1 -1
  123. package/styles/ui-text.css +1 -1
  124. package/styles/ui-textarea.css +1 -1
  125. package/styles/ui-toast-region.css +1 -1
  126. package/styles/ui-toast.css +1 -1
  127. package/styles/ui-tooltip.css +1 -1
  128. package/styles/ui-top-bar.css +1 -1
  129. package/styles/ui-tree-item.css +1 -1
  130. package/styles/ui-tree.css +1 -1
  131. package/vanilla/UiActionBar.d.ts +1 -1
  132. package/vanilla/UiActionBar.js +70 -52
  133. package/vanilla/UiAffordanceScope.d.ts +1 -1
  134. package/vanilla/UiAffordanceScope.js +36 -17
  135. package/vanilla/UiAvatar.d.ts +1 -1
  136. package/vanilla/UiAvatar.js +72 -37
  137. package/vanilla/UiAvatarGroup.d.ts +1 -1
  138. package/vanilla/UiAvatarGroup.js +57 -26
  139. package/vanilla/UiBadge.d.ts +1 -1
  140. package/vanilla/UiBadge.js +49 -39
  141. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  142. package/vanilla/UiBreadcrumbItem.js +41 -26
  143. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  144. package/vanilla/UiBreadcrumbs.js +35 -24
  145. package/vanilla/UiButton.d.ts +1 -1
  146. package/vanilla/UiButton.js +444 -156
  147. package/vanilla/UiCallout.d.ts +1 -1
  148. package/vanilla/UiCallout.js +135 -111
  149. package/vanilla/UiCard.d.ts +1 -1
  150. package/vanilla/UiCard.js +147 -47
  151. package/vanilla/UiCheckbox.d.ts +1 -1
  152. package/vanilla/UiCheckbox.js +100 -58
  153. package/vanilla/UiCluster.d.ts +1 -1
  154. package/vanilla/UiCluster.js +35 -29
  155. package/vanilla/UiCombobox.d.ts +1 -1
  156. package/vanilla/UiCombobox.js +879 -283
  157. package/vanilla/UiContainer.d.ts +1 -1
  158. package/vanilla/UiContainer.js +35 -19
  159. package/vanilla/UiContextMenu.d.ts +1 -1
  160. package/vanilla/UiContextMenu.js +34 -23
  161. package/vanilla/UiCover.d.ts +1 -1
  162. package/vanilla/UiCover.js +35 -15
  163. package/vanilla/UiDescriptionItem.d.ts +1 -1
  164. package/vanilla/UiDescriptionItem.js +37 -24
  165. package/vanilla/UiDescriptionList.d.ts +1 -1
  166. package/vanilla/UiDescriptionList.js +35 -21
  167. package/vanilla/UiDialog.d.ts +1 -1
  168. package/vanilla/UiDialog.js +83 -42
  169. package/vanilla/UiDisclosure.d.ts +1 -1
  170. package/vanilla/UiDisclosure.js +113 -72
  171. package/vanilla/UiEditable.d.ts +1 -1
  172. package/vanilla/UiEditable.js +125 -58
  173. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  174. package/vanilla/UiEditorInsertTableGrid.js +85 -30
  175. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  176. package/vanilla/UiEditorMentionMenu.js +193 -75
  177. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  178. package/vanilla/UiEditorMentionMenuItem.js +81 -44
  179. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  180. package/vanilla/UiEditorSlashMenu.js +123 -78
  181. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  182. package/vanilla/UiEditorSlashMenuGroup.js +40 -34
  183. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  184. package/vanilla/UiEditorSlashMenuItem.js +98 -45
  185. package/vanilla/UiEditorSurface.d.ts +1 -1
  186. package/vanilla/UiEditorSurface.js +35 -15
  187. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  188. package/vanilla/UiEditorTableContextMenu.js +143 -60
  189. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  190. package/vanilla/UiEditorTableOverlay.js +212 -109
  191. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  192. package/vanilla/UiEditorTableToolbar.js +330 -113
  193. package/vanilla/UiEditorToolbar.d.ts +1 -1
  194. package/vanilla/UiEditorToolbar.js +37 -20
  195. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  196. package/vanilla/UiFloatingActionButton.js +44 -22
  197. package/vanilla/UiFormField.d.ts +1 -1
  198. package/vanilla/UiFormField.js +89 -65
  199. package/vanilla/UiGrid.d.ts +1 -1
  200. package/vanilla/UiGrid.js +39 -19
  201. package/vanilla/UiIcon.d.ts +1 -1
  202. package/vanilla/UiIcon.js +186 -27
  203. package/vanilla/UiIconButton.d.ts +1 -1
  204. package/vanilla/UiIconButton.js +82 -32
  205. package/vanilla/UiImage.d.ts +1 -1
  206. package/vanilla/UiImage.js +76 -69
  207. package/vanilla/UiInput.d.ts +1 -1
  208. package/vanilla/UiInput.js +51 -27
  209. package/vanilla/UiInputGroup.d.ts +1 -1
  210. package/vanilla/UiInputGroup.js +77 -56
  211. package/vanilla/UiList.d.ts +1 -1
  212. package/vanilla/UiList.js +91 -27
  213. package/vanilla/UiListItem.d.ts +1 -1
  214. package/vanilla/UiListItem.js +81 -74
  215. package/vanilla/UiListbox.d.ts +1 -1
  216. package/vanilla/UiListbox.js +204 -81
  217. package/vanilla/UiMenu.d.ts +1 -1
  218. package/vanilla/UiMenu.js +36 -20
  219. package/vanilla/UiMenuGroup.d.ts +1 -1
  220. package/vanilla/UiMenuGroup.js +60 -24
  221. package/vanilla/UiMenuItem.d.ts +1 -1
  222. package/vanilla/UiMenuItem.js +177 -77
  223. package/vanilla/UiMeter.d.ts +1 -1
  224. package/vanilla/UiMeter.js +77 -14
  225. package/vanilla/UiNavItem.d.ts +1 -1
  226. package/vanilla/UiNavItem.js +199 -123
  227. package/vanilla/UiPageHeader.d.ts +1 -1
  228. package/vanilla/UiPageHeader.js +91 -69
  229. package/vanilla/UiPopover.d.ts +1 -1
  230. package/vanilla/UiPopover.js +36 -20
  231. package/vanilla/UiRadio.d.ts +1 -1
  232. package/vanilla/UiRadio.js +82 -50
  233. package/vanilla/UiRadioGroup.d.ts +1 -1
  234. package/vanilla/UiRadioGroup.js +58 -30
  235. package/vanilla/UiReel.d.ts +1 -1
  236. package/vanilla/UiReel.js +35 -21
  237. package/vanilla/UiScrollArea.d.ts +1 -1
  238. package/vanilla/UiScrollArea.js +37 -20
  239. package/vanilla/UiSearchResultRow.d.ts +1 -1
  240. package/vanilla/UiSearchResultRow.js +98 -74
  241. package/vanilla/UiSearchShell.d.ts +1 -1
  242. package/vanilla/UiSearchShell.js +81 -64
  243. package/vanilla/UiSection.d.ts +1 -1
  244. package/vanilla/UiSection.js +71 -53
  245. package/vanilla/UiSelect.d.ts +1 -1
  246. package/vanilla/UiSelect.js +50 -26
  247. package/vanilla/UiSeparator.d.ts +1 -1
  248. package/vanilla/UiSeparator.js +23 -22
  249. package/vanilla/UiSidebar.d.ts +1 -1
  250. package/vanilla/UiSidebar.js +49 -37
  251. package/vanilla/UiSpinner.d.ts +1 -1
  252. package/vanilla/UiSpinner.js +43 -26
  253. package/vanilla/UiStack.d.ts +1 -1
  254. package/vanilla/UiStack.js +39 -19
  255. package/vanilla/UiStatusMessage.d.ts +1 -1
  256. package/vanilla/UiStatusMessage.js +70 -41
  257. package/vanilla/UiSwitch.d.ts +1 -1
  258. package/vanilla/UiSwitch.js +82 -51
  259. package/vanilla/UiSwitcher.d.ts +1 -1
  260. package/vanilla/UiSwitcher.js +36 -17
  261. package/vanilla/UiTable.d.ts +1 -1
  262. package/vanilla/UiTable.js +35 -17
  263. package/vanilla/UiTabs.d.ts +1 -1
  264. package/vanilla/UiTabs.js +97 -42
  265. package/vanilla/UiText.d.ts +1 -1
  266. package/vanilla/UiText.js +343 -117
  267. package/vanilla/UiTextarea.d.ts +1 -1
  268. package/vanilla/UiTextarea.js +56 -33
  269. package/vanilla/UiToast.d.ts +1 -1
  270. package/vanilla/UiToast.js +61 -40
  271. package/vanilla/UiToastRegion.d.ts +1 -1
  272. package/vanilla/UiToastRegion.js +85 -35
  273. package/vanilla/UiTooltip.d.ts +1 -1
  274. package/vanilla/UiTooltip.js +54 -31
  275. package/vanilla/UiTopBar.d.ts +1 -1
  276. package/vanilla/UiTopBar.js +70 -52
  277. package/vanilla/UiTree.d.ts +1 -1
  278. package/vanilla/UiTree.js +35 -17
  279. package/vanilla/UiTreeItem.d.ts +1 -1
  280. package/vanilla/UiTreeItem.js +219 -181
  281. package/vue/UiActionBar.vue +1 -1
  282. package/vue/UiAffordanceScope.vue +1 -1
  283. package/vue/UiAvatar.vue +7 -7
  284. package/vue/UiAvatarGroup.vue +3 -3
  285. package/vue/UiBadge.vue +1 -1
  286. package/vue/UiBreadcrumbItem.vue +1 -1
  287. package/vue/UiBreadcrumbs.vue +1 -1
  288. package/vue/UiButton.vue +1 -1
  289. package/vue/UiCallout.vue +1 -1
  290. package/vue/UiCard.vue +1 -1
  291. package/vue/UiCheckbox.vue +2 -2
  292. package/vue/UiCluster.vue +1 -1
  293. package/vue/UiCombobox.vue +25 -25
  294. package/vue/UiContainer.vue +1 -1
  295. package/vue/UiContextMenu.vue +1 -1
  296. package/vue/UiCover.vue +1 -1
  297. package/vue/UiDescriptionItem.vue +1 -1
  298. package/vue/UiDescriptionList.vue +1 -1
  299. package/vue/UiDialog.vue +2 -2
  300. package/vue/UiDisclosure.vue +6 -6
  301. package/vue/UiEditable.vue +3 -3
  302. package/vue/UiEditorInsertTableGrid.vue +4 -4
  303. package/vue/UiEditorMentionMenu.vue +2 -2
  304. package/vue/UiEditorMentionMenuItem.vue +1 -1
  305. package/vue/UiEditorSlashMenu.vue +2 -2
  306. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  307. package/vue/UiEditorSlashMenuItem.vue +1 -1
  308. package/vue/UiEditorSurface.vue +1 -1
  309. package/vue/UiEditorTableContextMenu.vue +1 -1
  310. package/vue/UiEditorTableOverlay.vue +11 -11
  311. package/vue/UiEditorTableToolbar.vue +2 -2
  312. package/vue/UiEditorToolbar.vue +1 -1
  313. package/vue/UiFloatingActionButton.vue +1 -1
  314. package/vue/UiFormField.vue +1 -1
  315. package/vue/UiGrid.vue +1 -1
  316. package/vue/UiIcon.vue +1 -1
  317. package/vue/UiIconButton.vue +1 -1
  318. package/vue/UiImage.vue +1 -1
  319. package/vue/UiInput.vue +1 -1
  320. package/vue/UiInputGroup.vue +1 -1
  321. package/vue/UiList.vue +1 -1
  322. package/vue/UiListItem.vue +1 -1
  323. package/vue/UiListbox.vue +4 -4
  324. package/vue/UiMenu.vue +1 -1
  325. package/vue/UiMenuGroup.vue +1 -1
  326. package/vue/UiMenuItem.vue +2 -2
  327. package/vue/UiMeter.vue +1 -1
  328. package/vue/UiNavItem.vue +1 -1
  329. package/vue/UiPageHeader.vue +1 -1
  330. package/vue/UiPopover.vue +1 -1
  331. package/vue/UiRadio.vue +2 -2
  332. package/vue/UiRadioGroup.vue +1 -1
  333. package/vue/UiReel.vue +1 -1
  334. package/vue/UiScrollArea.vue +1 -1
  335. package/vue/UiSearchResultRow.vue +1 -1
  336. package/vue/UiSearchShell.vue +1 -1
  337. package/vue/UiSection.vue +1 -1
  338. package/vue/UiSelect.vue +1 -1
  339. package/vue/UiSeparator.vue +1 -1
  340. package/vue/UiSidebar.vue +3 -3
  341. package/vue/UiSpinner.vue +1 -1
  342. package/vue/UiStack.vue +1 -1
  343. package/vue/UiStatusMessage.vue +1 -1
  344. package/vue/UiSwitch.vue +2 -2
  345. package/vue/UiSwitcher.vue +1 -1
  346. package/vue/UiTable.vue +1 -1
  347. package/vue/UiTabs.vue +1 -1
  348. package/vue/UiText.vue +1 -1
  349. package/vue/UiTextarea.vue +1 -1
  350. package/vue/UiToast.vue +1 -1
  351. package/vue/UiToastRegion.vue +1 -1
  352. package/vue/UiTooltip.vue +2 -2
  353. package/vue/UiTopBar.vue +1 -1
  354. package/vue/UiTree.vue +1 -1
  355. package/vue/UiTreeItem.vue +6 -6
  356. package/vue/chunks/UiActionBar.js +1 -1
  357. package/vue/chunks/UiAffordanceScope.js +1 -1
  358. package/vue/chunks/UiAvatar.js +6 -6
  359. package/vue/chunks/UiAvatarGroup.js +3 -3
  360. package/vue/chunks/UiBadge.js +1 -1
  361. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  362. package/vue/chunks/UiBreadcrumbs.js +1 -1
  363. package/vue/chunks/UiButton.js +1 -1
  364. package/vue/chunks/UiCallout.js +1 -1
  365. package/vue/chunks/UiCard.js +1 -1
  366. package/vue/chunks/UiCheckbox.js +2 -2
  367. package/vue/chunks/UiCluster.js +1 -1
  368. package/vue/chunks/UiCombobox.js +22 -22
  369. package/vue/chunks/UiContainer.js +1 -1
  370. package/vue/chunks/UiContextMenu.js +1 -1
  371. package/vue/chunks/UiCover.js +1 -1
  372. package/vue/chunks/UiDescriptionItem.js +1 -1
  373. package/vue/chunks/UiDescriptionList.js +1 -1
  374. package/vue/chunks/UiDialog.js +2 -2
  375. package/vue/chunks/UiDisclosure.js +6 -6
  376. package/vue/chunks/UiEditable.js +3 -3
  377. package/vue/chunks/UiEditorInsertTableGrid.js +4 -4
  378. package/vue/chunks/UiEditorMentionMenu.js +2 -2
  379. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  380. package/vue/chunks/UiEditorSlashMenu.js +2 -2
  381. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  382. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  383. package/vue/chunks/UiEditorSurface.js +1 -1
  384. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  385. package/vue/chunks/UiEditorTableOverlay.js +11 -11
  386. package/vue/chunks/UiEditorTableToolbar.js +2 -2
  387. package/vue/chunks/UiEditorToolbar.js +1 -1
  388. package/vue/chunks/UiFloatingActionButton.js +1 -1
  389. package/vue/chunks/UiFormField.js +1 -1
  390. package/vue/chunks/UiGrid.js +1 -1
  391. package/vue/chunks/UiIcon.js +1 -1
  392. package/vue/chunks/UiIconButton.js +1 -1
  393. package/vue/chunks/UiImage.js +1 -1
  394. package/vue/chunks/UiInput.js +1 -1
  395. package/vue/chunks/UiInputGroup.js +1 -1
  396. package/vue/chunks/UiList.js +1 -1
  397. package/vue/chunks/UiListItem.js +1 -1
  398. package/vue/chunks/UiListbox.js +4 -4
  399. package/vue/chunks/UiMenu.js +1 -1
  400. package/vue/chunks/UiMenuGroup.js +1 -1
  401. package/vue/chunks/UiMenuItem.js +2 -2
  402. package/vue/chunks/UiMeter.js +1 -1
  403. package/vue/chunks/UiNavItem.js +1 -1
  404. package/vue/chunks/UiPageHeader.js +1 -1
  405. package/vue/chunks/UiPopover.js +1 -1
  406. package/vue/chunks/UiRadio.js +2 -2
  407. package/vue/chunks/UiRadioGroup.js +1 -1
  408. package/vue/chunks/UiReel.js +1 -1
  409. package/vue/chunks/UiScrollArea.js +1 -1
  410. package/vue/chunks/UiSearchResultRow.js +1 -1
  411. package/vue/chunks/UiSearchShell.js +1 -1
  412. package/vue/chunks/UiSection.js +1 -1
  413. package/vue/chunks/UiSelect.js +1 -1
  414. package/vue/chunks/UiSeparator.js +1 -1
  415. package/vue/chunks/UiSidebar.js +2 -2
  416. package/vue/chunks/UiSpinner.js +1 -1
  417. package/vue/chunks/UiStack.js +1 -1
  418. package/vue/chunks/UiStatusMessage.js +1 -1
  419. package/vue/chunks/UiSwitch.js +2 -2
  420. package/vue/chunks/UiSwitcher.js +1 -1
  421. package/vue/chunks/UiTable.js +1 -1
  422. package/vue/chunks/UiTabs.js +1 -1
  423. package/vue/chunks/UiText.js +1 -1
  424. package/vue/chunks/UiTextarea.js +1 -1
  425. package/vue/chunks/UiToast.js +1 -1
  426. package/vue/chunks/UiToastRegion.js +1 -1
  427. package/vue/chunks/UiTooltip.js +2 -2
  428. package/vue/chunks/UiTopBar.js +1 -1
  429. package/vue/chunks/UiTree.js +1 -1
  430. package/vue/chunks/UiTreeItem.js +5 -5
  431. package/vue/chunks/control.js +41 -13
  432. package/vue/chunks/host.js +19 -18
  433. package/vue/components.css +1388 -1388
  434. package/vue/host.ts +22 -20
@@ -1,95 +1,218 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
2
- import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
+ import { attachGeneratedController, buildTemplate, checkReference, clearRegion, KeyedList, negate, NONCONFORMING, readIndex, readMember, textCall, toAttribute, toText, trackContainer, truthy, visitSelected, writeAttribute, dispatchDeclared, detailCheck, dispose, IndexedList, keywordFormat, acceptProps, manageProps, project, fillSlot, checkBoolean, checkConstrained, checkFormat, checkList, checkNull, checkNumber, checkObject, checkString, checkUnion } from "@nextwebwg/html-next/generated-runtime";
3
3
  import * as controller from "../components/ui-listbox/ui-listbox.js";
4
4
  import "../styles/ui-listbox.css";
5
5
 
6
- const definition = {...{"contract":{"tag":"ui-listbox","props":{"disabled":{"type":"boolean","required":false,"target":{"attribute":"aria-disabled"},"default":false},"invalid":{"type":"boolean","required":false,"target":{"attribute":"invalid"},"default":false},"multiple":{"type":"boolean","required":false,"target":{"attribute":"aria-multiselectable"},"default":false},"name":{"type":"string","required":false,"target":{"attribute":"name"},"default":""},"required":{"type":"boolean","required":false,"target":{"attribute":"aria-required"},"default":false},"rows":{"type":"number","required":false,"target":{"attribute":"size"},"default":5},"value":{"type":"string","required":false,"target":{"attribute":"value"}},"values":{"type":{"kind":"list","item":{"kind":"terminal","name":"string"}},"required":false,"target":{"attribute":"values"}}}},"template":{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"role","value":"listbox"},{"kind":"attribute","name":"tabindex","expression":"{ true: '-1', false: '0' }[concat(disabled)]","expressionPlan":{"source":"{ true: '-1', false: '0' }[concat(disabled)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"-1"}},{"key":"false","value":{"kind":"literal","value":"0"}}]},"index":{"kind":"call","fn":"concat","args":[{"kind":"id","name":"disabled"}]}},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-multiselectable","expression":"multiple","expressionPlan":{"source":"multiple","ast":{"kind":"id","name":"multiple"},"dependencies":["multiple"]}},{"kind":"attribute","name":"aria-disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"aria-required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"aria-invalid","expression":"invalid or validationError","expressionPlan":{"source":"invalid or validationError","ast":{"kind":"binary","op":"or","left":{"kind":"id","name":"invalid"},"right":{"kind":"id","name":"validationError"}},"dependencies":["invalid","validationError"]}},{"kind":"attribute","name":"--_rows","expression":"rows","expressionPlan":{"source":"rows","ast":{"kind":"id","name":"rows"},"dependencies":["rows"]},"target":"style"}],"children":[{"kind":"element","name":"ui-scroll-area","attributes":[{"kind":"literal","name":"class","value":"choices"}],"children":[{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"option"},{"kind":"attribute","name":"active","expression":"choice.index = active","expressionPlan":{"source":"choice.index = active","ast":{"kind":"binary","op":"=","left":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"index"},"right":{"kind":"id","name":"active"}},"dependencies":["active","choice.index"]},"target":"class"},{"kind":"literal","name":"role","value":"option"},{"kind":"literal","name":"data-ui-choice-option","value":""},{"kind":"attribute","name":"data-multiple","expression":"multiple","expressionPlan":{"source":"multiple","ast":{"kind":"id","name":"multiple"},"dependencies":["multiple"]}},{"kind":"attribute","name":"id","expression":"concat(uid, '-option-', choice.index)","expressionPlan":{"source":"concat(uid, '-option-', choice.index)","ast":{"kind":"call","fn":"concat","args":[{"kind":"id","name":"uid"},{"kind":"literal","value":"-option-"},{"kind":"member","object":{"kind":"id","name":"choice"},"key":"index"}]},"dependencies":["choice.index","uid"]}},{"kind":"attribute","name":"data-index","expression":"choice.index","expressionPlan":{"source":"choice.index","ast":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"index"},"dependencies":["choice.index"]}},{"kind":"attribute","name":"aria-selected","expression":"choice.selected","expressionPlan":{"source":"choice.selected","ast":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"selected"},"dependencies":["choice.selected"]}},{"kind":"attribute","name":"aria-disabled","expression":"choice.disabled","expressionPlan":{"source":"choice.disabled","ast":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"disabled"},"dependencies":["choice.disabled"]}}],"children":[{"kind":"element","name":"span","attributes":[],"children":[{"kind":"text","value":"$choice.label","expressionPlan":{"source":"$choice.label","ast":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"label"},"dependencies":["choice.label"]}}]}],"flow":{"kind":"each","item":"choice","list":"choices","listPlan":{"source":"choices","ast":{"kind":"id","name":"choices"},"dependencies":["choices"]},"key":"choice.index","keyPlan":{"source":"choice.index","ast":{"kind":"member","object":{"kind":"id","name":"choice"},"key":"index"},"dependencies":["choice.index"]}}}],"ref":"choices"},{"kind":"element","name":"select","attributes":[{"kind":"literal","name":"class","value":"fallback"},{"kind":"attribute","name":"size","expression":"rows","expressionPlan":{"source":"rows","ast":{"kind":"id","name":"rows"},"dependencies":["rows"]}},{"kind":"attribute","name":"multiple","expression":"multiple","expressionPlan":{"source":"multiple","ast":{"kind":"id","name":"multiple"},"dependencies":["multiple"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"attribute","name":"required","expression":"required","expressionPlan":{"source":"required","ast":{"kind":"id","name":"required"},"dependencies":["required"]}},{"kind":"attribute","name":"name","expression":"name","expressionPlan":{"source":"name","ast":{"kind":"id","name":"name"},"dependencies":["name"]}},{"kind":"literal","name":"aria-label","value":"Choices"}],"children":[{"kind":"slot"}],"ref":"options"},{"kind":"element","name":"template","attributes":[],"children":[{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"type","value":"hidden"},{"kind":"attribute","name":"name","expression":"name","expressionPlan":{"source":"name","ast":{"kind":"id","name":"name"},"dependencies":["name"]}},{"kind":"attribute","name":"value","expression":"selected","expressionPlan":{"source":"selected","ast":{"kind":"id","name":"selected"},"dependencies":["selected"]}}],"children":[],"flow":{"kind":"each","item":"selected","list":"selection","listPlan":{"source":"selection","ast":{"kind":"id","name":"selection"},"dependencies":["selection"]}}}],"flow":{"kind":"if","test":"name and not disabled","testPlan":{"source":"name and not disabled","ast":{"kind":"binary","op":"and","left":{"kind":"id","name":"name"},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}},"dependencies":["disabled","name"]}}},{"kind":"element","name":"input","attributes":[{"kind":"literal","name":"class","value":"validity"},{"kind":"literal","name":"type","value":"checkbox"},{"kind":"attribute","name":"required","expression":"required and not hasSelection and not disabled","expressionPlan":{"source":"required and not hasSelection and not disabled","ast":{"kind":"binary","op":"and","left":{"kind":"binary","op":"and","left":{"kind":"id","name":"required"},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"hasSelection"}}},"right":{"kind":"unary","op":"not","operand":{"kind":"id","name":"disabled"}}},"dependencies":["disabled","hasSelection","required"]}},{"kind":"attribute","name":"checked","expression":"hasSelection","expressionPlan":{"source":"hasSelection","ast":{"kind":"id","name":"hasSelection"},"dependencies":["hasSelection"]}},{"kind":"attribute","name":"disabled","expression":"disabled","expressionPlan":{"source":"disabled","ast":{"kind":"id","name":"disabled"},"dependencies":["disabled"]}},{"kind":"literal","name":"aria-hidden","value":"true"},{"kind":"literal","name":"tabindex","value":"-1"}],"children":[],"ref":"validity"}]},"declarations":[{"kind":"state","name":"choices","type":"list(object({ value: string, label: string, disabled: boolean, selected: boolean, index: integer }))","value":"[]","expression":{"source":"[]","ast":{"kind":"array","items":[]},"dependencies":[]}},{"kind":"state","name":"selection","type":"list(string)","value":"[]","expression":{"source":"[]","ast":{"kind":"array","items":[]},"dependencies":[]}},{"kind":"state","name":"hasSelection","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"state","name":"active","type":"integer","value":"-1","expression":{"source":"-1","ast":{"kind":"unary","op":"-","operand":{"kind":"literal","value":1}},"dependencies":[]}},{"kind":"state","name":"uid","type":"string","value":"","expression":{"source":"\"\"","ast":{"kind":"literal","value":""},"dependencies":[]}},{"kind":"state","name":"validationError","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"change","type":"object","shape":{"kind":"object","fields":[{"name":"value","type":{"kind":"union","members":[{"kind":"terminal","name":"string"},{"kind":"terminal","name":"null"}]},"optional":false},{"name":"values","type":{"kind":"list","item":{"kind":"terminal","name":"string"}},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"div","choices":["div"]}},source:{file:import.meta.url},css:""};
6
+ const T0 = ["",[],["ui-scroll-area",["class","choices"],2],["select",["class","fallback","aria-label","Choices"],4],1,["input",["class","validity","type","checkbox","aria-hidden","true","tabindex","-1"]]];
7
+ const T1 = ["div",["class","option","role","option","data-ui-choice-option",""],["span",[],0]];
8
+ const T2 = ["",[]];
9
+ const T3 = ["",[],2];
10
+ const T4 = ["input",["type","hidden"]];
11
+ let P0, P1, P2, P3, P4;
12
+ const E = new Map();
13
+ const S = { n: ["choices","selection","hasSelection","active","uid","validationError"], t: [["l",["o",["value","s","label","s","disabled","b","selected","b","index","i"]]],["l","s"],"b","i","s","b"], f: import.meta.url, g: "ui-listbox", d: { "change": [detailCheck(checkObject([["value", checkUnion([checkString, checkNull], "string | null"), false], ["values", checkList(checkString), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer"]}), false]], false)), true, true, false] }, x: dispatchDeclared };
14
+ const D = { props: { "disabled": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "invalid": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "multiple": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "name": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "required": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "rows": { "required":false,"default":5, c: checkNumber, t: "number", j: 0, m: "n" }, "value": { "required":false, c: checkString, t: "string", j: 0, m: "s" }, "values": { "required":false, c: checkList(checkString), j: 1, m: ["l","s"] } } };
15
+ const C = (host) => controller.default(host);
7
16
 
8
- export function createUiListbox(options = {}) {
17
+ export function createUiListbox(options = {}, html) {
9
18
  const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
10
- const projected = [];
11
19
  const element = document.createElement("div");
12
20
  for (const [name, value] of Object.entries(attributes)) {
13
21
  if (value === null || value === undefined || value === false) continue;
14
22
  element.setAttribute(name, value === true ? "" : String(value));
15
23
  }
16
24
  if (!element.hasAttribute("role")) element.setAttribute("role", "listbox");
17
- const value0 = componentProps["multiple"] === undefined ? false : componentProps["multiple"];
18
- if (typeof value0 === "boolean") element.setAttribute("aria-multiselectable", String(value0));
19
- else element.removeAttribute("aria-multiselectable");
20
- const value1 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
21
- if (typeof value1 === "boolean") element.setAttribute("aria-disabled", String(value1));
22
- else element.removeAttribute("aria-disabled");
23
- const value2 = componentProps["required"] === undefined ? false : componentProps["required"];
24
- if (typeof value2 === "boolean") element.setAttribute("aria-required", String(value2));
25
- else element.removeAttribute("aria-required");
26
- const value3 = componentProps["rows"] === undefined ? 5 : componentProps["rows"];
27
- if (value3 === null || value3 === undefined) element.removeAttribute("--_rows");
28
- else element.setAttribute("--_rows", String(value3));
29
25
  element.setAttribute("data-component", "ui-listbox");
30
- const element0 = document.createElement("ui-scroll-area");
31
- element0.setAttribute("class", "choices");
32
- const element1 = document.createElement("div");
33
- element1.setAttribute("class", "option");
34
- element1.setAttribute("role", "option");
35
- element1.setAttribute("data-ui-choice-option", "");
36
- const value4 = componentProps["multiple"] === undefined ? false : componentProps["multiple"];
37
- if (value4 === true) element1.setAttribute("data-multiple", "");
38
- else element1.removeAttribute("data-multiple");
39
- const element2 = document.createElement("span");
40
- const text3 = document.createTextNode("");
41
- element2.append(text3);
42
- element1.append(element2);
43
- element0.append(element1);
44
- element.append(element0);
45
- const element4 = document.createElement("select");
46
- element4.setAttribute("class", "fallback");
47
- const value5 = componentProps["rows"] === undefined ? 5 : componentProps["rows"];
48
- if (value5 === null || value5 === undefined) element4.removeAttribute("size");
49
- else element4.setAttribute("size", String(value5));
50
- const value6 = componentProps["multiple"] === undefined ? false : componentProps["multiple"];
51
- if (value6 === true) element4.setAttribute("multiple", "");
52
- else element4.removeAttribute("multiple");
53
- const value7 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
54
- if (value7 === true) element4.setAttribute("disabled", "");
55
- else element4.removeAttribute("disabled");
56
- const value8 = componentProps["required"] === undefined ? false : componentProps["required"];
57
- if (value8 === true) element4.setAttribute("required", "");
58
- else element4.removeAttribute("required");
59
- const value9 = componentProps["name"] === undefined ? "" : componentProps["name"];
60
- if (value9 === null || value9 === undefined) element4.removeAttribute("name");
61
- else element4.setAttribute("name", String(value9));
62
- element4.setAttribute("aria-label", "Choices");
63
- if (children.length > 0) {
64
- for (const child of children) {
65
- const node = typeof child === "string" ? document.createTextNode(child) : child;
66
- if (node.nodeType === 1) node.setAttribute("data-slotted", "");
67
- projected.push([node, ""]);
68
- element4.append(node);
69
- }
70
- } else {
71
- }
72
- element.append(element4);
73
- const element5 = document.createElement("template");
74
- const element6 = document.createElement("input");
75
- element6.setAttribute("type", "hidden");
76
- const value10 = componentProps["name"] === undefined ? "" : componentProps["name"];
77
- if (value10 === null || value10 === undefined) element6.removeAttribute("name");
78
- else element6.setAttribute("name", String(value10));
79
- element5.append(element6);
80
- element.append(element5);
81
- const element7 = document.createElement("input");
82
- element7.setAttribute("class", "validity");
83
- element7.setAttribute("type", "checkbox");
84
- const value11 = componentProps["disabled"] === undefined ? false : componentProps["disabled"];
85
- if (value11 === true) element7.setAttribute("disabled", "");
86
- else element7.removeAttribute("disabled");
87
- element7.setAttribute("aria-hidden", "true");
88
- element7.setAttribute("tabindex", "-1");
89
- element.append(element7);
90
- manageComponentLifecycle(element, definition, { props: componentProps, projected,
91
- controller,
92
- });
26
+ element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
27
+ const v = [[], [], false, null, "", false, null, null, null, null, null, null, null, null];
28
+ const B = acceptProps(element, D, S.n, v, componentProps, [], html);
29
+ v[3] = negate(1, undefined);
30
+ let s3 = v[3];
31
+ const m1 = (o, j, l) => {
32
+ const n = (P1 ??= buildTemplate(T1)).cloneNode(true);
33
+ const t0 = n.firstChild.firstChild;
34
+ const r = { k: undefined, i: o, n, x: 0, y: 0, a1: t0, w: 0, v0: false, v1: null, v2: null, v3: null, v4: null, v5: null, v6: "" };
35
+ p1(r, -1, E);
36
+ return r;
37
+ };
38
+ const p1 = (r, c, d) => {
39
+ const o = r.i;
40
+ if (c & 1073741824) r.w = 0;
41
+ if (c & 1073741832) {
42
+ const x0 = (checkReference(S, v[3], "i", "expression:$choice.index = $active:active", "Reference `active` must satisfy integer.") ? (readMember(o, "index") === v[3]) : NONCONFORMING);
43
+ if (x0 !== NONCONFORMING) {
44
+ const s0 = x0;
45
+ if (s0 !== r.v0) r.n.classList.toggle("active", r.v0 = s0);
46
+ }
47
+ }
48
+ if (c & 256) {
49
+ const x1 = v[8];
50
+ const s1 = toAttribute(x1, "data-multiple");
51
+ if (s1 !== r.v1) writeAttribute(r.n, "data-multiple", r.v1 = s1);
52
+ }
53
+ if (c & 1073741840) {
54
+ const x2 = textCall("concat", [v[4], "-option-", trackContainer(r, readMember(o, "index"))]);
55
+ if (x2 !== NONCONFORMING) {
56
+ const s2 = toAttribute(x2, "id");
57
+ if (s2 !== r.v2) writeAttribute(r.n, "id", r.v2 = s2);
58
+ }
59
+ }
60
+ if (c & 1073741824) {
61
+ const x3 = trackContainer(r, readMember(o, "index"));
62
+ const s3 = toAttribute(x3, "data-index");
63
+ if (s3 !== r.v3) writeAttribute(r.n, "data-index", r.v3 = s3);
64
+ const x4 = trackContainer(r, readMember(o, "selected"));
65
+ const s4 = toAttribute(x4, "aria-selected");
66
+ if (s4 !== r.v4) writeAttribute(r.n, "aria-selected", r.v4 = s4);
67
+ const x5 = trackContainer(r, readMember(o, "disabled"));
68
+ const s5 = toAttribute(x5, "aria-disabled");
69
+ if (s5 !== r.v5) writeAttribute(r.n, "aria-disabled", r.v5 = s5);
70
+ const x6 = trackContainer(r, readMember(o, "label"));
71
+ const s6 = toText(x6);
72
+ if (s6 !== r.v6) r.a1.data = r.v6 = s6;
73
+ }
74
+ };
75
+ const m2 = (d) => {
76
+ const n = (P2 ??= buildTemplate(T2)).cloneNode(true);
77
+ const r = { n };
78
+ p2(r, -1, d);
79
+ return r;
80
+ };
81
+ const p2 = (r, c, d) => {
82
+ };
83
+ const m3 = (d) => {
84
+ const n = (P3 ??= buildTemplate(T3)).cloneNode(true);
85
+ const t0 = n.firstChild;
86
+ const r = { n, L0: new IndexedList(t0, t0.nextSibling, m4, p4, undefined, "selected") };
87
+ p3(r, -1, d);
88
+ return r;
89
+ };
90
+ const p3 = (r, c, d) => {
91
+ if (c & 1073741826) r.L0.update(v[1], d, c);
92
+ if (c !== -1 && c & 512) r.L0.each(c, d);
93
+ };
94
+ const m4 = (o, j, l) => {
95
+ const n = (P4 ??= buildTemplate(T4)).cloneNode(true);
96
+ const r = { k: undefined, i: o, n, x: 0, y: 0, w: 0, v0: null, v1: null };
97
+ p4(r, -1, E);
98
+ return r;
99
+ };
100
+ const p4 = (r, c, d) => {
101
+ const o = r.i;
102
+ if (c & 1073741824) r.w = 0;
103
+ if (c & 512) {
104
+ const x0 = v[9];
105
+ const s0 = toAttribute(x0, "name");
106
+ if (s0 !== r.v0) writeAttribute(r.n, "name", r.v0 = s0);
107
+ }
108
+ if (c & 1073741824) {
109
+ const x1 = trackContainer(r, o);
110
+ const s1 = toAttribute(x1, "value");
111
+ if (s1 !== r.v1) writeAttribute(r.n, "value", r.v1 = s1);
112
+ }
113
+ };
114
+ const p0 = (r, c, d) => {
115
+ if (c & 1073741888) {
116
+ const x0 = readIndex({ "true": "-1", "false": "0" }, textCall("concat", [v[6]]));
117
+ if (x0 !== NONCONFORMING) {
118
+ const s0 = toAttribute(x0, "tabindex");
119
+ if (s0 !== r.v0) writeAttribute(r.n, "tabindex", r.v0 = s0);
120
+ }
121
+ }
122
+ if (c & 256) {
123
+ const x1 = v[8];
124
+ const s1 = toAttribute(x1, "aria-multiselectable");
125
+ if (s1 !== r.v1) writeAttribute(r.n, "aria-multiselectable", r.v1 = s1);
126
+ }
127
+ if (c & 64) {
128
+ const x2 = v[6];
129
+ const s2 = toAttribute(x2, "aria-disabled");
130
+ if (s2 !== r.v2) writeAttribute(r.n, "aria-disabled", r.v2 = s2);
131
+ }
132
+ if (c & 1024) {
133
+ const x3 = v[10];
134
+ const s3 = toAttribute(x3, "aria-required");
135
+ if (s3 !== r.v3) writeAttribute(r.n, "aria-required", r.v3 = s3);
136
+ }
137
+ if (c & 160) {
138
+ const x4 = (truthy(v[7]) || v[5]);
139
+ const s4 = toAttribute(x4, "aria-invalid");
140
+ if (s4 !== r.v4) writeAttribute(r.n, "aria-invalid", r.v4 = s4);
141
+ }
142
+ if (c & 2048) {
143
+ const x5 = v[11];
144
+ const s5 = toText(x5);
145
+ if (s5 !== r.v5) r.n.style.setProperty("--_rows", r.v5 = s5);
146
+ const s6 = toAttribute(x5, "size");
147
+ if (s6 !== r.v6) writeAttribute(r.a3, "size", r.v6 = s6);
148
+ }
149
+ if (c & 256) {
150
+ const x6 = v[8];
151
+ const s7 = toAttribute(x6, "multiple");
152
+ if (s7 !== r.v7) writeAttribute(r.a3, "multiple", r.v7 = s7);
153
+ }
154
+ if (c & 64) {
155
+ const x7 = v[6];
156
+ const s8 = toAttribute(x7, "disabled");
157
+ if (s8 !== r.v8) writeAttribute(r.a3, "disabled", r.v8 = s8);
158
+ }
159
+ if (c & 1024) {
160
+ const x8 = v[10];
161
+ const s9 = toAttribute(x8, "required");
162
+ if (s9 !== r.v9) writeAttribute(r.a3, "required", r.v9 = s9);
163
+ }
164
+ if (c & 512) {
165
+ const x9 = v[9];
166
+ const s10 = toAttribute(x9, "name");
167
+ if (s10 !== r.v10) writeAttribute(r.a3, "name", r.v10 = s10);
168
+ }
169
+ if (c & 1092) {
170
+ const x10 = ((truthy(v[10]) && !v[2]) && !truthy(v[6]));
171
+ const s11 = toAttribute(x10, "required");
172
+ if (s11 !== r.v11) writeAttribute(r.a6, "required", r.v11 = s11);
173
+ }
174
+ if (c & 4) {
175
+ const x11 = v[2];
176
+ const s12 = toAttribute(x11, "checked");
177
+ if (s12 !== r.v12) writeAttribute(r.a6, "checked", r.v12 = s12);
178
+ }
179
+ if (c & 64) {
180
+ const x12 = v[6];
181
+ const s13 = toAttribute(x12, "disabled");
182
+ if (s13 !== r.v13) writeAttribute(r.a6, "disabled", r.v13 = s13);
183
+ }
184
+ if (c & 1073741825) r.L0.update(v[0], d, c);
185
+ if (c !== -1 && c & 272) r.L0.each(c, d);
186
+ if (c !== -1 && c & 8 && !(c & 272)) visitSelected(r.L0.m, s3, v[3], p1, c);
187
+ if (c & 576) {
188
+ const t2 = (truthy(v[9]) && !truthy(v[6]));
189
+ if (true) {
190
+ {
191
+ r.b2 = undefined;
192
+ clearRegion(r.a5, r.e2);
193
+ if (t2) { r.b2 = m3(d); r.e2.before(r.b2.n); }
194
+ }
195
+ } else if (r.b2 !== undefined) p3(r.b2, c, d);
196
+ } else if (r.b2 !== undefined) p3(r.b2, c, d);
197
+ if (r.f1 === undefined) { r.f1 = 1; const at = fillSlot(r.a4, r.e1, "", J, false, undefined, d);
198
+ if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b1 = m2(d); at.before(r.b1.n); } }
199
+ else if (r.b1 !== undefined) p2(r.b1, c, d);
200
+ s3 = v[3];
201
+ };
202
+ const t0 = element.firstChild;
203
+ const t1 = t0.firstChild;
204
+ const t2 = t0.nextSibling;
205
+ const t3 = t2.firstChild;
206
+ const t4 = t2.nextSibling;
207
+ const t5 = t4.nextSibling.nextSibling;
208
+ const R = { n: element, a3: t2, a6: t5, v0: undefined, v1: undefined, v2: undefined, v3: undefined, v4: undefined, v5: undefined, v6: null, v7: null, v8: null, v9: null, v10: null, v11: null, v12: null, v13: null, L0: new KeyedList(t1, t1.nextSibling, m1, p1, (o) => readMember(o, "index"), "choice"), a4: t3, e1: t3.nextSibling, b1: undefined, f1: undefined, a5: t4, e2: t4.nextSibling, b2: undefined };
209
+ const I = { B };
210
+ const J = project(I, children, slots);
211
+ I.R = new Set();
212
+ attachGeneratedController(element, S, v, (c, d) => { ((c, d) => p0(R, c, d))(c, d); for (const f of I.R) f(c, d); }, C, undefined, I);
213
+ manageProps(I);
214
+ I.r["choices"] = t0;
215
+ I.r["options"] = t2;
216
+ I.r["validity"] = t5;
93
217
  return element;
94
218
  }
95
-
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
2
  export interface UiMenuEventMap {
3
3
  select: CustomEvent<{ readonly value: string; readonly checked?: boolean; readonly trigger: "keyboard" | "pointer" | "programmatic" }>;
4
4
  open: CustomEvent<{ readonly open: boolean; readonly reason: "action" | "programmatic"; readonly trigger: "keyboard" | "pointer" | "programmatic" }>;
package/vanilla/UiMenu.js CHANGED
@@ -1,13 +1,17 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
2
- import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
+ import { attachGeneratedController, buildTemplate, writeAttribute, dispatchDeclared, detailCheck, dispose, formatOf, keywordFormat, hostState, acceptProps, manageProps, project, fillSlot, checkBoolean, checkConstrained, checkFormat, checkObject, checkString } from "@nextwebwg/html-next/generated-runtime";
3
3
  import * as controller from "../components/ui-menu/ui-menu.js";
4
4
  import "../styles/ui-menu.css";
5
5
 
6
- const definition = {...{"contract":{"tag":"ui-menu","props":{"density":{"type":{"kind":"terminal","name":"keyword"},"values":["comfortable","compact"],"required":false,"target":{"attribute":"density"},"default":"comfortable"},"for":{"type":"string","required":false,"target":{"attribute":"for"},"default":""},"inline":{"type":"boolean","required":false,"target":{"attribute":"inline"},"default":false},"open":{"type":"boolean","required":false,"target":{"attribute":"open"},"default":false},"placement":{"type":"string","required":false,"target":{"attribute":"placement"},"default":"bottom-start"},"size":{"type":{"kind":"terminal","name":"keyword"},"values":["sm","md"],"required":false,"target":{"attribute":"size"},"default":"md"}}},"template":{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"role","value":"menu"},{"kind":"literal","name":"aria-orientation","value":"vertical"}],"children":[{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"surface"}],"children":[{"kind":"slot"}]}]},"declarations":[{"kind":"state","name":"internalOpen","type":"boolean","value":"false","expression":{"source":"false","ast":{"kind":"literal","value":false},"dependencies":[]}},{"kind":"event","name":"select","type":"object","shape":{"kind":"object","fields":[{"name":"value","type":{"kind":"terminal","name":"string"},"optional":false},{"name":"checked","type":{"kind":"terminal","name":"boolean"},"optional":true},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false},{"kind":"event","name":"open","type":"object","shape":{"kind":"object","fields":[{"name":"open","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"reason","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["action","programmatic"]},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false},{"kind":"event","name":"close","type":"object","shape":{"kind":"object","fields":[{"name":"open","type":{"kind":"terminal","name":"boolean"},"optional":false},{"name":"reason","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["action","programmatic","light-dismiss","escape"]},"optional":false},{"name":"trigger","type":{"kind":"constrained","base":{"kind":"terminal","name":"keyword"},"values":["keyboard","pointer","programmatic"]},"optional":false}],"open":false},"bubbles":true,"composed":true,"cancelable":false}],"root":{"kind":"native","element":"div","choices":["div"]}},source:{file:import.meta.url},css:""};
6
+ const T0 = ["",[],["div",["class","surface"],4]];
7
+ const T1 = ["",[]];
8
+ let P0, P1;
9
+ const S = { n: ["internalOpen"], t: ["b"], f: import.meta.url, g: "ui-menu", d: { "select": [detailCheck(checkObject([["value", checkString, false], ["checked", checkBoolean, true], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "open": [detailCheck(checkObject([["open", checkBoolean, false], ["reason", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["action","programmatic"]}), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false], "close": [detailCheck(checkObject([["open", checkBoolean, false], ["reason", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["action","programmatic","light-dismiss","escape"]}), false], ["trigger", checkConstrained(checkFormat("keyword", keywordFormat), "keyword", {"values":["keyboard","pointer","programmatic"]}), false]], false)), true, true, false] }, x: dispatchDeclared };
10
+ const D = { props: { "density": { "required":false,"values":["comfortable","compact"],"default":"comfortable", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] }, "for": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" }, "inline": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "open": { "required":false,"default":false, c: checkBoolean, t: "boolean", j: 0, m: "b" }, "placement": { "required":false,"default":"bottom-start", c: checkString, t: "string", j: 0, m: "s" }, "size": { "required":false,"values":["sm","md"],"default":"md", c: checkFormat("keyword", keywordFormat), t: "keyword", j: 0, m: ["p",formatOf(keywordFormat),false] } } };
11
+ const C = (host) => controller.default(host);
7
12
 
8
- export function createUiMenu(options = {}) {
13
+ export function createUiMenu(options = {}, html) {
9
14
  const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
10
- const projected = [];
11
15
  const element = document.createElement("div");
12
16
  for (const [name, value] of Object.entries(attributes)) {
13
17
  if (value === null || value === undefined || value === false) continue;
@@ -16,21 +20,33 @@ export function createUiMenu(options = {}) {
16
20
  if (!element.hasAttribute("role")) element.setAttribute("role", "menu");
17
21
  if (!element.hasAttribute("aria-orientation")) element.setAttribute("aria-orientation", "vertical");
18
22
  element.setAttribute("data-component", "ui-menu");
19
- const element0 = document.createElement("div");
20
- element0.setAttribute("class", "surface");
21
- if (children.length > 0) {
22
- for (const child of children) {
23
- const node = typeof child === "string" ? document.createTextNode(child) : child;
24
- if (node.nodeType === 1) node.setAttribute("data-slotted", "");
25
- projected.push([node, ""]);
26
- element0.append(node);
23
+ element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
24
+ const v = [false, null, null, null, null, null, null];
25
+ const B = acceptProps(element, D, S.n, v, componentProps, [], html);
26
+ const m1 = (d) => {
27
+ const n = (P1 ??= buildTemplate(T1)).cloneNode(true);
28
+ const r = { n };
29
+ p1(r, -1, d);
30
+ return r;
31
+ };
32
+ const p1 = (r, c, d) => {
33
+ };
34
+ const p0 = (r, c, d) => {
35
+ if (c & 75) {
36
+ const x0 = hostState(["density","size","internalOpen","inline"], [v[1], v[6], v[0], v[3]]);
37
+ const s0 = x0;
38
+ if (s0 !== r.v0) writeAttribute(r.n, "data-ui-menu-state", (r.v0 = s0) === "" ? null : s0);
27
39
  }
28
- } else {
29
- }
30
- element.append(element0);
31
- manageComponentLifecycle(element, definition, { props: componentProps, projected,
32
- controller,
33
- });
40
+ if (r.f0 === undefined) { r.f0 = 1; const at = fillSlot(r.a0, r.e0, "", J, false, undefined, d);
41
+ if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b0 = m1(d); at.before(r.b0.n); } }
42
+ else if (r.b0 !== undefined) p1(r.b0, c, d);
43
+ };
44
+ const t0 = element.firstChild.firstChild;
45
+ const R = { n: element, v0: undefined, a0: t0, e0: t0.nextSibling, b0: undefined, f0: undefined };
46
+ const I = { B };
47
+ const J = project(I, children, slots);
48
+ I.R = new Set();
49
+ attachGeneratedController(element, S, v, (c, d) => { ((c, d) => p0(R, c, d))(c, d); for (const f of I.R) f(c, d); }, C, undefined, I);
50
+ manageProps(I);
34
51
  return element;
35
52
  }
36
-
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
2
  export interface UiMenuGroupEventMap {
3
3
  }
4
4
  export interface UiMenuGroupElement extends HTMLDivElement {
@@ -1,38 +1,74 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
2
- import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
+ import { attachGeneratedController, buildTemplate, clearRegion, toAttribute, toText, truthy, writeAttribute, dispose, acceptProps, manageProps, project, fillSlot, checkString } from "@nextwebwg/html-next/generated-runtime";
3
3
  import "../styles/ui-menu-group.css";
4
4
 
5
- const definition = {...{"contract":{"tag":"ui-menu-group","props":{"label":{"type":"string","required":false,"target":{"attribute":"aria-label"},"default":""}}},"template":{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"role","value":"group"},{"kind":"attribute","name":"aria-label","expression":"label","expressionPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"children":[{"kind":"element","name":"div","attributes":[{"kind":"literal","name":"class","value":"heading"}],"children":[{"kind":"text","value":"$label","expressionPlan":{"source":"$label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}],"flow":{"kind":"if","test":"label","testPlan":{"source":"label","ast":{"kind":"id","name":"label"},"dependencies":["label"]}}},{"kind":"slot"}]},"declarations":[],"root":{"kind":"native","element":"div","choices":["div"]}},source:{file:import.meta.url},css:""};
5
+ const T0 = ["",[],1,4];
6
+ const T1 = ["div",["class","heading"],0];
7
+ const T2 = ["",[]];
8
+ let P0, P1, P2;
9
+ const S = { n: [], t: [], f: import.meta.url, g: "ui-menu-group" };
10
+ const D = { props: { "label": { "required":false,"default":"", c: checkString, t: "string", j: 0, m: "s" } } };
6
11
 
7
- export function createUiMenuGroup(options = {}) {
12
+ export function createUiMenuGroup(options = {}, html) {
8
13
  const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
9
- const projected = [];
10
14
  const element = document.createElement("div");
11
15
  for (const [name, value] of Object.entries(attributes)) {
12
16
  if (value === null || value === undefined || value === false) continue;
13
17
  element.setAttribute(name, value === true ? "" : String(value));
14
18
  }
15
19
  if (!element.hasAttribute("role")) element.setAttribute("role", "group");
16
- const value0 = componentProps["label"] === undefined ? "" : componentProps["label"];
17
- if (value0 === null || value0 === undefined) element.removeAttribute("aria-label");
18
- else element.setAttribute("aria-label", String(value0));
19
20
  element.setAttribute("data-component", "ui-menu-group");
20
- const element0 = document.createElement("div");
21
- element0.setAttribute("class", "heading");
22
- const text1 = document.createTextNode("");
23
- element0.append(text1);
24
- element.append(element0);
25
- if (children.length > 0) {
26
- for (const child of children) {
27
- const node = typeof child === "string" ? document.createTextNode(child) : child;
28
- if (node.nodeType === 1) node.setAttribute("data-slotted", "");
29
- projected.push([node, ""]);
30
- element.append(node);
21
+ element.append((P0 ??= buildTemplate(T0)).cloneNode(true));
22
+ const v = [null];
23
+ const B = acceptProps(element, D, S.n, v, componentProps, [], html);
24
+ const m1 = (d) => {
25
+ const n = (P1 ??= buildTemplate(T1)).cloneNode(true);
26
+ const t0 = n.firstChild;
27
+ const r = { n, a0: t0, v0: "" };
28
+ p1(r, -1, d);
29
+ return r;
30
+ };
31
+ const p1 = (r, c, d) => {
32
+ if (c & 1) {
33
+ const x0 = v[0];
34
+ const s0 = toText(x0);
35
+ if (s0 !== r.v0) r.a0.data = r.v0 = s0;
31
36
  }
32
- } else {
33
- }
34
- manageComponentLifecycle(element, definition, { props: componentProps, projected,
35
- });
37
+ };
38
+ const m2 = (d) => {
39
+ const n = (P2 ??= buildTemplate(T2)).cloneNode(true);
40
+ const r = { n };
41
+ p2(r, -1, d);
42
+ return r;
43
+ };
44
+ const p2 = (r, c, d) => {
45
+ };
46
+ const p0 = (r, c, d) => {
47
+ if (c & 1) {
48
+ const x0 = v[0];
49
+ const s0 = toAttribute(x0, "aria-label");
50
+ if (s0 !== r.v0) writeAttribute(r.n, "aria-label", r.v0 = s0);
51
+ }
52
+ if (c & 1) {
53
+ const t0 = truthy(v[0]);
54
+ if (true) {
55
+ {
56
+ r.b0 = undefined;
57
+ clearRegion(r.a1, r.e0);
58
+ if (t0) { r.b0 = m1(d); r.e0.before(r.b0.n); }
59
+ }
60
+ } else if (r.b0 !== undefined) p1(r.b0, c, d);
61
+ } else if (r.b0 !== undefined) p1(r.b0, c, d);
62
+ if (r.f1 === undefined) { r.f1 = 1; const at = fillSlot(r.a2, r.e1, "", J, false, undefined, d);
63
+ if (Array.isArray(at)) (r.z ??= []).push(() => { at[0].l.delete(at[1]); dispose(at[1]); }); else if (at !== undefined) { r.b1 = m2(d); at.before(r.b1.n); } }
64
+ else if (r.b1 !== undefined) p2(r.b1, c, d);
65
+ };
66
+ const t0 = element.firstChild;
67
+ const t1 = t0.nextSibling.nextSibling;
68
+ const R = { n: element, v0: undefined, a1: t0, e0: t0.nextSibling, b0: undefined, a2: t1, e1: t1.nextSibling, b1: undefined, f1: undefined };
69
+ const I = { B };
70
+ const J = project(I, children, slots);
71
+ attachGeneratedController(element, S, v, ((c, d) => p0(R, c, d)), undefined, undefined, I);
72
+ manageProps(I);
36
73
  return element;
37
74
  }
38
-
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.29 for Vanilla DOM. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.35 for Vanilla DOM. Do not edit.
2
2
  export interface UiMenuItemEventMap {
3
3
  change: CustomEvent<{ readonly checked: boolean; readonly value: string; readonly type: "checkbox" | "radio"; readonly trigger: "keyboard" | "pointer" | "programmatic" }>;
4
4
  }