solid-baseui 0.1.0-alpha.0 → 0.1.0-alpha.2

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 (342) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +133 -15
  3. package/dist/lib/client/DialogHandle-DluOK_7u.js +521 -0
  4. package/dist/lib/client/DialogPopup-CfEb3F54.js +138 -0
  5. package/dist/lib/client/FieldControl-eDe-Jnp9.js +142 -0
  6. package/dist/lib/client/{FieldRootContext-izCEh80D.js → FieldRootContext-D3fuVjs3.js} +1 -1
  7. package/dist/lib/client/{FocusManager-grSdNHqW.js → FocusManager-q7z7PMV1.js} +94 -91
  8. package/dist/lib/client/{FormContext-BB05lWOI.js → FormContext-CwLBtm_d.js} +1 -0
  9. package/dist/lib/client/{InternalBackdrop-cSK13gaM.js → InternalBackdrop-B8_lfUvf.js} +1 -1
  10. package/dist/lib/client/{LabelableContext-DKsB0fIx.js → LabelableContext-CmQF-TX2.js} +3 -6
  11. package/dist/lib/client/MenuSubmenuTrigger-DMb5CwTF.js +1584 -0
  12. package/dist/lib/client/{PopupHandle-CcJG4NMy.js → PopupHandle-DyX5gY1e.js} +17 -11
  13. package/dist/lib/client/{PopupStore-DjB-wO88.js → PopupStore-BjRwcvbG.js} +138 -115
  14. package/dist/lib/client/PopupViewport-BanYHrD-.js +154 -0
  15. package/dist/lib/client/Separator-D5oJzlA3.js +27 -0
  16. package/dist/lib/client/TriggerFocusGuards-Fzspp3Y1.js +51 -0
  17. package/dist/lib/client/accordion/index.js +1 -1
  18. package/dist/lib/client/accordion-CA2DfX67.js +381 -0
  19. package/dist/lib/client/alert-dialog/index.js +1 -1
  20. package/dist/lib/client/{alert-dialog-BH_3ndio.js → alert-dialog-Bup88Dpx.js} +2 -2
  21. package/dist/lib/client/autocomplete/index.js +1 -1
  22. package/dist/lib/client/{autocomplete-Cob_FZEP.js → autocomplete-oyy_uRpU.js} +30 -25
  23. package/dist/lib/client/avatar/index.js +1 -1
  24. package/dist/lib/client/avatar-DNZ4fnBd.js +191 -0
  25. package/dist/lib/client/button/index.js +1 -1
  26. package/dist/lib/client/button-BJZYmCVv.js +88 -0
  27. package/dist/lib/client/checkbox/index.js +1 -1
  28. package/dist/lib/client/checkbox-group/index.js +1 -1
  29. package/dist/lib/client/checkbox-group-DGyrciZJ.js +135 -0
  30. package/dist/lib/client/checkbox-sQHYTbpB.js +425 -0
  31. package/dist/lib/client/collapsible/index.js +1 -1
  32. package/dist/lib/client/collapsible-BENbFFCc.js +230 -0
  33. package/dist/lib/client/combobox/index.js +2 -2
  34. package/dist/lib/client/combobox-BGH8QLXH.js +401 -0
  35. package/dist/lib/client/compositeNavigation-DCt1sQon.js +82 -0
  36. package/dist/lib/client/{constants-BYjBUIIi.js → constants-ByOMFJAe.js} +105 -101
  37. package/dist/lib/client/context-menu/index.js +1 -1
  38. package/dist/lib/client/context-menu-xQ1sBCET.js +220 -0
  39. package/dist/lib/client/{createAnchorPositioning-DcxDXUgB.js → createAnchorPositioning-DCXIApS1.js} +149 -146
  40. package/dist/lib/client/{createAnchoredPopupScrollLock-Cx0cbh1_.js → createAnchoredPopupScrollLock-BxKpJbCE.js} +2 -2
  41. package/dist/lib/client/{createClickInteraction-CTaIFBiV.js → createClickInteraction-BeBsTqtY.js} +1 -1
  42. package/dist/lib/client/{createCollapsiblePanel-DeDu0O2t.js → createCollapsiblePanel-BQ8r4RTi.js} +1 -1
  43. package/dist/lib/client/createFocusInteraction-DQPWkZe2.js +60 -0
  44. package/dist/lib/client/createLabelableId-DxJRwMUJ.js +14 -0
  45. package/dist/lib/client/{createPopupAutoResize-CGNiLhGq.js → createPopupAutoResize-CSNpMz5v.js} +4 -4
  46. package/dist/lib/client/{createTransitionStatus-B1L-whed.js → createTransitionStatus-BL_cPSEA.js} +12 -12
  47. package/dist/lib/client/dialog/index.js +1 -1
  48. package/dist/lib/client/{dialog-DkaQwIgP.js → dialog-C0EF0a5u.js} +2 -2
  49. package/dist/lib/client/{dom-BEAeQ9Eb.js → dom-lDdayFF_.js} +25 -15
  50. package/dist/lib/client/drawer/index.js +1 -1
  51. package/dist/lib/client/drawer-uKoNBwDU.js +1540 -0
  52. package/dist/lib/client/field/index.js +1 -1
  53. package/dist/lib/client/field-DIMrgpBW.js +483 -0
  54. package/dist/lib/client/fieldset/index.js +1 -1
  55. package/dist/lib/client/fieldset-Byqk3noT.js +70 -0
  56. package/dist/lib/client/form/index.js +1 -1
  57. package/dist/lib/client/form-Bqq8wSLY.js +109 -0
  58. package/dist/lib/client/index.js +44 -42
  59. package/dist/lib/client/input/index.js +1 -1
  60. package/dist/lib/client/{input-gb0ejxkm.js → input-YthuKwIE.js} +1 -1
  61. package/dist/lib/client/internals/composeEventHandlers.js +14 -8
  62. package/dist/lib/client/internals/field-root-context/index.js +2 -2
  63. package/dist/lib/client/internals/form-context/index.js +1 -1
  64. package/dist/lib/client/internals/labelable-provider/index.js +1 -1
  65. package/dist/lib/client/{mergeStyleValue-C4ITiiIV.js → isSolidAccessor-BH_FevwH.js} +8 -15
  66. package/dist/lib/client/menu/index.js +1 -1
  67. package/dist/lib/client/menu-4rNLN6aX.js +334 -0
  68. package/dist/lib/client/menubar/index.js +1 -1
  69. package/dist/lib/client/menubar-nFQGtNmY.js +163 -0
  70. package/dist/lib/client/mergeStyleValue-Dcd36yxZ.js +12 -0
  71. package/dist/lib/client/meter/index.js +1 -1
  72. package/dist/lib/client/meter-BvWdppcx.js +178 -0
  73. package/dist/lib/client/navigation-menu/index.js +1 -1
  74. package/dist/lib/client/navigation-menu-BbRyun3a.js +1070 -0
  75. package/dist/lib/client/number-field/index.js +1 -1
  76. package/dist/lib/client/number-field-hT_H0hVu.js +1043 -0
  77. package/dist/lib/client/otp-field/index.js +1 -1
  78. package/dist/lib/client/otp-field-lsy2iGID.js +584 -0
  79. package/dist/lib/client/popover/index.js +1 -1
  80. package/dist/lib/client/popover-Cmvmuf1L.js +940 -0
  81. package/dist/lib/client/popupStateMapping-nhukB8NK.js +371 -0
  82. package/dist/lib/client/preview-card/index.js +1 -1
  83. package/dist/lib/client/preview-card-Dtu8AnBN.js +632 -0
  84. package/dist/lib/client/progress/index.js +1 -1
  85. package/dist/lib/client/progress-AVKxvgpc.js +195 -0
  86. package/dist/lib/client/radio/index.js +1 -1
  87. package/dist/lib/client/radio-CeCU-Qqi.js +284 -0
  88. package/dist/lib/client/radio-group/index.js +1 -1
  89. package/dist/lib/client/radio-group-NbuJvjQe.js +195 -0
  90. package/dist/lib/client/runOnceAnimationsFinish-CFADb4CN.js +49 -0
  91. package/dist/lib/client/{safePolygon--bbKn0c8.js → safePolygon-DVAR5dQD.js} +74 -70
  92. package/dist/lib/client/scroll-area/index.js +1 -1
  93. package/dist/lib/client/scroll-area-DqbvoAd7.js +717 -0
  94. package/dist/lib/client/{scrollable-SRNYlhF7.js → scrollable-BVaDUXng.js} +12 -12
  95. package/dist/lib/client/select/index.js +1 -1
  96. package/dist/lib/client/select-Dad51Xbn.js +1934 -0
  97. package/dist/lib/client/separator/index.js +1 -1
  98. package/dist/lib/client/slider/index.js +1 -1
  99. package/dist/lib/client/slider-CLSKFq_M.js +927 -0
  100. package/dist/lib/client/switch/index.js +1 -1
  101. package/dist/lib/client/switch-Bzuu5EIg.js +306 -0
  102. package/dist/lib/client/tabs/index.js +1 -1
  103. package/dist/lib/client/tabs-DWiBDv8D.js +695 -0
  104. package/dist/lib/client/toast/index.js +1 -1
  105. package/dist/lib/client/toast-DmtPJW2k.js +1118 -0
  106. package/dist/lib/client/toggle/index.js +1 -1
  107. package/dist/lib/client/toggle-CAe-Z8Xn.js +142 -0
  108. package/dist/lib/client/toggle-group/index.js +1 -1
  109. package/dist/lib/client/toggle-group-BbQg5s-m.js +134 -0
  110. package/dist/lib/client/toolbar/index.js +1 -1
  111. package/dist/lib/client/toolbar-BXT_g-oX.js +504 -0
  112. package/dist/lib/client/tooltip/index.js +1 -1
  113. package/dist/lib/client/tooltip-h2r2_Xuo.js +850 -0
  114. package/dist/lib/client/use-render/index.js +2 -0
  115. package/dist/lib/client/useFilteredItems-BX0BEuSI.js +2301 -0
  116. package/dist/lib/client/useRender-CxZ8PI-g.js +12 -0
  117. package/dist/lib/server/{DialogHandle-ATZlm9RC.js → DialogHandle-BGIISmG7.js} +37 -46
  118. package/dist/lib/server/{DialogPopup-BebI-w5P.js → DialogPopup-C2ZDGf42.js} +12 -15
  119. package/dist/lib/server/{FieldControl-Y_kI7ARp.js → FieldControl-CDMMyvuj.js} +62 -26
  120. package/dist/lib/server/{FieldRootContext-IC-LWzVp.js → FieldRootContext-Bfpna6gA.js} +3 -3
  121. package/dist/lib/server/{FocusManager-BrbZVWME.js → FocusManager-D-xgblGs.js} +9 -5
  122. package/dist/lib/server/{FormContext-pvESt85v.js → FormContext-CYwo_ZnB.js} +1 -0
  123. package/dist/lib/server/{InternalBackdrop-C_iDPVR-.js → InternalBackdrop-D_2zAWnl.js} +1 -1
  124. package/dist/lib/server/{LabelableContext-DZP3rgAY.js → LabelableContext-BTeF0IWb.js} +4 -6
  125. package/dist/lib/server/{MenuSubmenuTrigger-DA4gsv6z.js → MenuSubmenuTrigger-BMQKlOvU.js} +177 -210
  126. package/dist/lib/server/{PopupHandle-DthPgNjy.js → PopupHandle-QNj4mED2.js} +14 -5
  127. package/dist/lib/server/{PopupStore-DEs3FAEe.js → PopupStore-evylvVnN.js} +42 -15
  128. package/dist/lib/server/{PopupViewport-3r_KTFwX.js → PopupViewport-BDttjORN.js} +38 -28
  129. package/dist/lib/server/{Separator-vhhYxWGr.js → Separator-DTvtnxzP.js} +4 -6
  130. package/dist/lib/server/TriggerFocusGuards-B9GNbLrL.js +61 -0
  131. package/dist/lib/server/accordion/index.js +39 -77
  132. package/dist/lib/server/alert-dialog/index.js +2 -2
  133. package/dist/lib/server/autocomplete/index.js +14 -5
  134. package/dist/lib/server/avatar/index.js +90 -51
  135. package/dist/lib/server/button/index.js +14 -15
  136. package/dist/lib/server/checkbox/index.js +37 -64
  137. package/dist/lib/server/checkbox-group/index.js +21 -11
  138. package/dist/lib/server/collapsible/index.js +42 -49
  139. package/dist/lib/server/combobox/index.js +79 -50
  140. package/dist/lib/server/{compositeNavigation-BRVT1C38.js → compositeNavigation-D5jKM4yk.js} +32 -1
  141. package/dist/lib/server/{constants-9H__9xbS.js → constants-ByqXubhO.js} +10 -5
  142. package/dist/lib/server/context-menu/index.js +14 -16
  143. package/dist/lib/server/{createAnchorPositioning-C-cVOPwz.js → createAnchorPositioning-DrQYe7RS.js} +12 -7
  144. package/dist/lib/server/{createAnchoredPopupScrollLock-DFuUrykR.js → createAnchoredPopupScrollLock-q6gnOSmv.js} +2 -2
  145. package/dist/lib/server/{createClickInteraction-BYsMgvup.js → createClickInteraction-D7oc1Vco.js} +1 -1
  146. package/dist/lib/server/{createCollapsiblePanel-DTyVJz0G.js → createCollapsiblePanel-B45kTe6v.js} +1 -1
  147. package/dist/lib/server/{createFocusInteraction-EIS0QOel.js → createFocusInteraction-DFKr4G7a.js} +22 -2
  148. package/dist/lib/server/createLabelableId-WMUKtY6s.js +18 -0
  149. package/dist/lib/server/{createPopupAutoResize-DO50jjNX.js → createPopupAutoResize-Cg0-lLf4.js} +2 -2
  150. package/dist/lib/server/{createTransitionStatus-BTlrerSS.js → createTransitionStatus-184v7j3-.js} +2 -2
  151. package/dist/lib/server/dialog/index.js +2 -2
  152. package/dist/lib/server/{dom-Crg_2R-j.js → dom-D8_aB1yy.js} +14 -1
  153. package/dist/lib/server/drawer/index.js +96 -100
  154. package/dist/lib/server/field/index.js +110 -98
  155. package/dist/lib/server/fieldset/index.js +13 -16
  156. package/dist/lib/server/form/index.js +18 -14
  157. package/dist/lib/server/index.js +5 -3
  158. package/dist/lib/server/input/index.js +1 -1
  159. package/dist/lib/server/internals/composeEventHandlers.js +15 -9
  160. package/dist/lib/server/internals/field-root-context/index.js +1 -1
  161. package/dist/lib/server/internals/form-context/index.js +1 -1
  162. package/dist/lib/server/internals/labelable-provider/index.js +1 -1
  163. package/dist/lib/server/{mergeStyleValue-Db8bRCM4.js → isSolidAccessor-CZpzAH5l.js} +7 -21
  164. package/dist/lib/server/menu/index.js +30 -29
  165. package/dist/lib/server/menubar/index.js +10 -35
  166. package/dist/lib/server/mergeStyleValue-DecVaoac.js +20 -0
  167. package/dist/lib/server/meter/index.js +20 -32
  168. package/dist/lib/server/navigation-menu/index.js +67 -138
  169. package/dist/lib/server/number-field/index.js +64 -62
  170. package/dist/lib/server/otp-field/index.js +19 -22
  171. package/dist/lib/server/popover/index.js +61 -77
  172. package/dist/lib/server/{popupStateMapping-nKoUwoke.js → popupStateMapping-VHqr6M4H.js} +19 -17
  173. package/dist/lib/server/preview-card/index.js +39 -50
  174. package/dist/lib/server/progress/index.js +21 -33
  175. package/dist/lib/server/radio/index.js +24 -45
  176. package/dist/lib/server/radio-group/index.js +12 -13
  177. package/dist/lib/server/{runOnceAnimationsFinish-DCHzXWZU.js → runOnceAnimationsFinish-CYq38H8J.js} +2 -1
  178. package/dist/lib/server/{safePolygon-CAm5RJGv.js → safePolygon-B8QtiIZ3.js} +6 -1
  179. package/dist/lib/server/scroll-area/index.js +40 -49
  180. package/dist/lib/server/{scrollable-CjsSxbGr.js → scrollable-C9Pgq8T5.js} +1 -1
  181. package/dist/lib/server/select/index.js +128 -213
  182. package/dist/lib/server/separator/index.js +1 -1
  183. package/dist/lib/server/slider/index.js +39 -52
  184. package/dist/lib/server/switch/index.js +22 -32
  185. package/dist/lib/server/tabs/index.js +197 -137
  186. package/dist/lib/server/toast/index.js +78 -95
  187. package/dist/lib/server/toggle/index.js +11 -13
  188. package/dist/lib/server/toggle-group/index.js +11 -9
  189. package/dist/lib/server/toolbar/index.js +76 -93
  190. package/dist/lib/server/tooltip/index.js +53 -57
  191. package/dist/lib/server/use-render/index.js +2 -0
  192. package/dist/lib/server/{useFilteredItems-DvuctLt3.js → useFilteredItems-BmhL0nf1.js} +335 -316
  193. package/dist/lib/server/useRender-CryVdCjs.js +16 -0
  194. package/dist/lib/types/accordion/header/AccordionHeader.d.ts +1 -1
  195. package/dist/lib/types/accordion/item/AccordionItem.d.ts +1 -1
  196. package/dist/lib/types/accordion/panel/AccordionPanel.d.ts +1 -1
  197. package/dist/lib/types/accordion/root/AccordionRoot.d.ts +2 -7
  198. package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +7 -7
  199. package/dist/lib/types/alert-dialog/trigger/AlertDialogTrigger.d.ts +1 -2
  200. package/dist/lib/types/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -0
  201. package/dist/lib/types/avatar/fallback/AvatarFallback.d.ts +2 -2
  202. package/dist/lib/types/avatar/image/AvatarImage.d.ts +9 -3
  203. package/dist/lib/types/avatar/image/createImageLoadingStatus.d.ts +3 -2
  204. package/dist/lib/types/avatar/root/AvatarRoot.d.ts +1 -1
  205. package/dist/lib/types/button/Button.d.ts +1 -1
  206. package/dist/lib/types/checkbox-group/CheckboxGroupContext.d.ts +4 -1
  207. package/dist/lib/types/collapsible/panel/CollapsiblePanel.d.ts +1 -1
  208. package/dist/lib/types/collapsible/root/CollapsibleRoot.d.ts +1 -1
  209. package/dist/lib/types/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
  210. package/dist/lib/types/combobox/chip/ComboboxChip.d.ts +2 -0
  211. package/dist/lib/types/combobox/index.d.ts +2 -0
  212. package/dist/lib/types/combobox/index.parts.d.ts +1 -0
  213. package/dist/lib/types/combobox/items/createItems.d.ts +42 -0
  214. package/dist/lib/types/combobox/root/AriaCombobox.d.ts +4 -0
  215. package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +17 -8
  216. package/dist/lib/types/combobox/root/ComboboxRootContext.d.ts +2 -0
  217. package/dist/lib/types/combobox/store/ComboboxStore.d.ts +1 -0
  218. package/dist/lib/types/combobox/trigger/ComboboxTrigger.d.ts +1 -0
  219. package/dist/lib/types/combobox/utils/handleInputPress.d.ts +1 -1
  220. package/dist/lib/types/dialog/backdrop/DialogBackdrop.d.ts +1 -1
  221. package/dist/lib/types/dialog/description/DialogDescription.d.ts +1 -1
  222. package/dist/lib/types/dialog/title/DialogTitle.d.ts +1 -1
  223. package/dist/lib/types/dialog/viewport/DialogViewport.d.ts +1 -1
  224. package/dist/lib/types/drawer/backdrop/DrawerBackdrop.d.ts +1 -1
  225. package/dist/lib/types/drawer/content/DrawerContent.d.ts +1 -1
  226. package/dist/lib/types/drawer/indent/DrawerIndent.d.ts +1 -1
  227. package/dist/lib/types/drawer/indent-background/DrawerIndentBackground.d.ts +1 -1
  228. package/dist/lib/types/field/control/FieldControl.d.ts +5 -5
  229. package/dist/lib/types/field/root/FieldRoot.d.ts +1 -1
  230. package/dist/lib/types/field/root/createFieldValidation.d.ts +3 -2
  231. package/dist/lib/types/fieldset/legend/FieldsetLegend.d.ts +1 -1
  232. package/dist/lib/types/fieldset/root/FieldsetRoot.d.ts +1 -1
  233. package/dist/lib/types/index.d.ts +1 -0
  234. package/dist/lib/types/internals/composeEventHandlers.d.ts +9 -2
  235. package/dist/lib/types/internals/createTransitionStatus.d.ts +1 -1
  236. package/dist/lib/types/internals/field-root-context/FieldRootContext.d.ts +1 -0
  237. package/dist/lib/types/internals/form-context/FormContext.d.ts +1 -0
  238. package/dist/lib/types/internals/labelable-provider/LabelableContext.d.ts +1 -0
  239. package/dist/lib/types/internals/labelable-provider/createLabelableId.d.ts +3 -0
  240. package/dist/lib/types/internals/overlay/PopupPortal.d.ts +4 -2
  241. package/dist/lib/types/internals/overlay/createPopupPresence.d.ts +1 -0
  242. package/dist/lib/types/internals/overlay/dom.d.ts +2 -0
  243. package/dist/lib/types/menu/root/MenuRootContext.d.ts +1 -0
  244. package/dist/lib/types/meter/indicator/MeterIndicator.d.ts +1 -1
  245. package/dist/lib/types/meter/label/MeterLabel.d.ts +1 -1
  246. package/dist/lib/types/meter/root/MeterRoot.d.ts +1 -1
  247. package/dist/lib/types/meter/track/MeterTrack.d.ts +1 -1
  248. package/dist/lib/types/meter/value/MeterValue.d.ts +1 -1
  249. package/dist/lib/types/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -0
  250. package/dist/lib/types/number-field/input/NumberFieldInput.d.ts +5 -5
  251. package/dist/lib/types/number-field/root/NumberFieldRootContext.d.ts +1 -0
  252. package/dist/lib/types/popover/arrow/PopoverArrow.d.ts +1 -1
  253. package/dist/lib/types/popover/backdrop/PopoverBackdrop.d.ts +1 -1
  254. package/dist/lib/types/popover/description/PopoverDescription.d.ts +1 -1
  255. package/dist/lib/types/popover/positioner/PopoverPositioner.d.ts +1 -1
  256. package/dist/lib/types/popover/title/PopoverTitle.d.ts +1 -1
  257. package/dist/lib/types/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  258. package/dist/lib/types/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  259. package/dist/lib/types/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
  260. package/dist/lib/types/progress/indicator/ProgressIndicator.d.ts +1 -1
  261. package/dist/lib/types/progress/label/ProgressLabel.d.ts +1 -1
  262. package/dist/lib/types/progress/root/ProgressRoot.d.ts +1 -1
  263. package/dist/lib/types/progress/track/ProgressTrack.d.ts +1 -1
  264. package/dist/lib/types/progress/value/ProgressValue.d.ts +1 -1
  265. package/dist/lib/types/radio/indicator/RadioIndicator.d.ts +2 -2
  266. package/dist/lib/types/scroll-area/content/ScrollAreaContent.d.ts +1 -1
  267. package/dist/lib/types/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  268. package/dist/lib/types/scroll-area/root/ScrollAreaRoot.d.ts +1 -1
  269. package/dist/lib/types/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +2 -1
  270. package/dist/lib/types/scroll-area/thumb/ScrollAreaThumb.d.ts +1 -1
  271. package/dist/lib/types/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
  272. package/dist/lib/types/separator/Separator.d.ts +1 -1
  273. package/dist/lib/types/slider/track/SliderTrack.d.ts +2 -2
  274. package/dist/lib/types/tabs/indicator/prehydrationScript.d.ts +1 -1
  275. package/dist/lib/types/tabs/list/TabsList.d.ts +1 -1
  276. package/dist/lib/types/tabs/panel/TabsPanel.d.ts +1 -1
  277. package/dist/lib/types/tabs/root/TabsRoot.d.ts +1 -1
  278. package/dist/lib/types/tabs/tab/TabsTab.d.ts +1 -1
  279. package/dist/lib/types/toast/createToastManager.d.ts +2 -2
  280. package/dist/lib/types/toast/store/ToastStore.d.ts +1 -1
  281. package/dist/lib/types/toast/useToastManager.d.ts +1 -1
  282. package/dist/lib/types/toggle/Toggle.d.ts +1 -1
  283. package/dist/lib/types/toggle-group/ToggleGroup.d.ts +1 -1
  284. package/dist/lib/types/toolbar/group/ToolbarGroup.d.ts +1 -1
  285. package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +10 -3
  286. package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +10 -4
  287. package/dist/lib/types/toolbar/separator/ToolbarSeparator.d.ts +1 -1
  288. package/dist/lib/types/tooltip/arrow/TooltipArrow.d.ts +1 -1
  289. package/dist/lib/types/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  290. package/dist/lib/types/types/index.d.ts +7 -3
  291. package/dist/lib/types/use-render/index.d.ts +2 -0
  292. package/dist/lib/types/use-render/useRender.d.ts +10 -0
  293. package/package.json +24 -11
  294. package/dist/lib/client/DialogHandle-DrN2YWCv.js +0 -518
  295. package/dist/lib/client/DialogPopup-ZlqmGfdk.js +0 -136
  296. package/dist/lib/client/FieldControl-Bc-z2og6.js +0 -116
  297. package/dist/lib/client/MenuSubmenuTrigger-QZkQ0F2v.js +0 -1570
  298. package/dist/lib/client/PopupViewport-DgrIqQea.js +0 -152
  299. package/dist/lib/client/Separator-9DboD_Si.js +0 -25
  300. package/dist/lib/client/TriggerFocusGuards-CQ-JuASy.js +0 -56
  301. package/dist/lib/client/accordion-sOXt9AlG.js +0 -399
  302. package/dist/lib/client/avatar-AF9vyD4q.js +0 -146
  303. package/dist/lib/client/button-DpUi-2g8.js +0 -82
  304. package/dist/lib/client/checkbox-BbAwOptH.js +0 -441
  305. package/dist/lib/client/checkbox-group-CSSp_805.js +0 -128
  306. package/dist/lib/client/collapsible-BIbje_ub.js +0 -232
  307. package/dist/lib/client/combobox-8O-vgTLL.js +0 -352
  308. package/dist/lib/client/compositeNavigation-sxniYTc7.js +0 -58
  309. package/dist/lib/client/context-menu-BTMkXtrs.js +0 -217
  310. package/dist/lib/client/createFocusInteraction-D4w1-235.js +0 -50
  311. package/dist/lib/client/drawer-Ce2cChLt.js +0 -1550
  312. package/dist/lib/client/field-C-o7jzKW.js +0 -469
  313. package/dist/lib/client/fieldset-BQTAWv2L.js +0 -65
  314. package/dist/lib/client/form-BINBiW5L.js +0 -106
  315. package/dist/lib/client/menu-DeMT08oD.js +0 -326
  316. package/dist/lib/client/menubar-C4aomSYv.js +0 -185
  317. package/dist/lib/client/meter-xSU37Q0m.js +0 -171
  318. package/dist/lib/client/navigation-menu-ZILQmdn6.js +0 -1083
  319. package/dist/lib/client/number-field-B8CsTb_8.js +0 -1035
  320. package/dist/lib/client/otp-field-DBkMcnog.js +0 -582
  321. package/dist/lib/client/popover-CQwyp-fs.js +0 -929
  322. package/dist/lib/client/popupStateMapping-C9eZl19i.js +0 -367
  323. package/dist/lib/client/preview-card-D_2Q8lpC.js +0 -625
  324. package/dist/lib/client/progress-D7r0xAC9.js +0 -188
  325. package/dist/lib/client/radio-CzGQ81z1.js +0 -299
  326. package/dist/lib/client/radio-group-DpHlBKA6.js +0 -193
  327. package/dist/lib/client/runOnceAnimationsFinish-15EM-Z4l.js +0 -48
  328. package/dist/lib/client/scroll-area-CffM4U0R.js +0 -701
  329. package/dist/lib/client/select-IFhiEg73.js +0 -1940
  330. package/dist/lib/client/slider-BCagYmGp.js +0 -921
  331. package/dist/lib/client/switch-RIJeDnvS.js +0 -308
  332. package/dist/lib/client/tabs-fOAKs7r3.js +0 -696
  333. package/dist/lib/client/toast-D2P8UqUs.js +0 -1108
  334. package/dist/lib/client/toggle-group-0Aue0owJ.js +0 -129
  335. package/dist/lib/client/toggle-momVEIBL.js +0 -138
  336. package/dist/lib/client/toolbar-Du22aKCv.js +0 -492
  337. package/dist/lib/client/tooltip-CyK61fl1.js +0 -844
  338. package/dist/lib/client/useFilteredItems-DTekHz39.js +0 -2223
  339. package/dist/lib/client/withoutComponentBinding-CcCW7fSc.js +0 -13
  340. package/dist/lib/server/TriggerFocusGuards-sbGwf45f.js +0 -63
  341. package/dist/lib/server/withoutComponentBinding-BHaWr5kU.js +0 -20
  342. package/dist/lib/types/internals/withoutComponentBinding.d.ts +0 -7
@@ -0,0 +1,16 @@
1
+ import { merge, untrack } from "solid-js";
2
+ //#region src/use-render/useRender.ts
3
+ /**
4
+ * Creates a root renderer with a native JSX fallback. The renderer is selected at
5
+ * mount; conditional roots belong inside the callback, using Solid control flow.
6
+ */
7
+ function useRender(props, state, fallback) {
8
+ return (rootProps) => {
9
+ const render = untrack(() => props.render);
10
+ if (!render) return untrack(() => fallback(rootProps));
11
+ const liveState = merge(state);
12
+ return untrack(() => render(rootProps, liveState));
13
+ };
14
+ }
15
+ //#endregion
16
+ export { useRender as t };
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  import type { AccordionItemState } from '../item/AccordionItem.js';
4
4
  export interface AccordionHeaderState extends AccordionItemState {
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import { REASONS } from '../../internals/reasons.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  import type { AccordionRootState } from '../root/AccordionRoot.js';
@@ -1,4 +1,4 @@
1
- import { type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { JSX, ValidComponent } from '@solidjs/web';
2
2
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  import type { AccordionItemState } from '../item/AccordionItem.js';
@@ -1,4 +1,4 @@
1
- import { type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { JSX, ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIChangeEventDetails } from '../../internals/createBaseUIEventDetails.js';
3
3
  import { REASONS } from '../../internals/reasons.js';
4
4
  import type { Orientation } from '../../internals/types.js';
@@ -26,13 +26,8 @@ interface AccordionRootOwnProps<Value> {
26
26
  orientation?: Orientation | undefined;
27
27
  }
28
28
  export type AccordionRootProps<Value = any, Component extends ValidComponent = 'div'> = BaseUIComponentProps<Component, AccordionRootState<Value>, AccordionRootOwnProps<Value>>;
29
- type AccordionRootIntrinsicProps<Value> = {
30
- [Component in keyof JSX.IntrinsicElements]: Omit<AccordionRootProps<Value, Component>, 'as'> & {
31
- as: Component;
32
- };
33
- }[keyof JSX.IntrinsicElements];
34
29
  /** Groups all parts of the accordion. Renders a `<div>` element by default. */
35
- export declare function AccordionRoot<Value = any>(props: AccordionRootProps<Value, 'div'> | AccordionRootIntrinsicProps<Value>): JSX.Element;
30
+ export declare function AccordionRoot<Value = any>(props: AccordionRootProps<Value, 'div'>): JSX.Element;
36
31
  export declare function AccordionRoot<Value = any, Component extends ValidComponent = 'div'>(props: AccordionRoot.Props<Value, Component>): JSX.Element;
37
32
  export type AccordionRootChangeEventReason = typeof REASONS.triggerPress | typeof REASONS.none;
38
33
  export type AccordionRootChangeEventDetails = BaseUIChangeEventDetails<AccordionRootChangeEventReason>;
@@ -1,7 +1,7 @@
1
- import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web';
2
- import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
3
- import type { BaseUIComponentProps } from '../../types/index.js';
4
- import type { AccordionItemState } from '../item/AccordionItem.js';
1
+ import type { ComponentProps, JSX, ValidComponent } from "@solidjs/web";
2
+ import { type BaseUIEventHandlerUnion } from "../../internals/composeEventHandlers.js";
3
+ import type { BaseUIComponentProps } from "../../types/index.js";
4
+ import type { AccordionItemState } from "../item/AccordionItem.js";
5
5
  export interface AccordionTriggerState extends AccordionItemState {
6
6
  }
7
7
  type TriggerEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
@@ -17,11 +17,11 @@ interface AccordionTriggerOwnProps<Component extends ValidComponent> {
17
17
  onMouseUp?: BaseUIEventHandlerUnion<TriggerEventTarget<Component>, MouseEvent> | undefined;
18
18
  onPointerDown?: BaseUIEventHandlerUnion<TriggerEventTarget<Component>, PointerEvent> | undefined;
19
19
  }
20
- export type AccordionTriggerProps<Component extends ValidComponent = 'button'> = BaseUIComponentProps<Component, AccordionTriggerState, AccordionTriggerOwnProps<Component>>;
20
+ export type AccordionTriggerProps<Component extends ValidComponent = "button"> = BaseUIComponentProps<Component, AccordionTriggerState, AccordionTriggerOwnProps<Component>>;
21
21
  /** A button that opens and closes the corresponding panel. */
22
- export declare function AccordionTrigger<Component extends ValidComponent = 'button'>(props: AccordionTrigger.Props<Component>): JSX.Element;
22
+ export declare function AccordionTrigger<Component extends ValidComponent = "button">(props: AccordionTrigger.Props<Component>): JSX.Element;
23
23
  export declare namespace AccordionTrigger {
24
24
  type State = AccordionTriggerState;
25
- type Props<Component extends ValidComponent = 'button'> = AccordionTriggerProps<Component>;
25
+ type Props<Component extends ValidComponent = "button"> = AccordionTriggerProps<Component>;
26
26
  }
27
27
  export {};
@@ -1,8 +1,7 @@
1
1
  import type { JSX, ValidComponent } from '@solidjs/web';
2
2
  import { type DialogTriggerProps, type DialogTriggerState } from '../../dialog/trigger/DialogTrigger.js';
3
3
  import type { AlertDialogHandle } from '../handle.js';
4
- export type AlertDialogTriggerProps<Payload = unknown, Component extends ValidComponent = 'button'> = Omit<DialogTriggerProps<Payload, Component>, 'as' | 'handle'> & {
5
- as?: Component | undefined;
4
+ export type AlertDialogTriggerProps<Payload = unknown, Component extends ValidComponent = 'button'> = Omit<DialogTriggerProps<Payload, Component>, 'handle'> & {
6
5
  handle?: AlertDialogHandle<Payload> | undefined;
7
6
  };
8
7
  export interface AlertDialogTriggerState extends DialogTriggerState {
@@ -3,6 +3,7 @@ import type { FieldState } from '../../internals/field-constants.js';
3
3
  import type { AnchorSide } from '../../internals/overlay/index.js';
4
4
  import { ComboboxTrigger, type ComboboxTriggerProps } from '../../combobox/trigger/ComboboxTrigger.js';
5
5
  export interface AutocompleteTriggerState extends FieldState {
6
+ readOnly: boolean;
6
7
  /** Whether the popup is open. */
7
8
  open: boolean;
8
9
  /** Whether the component should ignore user interaction. */
@@ -1,4 +1,4 @@
1
- import type { NativeComponentProps } from '../../types/index.js';
1
+ import type { BaseUIComponentProps } from '../../types/index.js';
2
2
  import type { AvatarRootState } from '../root/AvatarRoot.js';
3
3
  export interface AvatarFallbackState extends AvatarRootState {
4
4
  }
@@ -6,7 +6,7 @@ interface AvatarFallbackOwnProps {
6
6
  /** How long to wait before showing the fallback, in milliseconds. @default 0 */
7
7
  delay?: number | undefined;
8
8
  }
9
- export type AvatarFallbackProps = NativeComponentProps<'span', AvatarFallbackState, AvatarFallbackOwnProps>;
9
+ export type AvatarFallbackProps = BaseUIComponentProps<'span', AvatarFallbackState, AvatarFallbackOwnProps>;
10
10
  /** Content displayed while the image is unavailable. */
11
11
  export declare function AvatarFallback(props: AvatarFallback.Props): import("@solidjs/web").JSX.Element;
12
12
  export declare namespace AvatarFallback {
@@ -1,4 +1,6 @@
1
- import type { NativeComponentProps } from '../../types/index.js';
1
+ import type { JSX } from '@solidjs/web';
2
+ import type { BaseUIComponentProps } from '../../types/index.js';
3
+ import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
2
4
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
5
  import type { AvatarRootState, ImageLoadingStatus } from '../root/AvatarRoot.js';
4
6
  export interface AvatarImageState extends AvatarRootState {
@@ -6,10 +8,14 @@ export interface AvatarImageState extends AvatarRootState {
6
8
  }
7
9
  interface AvatarImageOwnProps {
8
10
  onLoadingStatusChange?: ((status: ImageLoadingStatus) => void) | undefined;
11
+ /** Keep the image mounted and load in place, supporting native lazy loading. @default false */
12
+ keepMounted?: boolean | undefined;
13
+ onLoad?: BaseUIEventHandlerUnion<HTMLImageElement, Event> | undefined;
14
+ onError?: BaseUIEventHandlerUnion<HTMLImageElement, ErrorEvent> | undefined;
9
15
  }
10
- export type AvatarImageProps = NativeComponentProps<'img', AvatarImageState, AvatarImageOwnProps>;
16
+ export type AvatarImageProps = BaseUIComponentProps<'img', AvatarImageState, AvatarImageOwnProps>;
11
17
  /** The image displayed after its source has loaded successfully. */
12
- export declare function AvatarImage(props: AvatarImage.Props): import("@solidjs/web").JSX.Element;
18
+ export declare function AvatarImage(props: AvatarImage.Props): JSX.Element;
13
19
  export declare namespace AvatarImage {
14
20
  type State = AvatarImageState;
15
21
  type Props = AvatarImageProps;
@@ -1,4 +1,4 @@
1
- import { type Accessor } from 'solid-js';
1
+ import { type Accessor, type Setter } from 'solid-js';
2
2
  import type { ImageLoadingStatus } from '../root/AvatarRoot.js';
3
3
  export interface ImageLoadingOptions {
4
4
  src: string | undefined;
@@ -6,5 +6,6 @@ export interface ImageLoadingOptions {
6
6
  sizes: string | undefined;
7
7
  crossorigin: string | undefined;
8
8
  referrerpolicy: ReferrerPolicy | undefined;
9
+ keepMounted: boolean;
9
10
  }
10
- export declare function createImageLoadingStatus(options: Accessor<ImageLoadingOptions>): Accessor<ImageLoadingStatus>;
11
+ export declare function createImageLoadingStatus(options: Accessor<ImageLoadingOptions>, element: Accessor<HTMLImageElement | undefined>, onInitiallyLoaded: () => void): [Accessor<ImageLoadingStatus>, Setter<ImageLoadingStatus>];
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export type ImageLoadingStatus = 'idle' | 'loading' | 'loaded' | 'error';
4
4
  export interface AvatarRootState {
@@ -1,4 +1,4 @@
1
- import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { ComponentProps, JSX, ValidComponent } from '@solidjs/web';
2
2
  import { type BaseUIEventHandlerUnion } from '../internals/composeEventHandlers.js';
3
3
  import type { BaseUIComponentProps } from '../types/index.js';
4
4
  export interface ButtonState {
@@ -1,7 +1,9 @@
1
1
  import { type Accessor } from 'solid-js';
2
2
  import type { BaseUIChangeEventDetails } from '../types/index.js';
3
+ import type { LabelableContextValue } from '../internals/labelable-provider/LabelableContext.js';
3
4
  export interface RegisteredCheckbox {
4
5
  token: symbol;
6
+ id: Accessor<string>;
5
7
  disabled: Accessor<boolean>;
6
8
  element: Accessor<HTMLElement | undefined>;
7
9
  input: Accessor<HTMLInputElement | undefined>;
@@ -12,7 +14,7 @@ export interface CheckboxGroupParentContextValue {
12
14
  id: string;
13
15
  checked: Accessor<boolean>;
14
16
  indeterminate: Accessor<boolean>;
15
- ariaControls: Accessor<string>;
17
+ ariaControls: Accessor<string | undefined>;
16
18
  changeParent: (details: BaseUIChangeEventDetails<'none'>) => boolean;
17
19
  changeChild: (value: string, checked: boolean, details: BaseUIChangeEventDetails<'none'>) => boolean;
18
20
  }
@@ -20,6 +22,7 @@ export interface CheckboxGroupContextValue {
20
22
  allValues: Accessor<string[] | undefined>;
21
23
  disabled: Accessor<boolean>;
22
24
  fieldControlSource: symbol;
25
+ registerControlId: LabelableContextValue['registerControlId'];
23
26
  getValue: () => string[];
24
27
  parent: CheckboxGroupParentContextValue;
25
28
  registerCheckbox: (checkbox: RegisteredCheckbox) => () => void;
@@ -1,4 +1,4 @@
1
- import { type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { JSX, ValidComponent } from '@solidjs/web';
2
2
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  import type { CollapsibleRootState } from '../root/CollapsibleRoot.js';
@@ -1,4 +1,4 @@
1
- import { type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { JSX, ValidComponent } from '@solidjs/web';
2
2
  import { REASONS } from '../../internals/reasons.js';
3
3
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
4
4
  import type { BaseUIChangeEventDetails, BaseUIComponentProps } from '../../types/index.js';
@@ -1,4 +1,4 @@
1
- import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web';
1
+ import type { ComponentProps, JSX, ValidComponent } from '@solidjs/web';
2
2
  import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  import type { CollapsibleRootState } from '../root/CollapsibleRoot.js';
@@ -5,7 +5,9 @@ export interface ComboboxChipState {
5
5
  disabled: boolean;
6
6
  }
7
7
  interface ComboboxChipOwnProps {
8
+ onContextMenu?: BaseUIEventHandlerUnion<HTMLElement, MouseEvent> | undefined;
8
9
  onKeyDown?: BaseUIEventHandlerUnion<HTMLElement, KeyboardEvent> | undefined;
10
+ onMouseDown?: BaseUIEventHandlerUnion<HTMLElement, MouseEvent> | undefined;
9
11
  }
10
12
  export type ComboboxChipProps<Component extends ValidComponent = 'div'> = BaseUIComponentProps<Component, ComboboxChipState, ComboboxChipOwnProps>;
11
13
  /** An individual chip representing one value in a multiselectable input. */
@@ -27,3 +27,5 @@ export type * from './clear/ComboboxClear.js';
27
27
  export type * from './separator/ComboboxSeparator.js';
28
28
  export type * from './types.js';
29
29
  export type { ComboboxFilterOptions, Filter as ComboboxFilter, } from './root/utils/useFilter.js';
30
+ export { createComboboxItems } from './items/createItems.js';
31
+ export type { ComboboxItemCollection, ComboboxPrimitiveValue, CreateComboboxItemsOptions } from './items/createItems.js';
@@ -26,3 +26,4 @@ export { ComboboxClear as Clear } from './clear/ComboboxClear.js';
26
26
  export { ComboboxSeparator as Separator } from './separator/ComboboxSeparator.js';
27
27
  export { useFilter } from './root/utils/useFilter.js';
28
28
  export { useFilteredItems } from './root/utils/useFilteredItems.js';
29
+ export { createComboboxItems as createItems } from './items/createItems.js';
@@ -0,0 +1,42 @@
1
+ import { type ItemEqualityComparer } from '../../internals/itemEquality.js';
2
+ import { type ItemGroup } from '../../internals/valueLabel.js';
3
+ export type ComboboxPrimitiveValue = string | number | bigint | boolean;
4
+ type RemoveIndexSignature<T> = {
5
+ [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: T[K];
6
+ };
7
+ type HasGroupShape<T> = T extends object ? 'items' extends keyof RemoveIndexSignature<T> ? [Extract<NonNullable<T['items']>, readonly unknown[]>] extends [never] ? never[] extends NonNullable<T['items']> ? true : never : true : never : never;
8
+ type RejectGroups<T> = 0 extends 1 & T ? unknown : true extends HasGroupShape<T> ? 'Base UI: items passed to createItems() cannot have an `items` array property because it marks a group. Rename the field or cast the data.' : unknown;
9
+ type ItemsData<T> = (Extract<T, {
10
+ items: readonly unknown[];
11
+ }> extends never ? readonly T[] : never) | readonly {
12
+ items: ReadonlyArray<T>;
13
+ }[];
14
+ /** Opaque source collection. Pass directly to Combobox.Root's items prop. */
15
+ export declare class ComboboxItemCollection<in out Item, Value = Item> {
16
+ private constructor();
17
+ private readonly __itemCollectionBrand;
18
+ }
19
+ export interface CreateComboboxItemsOptions<Item, Value extends ComboboxPrimitiveValue = ComboboxPrimitiveValue> {
20
+ /** A unique non-null primitive ID. Use stable application IDs. */
21
+ getValue: (item: Item) => Value;
22
+ /** The label used for selection display and default filtering. */
23
+ getLabel: (item: Item) => string;
24
+ }
25
+ export interface ItemCollection<Item, Value> {
26
+ data: readonly Item[] | readonly ItemGroup<Item>[] | undefined;
27
+ value(item: Item): Value;
28
+ itemLabel(item: Item): string;
29
+ hasValue(value: Value, compare: ItemEqualityComparer<Value>): boolean;
30
+ label(value: Value, compare: ItemEqualityComparer<Value>, fallback?: (value: Value) => string): string;
31
+ }
32
+ /**
33
+ * Creates a lazy flat or grouped collection. Use a memo for data that changes.
34
+ * Accessors receive leaf items; remove nullish entries before passing data.
35
+ * Items cannot have an `items` array property because that marks a group.
36
+ * Pass the result to Root, and pass each derived ID to Item's `value` prop.
37
+ */
38
+ export declare function createComboboxItems<Item, Value extends ComboboxPrimitiveValue>(data: readonly {
39
+ items: ReadonlyArray<Item>;
40
+ }[] & RejectGroups<Item>, options: CreateComboboxItemsOptions<Item, Value>): ComboboxItemCollection<Item, Value>;
41
+ export declare function createComboboxItems<Item, Value extends ComboboxPrimitiveValue>(data: (ItemsData<Item> & RejectGroups<Item>) | undefined, options: CreateComboboxItemsOptions<Item, Value>): ComboboxItemCollection<Item, Value>;
42
+ export {};
@@ -3,10 +3,12 @@ import type { JSX } from '@solidjs/web';
3
3
  import { type BaseUIChangeEventDetails, type BaseUIGenericEventDetails } from '../../internals/createBaseUIEventDetails.js';
4
4
  import { type ItemEqualityComparer } from '../../internals/itemEquality.js';
5
5
  import { REASONS } from '../../internals/reasons.js';
6
+ import type { ItemCollection } from '../items/createItems.js';
6
7
  import type { ComboboxAutoComplete, ComboboxAutoHighlight, ComboboxItemFilter, ComboboxItemsInput, ComboboxSelectionMode } from '../types.js';
7
8
  export type ComboboxRootChangeEventReason = typeof REASONS.triggerPress | typeof REASONS.inputPress | typeof REASONS.outsidePress | typeof REASONS.itemPress | typeof REASONS.closePress | typeof REASONS.escapeKey | typeof REASONS.listNavigation | typeof REASONS.focusOut | typeof REASONS.inputChange | typeof REASONS.inputClear | typeof REASONS.clearPress | typeof REASONS.chipRemovePress | typeof REASONS.cancelOpen | typeof REASONS.none;
8
9
  export type ComboboxRootChangeEventDetails = BaseUIChangeEventDetails<ComboboxRootChangeEventReason> & {
9
10
  preventUnmountOnClose(): void;
11
+ isItemPress?: boolean | undefined;
10
12
  };
11
13
  export type ComboboxHighlightEventReason = typeof REASONS.keyboard | typeof REASONS.pointer | typeof REASONS.none;
12
14
  export type ComboboxHighlightEventDetails = BaseUIGenericEventDetails<ComboboxHighlightEventReason, {
@@ -20,6 +22,8 @@ export interface AriaComboboxState {
20
22
  }
21
23
  type ComboboxItemValueType<Item, Mode extends ComboboxSelectionMode> = Mode extends 'multiple' ? Item[] : Item;
22
24
  export interface AriaComboboxProps<Value, Mode extends ComboboxSelectionMode = 'none'> {
25
+ itemCollection?: ItemCollection<Value, Value> | undefined;
26
+ filterQuery?: string | undefined;
23
27
  children?: JSX.Element;
24
28
  /** How the combobox remembers what was picked. */
25
29
  selectionMode: Mode;
@@ -1,9 +1,10 @@
1
+ import type { ComboboxItemCollection } from '../items/createItems.js';
1
2
  import type { JSX } from '@solidjs/web';
2
3
  import type { ItemEqualityComparer } from '../../internals/itemEquality.js';
3
4
  import type { ComboboxItemFilter, ComboboxItemsInput } from '../types.js';
4
5
  import { type AriaComboboxState, type ComboboxHighlightEventDetails, type ComboboxHighlightEventReason, type ComboboxRootActions, type ComboboxRootChangeEventDetails, type ComboboxRootChangeEventReason } from './AriaCombobox.js';
5
6
  type ComboboxValueType<Value, Multiple extends boolean | undefined> = Multiple extends true ? Value[] : Value;
6
- export interface ComboboxRootProps<Value, Multiple extends boolean | undefined = false> {
7
+ export interface ComboboxRootProps<Value, Multiple extends boolean | undefined = false, Item = Value> {
7
8
  children?: JSX.Element;
8
9
  /**
9
10
  * Whether multiple items can be selected.
@@ -109,23 +110,26 @@ export interface ComboboxRootProps<Value, Multiple extends boolean | undefined =
109
110
  * @default false
110
111
  */
111
112
  grid?: boolean | undefined;
112
- /** The items to display, either a flat array or an array of groups. */
113
- items?: ComboboxItemsInput<Value> | undefined;
113
+ /** The items to display: a flat array, grouped array, or opaque createItems collection. */
114
+ items?: ComboboxItemsInput<Value> | ComboboxItemCollection<Item, Value> | undefined;
114
115
  /**
115
116
  * Filtered items to display in the list. When provided, the list uses these instead of
116
- * filtering `items` internally. Use with the `useFilter()` helper.
117
+ * filtering `items` internally. With createItems, these are source records, not derived IDs.
118
+ * Use with the `useFilter()` helper.
117
119
  */
118
- filteredItems?: ComboboxItemsInput<Value> | undefined;
120
+ filteredItems?: ComboboxItemsInput<Item> | undefined;
119
121
  /** Filter function used to match items against the input query. */
120
- filter?: ComboboxItemFilter<Value> | null | undefined;
122
+ filter?: ComboboxItemFilter<Item> | null | undefined;
121
123
  /**
122
124
  * Converts an object item value to the string shown in the input.
123
125
  * A `{ value, label }` shape uses its label automatically.
126
+ * With createItems, receives the derived value as a fallback for missing source records.
124
127
  */
125
128
  itemToStringLabel?: ((itemValue: Value) => string) | undefined;
126
129
  /**
127
130
  * Converts an object item value to the string submitted with a form.
128
131
  * A `{ value, label }` shape uses its value automatically.
132
+ * With createItems, receives the derived value.
129
133
  */
130
134
  itemToStringValue?: ((itemValue: Value) => string) | undefined;
131
135
  /**
@@ -165,12 +169,17 @@ export interface ComboboxRootState extends AriaComboboxState {
165
169
  * Groups all parts of the combobox.
166
170
  * Doesn't render its own HTML element.
167
171
  */
168
- export declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false>(props: ComboboxRoot.Props<Value, Multiple>): JSX.Element;
172
+ export declare function ComboboxRoot<Items extends readonly {
173
+ items: readonly unknown[];
174
+ }[], Multiple extends boolean | undefined = false>(props: Omit<ComboboxRootProps<Items[number]['items'][number], Multiple>, 'items'> & {
175
+ items: Items;
176
+ }): JSX.Element;
177
+ export declare function ComboboxRoot<Value, Multiple extends boolean | undefined = false, Item = Value>(props: ComboboxRoot.Props<Value, Multiple, Item>): JSX.Element;
169
178
  export type { ComboboxRootActions, ComboboxRootChangeEventDetails, ComboboxRootChangeEventReason, };
170
179
  export type ComboboxRootHighlightEventReason = ComboboxHighlightEventReason;
171
180
  export type ComboboxRootHighlightEventDetails = ComboboxHighlightEventDetails;
172
181
  export declare namespace ComboboxRoot {
173
- type Props<Value, Multiple extends boolean | undefined = false> = ComboboxRootProps<Value, Multiple>;
182
+ type Props<Value, Multiple extends boolean | undefined = false, Item = Value> = ComboboxRootProps<Value, Multiple, Item>;
174
183
  type State = ComboboxRootState;
175
184
  type Actions = ComboboxRootActions;
176
185
  type ChangeEventReason = ComboboxRootChangeEventReason;
@@ -28,6 +28,8 @@ export interface ComboboxRootContextValue<Value = unknown> {
28
28
  listEmpty: Accessor<boolean>;
29
29
  /** Item values addressed by index, whether they come from `items` or from rendered items. */
30
30
  itemValues: Accessor<ReadonlyArray<Value>>;
31
+ itemLabels: Accessor<Array<string | null>>;
32
+ hasItemCollection: Accessor<boolean>;
31
33
  selectedValue: Accessor<Value | Value[] | null>;
32
34
  inputValue: Accessor<string>;
33
35
  hasSelectedValue: Accessor<boolean>;
@@ -4,6 +4,7 @@ import type { AnchorSide } from '../../internals/overlay/createAnchorPositioning
4
4
  import type { ComboboxRootChangeEventDetails } from '../root/AriaCombobox.js';
5
5
  import { ComboboxItemRegistry } from './ComboboxItemRegistry.js';
6
6
  export interface ComboboxStoreOptions extends PopupStoreOptions<ComboboxRootChangeEventDetails> {
7
+ inputOwnsFormValue?: boolean;
7
8
  }
8
9
  /**
9
10
  * Combobox popup state shared by every part.
@@ -4,6 +4,7 @@ import type { FieldState } from '../../internals/field-constants.js';
4
4
  import { type AnchorSide } from '../../internals/overlay/index.js';
5
5
  import type { BaseUIComponentProps } from '../../types/index.js';
6
6
  export interface ComboboxTriggerState extends FieldState {
7
+ readOnly: boolean;
7
8
  open: boolean;
8
9
  disabled: boolean;
9
10
  popupSide: AnchorSide | null;
@@ -4,4 +4,4 @@ import type { BaseUIEvent } from '../../types/index.js';
4
4
  * Routes a press anywhere in the input's surroundings back to the input, so clicking the padding
5
5
  * of an input group or the empty space beside the chips focuses and opens the combobox.
6
6
  */
7
- export declare function handleInputPress(event: BaseUIEvent<MouseEvent>, context: ComboboxRootContextValue<never>, disabled: boolean, readOnly: boolean, shouldIgnoreTarget?: ((target: Element | null) => boolean) | undefined): void;
7
+ export declare function handleInputPress(event: BaseUIEvent<MouseEvent>, context: ComboboxRootContextValue<never>, disabled: boolean, shouldIgnoreTarget?: ((target: Element | null) => boolean) | undefined): void;
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  export interface DialogBackdropState {
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface DialogDescriptionState {
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface DialogTitleState {
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  export interface DialogViewportState {
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { TransitionStatus } from '../../internals/stateAttributesMapping.js';
3
3
  import type { BaseUIComponentProps } from '../../types/index.js';
4
4
  export interface DrawerBackdropState {
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface DrawerContentState {
4
4
  }
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface DrawerIndentState {
4
4
  /** Whether any drawer within the nearest `<Drawer.Provider>` is open. */
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface DrawerIndentBackgroundState {
4
4
  /** Whether any drawer within the nearest `<Drawer.Provider>` is open. */
@@ -2,12 +2,12 @@ import { type ComponentProps, type JSX, type ValidComponent } from '@solidjs/web
2
2
  import { type BaseUIEventHandlerUnion } from '../../internals/composeEventHandlers.js';
3
3
  import { createChangeEventDetails } from '../../internals/createBaseUIEventDetails.js';
4
4
  import { REASONS } from '../../internals/reasons.js';
5
- import type { BaseUIComponentProps } from '../../types/index.js';
5
+ import type { BaseUIComponentProps, BaseUIEvent } from '../../types/index.js';
6
6
  import type { FieldRootState } from '../root/FieldRoot.js';
7
7
  export interface FieldControlState extends FieldRootState {
8
8
  }
9
9
  type FieldControlEventTarget<Component extends ValidComponent> = ComponentProps<Component> extends {
10
- onInput?: JSX.EventHandlerUnion<infer Target, InputEvent> | undefined;
10
+ onInput?: JSX.InputEventHandlerUnion<infer Target, InputEvent> | undefined;
11
11
  } ? Target extends HTMLElement ? Target : HTMLElement : HTMLElement;
12
12
  interface FieldControlOwnProps<Component extends ValidComponent> {
13
13
  defaultValue?: string | number | string[] | undefined;
@@ -16,9 +16,9 @@ interface FieldControlOwnProps<Component extends ValidComponent> {
16
16
  name?: string | undefined;
17
17
  onValueChange?: ((value: string, eventDetails: FieldControlChangeEventDetails) => void) | undefined;
18
18
  value?: string | number | string[] | undefined;
19
- onBlur?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, FocusEvent> | undefined;
20
- onFocus?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, FocusEvent> | undefined;
21
- onInput?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, InputEvent> | undefined;
19
+ onBlur?: JSX.FocusEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
20
+ onFocus?: JSX.FocusEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<FocusEvent>> | undefined;
21
+ onInput?: JSX.InputEventHandlerUnion<FieldControlEventTarget<Component>, BaseUIEvent<InputEvent>> | undefined;
22
22
  onKeyDown?: BaseUIEventHandlerUnion<FieldControlEventTarget<Component>, KeyboardEvent> | undefined;
23
23
  }
24
24
  export type FieldControlProps<Component extends ValidComponent = 'input'> = BaseUIComponentProps<Component, FieldControlState, FieldControlOwnProps<Component>>;
@@ -15,7 +15,7 @@ interface FieldRootOwnProps {
15
15
  invalid?: boolean | undefined;
16
16
  name?: string | undefined;
17
17
  touched?: boolean | undefined;
18
- validate?: ((value: unknown, formValues: Form.Values) => string | string[] | null | Promise<string | string[] | null>) | undefined;
18
+ validate?: ((value: unknown, formValues: Form.Values) => string | string[] | null | void | Promise<string | string[] | null | void>) | undefined;
19
19
  validationDebounceTime?: number | undefined;
20
20
  validationMode?: Form.ValidationMode | undefined;
21
21
  }
@@ -4,7 +4,7 @@ import type { FormContextValue } from '../../internals/form-context/FormContext.
4
4
  export type NativeFieldControl = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
5
5
  export interface FieldValidationController {
6
6
  commit: (value: unknown, revalidate?: boolean) => void;
7
- change: (value: unknown) => void;
7
+ change: (value: unknown, cancelPending?: boolean) => void;
8
8
  registerInput: (source: symbol, element: NativeFieldControl, getControl?: () => HTMLElement | null) => () => void;
9
9
  getInputControl: () => HTMLElement | null;
10
10
  setActiveInputSource: (source: symbol | null) => void;
@@ -13,10 +13,11 @@ export interface CreateFieldValidationOptions {
13
13
  form: FormContextValue;
14
14
  getValidityData: () => FieldValidityData;
15
15
  publish: (data: FieldValidityData) => void;
16
- validate: () => ((value: unknown, formValues: Record<string, unknown>) => string | string[] | null | Promise<string | string[] | null>) | undefined;
16
+ validate: () => ((value: unknown, formValues: Record<string, unknown>) => string | string[] | null | void | Promise<string | string[] | null | void>) | undefined;
17
17
  validationDebounceTime: Accessor<number>;
18
18
  state: Accessor<FieldState>;
19
19
  isMarkedDirty: () => boolean;
20
20
  shouldValidateOnChange: () => boolean;
21
+ validationMode: FormContextValue['validationMode'];
21
22
  }
22
23
  export declare function createFieldValidation(options: CreateFieldValidationOptions): FieldValidationController;
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface FieldsetLegendState {
4
4
  /** Whether the component should ignore user interaction. */
@@ -1,4 +1,4 @@
1
- import { type ValidComponent } from '@solidjs/web';
1
+ import type { ValidComponent } from '@solidjs/web';
2
2
  import type { BaseUIComponentProps } from '../../types/index.js';
3
3
  export interface FieldsetRootState {
4
4
  /** Whether the component should ignore user interaction. */
@@ -38,4 +38,5 @@ export * from './toolbar/index.js';
38
38
  export * from './tooltip/index.js';
39
39
  export * from './toggle/index.js';
40
40
  export * from './toggle-group/index.js';
41
+ export * from './use-render/index.js';
41
42
  export type * from './types/index.js';
@@ -3,9 +3,16 @@ import type { JSX } from '@solidjs/web';
3
3
  import type { BaseUIEvent } from '../types/index.js';
4
4
  export type BaseUIEventHandlerUnion<T, EventType extends Event> = JSX.EventHandlerUnion<T, BaseUIEvent<EventType>>;
5
5
  export type EventHandlerSource<T, EventType extends Event> = Accessor<BaseUIEventHandlerUnion<T, EventType> | undefined>;
6
+ interface LiveEventHandler<T, EventType extends Event> {
7
+ readonly getHandler: EventHandlerSource<T, EventType>;
8
+ }
6
9
  /**
7
- * Composes native event handlers in argument order. Calling
10
+ * Composes handlers in argument order, enhancing the native event before dispatch. Calling
8
11
  * `event.preventBaseUIHandler()` prevents the remaining handlers from running.
12
+ * Use `liveEventHandler` for replaceable callback props instead of snapshotting them.
9
13
  */
10
- export declare function composeEventHandlers<T, EventType extends Event>(...getHandlers: Array<EventHandlerSource<T, EventType>>): JSX.EventHandler<T, BaseUIEvent<EventType>>;
14
+ export declare function composeEventHandlers<T, EventType extends Event>(...handlers: Array<BaseUIEventHandlerUnion<T, EventType> | LiveEventHandler<T, EventType> | undefined>): JSX.EventHandler<T, EventType>;
15
+ /** Resolves a replaceable handler at dispatch time; pass the adapter to `composeEventHandlers`. */
16
+ export declare function liveEventHandler<T, EventType extends Event>(getHandler: EventHandlerSource<T, EventType>): LiveEventHandler<T, EventType>;
11
17
  export declare function makeEventPreventable<EventType extends Event>(event: EventType): BaseUIEvent<EventType>;
18
+ export {};
@@ -6,4 +6,4 @@ export interface TransitionStatusState {
6
6
  transitionStatus: Accessor<TransitionStatus>;
7
7
  }
8
8
  /** Tracks mount retention and CSS starting/ending states for a visibility accessor. */
9
- export declare function createTransitionStatus(open: Accessor<boolean>): TransitionStatusState;
9
+ export declare function createTransitionStatus(open: Accessor<boolean>, animateInitialOpen?: boolean): TransitionStatusState;
@@ -25,6 +25,7 @@ export interface FieldRootContextValue {
25
25
  validation: FieldValidationController;
26
26
  }
27
27
  declare const MISSING_CONTEXT: unique symbol;
28
+ export declare const DEFAULT_FIELD_ROOT_CONTEXT: FieldRootContextValue;
28
29
  export declare const FieldRootContext: import("solid-js").Context<FieldRootContextValue | typeof MISSING_CONTEXT>;
29
30
  export declare function useFieldRootContext(optional: true): FieldRootContextValue;
30
31
  export declare function useFieldRootContext(optional?: false): FieldRootContextValue;