@threadlabs/looma 0.24.1 → 0.25.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 (497) hide show
  1. package/README.md +1 -1
  2. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  3. package/components/ui-affordance-scope/ui-affordance-scope.js +6 -1
  4. package/components/ui-avatar/ui-avatar.html +4 -4
  5. package/components/ui-avatar/ui-avatar.js +6 -1
  6. package/components/ui-avatar-group/ui-avatar-group.html +2 -2
  7. package/components/ui-avatar-group/ui-avatar-group.js +6 -1
  8. package/components/ui-badge/ui-badge.html +30 -30
  9. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
  10. package/components/ui-button/ui-button.html +33 -33
  11. package/components/ui-button/ui-button.js +6 -1
  12. package/components/ui-callout/ui-callout.html +4 -4
  13. package/components/ui-card/ui-card.html +9 -9
  14. package/components/ui-checkbox/ui-checkbox.html +11 -11
  15. package/components/ui-checkbox/ui-checkbox.js +6 -1
  16. package/components/ui-cluster/ui-cluster.html +12 -12
  17. package/components/ui-combobox/ui-combobox.html +15 -17
  18. package/components/ui-combobox/ui-combobox.js +13 -15
  19. package/components/ui-container/ui-container.html +5 -5
  20. package/components/ui-context-menu/ui-context-menu.js +6 -1
  21. package/components/ui-cover/ui-cover.html +1 -1
  22. package/components/ui-description-list/ui-description-list.html +10 -10
  23. package/components/ui-dialog/ui-dialog.html +4 -4
  24. package/components/ui-dialog/ui-dialog.js +6 -1
  25. package/components/ui-disclosure/ui-disclosure.html +13 -13
  26. package/components/ui-disclosure/ui-disclosure.js +6 -1
  27. package/components/ui-editable/ui-editable.html +1 -1
  28. package/components/ui-editable/ui-editable.js +6 -1
  29. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +6 -1
  30. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +6 -1
  31. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -1
  32. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +6 -1
  33. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +6 -1
  34. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +6 -1
  35. package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
  36. package/components/ui-editor-toolbar/ui-editor-toolbar.js +6 -1
  37. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  38. package/components/ui-form-field/ui-form-field.html +1 -1
  39. package/components/ui-form-field/ui-form-field.js +6 -1
  40. package/components/ui-grid/ui-grid.html +7 -7
  41. package/components/ui-icon-button/ui-icon-button.html +26 -26
  42. package/components/ui-icon-button/ui-icon-button.js +6 -1
  43. package/components/ui-image/ui-image.html +11 -11
  44. package/components/ui-image/ui-image.js +6 -1
  45. package/components/ui-input/ui-input.html +9 -7
  46. package/components/ui-input/ui-input.js +6 -1
  47. package/components/ui-input-group/ui-input-group.html +3 -3
  48. package/components/ui-input-group/ui-input-group.js +6 -1
  49. package/components/ui-list/ui-list.html +6 -6
  50. package/components/ui-list-item/ui-list-item.html +8 -8
  51. package/components/ui-listbox/ui-listbox.js +6 -1
  52. package/components/ui-menu/ui-menu.html +3 -3
  53. package/components/ui-menu/ui-menu.js +6 -1
  54. package/components/ui-menu-item/ui-menu-item.html +3 -3
  55. package/components/ui-menu-item/ui-menu-item.js +6 -1
  56. package/components/ui-meter/ui-meter.html +7 -7
  57. package/components/ui-nav-item/ui-nav-item.html +6 -6
  58. package/components/ui-page-header/ui-page-header.html +2 -2
  59. package/components/ui-popover/ui-popover.html +3 -3
  60. package/components/ui-popover/ui-popover.js +6 -1
  61. package/components/ui-radio/ui-radio.html +10 -10
  62. package/components/ui-radio/ui-radio.js +6 -1
  63. package/components/ui-radio-group/ui-radio-group.html +2 -2
  64. package/components/ui-radio-group/ui-radio-group.js +6 -1
  65. package/components/ui-reel/ui-reel.html +11 -11
  66. package/components/ui-scroll-area/ui-scroll-area.html +4 -4
  67. package/components/ui-scroll-area/ui-scroll-area.js +6 -1
  68. package/components/ui-search-result-row/ui-search-result-row.html +5 -5
  69. package/components/ui-search-shell/ui-search-shell.js +6 -1
  70. package/components/ui-section/ui-section.html +4 -4
  71. package/components/ui-select/ui-select.html +3 -3
  72. package/components/ui-select/ui-select.js +6 -1
  73. package/components/ui-separator/ui-separator.html +4 -4
  74. package/components/ui-sidebar/ui-sidebar.html +6 -6
  75. package/components/ui-sidebar/ui-sidebar.js +6 -1
  76. package/components/ui-spinner/ui-spinner.html +1 -1
  77. package/components/ui-stack/ui-stack.html +12 -12
  78. package/components/ui-status-message/ui-status-message.html +4 -4
  79. package/components/ui-switch/ui-switch.html +11 -11
  80. package/components/ui-switch/ui-switch.js +6 -1
  81. package/components/ui-switcher/ui-switcher.html +11 -11
  82. package/components/ui-switcher/ui-switcher.js +6 -1
  83. package/components/ui-table/ui-table.html +2 -2
  84. package/components/ui-table/ui-table.js +6 -1
  85. package/components/ui-tabs/ui-tabs.html +8 -8
  86. package/components/ui-tabs/ui-tabs.js +6 -1
  87. package/components/ui-text/ui-text.html +20 -20
  88. package/components/ui-textarea/ui-textarea.html +4 -4
  89. package/components/ui-textarea/ui-textarea.js +6 -1
  90. package/components/ui-toast/ui-toast.html +4 -4
  91. package/components/ui-toast/ui-toast.js +6 -1
  92. package/components/ui-toast-region/ui-toast-region.html +16 -11
  93. package/components/ui-toast-region/ui-toast-region.js +12 -9
  94. package/components/ui-tooltip/ui-tooltip.html +1 -1
  95. package/components/ui-tooltip/ui-tooltip.js +6 -1
  96. package/components/ui-tree/ui-tree.html +2 -2
  97. package/components/ui-tree/ui-tree.js +6 -1
  98. package/components/ui-tree-item/ui-tree-item.html +4 -4
  99. package/components/ui-tree-item/ui-tree-item.js +6 -1
  100. package/dist/index.js +10 -4
  101. package/package.json +3 -3
  102. package/styles/ui-action-bar.css +1 -1
  103. package/styles/ui-affordance-scope.css +1 -1
  104. package/styles/ui-avatar-group.css +1 -1
  105. package/styles/ui-avatar.css +1 -1
  106. package/styles/ui-badge.css +1 -1
  107. package/styles/ui-breadcrumb-item.css +1 -1
  108. package/styles/ui-breadcrumbs.css +1 -1
  109. package/styles/ui-button.css +1 -1
  110. package/styles/ui-callout.css +1 -1
  111. package/styles/ui-card.css +1 -1
  112. package/styles/ui-checkbox.css +1 -1
  113. package/styles/ui-cluster.css +1 -1
  114. package/styles/ui-combobox.css +1 -1
  115. package/styles/ui-container.css +1 -1
  116. package/styles/ui-context-menu.css +1 -1
  117. package/styles/ui-cover.css +1 -1
  118. package/styles/ui-description-item.css +1 -1
  119. package/styles/ui-description-list.css +1 -1
  120. package/styles/ui-dialog.css +1 -1
  121. package/styles/ui-disclosure.css +2 -2
  122. package/styles/ui-editable.css +1 -1
  123. package/styles/ui-editor-insert-table-grid.css +1 -1
  124. package/styles/ui-editor-mention-menu-item.css +1 -1
  125. package/styles/ui-editor-mention-menu.css +1 -1
  126. package/styles/ui-editor-slash-menu-group.css +1 -1
  127. package/styles/ui-editor-slash-menu-item.css +1 -1
  128. package/styles/ui-editor-slash-menu.css +1 -1
  129. package/styles/ui-editor-table-context-menu.css +1 -1
  130. package/styles/ui-editor-table-overlay.css +1 -1
  131. package/styles/ui-editor-table-toolbar.css +1 -1
  132. package/styles/ui-editor-toolbar.css +1 -1
  133. package/styles/ui-floating-action-button.css +1 -1
  134. package/styles/ui-form-field.css +1 -1
  135. package/styles/ui-grid.css +1 -1
  136. package/styles/ui-icon-button.css +1 -1
  137. package/styles/ui-icon.css +1 -1
  138. package/styles/ui-image.css +1 -1
  139. package/styles/ui-input-group.css +1 -1
  140. package/styles/ui-input.css +1 -1
  141. package/styles/ui-list-item.css +1 -1
  142. package/styles/ui-list.css +1 -1
  143. package/styles/ui-listbox.css +1 -1
  144. package/styles/ui-menu-group.css +1 -1
  145. package/styles/ui-menu-item.css +1 -1
  146. package/styles/ui-menu.css +1 -1
  147. package/styles/ui-meter.css +1 -1
  148. package/styles/ui-nav-item.css +1 -1
  149. package/styles/ui-page-header.css +1 -1
  150. package/styles/ui-popover.css +1 -1
  151. package/styles/ui-radio-group.css +1 -1
  152. package/styles/ui-radio.css +1 -1
  153. package/styles/ui-reel.css +1 -1
  154. package/styles/ui-scroll-area.css +1 -1
  155. package/styles/ui-search-result-row.css +1 -1
  156. package/styles/ui-search-shell.css +1 -1
  157. package/styles/ui-section.css +1 -1
  158. package/styles/ui-select.css +1 -1
  159. package/styles/ui-separator.css +1 -1
  160. package/styles/ui-sidebar.css +2 -2
  161. package/styles/ui-spinner.css +1 -1
  162. package/styles/ui-stack.css +1 -1
  163. package/styles/ui-status-message.css +1 -1
  164. package/styles/ui-switch.css +1 -1
  165. package/styles/ui-switcher.css +1 -1
  166. package/styles/ui-table.css +1 -1
  167. package/styles/ui-tabs.css +1 -1
  168. package/styles/ui-text.css +1 -1
  169. package/styles/ui-textarea.css +1 -1
  170. package/styles/ui-toast-region.css +1 -1
  171. package/styles/ui-toast.css +1 -1
  172. package/styles/ui-tooltip.css +1 -1
  173. package/styles/ui-top-bar.css +1 -1
  174. package/styles/ui-tree-item.css +1 -1
  175. package/styles/ui-tree.css +1 -1
  176. package/vanilla/UiActionBar.d.ts +1 -1
  177. package/vanilla/UiActionBar.js +1 -1
  178. package/vanilla/UiAffordanceScope.d.ts +1 -1
  179. package/vanilla/UiAffordanceScope.js +1 -1
  180. package/vanilla/UiAvatar.d.ts +1 -1
  181. package/vanilla/UiAvatar.js +1 -1
  182. package/vanilla/UiAvatarGroup.d.ts +1 -1
  183. package/vanilla/UiAvatarGroup.js +1 -1
  184. package/vanilla/UiBadge.d.ts +1 -1
  185. package/vanilla/UiBadge.js +1 -1
  186. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  187. package/vanilla/UiBreadcrumbItem.js +1 -1
  188. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  189. package/vanilla/UiBreadcrumbs.js +1 -1
  190. package/vanilla/UiButton.d.ts +1 -1
  191. package/vanilla/UiButton.js +1 -1
  192. package/vanilla/UiCallout.d.ts +1 -1
  193. package/vanilla/UiCallout.js +1 -1
  194. package/vanilla/UiCard.d.ts +1 -1
  195. package/vanilla/UiCard.js +1 -1
  196. package/vanilla/UiCheckbox.d.ts +1 -1
  197. package/vanilla/UiCheckbox.js +1 -1
  198. package/vanilla/UiCluster.d.ts +1 -1
  199. package/vanilla/UiCluster.js +1 -1
  200. package/vanilla/UiCombobox.d.ts +1 -3
  201. package/vanilla/UiCombobox.js +2 -2
  202. package/vanilla/UiContainer.d.ts +1 -1
  203. package/vanilla/UiContainer.js +1 -1
  204. package/vanilla/UiContextMenu.d.ts +1 -1
  205. package/vanilla/UiContextMenu.js +1 -1
  206. package/vanilla/UiCover.d.ts +1 -1
  207. package/vanilla/UiCover.js +1 -1
  208. package/vanilla/UiDescriptionItem.d.ts +1 -1
  209. package/vanilla/UiDescriptionItem.js +1 -1
  210. package/vanilla/UiDescriptionList.d.ts +1 -1
  211. package/vanilla/UiDescriptionList.js +1 -1
  212. package/vanilla/UiDialog.d.ts +1 -1
  213. package/vanilla/UiDialog.js +1 -1
  214. package/vanilla/UiDisclosure.d.ts +1 -1
  215. package/vanilla/UiDisclosure.js +1 -1
  216. package/vanilla/UiEditable.d.ts +1 -1
  217. package/vanilla/UiEditable.js +1 -1
  218. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  219. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  220. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  221. package/vanilla/UiEditorMentionMenu.js +1 -1
  222. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  223. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  224. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  225. package/vanilla/UiEditorSlashMenu.js +1 -1
  226. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  227. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  228. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  229. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  230. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  231. package/vanilla/UiEditorTableContextMenu.js +1 -1
  232. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  233. package/vanilla/UiEditorTableOverlay.js +1 -1
  234. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  235. package/vanilla/UiEditorTableToolbar.js +1 -1
  236. package/vanilla/UiEditorToolbar.d.ts +1 -1
  237. package/vanilla/UiEditorToolbar.js +1 -1
  238. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  239. package/vanilla/UiFloatingActionButton.js +1 -1
  240. package/vanilla/UiFormField.d.ts +1 -1
  241. package/vanilla/UiFormField.js +1 -1
  242. package/vanilla/UiGrid.d.ts +1 -1
  243. package/vanilla/UiGrid.js +1 -1
  244. package/vanilla/UiIcon.d.ts +1 -1
  245. package/vanilla/UiIcon.js +1 -1
  246. package/vanilla/UiIconButton.d.ts +1 -1
  247. package/vanilla/UiIconButton.js +1 -1
  248. package/vanilla/UiImage.d.ts +1 -1
  249. package/vanilla/UiImage.js +1 -1
  250. package/vanilla/UiInput.d.ts +4 -4
  251. package/vanilla/UiInput.js +2 -2
  252. package/vanilla/UiInputGroup.d.ts +1 -1
  253. package/vanilla/UiInputGroup.js +1 -1
  254. package/vanilla/UiList.d.ts +1 -1
  255. package/vanilla/UiList.js +1 -1
  256. package/vanilla/UiListItem.d.ts +1 -1
  257. package/vanilla/UiListItem.js +1 -1
  258. package/vanilla/UiListbox.d.ts +1 -1
  259. package/vanilla/UiListbox.js +1 -1
  260. package/vanilla/UiMenu.d.ts +1 -1
  261. package/vanilla/UiMenu.js +1 -1
  262. package/vanilla/UiMenuGroup.d.ts +1 -1
  263. package/vanilla/UiMenuGroup.js +1 -1
  264. package/vanilla/UiMenuItem.d.ts +1 -1
  265. package/vanilla/UiMenuItem.js +1 -1
  266. package/vanilla/UiMeter.d.ts +1 -1
  267. package/vanilla/UiMeter.js +1 -1
  268. package/vanilla/UiNavItem.d.ts +1 -1
  269. package/vanilla/UiNavItem.js +1 -1
  270. package/vanilla/UiPageHeader.d.ts +1 -1
  271. package/vanilla/UiPageHeader.js +1 -1
  272. package/vanilla/UiPopover.d.ts +1 -1
  273. package/vanilla/UiPopover.js +1 -1
  274. package/vanilla/UiRadio.d.ts +1 -1
  275. package/vanilla/UiRadio.js +1 -1
  276. package/vanilla/UiRadioGroup.d.ts +1 -1
  277. package/vanilla/UiRadioGroup.js +1 -1
  278. package/vanilla/UiReel.d.ts +1 -1
  279. package/vanilla/UiReel.js +1 -1
  280. package/vanilla/UiScrollArea.d.ts +1 -1
  281. package/vanilla/UiScrollArea.js +1 -1
  282. package/vanilla/UiSearchResultRow.d.ts +1 -1
  283. package/vanilla/UiSearchResultRow.js +1 -1
  284. package/vanilla/UiSearchShell.d.ts +1 -1
  285. package/vanilla/UiSearchShell.js +1 -1
  286. package/vanilla/UiSection.d.ts +1 -1
  287. package/vanilla/UiSection.js +1 -1
  288. package/vanilla/UiSelect.d.ts +1 -1
  289. package/vanilla/UiSelect.js +1 -1
  290. package/vanilla/UiSeparator.d.ts +1 -1
  291. package/vanilla/UiSeparator.js +1 -1
  292. package/vanilla/UiSidebar.d.ts +1 -1
  293. package/vanilla/UiSidebar.js +1 -1
  294. package/vanilla/UiSpinner.d.ts +1 -1
  295. package/vanilla/UiSpinner.js +1 -1
  296. package/vanilla/UiStack.d.ts +1 -1
  297. package/vanilla/UiStack.js +1 -1
  298. package/vanilla/UiStatusMessage.d.ts +1 -1
  299. package/vanilla/UiStatusMessage.js +1 -1
  300. package/vanilla/UiSwitch.d.ts +1 -1
  301. package/vanilla/UiSwitch.js +1 -1
  302. package/vanilla/UiSwitcher.d.ts +1 -1
  303. package/vanilla/UiSwitcher.js +1 -1
  304. package/vanilla/UiTable.d.ts +1 -1
  305. package/vanilla/UiTable.js +1 -1
  306. package/vanilla/UiTabs.d.ts +1 -1
  307. package/vanilla/UiTabs.js +1 -1
  308. package/vanilla/UiText.d.ts +1 -1
  309. package/vanilla/UiText.js +1 -1
  310. package/vanilla/UiTextarea.d.ts +1 -1
  311. package/vanilla/UiTextarea.js +1 -1
  312. package/vanilla/UiToast.d.ts +1 -1
  313. package/vanilla/UiToast.js +1 -1
  314. package/vanilla/UiToastRegion.d.ts +2 -2
  315. package/vanilla/UiToastRegion.js +2 -2
  316. package/vanilla/UiTooltip.d.ts +1 -1
  317. package/vanilla/UiTooltip.js +1 -1
  318. package/vanilla/UiTopBar.d.ts +1 -1
  319. package/vanilla/UiTopBar.js +1 -1
  320. package/vanilla/UiTree.d.ts +1 -1
  321. package/vanilla/UiTree.js +1 -1
  322. package/vanilla/UiTreeItem.d.ts +1 -1
  323. package/vanilla/UiTreeItem.js +1 -1
  324. package/vue/UiActionBar.vue +1 -1
  325. package/vue/UiAffordanceScope.vue +8 -1
  326. package/vue/UiAvatar.d.ts +6 -9
  327. package/vue/UiAvatar.vue +71 -20
  328. package/vue/UiAvatarGroup.d.ts +7 -10
  329. package/vue/UiAvatarGroup.vue +45 -12
  330. package/vue/UiBadge.vue +1 -1
  331. package/vue/UiBreadcrumbItem.vue +1 -1
  332. package/vue/UiBreadcrumbs.vue +1 -1
  333. package/vue/UiButton.vue +1 -1
  334. package/vue/UiCallout.vue +1 -1
  335. package/vue/UiCard.vue +1 -1
  336. package/vue/UiCheckbox.d.ts +8 -11
  337. package/vue/UiCheckbox.vue +34 -11
  338. package/vue/UiCluster.vue +1 -1
  339. package/vue/UiCombobox.d.ts +60 -66
  340. package/vue/UiCombobox.vue +476 -124
  341. package/vue/UiContainer.vue +1 -1
  342. package/vue/UiContextMenu.vue +18 -9
  343. package/vue/UiCover.vue +1 -1
  344. package/vue/UiDescriptionItem.vue +1 -1
  345. package/vue/UiDescriptionList.vue +1 -1
  346. package/vue/UiDialog.d.ts +8 -11
  347. package/vue/UiDialog.vue +39 -12
  348. package/vue/UiDisclosure.d.ts +12 -15
  349. package/vue/UiDisclosure.vue +70 -24
  350. package/vue/UiEditable.d.ts +3 -3
  351. package/vue/UiEditable.vue +60 -21
  352. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  353. package/vue/UiEditorInsertTableGrid.vue +75 -14
  354. package/vue/UiEditorMentionMenu.d.ts +10 -13
  355. package/vue/UiEditorMentionMenu.vue +50 -7
  356. package/vue/UiEditorMentionMenuItem.vue +1 -1
  357. package/vue/UiEditorSlashMenu.d.ts +12 -15
  358. package/vue/UiEditorSlashMenu.vue +48 -7
  359. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  360. package/vue/UiEditorSlashMenuItem.vue +1 -1
  361. package/vue/UiEditorTableContextMenu.vue +73 -4
  362. package/vue/UiEditorTableOverlay.d.ts +2 -2
  363. package/vue/UiEditorTableOverlay.vue +202 -38
  364. package/vue/UiEditorTableToolbar.d.ts +2 -2
  365. package/vue/UiEditorTableToolbar.vue +128 -7
  366. package/vue/UiEditorToolbar.vue +3 -3
  367. package/vue/UiFloatingActionButton.vue +1 -1
  368. package/vue/UiFormField.vue +1 -1
  369. package/vue/UiGrid.vue +1 -1
  370. package/vue/UiIcon.vue +1 -1
  371. package/vue/UiIconButton.vue +1 -1
  372. package/vue/UiImage.vue +7 -6
  373. package/vue/UiInput.d.ts +5 -5
  374. package/vue/UiInput.vue +15 -3
  375. package/vue/UiInputGroup.vue +1 -1
  376. package/vue/UiList.vue +1 -1
  377. package/vue/UiListItem.vue +1 -1
  378. package/vue/UiListbox.d.ts +6 -9
  379. package/vue/UiListbox.vue +70 -19
  380. package/vue/UiMenu.vue +20 -10
  381. package/vue/UiMenuGroup.vue +1 -1
  382. package/vue/UiMenuItem.d.ts +13 -16
  383. package/vue/UiMenuItem.vue +30 -7
  384. package/vue/UiMeter.vue +1 -1
  385. package/vue/UiNavItem.vue +1 -1
  386. package/vue/UiPageHeader.vue +1 -1
  387. package/vue/UiPopover.vue +12 -4
  388. package/vue/UiRadio.d.ts +8 -11
  389. package/vue/UiRadio.vue +34 -11
  390. package/vue/UiRadioGroup.vue +16 -7
  391. package/vue/UiReel.vue +1 -1
  392. package/vue/UiScrollArea.vue +3 -3
  393. package/vue/UiSearchResultRow.vue +1 -1
  394. package/vue/UiSearchShell.vue +14 -6
  395. package/vue/UiSection.vue +1 -1
  396. package/vue/UiSelect.vue +3 -2
  397. package/vue/UiSeparator.vue +1 -1
  398. package/vue/UiSidebar.d.ts +7 -10
  399. package/vue/UiSidebar.vue +44 -12
  400. package/vue/UiSpinner.vue +1 -1
  401. package/vue/UiStack.vue +1 -1
  402. package/vue/UiStatusMessage.vue +1 -1
  403. package/vue/UiSwitch.d.ts +8 -11
  404. package/vue/UiSwitch.vue +34 -11
  405. package/vue/UiSwitcher.vue +8 -1
  406. package/vue/UiTable.vue +1 -1
  407. package/vue/UiTabs.vue +30 -8
  408. package/vue/UiText.vue +1 -1
  409. package/vue/UiTextarea.vue +2 -2
  410. package/vue/UiToast.vue +7 -6
  411. package/vue/UiToastRegion.d.ts +15 -3
  412. package/vue/UiToastRegion.vue +90 -45
  413. package/vue/UiTooltip.d.ts +9 -12
  414. package/vue/UiTooltip.vue +30 -7
  415. package/vue/UiTopBar.vue +1 -1
  416. package/vue/UiTree.vue +17 -13
  417. package/vue/UiTreeItem.d.ts +15 -18
  418. package/vue/UiTreeItem.vue +79 -30
  419. package/vue/chunks/UiActionBar.js +1 -1
  420. package/vue/chunks/UiAffordanceScope.js +6 -2
  421. package/vue/chunks/UiAvatar.js +37 -10
  422. package/vue/chunks/UiAvatarGroup.js +26 -7
  423. package/vue/chunks/UiBadge.js +2 -2
  424. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  425. package/vue/chunks/UiBreadcrumbs.js +2 -2
  426. package/vue/chunks/UiButton.js +2 -2
  427. package/vue/chunks/UiCallout.js +2 -2
  428. package/vue/chunks/UiCard.js +2 -2
  429. package/vue/chunks/UiCheckbox.js +25 -12
  430. package/vue/chunks/UiCluster.js +2 -2
  431. package/vue/chunks/UiCombobox.js +628 -117
  432. package/vue/chunks/UiContainer.js +2 -2
  433. package/vue/chunks/UiContextMenu.js +14 -10
  434. package/vue/chunks/UiCover.js +2 -2
  435. package/vue/chunks/UiDescriptionItem.js +2 -2
  436. package/vue/chunks/UiDescriptionList.js +2 -2
  437. package/vue/chunks/UiDialog.js +29 -11
  438. package/vue/chunks/UiDisclosure.js +44 -14
  439. package/vue/chunks/UiEditable.js +33 -9
  440. package/vue/chunks/UiEditorInsertTableGrid.js +98 -14
  441. package/vue/chunks/UiEditorMentionMenu.js +76 -9
  442. package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
  443. package/vue/chunks/UiEditorSlashMenu.js +70 -11
  444. package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
  445. package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
  446. package/vue/chunks/UiEditorTableContextMenu.js +120 -2
  447. package/vue/chunks/UiEditorTableOverlay.js +306 -12
  448. package/vue/chunks/UiEditorTableToolbar.js +215 -3
  449. package/vue/chunks/UiEditorToolbar.js +8 -8
  450. package/vue/chunks/UiFloatingActionButton.js +2 -2
  451. package/vue/chunks/UiFormField.js +2 -2
  452. package/vue/chunks/UiGrid.js +2 -2
  453. package/vue/chunks/UiIcon.js +2 -2
  454. package/vue/chunks/UiIconButton.js +2 -2
  455. package/vue/chunks/UiImage.js +12 -12
  456. package/vue/chunks/UiInput.js +34 -4
  457. package/vue/chunks/UiInputGroup.js +2 -2
  458. package/vue/chunks/UiList.js +2 -2
  459. package/vue/chunks/UiListItem.js +2 -2
  460. package/vue/chunks/UiListbox.js +96 -12
  461. package/vue/chunks/UiMenu.js +6 -2
  462. package/vue/chunks/UiMenuGroup.js +2 -2
  463. package/vue/chunks/UiMenuItem.js +15 -3
  464. package/vue/chunks/UiMeter.js +2 -2
  465. package/vue/chunks/UiNavItem.js +2 -2
  466. package/vue/chunks/UiPageHeader.js +2 -2
  467. package/vue/chunks/UiPopover.js +6 -2
  468. package/vue/chunks/UiRadio.js +25 -12
  469. package/vue/chunks/UiRadioGroup.js +6 -2
  470. package/vue/chunks/UiReel.js +2 -2
  471. package/vue/chunks/UiScrollArea.js +8 -8
  472. package/vue/chunks/UiSearchResultRow.js +2 -2
  473. package/vue/chunks/UiSearchShell.js +9 -4
  474. package/vue/chunks/UiSection.js +2 -2
  475. package/vue/chunks/UiSelect.js +5 -3
  476. package/vue/chunks/UiSeparator.js +2 -2
  477. package/vue/chunks/UiSidebar.js +28 -5
  478. package/vue/chunks/UiSpinner.js +2 -2
  479. package/vue/chunks/UiStack.js +2 -2
  480. package/vue/chunks/UiStatusMessage.js +2 -2
  481. package/vue/chunks/UiSwitch.js +25 -12
  482. package/vue/chunks/UiSwitcher.js +6 -2
  483. package/vue/chunks/UiTable.js +2 -2
  484. package/vue/chunks/UiTabs.js +39 -10
  485. package/vue/chunks/UiText.js +2 -2
  486. package/vue/chunks/UiTextarea.js +3 -2
  487. package/vue/chunks/UiToast.js +8 -8
  488. package/vue/chunks/UiToastRegion.js +86 -20
  489. package/vue/chunks/UiTooltip.js +15 -3
  490. package/vue/chunks/UiTopBar.js +1 -1
  491. package/vue/chunks/UiTree.js +2 -2
  492. package/vue/chunks/UiTreeItem.js +84 -51
  493. package/vue/chunks/control.js +9 -2
  494. package/vue/chunks/host.js +203 -29
  495. package/vue/chunks/props.js +43 -7
  496. package/vue/components.css +1345 -1345
  497. package/vue/host.ts +286 -42
@@ -1,5 +1,117 @@
1
1
  import { Fragment, computed, getCurrentInstance, onBeforeUnmount, onBeforeUpdate, onMounted, onUpdated, shallowRef, useSlots, watchEffect } from "vue";
2
2
  //#region .build/vue/host.ts
3
+ function controllerNamespaces(options, source) {
4
+ const reported = /* @__PURE__ */ new Set();
5
+ const nested = /* @__PURE__ */ new WeakMap();
6
+ const eventType = typeof Event === "undefined" ? void 0 : Object.getOwnPropertyDescriptor(Event.prototype, "type").get;
7
+ const eventBrands = /* @__PURE__ */ new WeakMap();
8
+ const nativeEvent = (value) => {
9
+ if (!("type" in value) || eventType === void 0) return false;
10
+ const known = eventBrands.get(value);
11
+ if (known !== void 0) return known;
12
+ let accepted = false;
13
+ try {
14
+ eventType.call(value);
15
+ accepted = true;
16
+ } catch {}
17
+ eventBrands.set(value, accepted);
18
+ return accepted;
19
+ };
20
+ const warn = (path, readonly) => {
21
+ if (reported.has(path)) return;
22
+ reported.add(path);
23
+ console.warn(source + ": HR007: Destination " + path + (readonly ? " is read-only." : " does not satisfy its declared type."));
24
+ };
25
+ const write = (name, keys, value, readonly, apply) => {
26
+ if (readonly || options.acceptsState?.(name, keys, value) === false) warn([name, ...keys].join("."), readonly);
27
+ else apply();
28
+ return true;
29
+ };
30
+ const wrap = (value, name, keys, readonly) => {
31
+ if (value === null || typeof value !== "object" || nativeEvent(value)) return value;
32
+ const path = [name, ...keys].join(".");
33
+ let paths = nested.get(value);
34
+ if (paths === void 0) nested.set(value, paths = /* @__PURE__ */ new Map());
35
+ const known = paths.get(path);
36
+ if (known !== void 0) return known;
37
+ const surface = readonly ? Array.isArray(value) ? [] : Object.create(Object.getPrototypeOf(value)) : value;
38
+ if (readonly && Array.isArray(value)) surface.length = value.length;
39
+ const proxy = new Proxy(surface, {
40
+ get: (_target, key) => wrap(Reflect.get(value, key), name, [...keys, String(key)], readonly),
41
+ set: (_target, key, next) => write(name, [...keys, String(key)], next, readonly, () => {
42
+ const previous = Reflect.get(value, key);
43
+ if (Reflect.set(value, key, next) && !Object.is(previous, next)) options.changed?.(name);
44
+ }),
45
+ has: (_target, key) => Reflect.has(value, key),
46
+ ownKeys: () => Reflect.ownKeys(value),
47
+ getOwnPropertyDescriptor: (_target, key) => {
48
+ if (readonly && Array.isArray(value) && key === "length") {
49
+ surface.length = value.length;
50
+ return Reflect.getOwnPropertyDescriptor(surface, key);
51
+ }
52
+ const descriptor = Reflect.getOwnPropertyDescriptor(value, key);
53
+ return descriptor === void 0 ? void 0 : readonly ? {
54
+ ...descriptor,
55
+ configurable: true
56
+ } : descriptor;
57
+ },
58
+ deleteProperty: (_target, key) => write(name, [...keys, String(key)], void 0, readonly, () => {
59
+ if (Reflect.has(value, key) && Reflect.deleteProperty(value, key)) options.changed?.(name);
60
+ }),
61
+ defineProperty: (_target, key, descriptor) => {
62
+ if (readonly || !("value" in descriptor) || options.acceptsState?.(name, [...keys, String(key)], descriptor.value) === false) {
63
+ warn([
64
+ name,
65
+ ...keys,
66
+ String(key)
67
+ ].join("."), readonly);
68
+ return false;
69
+ }
70
+ const changed = Reflect.defineProperty(value, key, descriptor);
71
+ if (changed) options.changed?.(name);
72
+ return changed;
73
+ }
74
+ });
75
+ paths.set(path, proxy);
76
+ return proxy;
77
+ };
78
+ return {
79
+ state: new Proxy({}, {
80
+ get: (_target, name) => {
81
+ if (typeof name !== "string") return void 0;
82
+ if (Object.hasOwn(options.state, name)) return wrap(options.state[name].get(), name, [], false);
83
+ if (Object.hasOwn(options.computed, name)) return wrap(options.computed[name](), name, [], true);
84
+ },
85
+ set: (_target, name, value) => write(String(name), [], value, typeof name !== "string" || !Object.hasOwn(options.state, name), () => options.state[String(name)].set(value)),
86
+ deleteProperty: (_target, name) => {
87
+ warn(String(name), true);
88
+ return true;
89
+ },
90
+ defineProperty: (_target, name) => {
91
+ warn(String(name), true);
92
+ return false;
93
+ },
94
+ has: (_target, name) => typeof name === "string" && (Object.hasOwn(options.state, name) || Object.hasOwn(options.computed, name))
95
+ }),
96
+ data: new Proxy({}, {
97
+ get: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name) ? wrap(options.data[name](), "data." + name, [], true) : void 0,
98
+ set: (_target, name, value) => write("data." + String(name), [], value, true, () => {}),
99
+ deleteProperty: (_target, name) => {
100
+ warn("data." + String(name), true);
101
+ return true;
102
+ },
103
+ defineProperty: (_target, name) => {
104
+ warn("data." + String(name), true);
105
+ return false;
106
+ },
107
+ has: (_target, name) => typeof name === "string" && Object.hasOwn(options.data ?? {}, name)
108
+ })
109
+ };
110
+ }
111
+ function dispatchToTargets(recorded, send) {
112
+ const targets = (recorded instanceof Set ? [...recorded] : Array.isArray(recorded) ? [...recorded] : [recorded]).map((ref) => ref?.nodeType === 1 ? ref : ref?.$el).filter((element) => element?.nodeType === 1 && element.isConnected).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & 4 ? -1 : 1);
113
+ for (const target of targets) if (target.isConnected) send(target);
114
+ }
3
115
  var connectionHubs = /* @__PURE__ */ new WeakMap();
4
116
  /** One native observer per document tracks externally detached controller roots. */
5
117
  function observeConnection(element, check) {
@@ -99,7 +211,24 @@ function useComponentHost(controllerLoader, options) {
99
211
  throw controllerDiagnostic("HJ001", error);
100
212
  });
101
213
  const stops = [];
102
- const readState = (name) => Object.hasOwn(state, name) ? state[name].value : Object.hasOwn(computedValues, name) ? computedValues[name].value : Object.hasOwn(data, name) ? data[name].value : Object.hasOwn(context, name) ? context[name].value : void 0;
214
+ const connected = shallowRef(false);
215
+ const pauses = /* @__PURE__ */ new Map();
216
+ const subscriptions = /* @__PURE__ */ new Set();
217
+ const activate = (entry) => {
218
+ if (entry.type === "connect") entry.cleanup = entry.callback(new Event("connect"));
219
+ else if (entry.type !== "disconnect") {
220
+ entry.target = root.value ?? void 0;
221
+ entry.target?.addEventListener(entry.type, entry.callback);
222
+ }
223
+ };
224
+ const deactivate = (entry, disconnecting) => {
225
+ entry.target?.removeEventListener(entry.type, entry.callback);
226
+ entry.target = void 0;
227
+ const cleanup = entry.cleanup;
228
+ entry.cleanup = void 0;
229
+ cleanup?.();
230
+ if (disconnecting && entry.type === "disconnect") entry.callback(new Event("disconnect"));
231
+ };
103
232
  const propHandles = Object.create(null);
104
233
  for (const name of propNames) {
105
234
  const validity = () => options.propValidity?.(name);
@@ -123,15 +252,28 @@ function useComponentHost(controllerLoader, options) {
123
252
  get root() {
124
253
  return root.value;
125
254
  },
126
- state: new Proxy({}, {
127
- get: (_target, name) => typeof name === "string" ? readState(name) : void 0,
128
- set: (_target, name, value) => {
129
- if (typeof name !== "string" || !Object.hasOwn(state, name)) throw new TypeError(`Only declared state is writable; \`${String(name)}\` is not.`);
130
- state[name].value = value;
131
- return true;
132
- },
133
- has: (_target, name) => typeof name === "string" && (Object.hasOwn(state, name) || Object.hasOwn(computedValues, name) || Object.hasOwn(data, name) || Object.hasOwn(context, name))
134
- }),
255
+ ...controllerNamespaces({
256
+ state: Object.fromEntries(Object.entries(state).map(([name, value]) => [name, {
257
+ get: () => value.value,
258
+ set: (next) => {
259
+ value.value = next;
260
+ }
261
+ }])),
262
+ computed: Object.fromEntries([...Object.entries(computedValues), ...Object.entries(context)].map(([name, value]) => [name, () => value.value])),
263
+ data: Object.fromEntries(Object.entries(data).map(([name, value]) => [name, () => value.value])),
264
+ acceptsState: options.acceptsState
265
+ }, options.controllerSource?.definition ?? "<component>"),
266
+ on(type, callback) {
267
+ const entry = {
268
+ type,
269
+ callback
270
+ };
271
+ subscriptions.add(entry);
272
+ if (connected.value) activate(entry);
273
+ return () => {
274
+ if (subscriptions.delete(entry)) deactivate(entry, false);
275
+ };
276
+ },
135
277
  props: Object.freeze(propHandles),
136
278
  refs: Object.defineProperties({}, Object.fromEntries(Object.entries(refs).map(([name, ref]) => [name, {
137
279
  enumerable: true,
@@ -162,12 +304,24 @@ function useComponentHost(controllerLoader, options) {
162
304
  return { get: () => value.value };
163
305
  },
164
306
  effect(run) {
165
- const stop = watchEffect((onCleanup) => {
166
- const cleanup = run();
167
- if (typeof cleanup === "function") onCleanup(cleanup);
307
+ let cleanup;
308
+ const pause = () => {
309
+ const previous = cleanup;
310
+ cleanup = void 0;
311
+ previous?.();
312
+ };
313
+ const stop = watchEffect(() => {
314
+ pause();
315
+ if (connected.value) cleanup = run();
168
316
  }, { flush: "post" });
169
- stops.push(stop);
170
- return stop;
317
+ const dispose = () => {
318
+ stop();
319
+ pause();
320
+ pauses.delete(dispose);
321
+ };
322
+ pauses.set(dispose, pause);
323
+ stops.push(dispose);
324
+ return dispose;
171
325
  },
172
326
  dispatch
173
327
  };
@@ -175,13 +329,14 @@ function useComponentHost(controllerLoader, options) {
175
329
  let started;
176
330
  let stopObserving;
177
331
  let connection = 0;
178
- let connected = false;
332
+ let initialized = false;
179
333
  let unmounted = false;
180
334
  const disconnect = () => {
181
- if (!connected) return;
182
- connected = false;
335
+ if (!connected.value) return;
336
+ connected.value = false;
183
337
  connection += 1;
184
- for (const stop of stops.splice(0)) stop();
338
+ for (const pause of pauses.values()) pause();
339
+ for (const entry of subscriptions) deactivate(entry, true);
185
340
  cleanup?.();
186
341
  cleanup = void 0;
187
342
  };
@@ -191,14 +346,23 @@ function useComponentHost(controllerLoader, options) {
191
346
  disconnect();
192
347
  return;
193
348
  }
194
- if (connected) return;
195
- connected = true;
349
+ if (connected.value) {
350
+ for (const entry of subscriptions) if (entry.type !== "connect" && entry.type !== "disconnect" && entry.target !== root.value) {
351
+ deactivate(entry, false);
352
+ activate(entry);
353
+ }
354
+ return;
355
+ }
356
+ connected.value = true;
357
+ for (const entry of subscriptions) activate(entry);
358
+ if (initialized) return;
196
359
  const current = ++connection;
197
360
  started = loadControllerModule().then(async (loaded) => {
198
- if (!connected || current !== connection) return loaded;
361
+ if (!connected.value || current !== connection || initialized) return loaded;
362
+ initialized = true;
199
363
  const result = await loaded.default(host);
200
364
  if (typeof result === "function") {
201
- if (!connected || current !== connection) result();
365
+ if (!connected.value || current !== connection) result();
202
366
  else cleanup = result;
203
367
  }
204
368
  return loaded;
@@ -221,12 +385,10 @@ function useComponentHost(controllerLoader, options) {
221
385
  unmounted = true;
222
386
  stopObserving?.();
223
387
  disconnect();
388
+ for (const stop of stops.splice(0)) stop();
389
+ subscriptions.clear();
224
390
  });
225
- /** `ready` settles once the controller has started; a method exposed by the component awaits it. */
226
- return {
227
- host,
228
- ready: () => started
229
- };
391
+ return host;
230
392
  }
231
393
  var HtmlDiagnosticError = class extends Error {
232
394
  diagnostic;
@@ -243,9 +405,21 @@ var HtmlDiagnosticError = class extends Error {
243
405
  function createDispatch(root, emit, options = {}) {
244
406
  const { declared = {}, checks = {}, modeled = [] } = options;
245
407
  const reported = /* @__PURE__ */ new Map();
246
- return (name, detail) => {
408
+ return (name, detail, targets) => {
247
409
  const check = checks[name];
248
410
  if (detail !== void 0 && check !== void 0 && !check(detail)) throw new HtmlDiagnosticError("HR002", `Event \`${name}\` detail does not satisfy its declared type.`);
411
+ if (targets !== void 0) {
412
+ let accepted = true;
413
+ dispatchToTargets(targets, (target) => {
414
+ if (!target.dispatchEvent(new CustomEvent(name, {
415
+ bubbles: true,
416
+ composed: true,
417
+ ...declared[name],
418
+ detail
419
+ }))) accepted = false;
420
+ });
421
+ return accepted;
422
+ }
249
423
  if (detail !== null && typeof detail === "object") for (const prop of modeled) {
250
424
  if (!(prop in detail)) continue;
251
425
  const value = detail[prop];
@@ -171,6 +171,20 @@ var CSS_NAMED_COLOR_SET = /* @__PURE__ */ new Set([
171
171
  "yellowgreen"
172
172
  ]);
173
173
  var HTML_EMAIL_PATTERN = /^[a-zA-Z0-9.!#$%&'*+/?=^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
174
+ var eventType = typeof Event === "undefined" ? void 0 : Object.getOwnPropertyDescriptor(Event.prototype, "type").get;
175
+ var eventBrands = /* @__PURE__ */ new WeakMap();
176
+ function nativeEvent(value) {
177
+ if (typeof value !== "object" || value === null || !("type" in value) || eventType === void 0) return false;
178
+ const known = eventBrands.get(value);
179
+ if (known !== void 0) return known;
180
+ let accepted = false;
181
+ try {
182
+ eventType.call(value);
183
+ accepted = true;
184
+ } catch {}
185
+ eventBrands.set(value, accepted);
186
+ return accepted;
187
+ }
174
188
  function issue(path, message) {
175
189
  return {
176
190
  ok: false,
@@ -334,6 +348,10 @@ function parse(value, node, path) {
334
348
  ok: true,
335
349
  value
336
350
  } : issue(path, "Must be a " + (node.name === "trusted-html" ? "TrustedHTML" : "TrustedScript") + " value.");
351
+ case "event": return nativeEvent(value) ? {
352
+ ok: true,
353
+ value
354
+ } : issue(path, "Must be a native Event value.");
337
355
  case "function": return typeof value === "function" ? {
338
356
  ok: true,
339
357
  value
@@ -434,13 +452,13 @@ function parse(value, node, path) {
434
452
  }
435
453
  }
436
454
  }
437
- /** Match HTML Next's typed invocation boundary before Vue renders or a controller reads a prop. */
455
+ /** Return the actual selected destination, without a validation fallback. */
456
+ function selectedBindingNode(selector, options) {
457
+ if (selector === null || selector === void 0) return null;
458
+ return options.find((candidate) => candidate.value === selector)?.type ?? null;
459
+ }
438
460
  function selectedPropNode(selector, options) {
439
- if (selector === null || selector === void 0) return {
440
- kind: "terminal",
441
- name: "null"
442
- };
443
- return options.find((candidate) => candidate.value === selector)?.type ?? {
461
+ return selectedBindingNode(selector, options) ?? {
444
462
  kind: "terminal",
445
463
  name: "null"
446
464
  };
@@ -730,5 +748,23 @@ var vPropValidity = {
730
748
  validityStates.delete(el);
731
749
  }
732
750
  };
751
+ /** Controller writes use immediate destination checks, including declared nested paths. */
752
+ function acceptsControllerWrite(value, type, keys) {
753
+ if (type === void 0) return true;
754
+ if (keys.length === 0) {
755
+ if (value === void 0) return true;
756
+ if (value === null) return parse(value, type, "$").ok;
757
+ if (type.kind === "list") return Array.isArray(value);
758
+ if (type.kind === "object" || type.kind === "record") return typeof value === "object" && !Array.isArray(value);
759
+ if (type.kind === "union") return type.members.some((member) => acceptsControllerWrite(value, member, keys));
760
+ if (type.kind === "constrained") return acceptsControllerWrite(value, type.base, keys);
761
+ return parse(value, type, "$").ok;
762
+ }
763
+ if (type.kind === "union") return type.members.some((member) => acceptsControllerWrite(value, member, keys));
764
+ if (type.kind === "constrained") return acceptsControllerWrite(value, type.base, keys);
765
+ const key = keys[0];
766
+ if (type.kind === "object" && !type.open && !type.fields.some((field) => field.name === key)) return value === void 0;
767
+ return acceptsControllerWrite(value, type.kind === "object" ? type.fields.find((field) => field.name === key)?.type : type.kind === "list" ? /^\d+$/.test(key) ? type.item : void 0 : type.kind === "record" ? type.value : void 0, keys.slice(1));
768
+ }
733
769
  //#endregion
734
- export { vPropValidity as i, propValidityState as n, selectedPropNode as r, checkedProp as t };
770
+ export { vPropValidity as a, selectedPropNode as i, checkedProp as n, propValidityState as r, acceptsControllerWrite as t };