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
@@ -1,12 +1,13 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { t as useRender } from "../useRender-CryVdCjs.js";
2
3
  import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
3
4
  import { N as triggerPress, w as none } from "../internals/reasons.js";
4
5
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
5
- import { n as createCollapsibleTransitionStatus, t as createCollapsiblePanel } from "../createCollapsiblePanel-DTyVJz0G.js";
6
+ import { n as createCollapsibleTransitionStatus, t as createCollapsiblePanel } from "../createCollapsiblePanel-B45kTe6v.js";
6
7
  import { createChangeEventDetails } from "../internals/createBaseUIEventDetails.js";
7
8
  import { transitionStatusMapping } from "../internals/stateAttributesMapping.js";
8
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
9
- import { Dynamic, memo, mergeProps, ssrElement } from "@solidjs/web";
9
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
10
+ import { memo, mergeProps, ssrElement } from "@solidjs/web";
10
11
  import { Show, createContext, createEffect, createMemo, createSignal, createUniqueId, flush, omit, onCleanup, untrack, useContext } from "solid-js";
11
12
  //#region src/collapsible/root/CollapsibleRootContext.ts
12
13
  var MISSING_CONTEXT = Symbol("CollapsibleRootContext");
@@ -43,7 +44,7 @@ function CollapsibleRoot(props) {
43
44
  const [uncontrolledOpen, setUncontrolledOpen] = createSignal(untrack(() => rootProps.defaultOpen ?? false));
44
45
  const [registeredPanelId, setPanelIdState] = createSignal();
45
46
  const defaultPanelId = `base-ui-${createUniqueId()}`;
46
- const others = omit(allProps, "as", "class", "defaultOpen", "disabled", "onOpenChange", "open", "style");
47
+ const others = omit(allProps, "render", "class", "defaultOpen", "disabled", "onOpenChange", "open", "style");
47
48
  const open = createMemo(() => controlled ? rootProps.open ?? false : uncontrolledOpen());
48
49
  const disabled = createMemo(() => rootProps.disabled ?? false);
49
50
  const transition = createCollapsibleTransitionStatus(() => open());
@@ -68,24 +69,23 @@ function CollapsibleRoot(props) {
68
69
  flush();
69
70
  return true;
70
71
  }
72
+ const context = {
73
+ defaultPanelId,
74
+ disabled,
75
+ mounted: transition.mounted,
76
+ open,
77
+ panelId,
78
+ requestOpenChange,
79
+ setMounted: transition.setMounted,
80
+ setPanelIdState,
81
+ state,
82
+ transitionStatus: transition.transitionStatus
83
+ };
84
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
71
85
  return CollapsibleRootContext({
72
- value: {
73
- defaultPanelId,
74
- disabled,
75
- mounted: transition.mounted,
76
- open,
77
- panelId,
78
- requestOpenChange,
79
- setMounted: transition.setMounted,
80
- setPanelIdState,
81
- state,
82
- transitionStatus: transition.transitionStatus
83
- },
86
+ value: context,
84
87
  get children() {
85
- return Dynamic(mergeProps({
86
- get component() {
87
- return props.as ?? "div";
88
- },
88
+ return Render(mergeProps({
89
89
  get ["class"]() {
90
90
  return classValue();
91
91
  },
@@ -102,26 +102,23 @@ function CollapsibleRoot(props) {
102
102
  function CollapsibleTrigger(props) {
103
103
  const context = useCollapsibleRootContext();
104
104
  const internalProps = props;
105
- const others = omit(props, "as", "class", "disabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "onPointerDown", "ref", "style");
105
+ const others = omit(props, "render", "class", "disabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "onPointerDown", "ref", "style");
106
106
  const disabled = createMemo(() => props.disabled ?? context.disabled());
107
107
  const nativeButton = createMemo(() => props.nativeButton ?? true);
108
108
  const state = context.state;
109
109
  const classValue = createMemo(() => resolveClass(props.class, state()));
110
110
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
111
111
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), collapsibleTriggerStateAttributesMapping));
112
- const onClick = composeEventHandlers(() => untrack(() => disabled() ? preventInteraction : void 0), () => internalProps.onClick, () => (event) => {
112
+ const onClick = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? preventInteraction : void 0)), liveEventHandler(() => internalProps.onClick), (event) => {
113
113
  context.requestOpenChange(!context.open(), event, triggerPress);
114
114
  });
115
- const onMouseDown = composeEventHandlers(() => untrack(() => disabled() ? stopInteraction : void 0), () => internalProps.onMouseDown);
116
- const onPointerDown = composeEventHandlers(() => untrack(() => disabled() ? preventInteraction : void 0), () => internalProps.onPointerDown);
117
- const onKeyDown = composeEventHandlers(() => untrack(() => disabled() ? preventDisabledKeyDown : void 0), () => internalProps.onKeyDown, () => untrack(() => nativeButton() ? void 0 : handleNonNativeKeyDown));
118
- const onKeyUp = composeEventHandlers(() => untrack(() => disabled() ? stopInteraction : void 0), () => internalProps.onKeyUp, () => untrack(() => nativeButton() ? void 0 : handleNonNativeKeyUp));
115
+ const onMouseDown = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? stopInteraction : void 0)), liveEventHandler(() => internalProps.onMouseDown));
116
+ const onPointerDown = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? preventInteraction : void 0)), liveEventHandler(() => internalProps.onPointerDown));
117
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? preventDisabledKeyDown : void 0)), liveEventHandler(() => internalProps.onKeyDown), liveEventHandler(() => untrack(() => nativeButton() ? void 0 : handleNonNativeKeyDown)));
118
+ const onKeyUp = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? stopInteraction : void 0)), liveEventHandler(() => internalProps.onKeyUp), liveEventHandler(() => untrack(() => nativeButton() ? void 0 : handleNonNativeKeyUp)));
119
119
  const ariaDisabled = createMemo(() => nativeButton() ? disabled() ? "true" : "false" : disabled() ? "true" : void 0);
120
120
  const ariaExpanded = createMemo(() => context.open() ? "true" : "false");
121
- return Dynamic(mergeProps({
122
- get component() {
123
- return props.as ?? "button";
124
- },
121
+ return useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
125
122
  ref: [internalProps.ref],
126
123
  get ["class"]() {
127
124
  return classValue();
@@ -216,7 +213,7 @@ function CollapsiblePanel(props) {
216
213
  const id = createMemo(() => registeredId() ?? context.defaultPanelId);
217
214
  const hiddenUntilFound = createMemo(() => internalProps.hiddenUntilFound ?? false);
218
215
  const keepMounted = createMemo(() => internalProps.keepMounted ?? false);
219
- const others = omit(allProps, "as", "class", "hiddenUntilFound", "id", "keepMounted", "ref", "style");
216
+ const others = omit(allProps, "render", "class", "hiddenUntilFound", "id", "keepMounted", "ref", "style");
220
217
  const controller = createCollapsiblePanel({
221
218
  element: panelElement,
222
219
  hiddenUntilFound,
@@ -252,31 +249,27 @@ function CollapsiblePanel(props) {
252
249
  if (current.hiddenUntilFound && current.keepMounted === false && false);
253
250
  });
254
251
  onCleanup(() => setPanelElement(void 0));
255
- const commonProps = () => ({
256
- ref: [internalProps.ref, ((element) => setPanelElement(element))],
257
- id: id(),
258
- class: classValue(),
259
- style: styleValue(),
260
- hidden: hiddenValue(),
261
- ...stateAttributes(),
262
- ...others
263
- });
252
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
264
253
  return Show({
265
254
  get when() {
266
255
  return controller.shouldRender();
267
256
  },
268
257
  get children() {
269
- return Show({
270
- get when() {
271
- return props.as;
258
+ return Render(mergeProps({
259
+ ref: [internalProps.ref, (element) => setPanelElement(element)],
260
+ get id() {
261
+ return id();
262
+ },
263
+ get ["class"]() {
264
+ return classValue();
272
265
  },
273
- get fallback() {
274
- return ssrElement("div", commonProps(), void 0, true);
266
+ get style() {
267
+ return styleValue();
275
268
  },
276
- children: (component) => Dynamic(mergeProps({ get component() {
277
- return component();
278
- } }, commonProps))
279
- });
269
+ get hidden() {
270
+ return hiddenValue();
271
+ }
272
+ }, stateAttributes, others));
280
273
  }
281
274
  });
282
275
  }
@@ -1,27 +1,26 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { t as useRender } from "../useRender-CryVdCjs.js";
2
3
  import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
3
4
  import { E as pointer, S as listNavigation, b as keyboard, n as chipRemovePress, w as none } from "../internals/reasons.js";
4
5
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
5
6
  import { createChangeEventDetails } from "../internals/createBaseUIEventDetails.js";
6
7
  import { transitionStatusMapping } from "../internals/stateAttributesMapping.js";
7
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
8
- import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-DCHzXWZU.js";
9
- import { A as getFilter, C as getIndexAfterChipRemoval, D as ComboboxTrigger, E as useRequiredComboboxChipsContext, M as resolveMultipleLabels, N as resolveSelectedLabel, O as AriaCombobox, P as stringifyAsLabel, S as getChipNavigationKeys, T as ComboboxChipsContext, _ as ComboboxClear, a as ComboboxItem, b as handleInputPress, c as ComboboxGroup, d as ComboboxPositioner, f as ComboboxBackdrop, g as ComboboxCollection, h as ComboboxList, i as ComboboxRow, j as hasNullItemLabel, k as useComboboxRootContext, l as ComboboxArrow, m as ComboboxStatus, n as ComboboxSeparator, o as useComboboxItemContext, p as ComboboxPortal, r as ComboboxEmpty, s as ComboboxGroupLabel, t as useFilteredItems, u as ComboboxPopup, v as ComboboxIcon, w as ComboboxChipRegistry, x as ComboboxInput, y as ComboboxInputGroup } from "../useFilteredItems-DvuctLt3.js";
10
- import { t as createTransitionStatus } from "../createTransitionStatus-BTlrerSS.js";
8
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
9
+ import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-CYq38H8J.js";
10
+ import { A as getFilter, C as getIndexAfterChipRemoval, D as ComboboxTrigger, E as useRequiredComboboxChipsContext, F as stringifyAsLabel, M as hasNullItemLabel, N as resolveMultipleLabels, O as AriaCombobox, P as resolveSelectedLabel, S as getChipNavigationKeys, T as ComboboxChipsContext, _ as ComboboxClear, a as ComboboxItem, b as handleInputPress, c as ComboboxGroup, d as ComboboxPositioner, f as ComboboxBackdrop, g as ComboboxCollection, h as ComboboxList, i as ComboboxRow, j as flattenItems, k as useComboboxRootContext, l as ComboboxArrow, m as ComboboxStatus, n as ComboboxSeparator, o as useComboboxItemContext, p as ComboboxPortal, r as ComboboxEmpty, s as ComboboxGroupLabel, t as useFilteredItems, u as ComboboxPopup, v as ComboboxIcon, w as ComboboxChipRegistry, x as ComboboxInput, y as ComboboxInputGroup } from "../useFilteredItems-BmhL0nf1.js";
11
+ import { t as createTransitionStatus } from "../createTransitionStatus-184v7j3-.js";
11
12
  import { a as stopButtonInteraction, n as handleNonNativeButtonKeyUp, r as preventButtonInteraction, t as handleNonNativeButtonKeyDown } from "../buttonSemantics-BSwDxJhh.js";
12
13
  import { n as useDirection } from "../DirectionContext-YORWLF08.js";
13
14
  import { fieldStateAttributesMapping } from "../internals/field-constants.js";
14
- import { n as isSolidAccessor, o as findItemIndex } from "../mergeStyleValue-Db8bRCM4.js";
15
- import { r as useLabelableContext } from "../LabelableContext-DZP3rgAY.js";
16
- import { Dynamic, mergeProps } from "@solidjs/web";
15
+ import { a as findItemIndex, i as defaultItemEquality, r as compareItemEquality, t as isSolidAccessor } from "../isSolidAccessor-CZpzAH5l.js";
16
+ import { r as useLabelableContext } from "../LabelableContext-BTeF0IWb.js";
17
+ import { memo, mergeProps, ssrElement } from "@solidjs/web";
17
18
  import { Show, createContext, createEffect, createMemo, createSignal, flush, omit, onCleanup, untrack, useContext } from "solid-js";
18
19
  //#region src/combobox/root/ComboboxRoot.tsx
19
- /**
20
- * Groups all parts of the combobox.
21
- * Doesn't render its own HTML element.
22
- */
23
- function ComboboxRoot(props) {
24
- const others = omit(props, "multiple", "value", "defaultValue", "onValueChange", "autoComplete");
20
+ function ComboboxRoot(rawProps) {
21
+ const props = rawProps;
22
+ const others = omit(props, "multiple", "value", "defaultValue", "onValueChange", "autoComplete", "items");
23
+ const collection = createMemo(() => props.items && !Array.isArray(props.items) ? props.items : void 0);
25
24
  return AriaCombobox(mergeProps({
26
25
  get selectionMode() {
27
26
  return props.multiple ? "multiple" : "single";
@@ -37,6 +36,14 @@ function ComboboxRoot(props) {
37
36
  },
38
37
  get formAutoComplete() {
39
38
  return props.autoComplete;
39
+ },
40
+ get items() {
41
+ return memo(() => {
42
+ return !!collection();
43
+ })() ? collection().data : props.items;
44
+ },
45
+ get itemCollection() {
46
+ return collection();
40
47
  }
41
48
  }, others));
42
49
  }
@@ -58,7 +65,7 @@ function ComboboxLabel(props) {
58
65
  const classValue = createMemo(() => resolveClass(props.class, state()));
59
66
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
60
67
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
61
- const others = omit(allProps, "as", "class", "id", "onClick", "onPointerDown", "ref", "style");
68
+ const others = omit(allProps, "render", "class", "id", "onClick", "onPointerDown", "ref", "style");
62
69
  function focusControl(event) {
63
70
  const target = event.composedPath()[0];
64
71
  if (target instanceof Element && target.closest("button,input,select,textarea,a[href]")) return;
@@ -68,8 +75,8 @@ function ComboboxLabel(props) {
68
75
  function preventPointerFocus(event) {
69
76
  event.preventDefault();
70
77
  }
71
- const onClick = composeEventHandlers(() => internalProps.onClick, () => focusControl);
72
- const onPointerDown = composeEventHandlers(() => internalProps.onPointerDown, () => preventPointerFocus);
78
+ const onClick = composeEventHandlers(liveEventHandler(() => internalProps.onClick), focusControl);
79
+ const onPointerDown = composeEventHandlers(liveEventHandler(() => internalProps.onPointerDown), preventPointerFocus);
73
80
  createEffect(id, (currentId) => {
74
81
  context.store.setLabelId(currentId);
75
82
  const unregister = labelable.registerLabelId(currentId);
@@ -78,10 +85,7 @@ function ComboboxLabel(props) {
78
85
  if (untrack(() => context.store.labelId()) === currentId) context.store.setLabelId(void 0);
79
86
  };
80
87
  });
81
- return Dynamic(mergeProps({
82
- get component() {
83
- return props.as ?? "div";
84
- },
88
+ return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
85
89
  ref: [internalProps.ref],
86
90
  get id() {
87
91
  return id();
@@ -108,8 +112,9 @@ function ComboboxValue(props) {
108
112
  const child = props.children;
109
113
  if (typeof child === "function") return isSolidAccessor(child) ? untrack(() => child()) : child(context.selectedValue());
110
114
  if (child != null) return child;
111
- if (!context.hasSelectedValue() && props.placeholder != null && !hasNullItemLabel(context.items())) return props.placeholder;
115
+ if (!context.hasSelectedValue() && props.placeholder != null && (context.hasItemCollection() || !hasNullItemLabel(context.items()))) return props.placeholder;
112
116
  const current = context.selectedValue();
117
+ if (context.hasItemCollection() && current == null) return "";
113
118
  if (context.multiple() && Array.isArray(current)) return resolveMultipleLabels(current, context.items(), context.itemToStringLabel());
114
119
  return resolveSelectedLabel(current, context.items(), context.itemToStringLabel());
115
120
  });
@@ -130,7 +135,7 @@ function ComboboxItemIndicator(props) {
130
135
  const classValue = createMemo(() => resolveClass(props.class, state()));
131
136
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
132
137
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), transitionStatusMapping));
133
- const others = omit(allProps, "as", "class", "keepMounted", "ref", "style");
138
+ const others = omit(allProps, "render", "class", "keepMounted", "ref", "style");
134
139
  let element;
135
140
  createEffect(() => ({
136
141
  selected: item.selected(),
@@ -144,15 +149,13 @@ function ComboboxItemIndicator(props) {
144
149
  }, controller.signal);
145
150
  return () => controller.abort();
146
151
  });
152
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
147
153
  return Show({
148
154
  get when() {
149
155
  return shouldRender();
150
156
  },
151
157
  get children() {
152
- return Dynamic(mergeProps({
153
- get component() {
154
- return props.as ?? "span";
155
- },
158
+ return Render(mergeProps({
156
159
  ref: [((value) => element = value), internalProps.ref],
157
160
  "aria-hidden": "true",
158
161
  get ["class"]() {
@@ -179,8 +182,8 @@ function ComboboxChips(props) {
179
182
  const state = {};
180
183
  const classValue = createMemo(() => resolveClass(props.class, state));
181
184
  const styleValue = createMemo(() => resolveStyle(props.style, state));
182
- const others = omit(allProps, "as", "class", "onMouseDown", "ref", "style");
183
- const onMouseDown = composeEventHandlers(() => internalProps.onMouseDown, () => (event) => handleInputPress(event, context, context.disabled(), context.readOnly()));
185
+ const others = omit(allProps, "render", "class", "onMouseDown", "ref", "style");
186
+ const onMouseDown = composeEventHandlers(liveEventHandler(() => internalProps.onMouseDown), (event) => handleInputPress(event, context, context.disabled()));
184
187
  createEffect(() => context.store.open(), (open) => {
185
188
  if (open) setHighlightedChipIndex(void 0);
186
189
  });
@@ -188,6 +191,7 @@ function ComboboxChips(props) {
188
191
  onCleanup(() => {
189
192
  if (context.store.chipsContainerElement === container) context.store.chipsContainerElement = null;
190
193
  });
194
+ const Render = useRender(props, () => state, (props) => ssrElement("div", props, void 0, true));
191
195
  return ComboboxChipsContext({
192
196
  value: {
193
197
  highlightedChipIndex,
@@ -195,10 +199,7 @@ function ComboboxChips(props) {
195
199
  chips
196
200
  },
197
201
  get children() {
198
- return Dynamic(mergeProps({
199
- get component() {
200
- return props.as ?? "div";
201
- },
202
+ return Render(mergeProps({
202
203
  ref: [((element) => {
203
204
  container = element;
204
205
  context.store.chipsContainerElement = element;
@@ -244,7 +245,7 @@ function ComboboxChip(props) {
244
245
  const classValue = createMemo(() => resolveClass(props.class, state()));
245
246
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
246
247
  const stateAttributes = createMemo(() => getStateAttributesProps(state()));
247
- const others = omit(allProps, "as", "class", "onKeyDown", "ref", "style");
248
+ const others = omit(allProps, "render", "class", "onContextMenu", "onKeyDown", "onMouseDown", "ref", "style");
248
249
  function resolveNextIndex(event) {
249
250
  const current = index();
250
251
  const [previousChipKey, nextChipKey] = getChipNavigationKeys(direction());
@@ -292,14 +293,14 @@ function ComboboxChip(props) {
292
293
  if (nextIndex === void 0) context.focusInput();
293
294
  else chips.chips.elements()[nextIndex]?.focus();
294
295
  }
295
- const onKeyDown = composeEventHandlers(() => internalProps.onKeyDown, () => handleKeyDown);
296
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => internalProps.onKeyDown), handleKeyDown);
297
+ const onMouseDown = composeEventHandlers(liveEventHandler(() => internalProps.onMouseDown));
298
+ const onContextMenu = composeEventHandlers(liveEventHandler(() => internalProps.onContextMenu));
299
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
296
300
  return ComboboxChipContext({
297
301
  value: { index },
298
302
  get children() {
299
- return Dynamic(mergeProps({
300
- get component() {
301
- return props.as ?? "div";
302
- },
303
+ return Render(mergeProps({
303
304
  ref: [((value) => {
304
305
  setElement(value);
305
306
  chips.chips.touch();
@@ -317,7 +318,9 @@ function ComboboxChip(props) {
317
318
  get style() {
318
319
  return styleValue();
319
320
  },
320
- onKeyDown
321
+ onKeyDown,
322
+ onMouseDown,
323
+ onContextMenu
321
324
  }, stateAttributes, others));
322
325
  }
323
326
  });
@@ -336,7 +339,7 @@ function ComboboxChipRemove(props) {
336
339
  const classValue = createMemo(() => resolveClass(props.class, state()));
337
340
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
338
341
  const stateAttributes = createMemo(() => getStateAttributesProps(state()));
339
- const others = omit(allProps, "as", "class", "disabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "ref", "style");
342
+ const others = omit(allProps, "render", "class", "disabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "ref", "style");
340
343
  /**
341
344
  * Drops the highlight when the removed item is the highlighted one. An item filtered out of
342
345
  * the visible list cannot be the active index, so a miss needs no clearing.
@@ -371,21 +374,18 @@ function ComboboxChipRemove(props) {
371
374
  event.preventDefault();
372
375
  if (!details.isPropagationAllowed) event.stopPropagation();
373
376
  }
374
- const onClick = composeEventHandlers(() => untrack(() => disabled() ? preventButtonInteraction : void 0), () => internalProps.onClick, () => handleClick);
375
- const onKeyDown = composeEventHandlers(() => internalProps.onKeyDown, () => handleKeyDown, () => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyDown));
376
- const onKeyUp = composeEventHandlers(() => untrack(() => disabled() ? stopButtonInteraction : void 0), () => internalProps.onKeyUp, () => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyUp));
377
- const onMouseDown = composeEventHandlers(() => internalProps.onMouseDown, () => (event) => event.preventDefault());
378
- return Dynamic(mergeProps({
379
- get component() {
380
- return props.as ?? "button";
381
- },
377
+ const onClick = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? preventButtonInteraction : void 0)), liveEventHandler(() => internalProps.onClick), handleClick);
378
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => internalProps.onKeyDown), handleKeyDown, liveEventHandler(() => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyDown)));
379
+ const onKeyUp = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? stopButtonInteraction : void 0)), liveEventHandler(() => internalProps.onKeyUp), liveEventHandler(() => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyUp)));
380
+ const onMouseDown = composeEventHandlers(liveEventHandler(() => internalProps.onMouseDown), (event) => event.preventDefault());
381
+ return useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
382
382
  ref: [internalProps.ref],
383
383
  get type() {
384
384
  return nativeButton() ? "button" : void 0;
385
385
  },
386
386
  tabindex: -1,
387
387
  get ["aria-disabled"]() {
388
- return !nativeButton() && disabled() ? "true" : void 0;
388
+ return disabled() || context.readOnly() ? "true" : void 0;
389
389
  },
390
390
  get ["class"]() {
391
391
  return classValue();
@@ -445,6 +445,34 @@ function useFilter(options = {}) {
445
445
  };
446
446
  }
447
447
  //#endregion
448
+ //#region src/combobox/items/createItems.ts
449
+ function createComboboxItems(data, options) {
450
+ let index;
451
+ function find(value, compare) {
452
+ if (!index) {
453
+ index = /* @__PURE__ */ new Map();
454
+ for (const item of flattenItems(data)) {
455
+ if (item == null) continue;
456
+ const key = options.getValue(item);
457
+ if (!index.has(key)) index.set(key, item);
458
+ }
459
+ }
460
+ const exact = index.get(value);
461
+ if (exact !== void 0 || compare === defaultItemEquality) return exact;
462
+ for (const [key, item] of index) if (compareItemEquality(key, value, compare)) return item;
463
+ }
464
+ return {
465
+ data,
466
+ value: (item) => item == null ? item : options.getValue(item),
467
+ itemLabel: options.getLabel,
468
+ hasValue: (value, compare) => find(value, compare) !== void 0,
469
+ label(value, compare, fallback) {
470
+ const item = find(value, compare);
471
+ return item === void 0 ? stringifyAsLabel(value, fallback) : options.getLabel(item);
472
+ }
473
+ };
474
+ }
475
+ //#endregion
448
476
  //#region src/combobox/index.parts.ts
449
477
  var index_parts_exports = /* @__PURE__ */ __exportAll({
450
478
  Arrow: () => ComboboxArrow,
@@ -473,8 +501,9 @@ var index_parts_exports = /* @__PURE__ */ __exportAll({
473
501
  Status: () => ComboboxStatus,
474
502
  Trigger: () => ComboboxTrigger,
475
503
  Value: () => ComboboxValue,
504
+ createItems: () => createComboboxItems,
476
505
  useFilter: () => useFilter,
477
506
  useFilteredItems: () => useFilteredItems
478
507
  });
479
508
  //#endregion
480
- export { index_parts_exports as Combobox };
509
+ export { index_parts_exports as Combobox, createComboboxItems };
@@ -1,4 +1,4 @@
1
- import { o as isElementVisible } from "./dom-Crg_2R-j.js";
1
+ import { s as isElementVisible } from "./dom-D8_aB1yy.js";
2
2
  //#region src/internals/overlay/compositeNavigation.ts
3
3
  function isListIndexDisabled(list, index, disabledIndices) {
4
4
  if (typeof disabledIndices === "function" ? disabledIndices(index) : disabledIndices?.includes(index) ?? false) return true;
@@ -39,6 +39,37 @@ function getNavigatedIndex(options) {
39
39
  } else if (orientation !== "vertical" && (key === "ArrowRight" || key === "ArrowLeft")) direction = key === "ArrowRight" !== rtl ? 1 : -1;
40
40
  if (!direction) return currentIndex;
41
41
  if (currentIndex === -1) return direction === 1 ? min : max;
42
+ if (orientation === "both" && (key === "ArrowDown" || key === "ArrowUp")) {
43
+ const rows = [];
44
+ let previousRow = null;
45
+ let hasRows = false;
46
+ list.forEach((element, index) => {
47
+ if (!element) return;
48
+ const row = element.closest("[role=\"row\"]");
49
+ hasRows ||= row !== null;
50
+ if (row !== previousRow || rows.length === 0) rows.push([]);
51
+ rows[rows.length - 1].push(index);
52
+ previousRow = row;
53
+ });
54
+ const rowIndex = rows.findIndex((row) => row.includes(currentIndex));
55
+ if (hasRows && rowIndex !== -1) {
56
+ const column = rows[rowIndex].indexOf(currentIndex);
57
+ let nextRow = rowIndex;
58
+ for (let remaining = rows.length; remaining > 0; remaining--) {
59
+ nextRow += direction;
60
+ if (nextRow < 0 || nextRow >= rows.length) {
61
+ if (!loop || list.some((element) => !element)) return currentIndex;
62
+ nextRow = nextRow < 0 ? rows.length - 1 : 0;
63
+ }
64
+ const row = rows[nextRow];
65
+ for (let col = Math.min(column, row.length - 1); col >= 0; col--) {
66
+ const candidate = row[col];
67
+ if (!isListIndexDisabled(list, candidate, disabledIndices)) return candidate;
68
+ }
69
+ }
70
+ return currentIndex;
71
+ }
72
+ }
42
73
  const next = findNonDisabledListIndex(list, {
43
74
  startingIndex: currentIndex,
44
75
  decrement: direction === -1,
@@ -1,5 +1,5 @@
1
- import { c as isHTMLElement, m as ownerWindow, n as contains, p as ownerDocument, r as getEventTarget } from "./dom-Crg_2R-j.js";
2
- import { r as hasScrollableAncestor, t as findScrollableTouchTarget } from "./scrollable-CjsSxbGr.js";
1
+ import { h as ownerWindow, i as getEventTarget, l as isHTMLElement, m as ownerDocument, n as contains } from "./dom-D8_aB1yy.js";
2
+ import { r as hasScrollableAncestor, t as findScrollableTouchTarget } from "./scrollable-C9Pgq8T5.js";
3
3
  import { createSignal } from "solid-js";
4
4
  //#region src/internals/clamp.ts
5
5
  function clamp(value, min, max) {
@@ -279,9 +279,14 @@ function createSwipeDismiss(options) {
279
279
  return isHTMLElement(target) ? target : null;
280
280
  }
281
281
  function findGestureScrollableTouchTarget(target, root) {
282
- if (hasHorizontal() && !hasVertical()) return findScrollableTouchTarget(target, root, "horizontal");
283
- if (hasVertical() && !hasHorizontal()) return findScrollableTouchTarget(target, root, "vertical");
284
- return findScrollableTouchTarget(target, root, "vertical") ?? findScrollableTouchTarget(target, root, "horizontal");
282
+ const find = (axis) => {
283
+ const scrollTarget = findScrollableTouchTarget(target, root, axis);
284
+ const doc = ownerDocument(scrollTarget);
285
+ return scrollTarget === doc.body || scrollTarget === doc.documentElement ? null : scrollTarget;
286
+ };
287
+ if (hasHorizontal() && !hasVertical()) return find("horizontal");
288
+ if (hasVertical() && !hasHorizontal()) return find("vertical");
289
+ return find("vertical") ?? find("horizontal");
285
290
  }
286
291
  function startSwipeAtPosition(event, position, startOptions) {
287
292
  swipeFromScrollable = false;
@@ -1,14 +1,15 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { t as useRender } from "../useRender-CryVdCjs.js";
2
3
  import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
3
4
  import { N as triggerPress, t as cancelOpen } from "../internals/reasons.js";
4
5
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
5
6
  import { createChangeEventDetails } from "../internals/createBaseUIEventDetails.js";
6
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
7
- import { n as contains, r as getEventTarget } from "../dom-Crg_2R-j.js";
8
- import { i as pressableTriggerOpenStateMapping } from "../popupStateMapping-nKoUwoke.js";
9
- import { C as useMenuRootContext, E as useContextMenuRootContext, S as MenuRootContext, T as ContextMenuRootContext, a as MenuRadioGroup, b as mergeMenuStyles, c as MenuCheckboxItem, d as MenuGroupLabel, f as MenuGroup, h as MenuPositioner, i as MenuRadioItem, l as MenuItem, m as MenuPopup, n as MenuSubmenuRoot, o as MenuLinkItem, p as MenuArrow, r as MenuRadioItemIndicator, s as MenuCheckboxItemIndicator, t as MenuSubmenuTrigger, v as MenuPortal, x as MenuRoot, y as MenuBackdrop } from "../MenuSubmenuTrigger-DA4gsv6z.js";
10
- import { t as Separator } from "../Separator-vhhYxWGr.js";
11
- import { Dynamic, mergeProps } from "@solidjs/web";
7
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
8
+ import { i as getEventTarget, n as contains } from "../dom-D8_aB1yy.js";
9
+ import { i as pressableTriggerOpenStateMapping } from "../popupStateMapping-VHqr6M4H.js";
10
+ import { C as useMenuRootContext, E as useContextMenuRootContext, S as MenuRootContext, T as ContextMenuRootContext, a as MenuRadioGroup, b as mergeMenuStyles, c as MenuCheckboxItem, d as MenuGroupLabel, f as MenuGroup, h as MenuPositioner, i as MenuRadioItem, l as MenuItem, m as MenuPopup, n as MenuSubmenuRoot, o as MenuLinkItem, p as MenuArrow, r as MenuRadioItemIndicator, s as MenuCheckboxItemIndicator, t as MenuSubmenuTrigger, v as MenuPortal, x as MenuRoot, y as MenuBackdrop } from "../MenuSubmenuTrigger-BMQKlOvU.js";
11
+ import { t as Separator } from "../Separator-DTvtnxzP.js";
12
+ import { mergeProps, ssrElement } from "@solidjs/web";
12
13
  import { createEffect, createMemo, createSignal, omit, onCleanup } from "solid-js";
13
14
  //#region src/context-menu/root/ContextMenuRoot.tsx
14
15
  /** Groups all parts of a context menu without rendering an element. */
@@ -96,7 +97,7 @@ function ContextMenuTrigger(props) {
96
97
  const classValue = createMemo(() => resolveClass(props.class, state()));
97
98
  const styleValue = createMemo(() => mergeMenuStyles({ "-webkit-touch-callout": "none" }, resolveStyle(props.style, state())));
98
99
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), pressableTriggerOpenStateMapping));
99
- const others = omit(allProps, "as", "class", "onContextMenu", "onTouchCancel", "onTouchEnd", "onTouchMove", "onTouchStart", "ref", "style");
100
+ const others = omit(allProps, "render", "class", "onContextMenu", "onTouchCancel", "onTouchEnd", "onTouchMove", "onTouchStart", "ref", "style");
100
101
  let touchPosition = null;
101
102
  let longPressTimer;
102
103
  let allowMouseUpTimer;
@@ -175,11 +176,11 @@ function ContextMenuTrigger(props) {
175
176
  const touch = event.touches[0];
176
177
  if (Math.abs(touch.clientX - touchPosition.x) > 10 || Math.abs(touch.clientY - touchPosition.y) > 10) cancelLongPress();
177
178
  }
178
- const onContextMenu = composeEventHandlers(() => internalProps.onContextMenu, () => handleContextMenu);
179
- const onTouchStart = composeEventHandlers(() => internalProps.onTouchStart, () => handleTouchStart);
180
- const onTouchMove = composeEventHandlers(() => internalProps.onTouchMove, () => handleTouchMove);
181
- const onTouchEnd = composeEventHandlers(() => internalProps.onTouchEnd, () => cancelLongPress);
182
- const onTouchCancel = composeEventHandlers(() => internalProps.onTouchCancel, () => cancelLongPress);
179
+ const onContextMenu = composeEventHandlers(liveEventHandler(() => internalProps.onContextMenu), handleContextMenu);
180
+ const onTouchStart = composeEventHandlers(liveEventHandler(() => internalProps.onTouchStart), handleTouchStart);
181
+ const onTouchMove = composeEventHandlers(liveEventHandler(() => internalProps.onTouchMove), handleTouchMove);
182
+ const onTouchEnd = composeEventHandlers(liveEventHandler(() => internalProps.onTouchEnd), cancelLongPress);
183
+ const onTouchCancel = composeEventHandlers(liveEventHandler(() => internalProps.onTouchCancel), cancelLongPress);
183
184
  createEffect(() => ({
184
185
  trigger: element(),
185
186
  disabled: disabled(),
@@ -199,10 +200,7 @@ function ContextMenuTrigger(props) {
199
200
  clearTimeout(allowMouseUpTimer);
200
201
  mouseUpController?.abort();
201
202
  });
202
- return Dynamic(mergeProps({
203
- get component() {
204
- return props.as ?? "div";
205
- },
203
+ return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
206
204
  ref: [((value) => setElement(value)), internalProps.ref],
207
205
  get ["class"]() {
208
206
  return classValue();
@@ -1,4 +1,4 @@
1
- import { m as ownerWindow, p as ownerDocument } from "./dom-Crg_2R-j.js";
1
+ import { h as ownerWindow, m as ownerDocument } from "./dom-D8_aB1yy.js";
2
2
  import { createEffect, createMemo, createSignal } from "solid-js";
3
3
  import { autoUpdate, computePosition, detectOverflow, flip, limitShift, offset, shift, size } from "@floating-ui/dom";
4
4
  //#region src/internals/overlay/createFloatingPosition.ts
@@ -286,7 +286,7 @@ function createAnchorPositioning(options) {
286
286
  }),
287
287
  baseArrow(() => ({
288
288
  element: currentArrowElement ?? ownerDocument(currentFloatingElement).createElement("div"),
289
- padding: arrowPadding,
289
+ padding: currentArrowElement ? arrowPadding : 0,
290
290
  offsetParent: "floating"
291
291
  })),
292
292
  {
@@ -294,18 +294,22 @@ function createAnchorPositioning(options) {
294
294
  fn(state) {
295
295
  const renderedSide = getSide(state.placement);
296
296
  const arrow = currentArrowElement;
297
+ const renderedAlign = getAlignment(state.placement);
298
+ const vertical = renderedSide === "top" || renderedSide === "bottom";
297
299
  const arrowX = state.middlewareData.arrow?.x ?? 0;
298
300
  const arrowY = state.middlewareData.arrow?.y ?? 0;
299
301
  const transformX = arrowX + (arrow?.clientWidth ?? 0) / 2;
300
302
  const transformY = arrowY + (arrow?.clientHeight ?? 0) / 2;
303
+ let crossOrigin = `${vertical ? transformX : transformY}px`;
304
+ if (!arrow && renderedAlign && Math.abs(vertical ? state.middlewareData.shift?.x ?? 0 : state.middlewareData.shift?.y ?? 0) <= 1) crossOrigin = renderedAlign === "start" === (vertical && state.platform.isRTL?.(state.elements.floating) === true) ? "100%" : "0%";
301
305
  const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(offsetData(state, requestedSide(), rtl())) : sideOffset;
302
306
  const adjacent = {
303
- top: `${transformX}px calc(100% + ${sideOffsetValue}px)`,
304
- bottom: `${transformX}px ${-sideOffsetValue}px`,
305
- left: `calc(100% + ${sideOffsetValue}px) ${transformY}px`,
306
- right: `${-sideOffsetValue}px ${transformY}px`
307
+ top: `${crossOrigin} calc(100% + ${sideOffsetValue}px)`,
308
+ bottom: `${crossOrigin} ${-sideOffsetValue}px`,
309
+ left: `calc(100% + ${sideOffsetValue}px) ${crossOrigin}`,
310
+ right: `${-sideOffsetValue}px ${crossOrigin}`
307
311
  }[renderedSide];
308
- const overlap = `${transformX}px ${state.rects.reference.y + state.rects.reference.height / 2 - state.y}px`;
312
+ const overlap = `${crossOrigin} ${state.rects.reference.y + state.rects.reference.height / 2 - state.y}px`;
309
313
  const overlaps = Math.abs(state.middlewareData.shift?.y ?? 0) > sideOffsetValue;
310
314
  state.elements.floating.style.setProperty("--transform-origin", crossAxis && ["top", "bottom"].includes(renderedSide) && overlaps ? overlap : adjacent);
311
315
  return {};
@@ -330,6 +334,7 @@ function createAnchorPositioning(options) {
330
334
  middleware,
331
335
  transform: () => !options.adaptiveOriginMiddleware?.(),
332
336
  autoUpdate: () => ({
337
+ ancestorScroll: !(options.disableAnchorTracking?.() ?? false),
333
338
  elementResize: !(options.disableAnchorTracking?.() ?? false) && typeof ResizeObserver !== "undefined",
334
339
  layoutShift: !(options.disableAnchorTracking?.() ?? false) && typeof IntersectionObserver !== "undefined"
335
340
  })
@@ -1,5 +1,5 @@
1
- import { p as ownerDocument } from "./dom-Crg_2R-j.js";
2
- import { n as createScrollLock } from "./InternalBackdrop-C_iDPVR-.js";
1
+ import { m as ownerDocument } from "./dom-D8_aB1yy.js";
2
+ import { n as createScrollLock } from "./InternalBackdrop-D_2zAWnl.js";
3
3
  //#region src/internals/overlay/createAnchoredPopupScrollLock.ts
4
4
  function shouldLockAnchoredPopup(options) {
5
5
  if (!options.enabled) return false;
@@ -1,6 +1,6 @@
1
1
  import "./internals/reasons.js";
2
2
  import { createChangeEventDetails } from "./internals/createBaseUIEventDetails.js";
3
- import { f as isTypeableElement } from "./dom-Crg_2R-j.js";
3
+ import { p as isTypeableElement } from "./dom-D8_aB1yy.js";
4
4
  import { onCleanup } from "solid-js";
5
5
  //#region src/internals/overlay/createClickInteraction.ts
6
6
  function clickLike(event) {