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,8 +1,10 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { t as useRender } from "../useRender-CryVdCjs.js";
2
3
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
3
- import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-DCHzXWZU.js";
4
- import { t as createTransitionStatus } from "../createTransitionStatus-BTlrerSS.js";
5
- import { Dynamic, isServer, mergeProps, ssrElement } from "@solidjs/web";
4
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
5
+ import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-CYq38H8J.js";
6
+ import { t as createTransitionStatus } from "../createTransitionStatus-184v7j3-.js";
7
+ import { isServer, mergeProps, ssrElement } from "@solidjs/web";
6
8
  import { Show, createContext, createEffect, createMemo, createSignal, omit, onCleanup, untrack, useContext } from "solid-js";
7
9
  //#region src/avatar/root/AvatarRootContext.ts
8
10
  var MISSING_CONTEXT = Symbol("AvatarRootContext");
@@ -17,20 +19,19 @@ function useAvatarRootContext() {
17
19
  /** Displays a profile image, initials, or fallback content. */
18
20
  function AvatarRoot(props) {
19
21
  const [imageLoadingStatus, setImageLoadingStatus] = createSignal("idle");
20
- const others = omit(props, "as", "class", "style");
22
+ const others = omit(props, "render", "class", "style");
21
23
  const state = createMemo(() => ({ imageLoadingStatus: imageLoadingStatus() }));
22
24
  const classValue = createMemo(() => resolveClass(props.class, state()));
23
25
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
26
+ const context = {
27
+ imageLoadingStatus,
28
+ setImageLoadingStatus
29
+ };
30
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
24
31
  return AvatarRootContext({
25
- value: {
26
- imageLoadingStatus,
27
- setImageLoadingStatus
28
- },
32
+ value: context,
29
33
  get children() {
30
- return Dynamic(mergeProps({
31
- get component() {
32
- return props.as ?? "span";
33
- },
34
+ return Render(mergeProps({
34
35
  get ["class"]() {
35
36
  return classValue();
36
37
  },
@@ -43,10 +44,21 @@ function AvatarRoot(props) {
43
44
  }
44
45
  //#endregion
45
46
  //#region src/avatar/image/createImageLoadingStatus.ts
46
- function createImageLoadingStatus(options) {
47
+ function createImageLoadingStatus(options, element, onInitiallyLoaded) {
47
48
  const [status, setStatus] = createSignal("idle");
49
+ let initialCommit = true;
48
50
  createEffect(options, (current) => {
49
51
  if (isServer) return;
52
+ if (current.keepMounted) {
53
+ const image = element();
54
+ const isInitialCommit = initialCommit;
55
+ initialCommit = false;
56
+ if (!image) return;
57
+ const nextStatus = !image.complete ? "loading" : image.naturalWidth > 0 ? "loaded" : "error";
58
+ setStatus(nextStatus);
59
+ if (isInitialCommit && nextStatus === "loaded") onInitiallyLoaded();
60
+ return;
61
+ }
50
62
  if (!current.src && !current.srcset) {
51
63
  setStatus("error");
52
64
  return;
@@ -71,7 +83,7 @@ function createImageLoadingStatus(options) {
71
83
  image.onerror = null;
72
84
  };
73
85
  });
74
- return status;
86
+ return [status, setStatus];
75
87
  }
76
88
  //#endregion
77
89
  //#region src/avatar/image/AvatarImage.tsx
@@ -81,22 +93,29 @@ function AvatarImage(props) {
81
93
  let imageElement;
82
94
  let latestVisible = false;
83
95
  let previousStatus = "idle";
84
- const others = omit(props, "class", "style", "onLoadingStatusChange", "ref");
85
- const imageLoadingStatus = createImageLoadingStatus(() => ({
96
+ const others = omit(props, "render", "class", "style", "onLoadingStatusChange", "ref", "keepMounted", "onLoad", "onError", "sizes", "srcset", "src");
97
+ const [imageLoadingStatus, setImageLoadingStatus] = createImageLoadingStatus(() => ({
86
98
  src: typeof props.src === "string" ? props.src : void 0,
87
99
  srcset: typeof props.srcset === "string" ? props.srcset : void 0,
88
100
  sizes: typeof props.sizes === "string" ? props.sizes : void 0,
89
101
  crossorigin: typeof props.crossorigin === "string" ? props.crossorigin : void 0,
90
- referrerpolicy: typeof props.referrerpolicy === "string" ? props.referrerpolicy : void 0
91
- }));
102
+ referrerpolicy: typeof props.referrerpolicy === "string" ? props.referrerpolicy : void 0,
103
+ keepMounted: props.keepMounted ?? false
104
+ }), () => imageElement, () => transition.setMounted(true));
92
105
  const visible = createMemo(() => imageLoadingStatus() === "loaded");
93
106
  const transition = createTransitionStatus(() => visible());
94
107
  const state = createMemo(() => ({
95
108
  imageLoadingStatus: imageLoadingStatus(),
96
- transitionStatus: transition.transitionStatus()
109
+ transitionStatus: props.keepMounted && transition.transitionStatus() === "ending" ? void 0 : transition.transitionStatus()
97
110
  }));
98
- const classValue = createMemo(() => transition.mounted() ? resolveClass(props.class, state()) : void 0);
99
- const styleValue = createMemo(() => transition.mounted() ? resolveStyle(props.style, state()) : void 0);
111
+ const classValue = createMemo(() => props.keepMounted || transition.mounted() ? resolveClass(props.class, state()) : void 0);
112
+ const styleValue = createMemo(() => props.keepMounted || transition.mounted() ? resolveStyle(props.style, state()) : void 0);
113
+ const onLoad = composeEventHandlers(liveEventHandler(() => props.onLoad), () => {
114
+ if (props.keepMounted) setImageLoadingStatus("loaded");
115
+ });
116
+ const onError = composeEventHandlers(liveEventHandler(() => props.onError), () => {
117
+ if (props.keepMounted) setImageLoadingStatus("error");
118
+ });
100
119
  createEffect(() => ({
101
120
  status: imageLoadingStatus(),
102
121
  onLoadingStatusChange: props.onLoadingStatusChange
@@ -118,35 +137,56 @@ function AvatarImage(props) {
118
137
  const abortController = new AbortController();
119
138
  runOnceAnimationsFinish(current.element, () => {
120
139
  if (!latestVisible) {
121
- imageElement = void 0;
140
+ if (!untrack(() => props.keepMounted)) imageElement = void 0;
122
141
  transition.setMounted(false);
123
142
  }
124
143
  }, abortController.signal);
125
144
  return () => abortController.abort();
126
145
  });
127
146
  onCleanup(() => context.setImageLoadingStatus("idle"));
147
+ const Render = useRender(props, () => state(), (props) => ssrElement("img", props, void 0, true));
128
148
  return Show({
129
149
  get when() {
130
- return transition.mounted();
150
+ return props.keepMounted || transition.mounted();
131
151
  },
132
152
  get children() {
133
- return ssrElement("img", () => {
134
- return mergeProps({
135
- alt: "",
136
- get ["class"]() {
137
- return classValue();
138
- },
139
- get style() {
140
- return styleValue();
141
- },
142
- get ["data-starting-style"]() {
143
- return transition.transitionStatus() === "starting" ? "" : void 0;
144
- },
145
- get ["data-ending-style"]() {
146
- return transition.transitionStatus() === "ending" ? "" : void 0;
147
- }
148
- }, others);
149
- }, void 0, true);
153
+ return Render(mergeProps({
154
+ ref: [props.ref, (element) => imageElement = element],
155
+ alt: "",
156
+ get ["class"]() {
157
+ return classValue();
158
+ },
159
+ get style() {
160
+ return styleValue();
161
+ },
162
+ get ["data-starting-style"]() {
163
+ return state().transitionStatus === "starting" ? "" : void 0;
164
+ },
165
+ get ["data-ending-style"]() {
166
+ return state().transitionStatus === "ending" ? "" : void 0;
167
+ },
168
+ get ["data-loading"]() {
169
+ return props.keepMounted && imageLoadingStatus() === "loading" ? "" : void 0;
170
+ },
171
+ get ["data-error"]() {
172
+ return props.keepMounted && imageLoadingStatus() === "error" ? "" : void 0;
173
+ },
174
+ get ["aria-hidden"]() {
175
+ return props.keepMounted && imageLoadingStatus() !== "loaded" ? "true" : void 0;
176
+ },
177
+ onLoad,
178
+ onError
179
+ }, others, {
180
+ get sizes() {
181
+ return props.sizes;
182
+ },
183
+ get srcset() {
184
+ return props.srcset;
185
+ },
186
+ get src() {
187
+ return props.src;
188
+ }
189
+ }));
150
190
  }
151
191
  });
152
192
  }
@@ -157,7 +197,7 @@ function AvatarFallback(props) {
157
197
  const context = useAvatarRootContext();
158
198
  const delay = createMemo(() => props.delay ?? 0);
159
199
  const [delayPassed, setDelayPassed] = createSignal(untrack(delay) === 0);
160
- const others = omit(props, "class", "style", "delay");
200
+ const others = omit(props, "render", "class", "style", "delay");
161
201
  const state = createMemo(() => ({ imageLoadingStatus: context.imageLoadingStatus() }));
162
202
  const visible = createMemo(() => context.imageLoadingStatus() !== "loaded" && (delay() === 0 || delayPassed()));
163
203
  const classValue = createMemo(() => visible() ? resolveClass(props.class, state()) : void 0);
@@ -170,21 +210,20 @@ function AvatarFallback(props) {
170
210
  const timeout = setTimeout(() => setDelayPassed(true), currentDelay);
171
211
  return () => clearTimeout(timeout);
172
212
  });
213
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
173
214
  return Show({
174
215
  get when() {
175
216
  return visible();
176
217
  },
177
218
  get children() {
178
- return ssrElement("span", () => {
179
- return mergeProps({
180
- get ["class"]() {
181
- return classValue();
182
- },
183
- get style() {
184
- return styleValue();
185
- }
186
- }, others);
187
- }, void 0, true);
219
+ return Render(mergeProps({
220
+ get ["class"]() {
221
+ return classValue();
222
+ },
223
+ get style() {
224
+ return styleValue();
225
+ }
226
+ }, others));
188
227
  }
189
228
  });
190
229
  }
@@ -1,7 +1,7 @@
1
- import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
1
+ import { t as useRender } from "../useRender-CryVdCjs.js";
2
2
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
3
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
4
- import { Dynamic, mergeProps } from "@solidjs/web";
3
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
4
+ import { mergeProps, ssrElement } from "@solidjs/web";
5
5
  import { createMemo, omit, onSettled, untrack } from "solid-js";
6
6
  //#region src/button/Button.tsx
7
7
  /**
@@ -10,30 +10,26 @@ import { createMemo, omit, onSettled, untrack } from "solid-js";
10
10
  */
11
11
  function Button(props) {
12
12
  const eventProps = props;
13
- const others = omit(props, "as", "class", "disabled", "focusableWhenDisabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "onPointerDown", "ref", "style");
13
+ const others = omit(props, "render", "class", "disabled", "focusableWhenDisabled", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "onPointerDown", "ref", "style");
14
14
  const disabled = createMemo(() => props.disabled ?? false);
15
15
  const focusableWhenDisabled = createMemo(() => props.focusableWhenDisabled ?? false);
16
16
  const nativeButton = createMemo(() => props.nativeButton ?? true);
17
17
  const state = createMemo(() => ({ disabled: disabled() }));
18
18
  const classValue = createMemo(() => resolveClass(props.class, state()));
19
19
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
20
- const stateAttributes = createMemo(() => getStateAttributesProps(state()));
21
20
  const disabledAttribute = createMemo(() => nativeButton() && disabled() && !focusableWhenDisabled());
22
21
  const ariaDisabled = createMemo(() => {
23
22
  if (nativeButton()) return focusableWhenDisabled() ? disabled() ? "true" : "false" : void 0;
24
23
  return disabled() ? "true" : void 0;
25
24
  });
26
25
  const tabIndex = createMemo(() => !nativeButton() && disabled() && !focusableWhenDisabled() ? -1 : 0);
27
- const onClick = composeEventHandlers(() => untrack(() => props.disabled ?? false ? preventInteraction : void 0), () => eventProps.onClick);
28
- const onMouseDown = composeEventHandlers(() => untrack(() => props.disabled ?? false ? stopInteraction : void 0), () => eventProps.onMouseDown);
29
- const onPointerDown = composeEventHandlers(() => untrack(() => props.disabled ?? false ? preventInteraction : void 0), () => eventProps.onPointerDown);
30
- const onKeyDown = composeEventHandlers(() => untrack(() => props.disabled ?? false ? props.focusableWhenDisabled ?? false ? preventFocusableDisabledKeyDown : stopInteraction : void 0), () => eventProps.onKeyDown, () => untrack(() => props.nativeButton ?? true ? void 0 : handleNonNativeKeyDown));
31
- const onKeyUp = composeEventHandlers(() => untrack(() => props.disabled ?? false ? stopInteraction : void 0), () => eventProps.onKeyUp, () => untrack(() => props.nativeButton ?? true ? void 0 : handleNonNativeKeyUp));
26
+ const onClick = composeEventHandlers(liveEventHandler(() => untrack(() => props.disabled ?? false ? preventInteraction : void 0)), liveEventHandler(() => eventProps.onClick));
27
+ const onMouseDown = composeEventHandlers(liveEventHandler(() => untrack(() => props.disabled ?? false ? stopInteraction : void 0)), liveEventHandler(() => eventProps.onMouseDown));
28
+ const onPointerDown = composeEventHandlers(liveEventHandler(() => untrack(() => props.disabled ?? false ? preventInteraction : void 0)), liveEventHandler(() => eventProps.onPointerDown));
29
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => untrack(() => props.disabled ?? false ? props.focusableWhenDisabled ?? false ? preventFocusableDisabledKeyDown : stopInteraction : void 0)), liveEventHandler(() => eventProps.onKeyDown), liveEventHandler(() => untrack(() => props.nativeButton ?? true ? void 0 : handleNonNativeKeyDown)));
30
+ const onKeyUp = composeEventHandlers(liveEventHandler(() => untrack(() => props.disabled ?? false ? stopInteraction : void 0)), liveEventHandler(() => eventProps.onKeyUp), liveEventHandler(() => untrack(() => props.nativeButton ?? true ? void 0 : handleNonNativeKeyUp)));
32
31
  onSettled(() => {});
33
- return Dynamic(mergeProps({
34
- get component() {
35
- return props.as ?? "button";
36
- },
32
+ return useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
37
33
  ref: [((value) => value), eventProps.ref],
38
34
  get ["class"]() {
39
35
  return classValue();
@@ -56,12 +52,15 @@ function Button(props) {
56
52
  get ["aria-disabled"]() {
57
53
  return ariaDisabled();
58
54
  },
55
+ get ["data-disabled"]() {
56
+ return disabled() ? "" : void 0;
57
+ },
59
58
  onClick,
60
59
  onMouseDown,
61
60
  onPointerDown,
62
61
  onKeyDown,
63
62
  onKeyUp
64
- }, stateAttributes, others));
63
+ }, others));
65
64
  }
66
65
  function isValidLinkElement(element) {
67
66
  return element.tagName === "A" && Boolean(element.href);
@@ -1,17 +1,19 @@
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 resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
4
5
  import { transitionStatusMapping } from "../internals/stateAttributesMapping.js";
5
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
6
- import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-DCHzXWZU.js";
7
- import { t as createTransitionStatus } from "../createTransitionStatus-BTlrerSS.js";
6
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
7
+ import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-CYq38H8J.js";
8
+ import { t as createTransitionStatus } from "../createTransitionStatus-184v7j3-.js";
8
9
  import { fieldStateAttributesMapping } from "../internals/field-constants.js";
9
- import { n as useFieldRootContext } from "../FieldRootContext-IC-LWzVp.js";
10
- import { n as useFormContext } from "../FormContext-pvESt85v.js";
11
- import { r as useLabelableContext } from "../LabelableContext-DZP3rgAY.js";
10
+ import { r as useFieldRootContext } from "../FieldRootContext-Bfpna6gA.js";
11
+ import { n as useFormContext } from "../FormContext-CYwo_ZnB.js";
12
+ import { r as useLabelableContext } from "../LabelableContext-BTeF0IWb.js";
13
+ import { t as createLabelableId } from "../createLabelableId-WMUKtY6s.js";
12
14
  import { n as useFieldItemContext } from "../FieldItemContext-x-C7ZlmX.js";
13
15
  import { n as useCheckboxGroupContext } from "../CheckboxGroupContext-DTP679kK.js";
14
- import { Dynamic, escape, memo, mergeProps, ssr, ssrAttribute, ssrElement, ssrGroup, ssrHydrationKey } from "@solidjs/web";
16
+ import { escape, memo, mergeProps, ssr, ssrAttribute, ssrElement, ssrGroup, ssrHydrationKey } from "@solidjs/web";
15
17
  import { Show, createContext, createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, onSettled, untrack, useContext } from "solid-js";
16
18
  //#region src/checkbox/utils/getCheckboxStateAttributesMapping.ts
17
19
  function getCheckboxStateAttributesMapping(state) {
@@ -57,7 +59,9 @@ var HIDDEN_INPUT_STYLE = {
57
59
  };
58
60
  var HIDDEN_NAMED_INPUT_STYLE = {
59
61
  ...HIDDEN_INPUT_STYLE,
60
- position: "absolute"
62
+ position: "absolute",
63
+ top: "auto",
64
+ left: "auto"
61
65
  };
62
66
  /** Represents a visible checkbox and renders a hidden native checkbox beside it. */
63
67
  function CheckboxRoot(props) {
@@ -70,13 +74,11 @@ function CheckboxRoot(props) {
70
74
  const internalProps = props;
71
75
  const allProps = props;
72
76
  const fieldControlSource = Symbol("Checkbox");
73
- const labelSource = Symbol("CheckboxLabelSource");
74
77
  const token = Symbol("CheckboxGroupItem");
75
78
  const ownInputId = `base-ui-${createUniqueId()}`;
76
79
  const ownRootId = `base-ui-${createUniqueId()}`;
77
80
  const ownLabelId = `base-ui-${createUniqueId()}`;
78
- const parentInputId = `base-ui-${createUniqueId()}`;
79
- const inheritedControlId = untrack(labelable.controlId);
81
+ const inheritedControlId = labelable.defaultControlId;
80
82
  const fallbackInputId = typeof inheritedControlId === "string" ? inheritedControlId : ownInputId;
81
83
  const controlled = untrack(() => internalProps.checked !== void 0);
82
84
  const [uncontrolledChecked, setUncontrolledChecked] = createSignal(untrack(() => internalProps.defaultChecked ?? false));
@@ -87,7 +89,7 @@ function CheckboxRoot(props) {
87
89
  let suppressEnterClick = false;
88
90
  let generatedLabel;
89
91
  let stopEnterSuppression = () => void 0;
90
- const others = omit(allProps, "aria-describedby", "aria-labelledby", "as", "checked", "class", "defaultChecked", "disabled", "form", "id", "indeterminate", "inputRef", "name", "nativeButton", "onBlur", "onChange", "onCheckedChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "parent", "readOnly", "ref", "required", "style", "uncheckedValue", "value");
92
+ const others = omit(allProps, "aria-describedby", "aria-labelledby", "render", "checked", "class", "defaultChecked", "disabled", "form", "id", "indeterminate", "inputRef", "name", "nativeButton", "onBlur", "onChange", "onCheckedChange", "onClick", "onFocus", "onKeyDown", "onKeyUp", "parent", "readOnly", "ref", "required", "style", "uncheckedValue", "value");
91
93
  const nativeButton = createMemo(() => internalProps.nativeButton ?? false);
92
94
  const parent = createMemo(() => internalProps.parent ?? false);
93
95
  const parentEnabled = createMemo(() => group?.allValues() !== void 0);
@@ -102,16 +104,9 @@ function CheckboxRoot(props) {
102
104
  return group.value().includes(value());
103
105
  });
104
106
  const indeterminate = createMemo(() => parentEnabled() && parent() ? (group?.parent.indeterminate() ?? false) || (internalProps.indeterminate ?? false) : internalProps.indeterminate ?? false);
105
- const inputId = createMemo(() => {
106
- if (!parentEnabled()) return internalProps.id || fallbackInputId;
107
- if (parent()) return parentInputId;
108
- const checkboxValue = value();
109
- return checkboxValue === void 0 ? internalProps.id || fallbackInputId || ownInputId : `${group?.parent.id}-${checkboxValue}`;
110
- });
111
- const rootId = createMemo(() => {
112
- if (parentEnabled() && parent()) return group?.parent.id;
113
- return nativeButton() ? inputId() : ownRootId;
114
- });
107
+ const ownsControlId = () => group?.registerControlId !== labelable.registerControlId;
108
+ const inputId = createLabelableId(() => internalProps.id || void 0, ownsControlId() ? fallbackInputId : ownInputId, ownsControlId);
109
+ const rootId = createMemo(() => nativeButton() ? inputId() : ownRootId);
115
110
  const state = createMemo(() => ({
116
111
  ...field.state(),
117
112
  checked: checked(),
@@ -121,12 +116,14 @@ function CheckboxRoot(props) {
121
116
  indeterminate: indeterminate()
122
117
  }));
123
118
  const classValue = createMemo(() => resolveClass(props.class, state()));
119
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
124
120
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
125
121
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), getCheckboxStateAttributesMapping(state())));
126
122
  const ariaLabelledBy = createMemo(() => internalProps["aria-labelledby"] ?? labelable.labelId() ?? fallbackAriaLabelledBy());
127
123
  const ariaDescribedBy = createMemo(() => labelable.getAriaDescribedBy(internalProps["aria-describedby"]));
128
124
  const checkbox = {
129
125
  token,
126
+ id: rootId,
130
127
  disabled,
131
128
  element: rootElement,
132
129
  input: inputElement,
@@ -139,11 +136,11 @@ function CheckboxRoot(props) {
139
136
  value: checked,
140
137
  getControl: () => rootElement() ?? null
141
138
  };
142
- const callExternalBlur = composeEventHandlers(() => internalProps.onBlur);
143
- const callExternalClick = composeEventHandlers(() => internalProps.onClick);
144
- const callExternalFocus = composeEventHandlers(() => internalProps.onFocus);
145
- const callExternalKeyDown = composeEventHandlers(() => internalProps.onKeyDown);
146
- const callExternalKeyUp = composeEventHandlers(() => internalProps.onKeyUp);
139
+ const callExternalBlur = composeEventHandlers(liveEventHandler(() => internalProps.onBlur));
140
+ const callExternalClick = composeEventHandlers(liveEventHandler(() => internalProps.onClick));
141
+ const callExternalFocus = composeEventHandlers(liveEventHandler(() => internalProps.onFocus));
142
+ const callExternalKeyDown = composeEventHandlers(liveEventHandler(() => internalProps.onKeyDown));
143
+ const callExternalKeyUp = composeEventHandlers(liveEventHandler(() => internalProps.onKeyUp));
147
144
  function handleClick(event) {
148
145
  if (suppressEnterClick) {
149
146
  event.preventDefault();
@@ -209,7 +206,6 @@ function CheckboxRoot(props) {
209
206
  if (generatedLabel && generatedLabel !== except && generatedLabel.id === ownLabelId) generatedLabel.removeAttribute("id");
210
207
  if (generatedLabel !== except) generatedLabel = void 0;
211
208
  }
212
- createEffect(inputId, (id) => labelable.registerControlId(labelSource, id));
213
209
  createEffect(() => ({
214
210
  explicit: internalProps["aria-labelledby"],
215
211
  fieldLabel: labelable.labelId(),
@@ -279,11 +275,11 @@ function CheckboxRoot(props) {
279
275
  name: name()
280
276
  }), (current) => {
281
277
  if (current.input) current.input.indeterminate = current.indeterminate;
278
+ if (!current.group) field.setFilled(current.checked);
282
279
  if (current.group || current.checked === previousChecked) return;
283
280
  previousChecked = current.checked;
284
281
  untrack(() => {
285
282
  form.clearError(current.name);
286
- field.setFilled(current.checked);
287
283
  field.setDirty(current.checked !== field.validityData().initialValue);
288
284
  field.validation.change(current.checked);
289
285
  });
@@ -298,23 +294,19 @@ function CheckboxRoot(props) {
298
294
  field.registerFieldControl(fieldControlSource, !current.group && !current.disabled && current.root ? registration : void 0);
299
295
  });
300
296
  onSettled(() => {
301
- if (checked()) field.setFilled(true);
297
+ if (!group) field.setFilled(checked());
302
298
  rootElement();
303
299
  });
304
300
  onCleanup(() => {
305
301
  stopEnterSuppression();
306
302
  clearGeneratedLabel();
307
- labelable.registerControlId(labelSource, void 0);
308
303
  field.registerFieldControl(fieldControlSource, void 0);
309
304
  });
310
305
  return CheckboxRootContext({
311
306
  value: state,
312
307
  get children() {
313
308
  return [
314
- Dynamic(mergeProps({
315
- get component() {
316
- return props.as ?? "span";
317
- },
309
+ Render(mergeProps({
318
310
  ref: [((element) => setRootElement(element)), internalProps.ref],
319
311
  get id() {
320
312
  return rootId();
@@ -463,7 +455,7 @@ function CheckboxIndicator(props) {
463
455
  let latestRendered = false;
464
456
  const rootState = useCheckboxRootContext();
465
457
  const internalProps = props;
466
- const others = omit(props, "as", "class", "keepMounted", "ref", "style");
458
+ const others = omit(props, "render", "class", "keepMounted", "ref", "style");
467
459
  const rendered = createMemo(() => rootState().checked || rootState().indeterminate);
468
460
  const transition = createTransitionStatus(() => rendered());
469
461
  const shouldRender = createMemo(() => (internalProps.keepMounted ?? false) || transition.mounted());
@@ -471,6 +463,7 @@ function CheckboxIndicator(props) {
471
463
  ...rootState(),
472
464
  transitionStatus: transition.transitionStatus()
473
465
  }));
466
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
474
467
  const classValue = createMemo(() => shouldRender() ? resolveClass(props.class, state()) : void 0);
475
468
  const styleValue = createMemo(() => shouldRender() ? resolveStyle(props.style, state()) : void 0);
476
469
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), {
@@ -495,35 +488,15 @@ function CheckboxIndicator(props) {
495
488
  return shouldRender();
496
489
  },
497
490
  get children() {
498
- return Show({
499
- get when() {
500
- return props.as;
491
+ return Render(mergeProps({
492
+ ref: [internalProps.ref, ((element) => indicatorElement = element)],
493
+ get ["class"]() {
494
+ return classValue();
501
495
  },
502
- get fallback() {
503
- return ssrElement("span", () => {
504
- return mergeProps({
505
- get ["class"]() {
506
- return classValue();
507
- },
508
- get style() {
509
- return styleValue();
510
- }
511
- }, stateAttributes, others);
512
- }, void 0, true);
513
- },
514
- children: (component) => Dynamic(mergeProps({
515
- get component() {
516
- return component();
517
- },
518
- ref: [internalProps.ref, ((element) => indicatorElement = element)],
519
- get ["class"]() {
520
- return classValue();
521
- },
522
- get style() {
523
- return styleValue();
524
- }
525
- }, stateAttributes, others))
526
- });
496
+ get style() {
497
+ return styleValue();
498
+ }
499
+ }, stateAttributes, others));
527
500
  }
528
501
  });
529
502
  }
@@ -1,11 +1,13 @@
1
+ import { t as useRender } from "../useRender-CryVdCjs.js";
1
2
  import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
2
3
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
3
4
  import { fieldStateAttributesMapping } from "../internals/field-constants.js";
4
- import { n as useFieldRootContext } from "../FieldRootContext-IC-LWzVp.js";
5
- import { n as useFormContext } from "../FormContext-pvESt85v.js";
6
- import { r as useLabelableContext } from "../LabelableContext-DZP3rgAY.js";
5
+ import { r as useFieldRootContext } from "../FieldRootContext-Bfpna6gA.js";
6
+ import { n as useFormContext } from "../FormContext-CYwo_ZnB.js";
7
+ import { r as useLabelableContext } from "../LabelableContext-BTeF0IWb.js";
8
+ import { t as createLabelableId } from "../createLabelableId-WMUKtY6s.js";
7
9
  import { t as CheckboxGroupContext } from "../CheckboxGroupContext-DTP679kK.js";
8
- import { Dynamic, mergeProps } from "@solidjs/web";
10
+ import { mergeProps, ssrElement } from "@solidjs/web";
9
11
  import { createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, onSettled, untrack } from "solid-js";
10
12
  //#region src/checkbox-group/CheckboxGroup.tsx
11
13
  var EMPTY_VALUE = [];
@@ -14,6 +16,8 @@ function CheckboxGroup(props) {
14
16
  const field = useFieldRootContext(true);
15
17
  const form = useFormContext();
16
18
  const labelable = useLabelableContext();
19
+ const [checkboxVersion, setCheckboxVersion] = createSignal(0);
20
+ createLabelableId(() => null, "");
17
21
  const internalProps = props;
18
22
  const allProps = props;
19
23
  const fieldControlSource = Symbol("CheckboxGroup");
@@ -27,7 +31,7 @@ function CheckboxGroup(props) {
27
31
  let childSnapshot = untrack(() => controlled ? internalProps.value ?? EMPTY_VALUE : uncontrolledValue());
28
32
  let valueSnapshot = childSnapshot;
29
33
  let previousValue = childSnapshot;
30
- const others = omit(allProps, "aria-describedby", "aria-labelledby", "allValues", "as", "class", "defaultValue", "disabled", "onValueChange", "ref", "style", "value");
34
+ const others = omit(allProps, "aria-describedby", "aria-labelledby", "allValues", "render", "class", "defaultValue", "disabled", "onValueChange", "ref", "style", "value");
31
35
  const value = createMemo(() => controlled ? internalProps.value ?? EMPTY_VALUE : uncontrolledValue());
32
36
  const disabled = createMemo(() => field.disabled() || (internalProps.disabled ?? false));
33
37
  const state = createMemo(() => ({
@@ -35,16 +39,24 @@ function CheckboxGroup(props) {
35
39
  disabled: disabled()
36
40
  }));
37
41
  const classValue = createMemo(() => resolveClass(props.class, state()));
42
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
38
43
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
39
44
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
40
45
  const ariaLabelledBy = createMemo(() => internalProps["aria-labelledby"] ?? labelable.labelId());
41
46
  const ariaDescribedBy = createMemo(() => labelable.getAriaDescribedBy(internalProps["aria-describedby"]));
42
47
  const parentChecked = createMemo(() => value().length === (internalProps.allValues ?? EMPTY_VALUE).length);
43
48
  const parentIndeterminate = createMemo(() => value().length > 0 && value().length !== (internalProps.allValues ?? EMPTY_VALUE).length);
44
- const parentAriaControls = createMemo(() => (internalProps.allValues ?? EMPTY_VALUE).map((itemValue) => `${parentId}-${itemValue}`).join(" "));
49
+ const parentAriaControls = createMemo(() => {
50
+ checkboxVersion();
51
+ return (internalProps.allValues ?? EMPTY_VALUE).map((itemValue) => Array.from(checkboxes.values()).find((checkbox) => !checkbox.parent() && checkbox.value() === itemValue)?.id()).filter(Boolean).join(" ") || void 0;
52
+ });
45
53
  function registerCheckbox(checkbox) {
46
54
  checkboxes.set(checkbox.token, checkbox);
47
- return () => checkboxes.delete(checkbox.token);
55
+ setCheckboxVersion((version) => version + 1);
56
+ return () => {
57
+ checkboxes.delete(checkbox.token);
58
+ setCheckboxVersion((version) => version + 1);
59
+ };
48
60
  }
49
61
  function setValue(nextValue, details) {
50
62
  internalProps.onValueChange?.(nextValue, details);
@@ -115,6 +127,7 @@ function CheckboxGroup(props) {
115
127
  allValues: () => internalProps.allValues,
116
128
  disabled,
117
129
  fieldControlSource,
130
+ registerControlId: labelable.registerControlId,
118
131
  getValue: getCurrentValue,
119
132
  parent: {
120
133
  id: parentId,
@@ -160,10 +173,7 @@ function CheckboxGroup(props) {
160
173
  return CheckboxGroupContext({
161
174
  value: context,
162
175
  get children() {
163
- return Dynamic(mergeProps({
164
- get component() {
165
- return props.as ?? "div";
166
- },
176
+ return Render(mergeProps({
167
177
  ref: [((element) => setRootElement(element)), internalProps.ref],
168
178
  get ["class"]() {
169
179
  return classValue();