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

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 (311) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +95 -8
  3. package/dist/lib/client/DialogHandle-BGyIbcvg.js +521 -0
  4. package/dist/lib/client/DialogPopup-Df7MC358.js +138 -0
  5. package/dist/lib/client/FieldControl-C0PATyKV.js +142 -0
  6. package/dist/lib/client/{FocusManager-grSdNHqW.js → FocusManager-NP1uPXTi.js} +5 -5
  7. package/dist/lib/client/{FormContext-BB05lWOI.js → FormContext-CwLBtm_d.js} +1 -0
  8. package/dist/lib/client/{LabelableContext-DKsB0fIx.js → LabelableContext-CmQF-TX2.js} +3 -6
  9. package/dist/lib/client/MenuSubmenuTrigger-yfncqM-D.js +1584 -0
  10. package/dist/lib/client/{PopupHandle-CcJG4NMy.js → PopupHandle-CQI6Om1Z.js} +1 -1
  11. package/dist/lib/client/{PopupStore-DjB-wO88.js → PopupStore-Du0O57fL.js} +118 -98
  12. package/dist/lib/client/{PopupViewport-DgrIqQea.js → PopupViewport-IS4XU03s.js} +2 -2
  13. package/dist/lib/client/Separator-D5oJzlA3.js +27 -0
  14. package/dist/lib/client/TriggerFocusGuards-Cs8LVBj5.js +51 -0
  15. package/dist/lib/client/accordion/index.js +1 -1
  16. package/dist/lib/client/accordion-BFeZFpJZ.js +381 -0
  17. package/dist/lib/client/alert-dialog/index.js +1 -1
  18. package/dist/lib/client/{alert-dialog-BH_3ndio.js → alert-dialog-BxGUF8_Q.js} +2 -2
  19. package/dist/lib/client/autocomplete/index.js +1 -1
  20. package/dist/lib/client/{autocomplete-Cob_FZEP.js → autocomplete-C9QA98XD.js} +30 -25
  21. package/dist/lib/client/avatar/index.js +1 -1
  22. package/dist/lib/client/avatar-BQoEzzav.js +191 -0
  23. package/dist/lib/client/button/index.js +1 -1
  24. package/dist/lib/client/button-akYS6FyY.js +88 -0
  25. package/dist/lib/client/checkbox/index.js +1 -1
  26. package/dist/lib/client/checkbox-DOXtzBhA.js +425 -0
  27. package/dist/lib/client/checkbox-group/index.js +1 -1
  28. package/dist/lib/client/checkbox-group-CwMDoSTK.js +135 -0
  29. package/dist/lib/client/collapsible/index.js +1 -1
  30. package/dist/lib/client/collapsible-t8YReaIp.js +230 -0
  31. package/dist/lib/client/combobox/index.js +2 -2
  32. package/dist/lib/client/combobox-6DhOdzit.js +399 -0
  33. package/dist/lib/client/{constants-BYjBUIIi.js → constants-cOVxAoxB.js} +5 -1
  34. package/dist/lib/client/context-menu/index.js +1 -1
  35. package/dist/lib/client/context-menu-CplDpqmi.js +220 -0
  36. package/dist/lib/client/{createAnchorPositioning-DcxDXUgB.js → createAnchorPositioning-D96gu-Dz.js} +148 -145
  37. package/dist/lib/client/{createCollapsiblePanel-DeDu0O2t.js → createCollapsiblePanel-BQ8r4RTi.js} +1 -1
  38. package/dist/lib/client/createFocusInteraction--s9_qBf3.js +60 -0
  39. package/dist/lib/client/createLabelableId-DxJRwMUJ.js +14 -0
  40. package/dist/lib/client/{createPopupAutoResize-CGNiLhGq.js → createPopupAutoResize-Dn-stj-8.js} +1 -1
  41. package/dist/lib/client/{createTransitionStatus-B1L-whed.js → createTransitionStatus-BL_cPSEA.js} +12 -12
  42. package/dist/lib/client/dialog/index.js +1 -1
  43. package/dist/lib/client/{dialog-DkaQwIgP.js → dialog-B9tR9X48.js} +2 -2
  44. package/dist/lib/client/drawer/index.js +1 -1
  45. package/dist/lib/client/drawer-dyr3_sKQ.js +1539 -0
  46. package/dist/lib/client/field/index.js +1 -1
  47. package/dist/lib/client/field-CjUAjp1m.js +483 -0
  48. package/dist/lib/client/fieldset/index.js +1 -1
  49. package/dist/lib/client/fieldset-Byqk3noT.js +70 -0
  50. package/dist/lib/client/form/index.js +1 -1
  51. package/dist/lib/client/form-6Ne_bWQX.js +109 -0
  52. package/dist/lib/client/index.js +44 -42
  53. package/dist/lib/client/input/index.js +1 -1
  54. package/dist/lib/client/{input-gb0ejxkm.js → input-_QHvSSqM.js} +1 -1
  55. package/dist/lib/client/internals/form-context/index.js +1 -1
  56. package/dist/lib/client/internals/labelable-provider/index.js +1 -1
  57. package/dist/lib/client/menu/index.js +1 -1
  58. package/dist/lib/client/menu-DLqUBmMK.js +334 -0
  59. package/dist/lib/client/menubar/index.js +1 -1
  60. package/dist/lib/client/menubar-DhPRUQZ6.js +163 -0
  61. package/dist/lib/client/{mergeStyleValue-C4ITiiIV.js → mergeStyleValue-DhTA9Nwe.js} +7 -3
  62. package/dist/lib/client/meter/index.js +1 -1
  63. package/dist/lib/client/meter-BvWdppcx.js +178 -0
  64. package/dist/lib/client/navigation-menu/index.js +1 -1
  65. package/dist/lib/client/navigation-menu-mVHV41Ky.js +1070 -0
  66. package/dist/lib/client/number-field/index.js +1 -1
  67. package/dist/lib/client/number-field-DusLw_0X.js +1043 -0
  68. package/dist/lib/client/otp-field/index.js +1 -1
  69. package/dist/lib/client/otp-field-D-B9tZzF.js +584 -0
  70. package/dist/lib/client/popover/index.js +1 -1
  71. package/dist/lib/client/popover-Cv7xn0nW.js +938 -0
  72. package/dist/lib/client/popupStateMapping-C6jQ_LKo.js +371 -0
  73. package/dist/lib/client/preview-card/index.js +1 -1
  74. package/dist/lib/client/preview-card-FTN_aafM.js +632 -0
  75. package/dist/lib/client/progress/index.js +1 -1
  76. package/dist/lib/client/progress-AVKxvgpc.js +195 -0
  77. package/dist/lib/client/radio/index.js +1 -1
  78. package/dist/lib/client/radio-DA_oZhQT.js +284 -0
  79. package/dist/lib/client/radio-group/index.js +1 -1
  80. package/dist/lib/client/radio-group-CWtQxWDl.js +195 -0
  81. package/dist/lib/client/runOnceAnimationsFinish-CFADb4CN.js +49 -0
  82. package/dist/lib/client/{safePolygon--bbKn0c8.js → safePolygon-DJG0VIVo.js} +4 -0
  83. package/dist/lib/client/scroll-area/index.js +1 -1
  84. package/dist/lib/client/scroll-area-NCr49LkD.js +717 -0
  85. package/dist/lib/client/select/index.js +1 -1
  86. package/dist/lib/client/select-DSPJt7Rk.js +1933 -0
  87. package/dist/lib/client/separator/index.js +1 -1
  88. package/dist/lib/client/slider/index.js +1 -1
  89. package/dist/lib/client/slider-CWq9hxFf.js +927 -0
  90. package/dist/lib/client/switch/index.js +1 -1
  91. package/dist/lib/client/switch-CPl7QHKI.js +306 -0
  92. package/dist/lib/client/tabs/index.js +1 -1
  93. package/dist/lib/client/tabs-Bn4rZDyZ.js +692 -0
  94. package/dist/lib/client/toast/index.js +1 -1
  95. package/dist/lib/client/toast-7LdqZWOs.js +1118 -0
  96. package/dist/lib/client/toggle/index.js +1 -1
  97. package/dist/lib/client/toggle-CsC37e3e.js +142 -0
  98. package/dist/lib/client/toggle-group/index.js +1 -1
  99. package/dist/lib/client/toggle-group-DSWb9HxN.js +134 -0
  100. package/dist/lib/client/toolbar/index.js +1 -1
  101. package/dist/lib/client/toolbar-DcCi3HNp.js +504 -0
  102. package/dist/lib/client/tooltip/index.js +1 -1
  103. package/dist/lib/client/tooltip-D-PkGco9.js +849 -0
  104. package/dist/lib/client/use-render/index.js +2 -0
  105. package/dist/lib/client/useFilteredItems-B7z2CGMV.js +2270 -0
  106. package/dist/lib/client/useRender-CxZ8PI-g.js +12 -0
  107. package/dist/lib/server/{DialogHandle-ATZlm9RC.js → DialogHandle-nJSSy_jM.js} +24 -33
  108. package/dist/lib/server/{DialogPopup-BebI-w5P.js → DialogPopup-Da1aIxVA.js} +10 -13
  109. package/dist/lib/server/{FieldControl-Y_kI7ARp.js → FieldControl-BDeNR3ug.js} +56 -20
  110. package/dist/lib/server/{FocusManager-BrbZVWME.js → FocusManager-1LfoCsya.js} +1 -3
  111. package/dist/lib/server/{FormContext-pvESt85v.js → FormContext-CYwo_ZnB.js} +1 -0
  112. package/dist/lib/server/{LabelableContext-DZP3rgAY.js → LabelableContext-BTeF0IWb.js} +4 -6
  113. package/dist/lib/server/{MenuSubmenuTrigger-DA4gsv6z.js → MenuSubmenuTrigger-rR8ZN7YR.js} +133 -166
  114. package/dist/lib/server/{PopupHandle-DthPgNjy.js → PopupHandle-Ct6wywmP.js} +1 -1
  115. package/dist/lib/server/{PopupStore-DEs3FAEe.js → PopupStore-kHjFPiQ5.js} +38 -14
  116. package/dist/lib/server/{PopupViewport-3r_KTFwX.js → PopupViewport-DftN5VUp.js} +2 -2
  117. package/dist/lib/server/{Separator-vhhYxWGr.js → Separator-DTvtnxzP.js} +4 -6
  118. package/dist/lib/server/TriggerFocusGuards-CvoGfft9.js +61 -0
  119. package/dist/lib/server/accordion/index.js +32 -70
  120. package/dist/lib/server/alert-dialog/index.js +2 -2
  121. package/dist/lib/server/autocomplete/index.js +14 -5
  122. package/dist/lib/server/avatar/index.js +90 -51
  123. package/dist/lib/server/button/index.js +8 -9
  124. package/dist/lib/server/checkbox/index.js +30 -57
  125. package/dist/lib/server/checkbox-group/index.js +20 -10
  126. package/dist/lib/server/collapsible/index.js +36 -43
  127. package/dist/lib/server/combobox/index.js +64 -35
  128. package/dist/lib/server/{constants-9H__9xbS.js → constants-D7ciIzsV.js} +8 -3
  129. package/dist/lib/server/context-menu/index.js +7 -9
  130. package/dist/lib/server/{createAnchorPositioning-C-cVOPwz.js → createAnchorPositioning-B5Y0WEev.js} +11 -6
  131. package/dist/lib/server/{createCollapsiblePanel-DTyVJz0G.js → createCollapsiblePanel-B45kTe6v.js} +1 -1
  132. package/dist/lib/server/{createFocusInteraction-EIS0QOel.js → createFocusInteraction-DMyKsniI.js} +22 -2
  133. package/dist/lib/server/createLabelableId-WMUKtY6s.js +18 -0
  134. package/dist/lib/server/{createPopupAutoResize-DO50jjNX.js → createPopupAutoResize-ImBjwdj_.js} +1 -1
  135. package/dist/lib/server/{createTransitionStatus-BTlrerSS.js → createTransitionStatus-184v7j3-.js} +2 -2
  136. package/dist/lib/server/dialog/index.js +2 -2
  137. package/dist/lib/server/drawer/index.js +63 -71
  138. package/dist/lib/server/field/index.js +105 -93
  139. package/dist/lib/server/fieldset/index.js +13 -16
  140. package/dist/lib/server/form/index.js +16 -12
  141. package/dist/lib/server/index.js +5 -3
  142. package/dist/lib/server/input/index.js +1 -1
  143. package/dist/lib/server/internals/form-context/index.js +1 -1
  144. package/dist/lib/server/internals/labelable-provider/index.js +1 -1
  145. package/dist/lib/server/menu/index.js +21 -20
  146. package/dist/lib/server/menubar/index.js +6 -31
  147. package/dist/lib/server/{mergeStyleValue-Db8bRCM4.js → mergeStyleValue-BwJ10_X2.js} +6 -1
  148. package/dist/lib/server/meter/index.js +20 -32
  149. package/dist/lib/server/navigation-menu/index.js +53 -124
  150. package/dist/lib/server/number-field/index.js +44 -42
  151. package/dist/lib/server/otp-field/index.js +11 -14
  152. package/dist/lib/server/popover/index.js +42 -59
  153. package/dist/lib/server/{popupStateMapping-nKoUwoke.js → popupStateMapping-B2KsiiLb.js} +18 -16
  154. package/dist/lib/server/preview-card/index.js +30 -41
  155. package/dist/lib/server/progress/index.js +21 -33
  156. package/dist/lib/server/radio/index.js +18 -39
  157. package/dist/lib/server/radio-group/index.js +7 -8
  158. package/dist/lib/server/{runOnceAnimationsFinish-DCHzXWZU.js → runOnceAnimationsFinish-CYq38H8J.js} +2 -1
  159. package/dist/lib/server/{safePolygon-CAm5RJGv.js → safePolygon-C1GNJbKR.js} +5 -0
  160. package/dist/lib/server/scroll-area/index.js +23 -32
  161. package/dist/lib/server/select/index.js +95 -181
  162. package/dist/lib/server/separator/index.js +1 -1
  163. package/dist/lib/server/slider/index.js +25 -38
  164. package/dist/lib/server/switch/index.js +13 -23
  165. package/dist/lib/server/tabs/index.js +185 -129
  166. package/dist/lib/server/toast/index.js +49 -66
  167. package/dist/lib/server/toggle/index.js +4 -6
  168. package/dist/lib/server/toggle-group/index.js +9 -7
  169. package/dist/lib/server/toolbar/index.js +62 -79
  170. package/dist/lib/server/tooltip/index.js +28 -37
  171. package/dist/lib/server/use-render/index.js +2 -0
  172. package/dist/lib/server/{useFilteredItems-DvuctLt3.js → useFilteredItems-DCxq20Is.js} +164 -189
  173. package/dist/lib/server/useRender-CryVdCjs.js +16 -0
  174. package/dist/lib/types/accordion/header/AccordionHeader.d.ts +1 -1
  175. package/dist/lib/types/accordion/item/AccordionItem.d.ts +1 -1
  176. package/dist/lib/types/accordion/panel/AccordionPanel.d.ts +1 -1
  177. package/dist/lib/types/accordion/root/AccordionRoot.d.ts +2 -7
  178. package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +1 -1
  179. package/dist/lib/types/alert-dialog/trigger/AlertDialogTrigger.d.ts +1 -2
  180. package/dist/lib/types/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -0
  181. package/dist/lib/types/avatar/fallback/AvatarFallback.d.ts +2 -2
  182. package/dist/lib/types/avatar/image/AvatarImage.d.ts +9 -3
  183. package/dist/lib/types/avatar/image/createImageLoadingStatus.d.ts +3 -2
  184. package/dist/lib/types/avatar/root/AvatarRoot.d.ts +1 -1
  185. package/dist/lib/types/button/Button.d.ts +1 -1
  186. package/dist/lib/types/checkbox-group/CheckboxGroupContext.d.ts +4 -1
  187. package/dist/lib/types/collapsible/panel/CollapsiblePanel.d.ts +1 -1
  188. package/dist/lib/types/collapsible/root/CollapsibleRoot.d.ts +1 -1
  189. package/dist/lib/types/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
  190. package/dist/lib/types/combobox/index.d.ts +2 -0
  191. package/dist/lib/types/combobox/index.parts.d.ts +1 -0
  192. package/dist/lib/types/combobox/items/createItems.d.ts +42 -0
  193. package/dist/lib/types/combobox/root/AriaCombobox.d.ts +4 -0
  194. package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +12 -8
  195. package/dist/lib/types/combobox/root/ComboboxRootContext.d.ts +2 -0
  196. package/dist/lib/types/combobox/trigger/ComboboxTrigger.d.ts +1 -0
  197. package/dist/lib/types/dialog/backdrop/DialogBackdrop.d.ts +1 -1
  198. package/dist/lib/types/dialog/description/DialogDescription.d.ts +1 -1
  199. package/dist/lib/types/dialog/title/DialogTitle.d.ts +1 -1
  200. package/dist/lib/types/dialog/viewport/DialogViewport.d.ts +1 -1
  201. package/dist/lib/types/drawer/backdrop/DrawerBackdrop.d.ts +1 -1
  202. package/dist/lib/types/drawer/content/DrawerContent.d.ts +1 -1
  203. package/dist/lib/types/drawer/indent/DrawerIndent.d.ts +1 -1
  204. package/dist/lib/types/drawer/indent-background/DrawerIndentBackground.d.ts +1 -1
  205. package/dist/lib/types/field/root/FieldRoot.d.ts +1 -1
  206. package/dist/lib/types/field/root/createFieldValidation.d.ts +3 -2
  207. package/dist/lib/types/fieldset/legend/FieldsetLegend.d.ts +1 -1
  208. package/dist/lib/types/fieldset/root/FieldsetRoot.d.ts +1 -1
  209. package/dist/lib/types/index.d.ts +1 -0
  210. package/dist/lib/types/internals/createTransitionStatus.d.ts +1 -1
  211. package/dist/lib/types/internals/form-context/FormContext.d.ts +1 -0
  212. package/dist/lib/types/internals/labelable-provider/LabelableContext.d.ts +1 -0
  213. package/dist/lib/types/internals/labelable-provider/createLabelableId.d.ts +3 -0
  214. package/dist/lib/types/internals/overlay/PopupPortal.d.ts +4 -2
  215. package/dist/lib/types/internals/overlay/createPopupPresence.d.ts +1 -0
  216. package/dist/lib/types/menu/root/MenuRootContext.d.ts +1 -0
  217. package/dist/lib/types/meter/indicator/MeterIndicator.d.ts +1 -1
  218. package/dist/lib/types/meter/label/MeterLabel.d.ts +1 -1
  219. package/dist/lib/types/meter/root/MeterRoot.d.ts +1 -1
  220. package/dist/lib/types/meter/track/MeterTrack.d.ts +1 -1
  221. package/dist/lib/types/meter/value/MeterValue.d.ts +1 -1
  222. package/dist/lib/types/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -0
  223. package/dist/lib/types/number-field/root/NumberFieldRootContext.d.ts +1 -0
  224. package/dist/lib/types/popover/arrow/PopoverArrow.d.ts +1 -1
  225. package/dist/lib/types/popover/backdrop/PopoverBackdrop.d.ts +1 -1
  226. package/dist/lib/types/popover/description/PopoverDescription.d.ts +1 -1
  227. package/dist/lib/types/popover/positioner/PopoverPositioner.d.ts +1 -1
  228. package/dist/lib/types/popover/title/PopoverTitle.d.ts +1 -1
  229. package/dist/lib/types/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
  230. package/dist/lib/types/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
  231. package/dist/lib/types/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
  232. package/dist/lib/types/progress/indicator/ProgressIndicator.d.ts +1 -1
  233. package/dist/lib/types/progress/label/ProgressLabel.d.ts +1 -1
  234. package/dist/lib/types/progress/root/ProgressRoot.d.ts +1 -1
  235. package/dist/lib/types/progress/track/ProgressTrack.d.ts +1 -1
  236. package/dist/lib/types/progress/value/ProgressValue.d.ts +1 -1
  237. package/dist/lib/types/radio/indicator/RadioIndicator.d.ts +2 -2
  238. package/dist/lib/types/scroll-area/content/ScrollAreaContent.d.ts +1 -1
  239. package/dist/lib/types/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
  240. package/dist/lib/types/scroll-area/root/ScrollAreaRoot.d.ts +1 -1
  241. package/dist/lib/types/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +2 -1
  242. package/dist/lib/types/scroll-area/thumb/ScrollAreaThumb.d.ts +1 -1
  243. package/dist/lib/types/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
  244. package/dist/lib/types/separator/Separator.d.ts +1 -1
  245. package/dist/lib/types/tabs/indicator/prehydrationScript.d.ts +1 -1
  246. package/dist/lib/types/tabs/list/TabsList.d.ts +1 -1
  247. package/dist/lib/types/tabs/panel/TabsPanel.d.ts +1 -1
  248. package/dist/lib/types/tabs/root/TabsRoot.d.ts +1 -1
  249. package/dist/lib/types/tabs/tab/TabsTab.d.ts +1 -1
  250. package/dist/lib/types/toast/createToastManager.d.ts +2 -2
  251. package/dist/lib/types/toast/store/ToastStore.d.ts +1 -1
  252. package/dist/lib/types/toast/useToastManager.d.ts +1 -1
  253. package/dist/lib/types/toggle/Toggle.d.ts +1 -1
  254. package/dist/lib/types/toggle-group/ToggleGroup.d.ts +1 -1
  255. package/dist/lib/types/toolbar/group/ToolbarGroup.d.ts +1 -1
  256. package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +1 -1
  257. package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +1 -1
  258. package/dist/lib/types/toolbar/separator/ToolbarSeparator.d.ts +1 -1
  259. package/dist/lib/types/tooltip/arrow/TooltipArrow.d.ts +1 -1
  260. package/dist/lib/types/tooltip/positioner/TooltipPositioner.d.ts +1 -1
  261. package/dist/lib/types/types/index.d.ts +7 -3
  262. package/dist/lib/types/use-render/index.d.ts +2 -0
  263. package/dist/lib/types/use-render/useRender.d.ts +10 -0
  264. package/package.json +24 -11
  265. package/dist/lib/client/DialogHandle-DrN2YWCv.js +0 -518
  266. package/dist/lib/client/DialogPopup-ZlqmGfdk.js +0 -136
  267. package/dist/lib/client/FieldControl-Bc-z2og6.js +0 -116
  268. package/dist/lib/client/MenuSubmenuTrigger-QZkQ0F2v.js +0 -1570
  269. package/dist/lib/client/Separator-9DboD_Si.js +0 -25
  270. package/dist/lib/client/TriggerFocusGuards-CQ-JuASy.js +0 -56
  271. package/dist/lib/client/accordion-sOXt9AlG.js +0 -399
  272. package/dist/lib/client/avatar-AF9vyD4q.js +0 -146
  273. package/dist/lib/client/button-DpUi-2g8.js +0 -82
  274. package/dist/lib/client/checkbox-BbAwOptH.js +0 -441
  275. package/dist/lib/client/checkbox-group-CSSp_805.js +0 -128
  276. package/dist/lib/client/collapsible-BIbje_ub.js +0 -232
  277. package/dist/lib/client/combobox-8O-vgTLL.js +0 -352
  278. package/dist/lib/client/context-menu-BTMkXtrs.js +0 -217
  279. package/dist/lib/client/createFocusInteraction-D4w1-235.js +0 -50
  280. package/dist/lib/client/drawer-Ce2cChLt.js +0 -1550
  281. package/dist/lib/client/field-C-o7jzKW.js +0 -469
  282. package/dist/lib/client/fieldset-BQTAWv2L.js +0 -65
  283. package/dist/lib/client/form-BINBiW5L.js +0 -106
  284. package/dist/lib/client/menu-DeMT08oD.js +0 -326
  285. package/dist/lib/client/menubar-C4aomSYv.js +0 -185
  286. package/dist/lib/client/meter-xSU37Q0m.js +0 -171
  287. package/dist/lib/client/navigation-menu-ZILQmdn6.js +0 -1083
  288. package/dist/lib/client/number-field-B8CsTb_8.js +0 -1035
  289. package/dist/lib/client/otp-field-DBkMcnog.js +0 -582
  290. package/dist/lib/client/popover-CQwyp-fs.js +0 -929
  291. package/dist/lib/client/popupStateMapping-C9eZl19i.js +0 -367
  292. package/dist/lib/client/preview-card-D_2Q8lpC.js +0 -625
  293. package/dist/lib/client/progress-D7r0xAC9.js +0 -188
  294. package/dist/lib/client/radio-CzGQ81z1.js +0 -299
  295. package/dist/lib/client/radio-group-DpHlBKA6.js +0 -193
  296. package/dist/lib/client/runOnceAnimationsFinish-15EM-Z4l.js +0 -48
  297. package/dist/lib/client/scroll-area-CffM4U0R.js +0 -701
  298. package/dist/lib/client/select-IFhiEg73.js +0 -1940
  299. package/dist/lib/client/slider-BCagYmGp.js +0 -921
  300. package/dist/lib/client/switch-RIJeDnvS.js +0 -308
  301. package/dist/lib/client/tabs-fOAKs7r3.js +0 -696
  302. package/dist/lib/client/toast-D2P8UqUs.js +0 -1108
  303. package/dist/lib/client/toggle-group-0Aue0owJ.js +0 -129
  304. package/dist/lib/client/toggle-momVEIBL.js +0 -138
  305. package/dist/lib/client/toolbar-Du22aKCv.js +0 -492
  306. package/dist/lib/client/tooltip-CyK61fl1.js +0 -844
  307. package/dist/lib/client/useFilteredItems-DTekHz39.js +0 -2223
  308. package/dist/lib/client/withoutComponentBinding-CcCW7fSc.js +0 -13
  309. package/dist/lib/server/TriggerFocusGuards-sbGwf45f.js +0 -63
  310. package/dist/lib/server/withoutComponentBinding-BHaWr5kU.js +0 -20
  311. package/dist/lib/types/internals/withoutComponentBinding.d.ts +0 -7
@@ -1,8 +1,9 @@
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 { n as useFieldsetRootContext, t as FieldsetRootContext } from "../FieldsetRootContext-DyNqCjK6.js";
5
- import { Dynamic, mergeProps } from "@solidjs/web";
6
+ import { mergeProps, ssrElement } from "@solidjs/web";
6
7
  import { createEffect, createMemo, createSignal, createUniqueId, omit } from "solid-js";
7
8
  //#region src/fieldset/root/FieldsetRoot.tsx
8
9
  /**
@@ -12,23 +13,22 @@ import { createEffect, createMemo, createSignal, createUniqueId, omit } from "so
12
13
  function FieldsetRoot(props) {
13
14
  const parentContext = useFieldsetRootContext(true);
14
15
  const [legendId, setLegendId] = createSignal();
15
- const others = omit(props, "as", "class", "disabled", "style");
16
+ const others = omit(props, "render", "class", "disabled", "style");
16
17
  const disabled = createMemo(() => parentContext?.disabled() || (props.disabled ?? false));
17
18
  const state = createMemo(() => ({ disabled: disabled() }));
18
19
  const classValue = createMemo(() => resolveClass(props.class, state()));
19
20
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
20
21
  const stateAttributes = createMemo(() => getStateAttributesProps(state()));
22
+ const context = {
23
+ legendId,
24
+ setLegendId,
25
+ disabled
26
+ };
27
+ const Render = useRender(props, () => state(), (props) => ssrElement("fieldset", props, void 0, true));
21
28
  return FieldsetRootContext({
22
- value: {
23
- legendId,
24
- setLegendId,
25
- disabled
26
- },
29
+ value: context,
27
30
  get children() {
28
- return Dynamic(mergeProps({
29
- get component() {
30
- return props.as ?? "fieldset";
31
- },
31
+ return Render(mergeProps({
32
32
  get ["class"]() {
33
33
  return classValue();
34
34
  },
@@ -54,7 +54,7 @@ function FieldsetRoot(props) {
54
54
  function FieldsetLegend(props) {
55
55
  const context = useFieldsetRootContext();
56
56
  const generatedId = `base-ui-${createUniqueId()}`;
57
- const others = omit(props, "as", "class", "id", "style");
57
+ const others = omit(props, "render", "class", "id", "style");
58
58
  const id = createMemo(() => props.id ?? generatedId);
59
59
  const state = createMemo(() => ({ disabled: context.disabled() }));
60
60
  const classValue = createMemo(() => resolveClass(props.class, state()));
@@ -66,10 +66,7 @@ function FieldsetLegend(props) {
66
66
  context.setLegendId((registeredId) => registeredId === currentId ? void 0 : registeredId);
67
67
  };
68
68
  });
69
- return Dynamic(mergeProps({
70
- get component() {
71
- return props.as ?? "div";
72
- },
69
+ return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
73
70
  get id() {
74
71
  return id();
75
72
  },
@@ -1,10 +1,11 @@
1
+ import { t as useRender } from "../useRender-CryVdCjs.js";
1
2
  import { w as none } from "../internals/reasons.js";
2
3
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
3
4
  import { createGenericEventDetails } from "../internals/createBaseUIEventDetails.js";
4
5
  import { composeEventHandlers } from "../internals/composeEventHandlers.js";
5
- import { t as FormContext } from "../FormContext-pvESt85v.js";
6
+ import { t as FormContext } from "../FormContext-CYwo_ZnB.js";
6
7
  import { t as hasFormError } from "../form-types-P7-SCWyr.js";
7
- import { Dynamic, mergeProps } from "@solidjs/web";
8
+ import { mergeProps, ssrElement } from "@solidjs/web";
8
9
  import { createEffect, createMemo, createSignal, omit, untrack } from "solid-js";
9
10
  //#region src/form/Form.tsx
10
11
  var EMPTY_ERRORS = Object.freeze({});
@@ -14,14 +15,16 @@ function Form(props) {
14
15
  let formElement = null;
15
16
  let submitted = false;
16
17
  let submitAttempted = false;
18
+ let submitCount = 0;
17
19
  const fields = /* @__PURE__ */ new Map();
18
20
  const formProps = props;
19
21
  let previousExternalErrors = untrack(() => formProps.errors);
20
22
  const internalProps = props;
21
- const others = omit(props, "actionsRef", "as", "class", "errors", "onFormSubmit", "onSubmit", "ref", "style", "validationMode");
23
+ const others = omit(props, "actionsRef", "render", "class", "errors", "onFormSubmit", "onSubmit", "ref", "style", "validationMode");
22
24
  const [errors, setErrors] = createSignal(untrack(() => formProps.errors) ?? EMPTY_ERRORS);
23
25
  const validationMode = createMemo(() => formProps.validationMode ?? "onSubmit");
24
26
  const classValue = createMemo(() => resolveClass(props.class, EMPTY_STATE));
27
+ const Render = useRender(props, () => EMPTY_STATE, (props) => ssrElement("form", props, void 0, true));
25
28
  const styleValue = createMemo(() => resolveStyle(props.style, EMPTY_STATE));
26
29
  function registerField(field) {
27
30
  fields.set(field.token, field);
@@ -52,11 +55,13 @@ function Form(props) {
52
55
  return true;
53
56
  }
54
57
  function clearError(name) {
55
- const currentErrors = untrack(errors);
56
- if (!name || !Object.hasOwn(currentErrors, name)) return;
57
- const nextErrors = { ...currentErrors };
58
- delete nextErrors[name];
59
- setErrors(nextErrors);
58
+ if (!name) return;
59
+ setErrors((currentErrors) => {
60
+ if (!Object.hasOwn(currentErrors, name)) return currentErrors;
61
+ const nextErrors = { ...currentErrors };
62
+ delete nextErrors[name];
63
+ return nextErrors;
64
+ });
60
65
  }
61
66
  const actions = { validate(fieldName) {
62
67
  if (fieldName) {
@@ -71,6 +76,7 @@ function Form(props) {
71
76
  const callExternalSubmit = composeEventHandlers(() => internalProps.onSubmit);
72
77
  function handleSubmit(event) {
73
78
  submitAttempted = true;
79
+ submitCount += 1;
74
80
  for (const field of fields.values()) field.validate();
75
81
  if (focusFirstInvalid()) {
76
82
  event.preventDefault();
@@ -88,6 +94,7 @@ function Form(props) {
88
94
  errors,
89
95
  validationMode,
90
96
  submitAttempted: () => submitAttempted,
97
+ submitCount: () => submitCount,
91
98
  formElement: () => formElement,
92
99
  clearError,
93
100
  registerField,
@@ -109,10 +116,7 @@ function Form(props) {
109
116
  return FormContext({
110
117
  value: context,
111
118
  get children() {
112
- return Dynamic(mergeProps({
113
- get component() {
114
- return props.as ?? "form";
115
- },
119
+ return Render(mergeProps({
116
120
  ref: [((element) => {
117
121
  formElement = element.tagName === "FORM" ? element : null;
118
122
  }), internalProps.ref],
@@ -1,3 +1,4 @@
1
+ import { t as useRender } from "./useRender-CryVdCjs.js";
1
2
  import { Accordion as index_parts_exports } from "./accordion/index.js";
2
3
  import { AlertDialog as index_parts_exports$1 } from "./alert-dialog/index.js";
3
4
  import { n as useDirection } from "./DirectionContext-YORWLF08.js";
@@ -7,8 +8,8 @@ import { Button } from "./button/index.js";
7
8
  import { Checkbox as index_parts_exports$4 } from "./checkbox/index.js";
8
9
  import { CheckboxGroup } from "./checkbox-group/index.js";
9
10
  import { Collapsible as index_parts_exports$5 } from "./collapsible/index.js";
10
- import { Combobox as index_parts_exports$6 } from "./combobox/index.js";
11
- import { t as Separator } from "./Separator-vhhYxWGr.js";
11
+ import { Combobox as index_parts_exports$6, createComboboxItems } from "./combobox/index.js";
12
+ import { t as Separator } from "./Separator-DTvtnxzP.js";
12
13
  import { ContextMenu as index_parts_exports$7 } from "./context-menu/index.js";
13
14
  import { CSPProvider } from "./csp-provider/index.js";
14
15
  import { DirectionProvider } from "./direction-provider/index.js";
@@ -40,4 +41,5 @@ import { Toolbar as index_parts_exports$27 } from "./toolbar/index.js";
40
41
  import { Tooltip as index_parts_exports$28 } from "./tooltip/index.js";
41
42
  import { Toggle } from "./toggle/index.js";
42
43
  import { ToggleGroup } from "./toggle-group/index.js";
43
- export { index_parts_exports as Accordion, index_parts_exports$1 as AlertDialog, index_parts_exports$2 as Autocomplete, index_parts_exports$3 as Avatar, Button, CSPProvider, index_parts_exports$4 as Checkbox, CheckboxGroup, index_parts_exports$5 as Collapsible, index_parts_exports$6 as Combobox, index_parts_exports$7 as ContextMenu, index_parts_exports$8 as Dialog, DirectionProvider, index_parts_exports$9 as Drawer, index_parts_exports$10 as Field, index_parts_exports$11 as Fieldset, Form, Input, index_parts_exports$12 as Menu, Menubar, index_parts_exports$13 as Meter, index_parts_exports$14 as NavigationMenu, index_parts_exports$15 as NumberField, index_parts_exports$16 as OTPField, index_parts_exports$17 as Popover, index_parts_exports$18 as PreviewCard, index_parts_exports$19 as Progress, index_parts_exports$20 as Radio, RadioGroup, index_parts_exports$21 as ScrollArea, index_parts_exports$22 as Select, Separator, index_parts_exports$23 as Slider, index_parts_exports$24 as Switch, index_parts_exports$25 as Tabs, index_parts_exports$26 as Toast, Toggle, ToggleGroup, index_parts_exports$27 as Toolbar, index_parts_exports$28 as Tooltip, createToastManager, useDirection, useToastManager };
44
+ import "./use-render/index.js";
45
+ export { index_parts_exports as Accordion, index_parts_exports$1 as AlertDialog, index_parts_exports$2 as Autocomplete, index_parts_exports$3 as Avatar, Button, CSPProvider, index_parts_exports$4 as Checkbox, CheckboxGroup, index_parts_exports$5 as Collapsible, index_parts_exports$6 as Combobox, index_parts_exports$7 as ContextMenu, index_parts_exports$8 as Dialog, DirectionProvider, index_parts_exports$9 as Drawer, index_parts_exports$10 as Field, index_parts_exports$11 as Fieldset, Form, Input, index_parts_exports$12 as Menu, Menubar, index_parts_exports$13 as Meter, index_parts_exports$14 as NavigationMenu, index_parts_exports$15 as NumberField, index_parts_exports$16 as OTPField, index_parts_exports$17 as Popover, index_parts_exports$18 as PreviewCard, index_parts_exports$19 as Progress, index_parts_exports$20 as Radio, RadioGroup, index_parts_exports$21 as ScrollArea, index_parts_exports$22 as Select, Separator, index_parts_exports$23 as Slider, index_parts_exports$24 as Switch, index_parts_exports$25 as Tabs, index_parts_exports$26 as Toast, Toggle, ToggleGroup, index_parts_exports$27 as Toolbar, index_parts_exports$28 as Tooltip, createComboboxItems, createToastManager, useDirection, useRender, useToastManager };
@@ -1,4 +1,4 @@
1
- import { t as FieldControl } from "../FieldControl-Y_kI7ARp.js";
1
+ import { t as FieldControl } from "../FieldControl-BDeNR3ug.js";
2
2
  //#region src/input/Input.tsx
3
3
  /**
4
4
  * A native input element that automatically integrates with Field.
@@ -1,2 +1,2 @@
1
- import { n as useFormContext, t as FormContext } from "../../FormContext-pvESt85v.js";
1
+ import { n as useFormContext, t as FormContext } from "../../FormContext-CYwo_ZnB.js";
2
2
  export { FormContext, useFormContext };
@@ -1,4 +1,4 @@
1
- import { n as createLabelableContext, r as useLabelableContext, t as LabelableContext } from "../../LabelableContext-DZP3rgAY.js";
1
+ import { n as createLabelableContext, r as useLabelableContext, t as LabelableContext } from "../../LabelableContext-BTeF0IWb.js";
2
2
  import { untrack } from "solid-js";
3
3
  //#region src/internals/labelable-provider/LabelableProvider.tsx
4
4
  /** Provides the internal accessible label and description graph. */
@@ -1,21 +1,23 @@
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
- import { N as triggerPress, j as triggerFocus, t as cancelOpen } from "../internals/reasons.js";
4
+ import { N as triggerPress, j as triggerFocus, t as cancelOpen, u as focusOut } 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 { composeEventHandlers } from "../internals/composeEventHandlers.js";
7
- import { t as PopupViewport } from "../PopupViewport-3r_KTFwX.js";
8
- import { n as createTriggerRegistration } from "../PopupStore-DEs3FAEe.js";
9
- import { r as createHoverInteraction, t as safePolygon } from "../safePolygon-CAm5RJGv.js";
10
- import { i as pressableTriggerOpenStateMapping } from "../popupStateMapping-nKoUwoke.js";
11
- import { i as createPopupHandleStore, n as DetachedPopupStore, t as BasePopupHandle } from "../PopupHandle-DthPgNjy.js";
12
- import { t as TriggerFocusGuards } from "../TriggerFocusGuards-sbGwf45f.js";
8
+ import { n as contains } from "../dom-Crg_2R-j.js";
9
+ import { t as PopupViewport } from "../PopupViewport-DftN5VUp.js";
10
+ import { n as createTriggerRegistration } from "../PopupStore-kHjFPiQ5.js";
11
+ import { r as createHoverInteraction, t as safePolygon } from "../safePolygon-C1GNJbKR.js";
12
+ import { i as pressableTriggerOpenStateMapping } from "../popupStateMapping-B2KsiiLb.js";
13
+ import { i as createPopupHandleStore, n as DetachedPopupStore, t as BasePopupHandle } from "../PopupHandle-Ct6wywmP.js";
14
+ import { t as TriggerFocusGuards } from "../TriggerFocusGuards-CvoGfft9.js";
13
15
  import { a as stopButtonInteraction, i as preventDisabledButtonKeyDown, n as handleNonNativeButtonKeyUp, r as preventButtonInteraction, t as handleNonNativeButtonKeyDown } from "../buttonSemantics-BSwDxJhh.js";
14
16
  import { n as useDirection } from "../DirectionContext-YORWLF08.js";
15
- import { C as useMenuRootContext, _ as menuViewportStateMapping, a as MenuRadioGroup, c as MenuCheckboxItem, d as MenuGroupLabel, f as MenuGroup, g as useMenuPositionerContext, 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, u as dispatchClickWithModifiers, v as MenuPortal, w as MenuStore, x as MenuRoot, y as MenuBackdrop } from "../MenuSubmenuTrigger-DA4gsv6z.js";
17
+ import { C as useMenuRootContext, _ as menuViewportStateMapping, a as MenuRadioGroup, c as MenuCheckboxItem, d as MenuGroupLabel, f as MenuGroup, g as useMenuPositionerContext, 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, u as dispatchClickWithModifiers, v as MenuPortal, w as MenuStore, x as MenuRoot, y as MenuBackdrop } from "../MenuSubmenuTrigger-rR8ZN7YR.js";
16
18
  import { n as useMenubarContext } from "../MenubarContext-C-62rMnO.js";
17
- import { t as Separator } from "../Separator-vhhYxWGr.js";
18
- import { Dynamic, memo, mergeProps } from "@solidjs/web";
19
+ import { t as Separator } from "../Separator-DTvtnxzP.js";
20
+ import { memo, mergeProps, ssrElement } from "@solidjs/web";
19
21
  import { Show, createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, untrack } from "solid-js";
20
22
  //#region src/menu/trigger/MenuTrigger.tsx
21
23
  /** A button that opens the menu. */
@@ -54,7 +56,7 @@ function MenuTrigger(props) {
54
56
  const classValue = createMemo(() => resolveClass(props.class, state()));
55
57
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
56
58
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), pressableTriggerOpenStateMapping));
57
- const others = omit(allProps, "as", "class", "closeDelay", "delay", "disabled", "handle", "id", "nativeButton", "onClick", "onBlur", "onFocus", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseMove", "onPointerDown", "openOnHover", "payload", "ref", "style");
59
+ const others = omit(allProps, "render", "class", "closeDelay", "delay", "disabled", "handle", "id", "nativeButton", "onClick", "onBlur", "onFocus", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseMove", "onPointerDown", "openOnHover", "payload", "ref", "style");
58
60
  let pointerType = "";
59
61
  let releaseTimer;
60
62
  let patientTimer;
@@ -199,6 +201,11 @@ function MenuTrigger(props) {
199
201
  if (menubarItem) menubar.setActiveTrigger(menubarItem);
200
202
  const current = getLiveStore();
201
203
  const trigger = element();
204
+ const previous = event.relatedTarget;
205
+ if (current?.open() && previous?.hasAttribute("data-base-ui-focus-guard") && contains(current.state.positionerElement, previous)) {
206
+ current.setOpen(false, createChangeEventDetails(focusOut, event));
207
+ return;
208
+ }
202
209
  if (!menubar || !current || !trigger || disabled() || open() || !menubar.hasSubmenuOpen()) return;
203
210
  prepareTrigger(current, trigger);
204
211
  current.setOpenMethod("keyboard");
@@ -233,10 +240,7 @@ function MenuTrigger(props) {
233
240
  });
234
241
  return null;
235
242
  }
236
- const trigger = Dynamic(mergeProps({
237
- get component() {
238
- return props.as ?? "button";
239
- },
243
+ const trigger = useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
240
244
  ref: [((value) => setElement(value)), internalProps.ref],
241
245
  get id() {
242
246
  return id();
@@ -343,11 +347,8 @@ function MenuViewport(props) {
343
347
  const classValue = createMemo(() => resolveClass(props.class, state()));
344
348
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
345
349
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), menuViewportStateMapping));
346
- const others = omit(allProps, "as", "children", "class", "ref", "style");
347
- return Dynamic(mergeProps({
348
- get component() {
349
- return props.as ?? "div";
350
- },
350
+ const others = omit(allProps, "render", "children", "class", "ref", "style");
351
+ return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
351
352
  ref: [internalProps.ref],
352
353
  get ["class"]() {
353
354
  return classValue();
@@ -1,3 +1,4 @@
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 { composeEventHandlers } from "../internals/composeEventHandlers.js";
@@ -5,9 +6,8 @@ import { r as getNavigatedIndex } from "../compositeNavigation-BRVT1C38.js";
5
6
  import { i as createFloatingNode, r as FloatingTreeStore } from "../FloatingTree-z1JPD1dR.js";
6
7
  import { n as useDirection } from "../DirectionContext-YORWLF08.js";
7
8
  import { t as MenubarContext } from "../MenubarContext-C-62rMnO.js";
8
- import { t as withoutComponentBinding } from "../withoutComponentBinding-BHaWr5kU.js";
9
- import { Dynamic, mergeProps, ssrElement } from "@solidjs/web";
10
- import { createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, untrack } from "solid-js";
9
+ import { mergeProps, ssrElement } from "@solidjs/web";
10
+ import { createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup } from "solid-js";
11
11
  //#region src/menubar/Menubar.tsx
12
12
  var menubarStateMapping = { hasSubmenuOpen: (value) => value ? { "data-has-submenu-open": "" } : null };
13
13
  /** A menu bar providing commands and options for an application. */
@@ -45,7 +45,7 @@ function Menubar(props) {
45
45
  const classValue = createMemo(() => resolveClass(props.class, state()));
46
46
  const styleValue = createMemo(() => resolveStyle(props.style, state()));
47
47
  const stateAttributes = createMemo(() => getStateAttributesProps(state(), menubarStateMapping));
48
- const others = omit(allProps, "as", "class", "disabled", "id", "loopFocus", "modal", "onFocusIn", "onKeyDown", "orientation", "ref", "style");
48
+ const others = omit(allProps, "render", "class", "disabled", "id", "loopFocus", "modal", "onFocusIn", "onKeyDown", "orientation", "ref", "style");
49
49
  function notifyItemChange() {
50
50
  if (itemChangeQueued) return;
51
51
  itemChangeQueued = true;
@@ -169,36 +169,11 @@ function Menubar(props) {
169
169
  else if (details.reason !== "sibling-open" && details.reason !== "list-navigation") setHasSubmenuOpen(false);
170
170
  });
171
171
  onCleanup(unsubscribe);
172
- const component = untrack(() => props.as);
173
- if (!component) return MenubarContext({
174
- value: context,
175
- get children() {
176
- return ssrElement("div", () => {
177
- return mergeProps({
178
- get id() {
179
- return id();
180
- },
181
- role: "menubar",
182
- get ["aria-orientation"]() {
183
- return orientation();
184
- },
185
- get ["class"]() {
186
- return classValue();
187
- },
188
- get style() {
189
- return styleValue();
190
- }
191
- }, stateAttributes, others);
192
- }, void 0, true);
193
- }
194
- });
172
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
195
173
  return MenubarContext({
196
174
  value: context,
197
175
  get children() {
198
- return Dynamic(mergeProps({
199
- get component() {
200
- return withoutComponentBinding(component);
201
- },
176
+ return Render(mergeProps({
202
177
  ref: [((element) => setRootElement(element)), internalProps.ref],
203
178
  get id() {
204
179
  return id();
@@ -25,7 +25,12 @@ function findItemIndex(itemValues, selectedValue, comparer) {
25
25
  * array, because an array can itself be a valid single-selection value.
26
26
  */
27
27
  function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
28
- const index = findItemIndex(itemValues, multiple && Array.isArray(selectedValue) ? selectedValue[selectedValue.length - 1] : selectedValue, comparer);
28
+ let index;
29
+ if (multiple && Array.isArray(selectedValue)) {
30
+ const selected = comparer === defaultItemEquality ? new Set(selectedValue) : null;
31
+ selected?.delete(void 0);
32
+ index = itemValues?.findIndex((item) => selected ? selected.has(item) && (item !== 0 || selectedValue.some((value) => Object.is(item, value))) : selectedValueIncludes(selectedValue, item, comparer)) ?? -1;
33
+ } else index = findItemIndex(itemValues, selectedValue, comparer);
29
34
  return index === -1 ? null : index;
30
35
  }
31
36
  function removeItem(selectedValues, itemValue, comparer) {
@@ -1,7 +1,8 @@
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
4
  import { mergeStyles } from "../internals/mergeStyles.js";
4
- import { Dynamic, escape, memo, mergeProps, ssr, ssrHydrationKey, ssrStyle } from "@solidjs/web";
5
+ import { escape, memo, mergeProps, ssr, ssrElement, ssrHydrationKey, ssrStyle } from "@solidjs/web";
5
6
  import { createContext, createEffect, createMemo, createSignal, createUniqueId, omit, useContext } from "solid-js";
6
7
  //#region src/meter/root/MeterRootContext.ts
7
8
  var MISSING_CONTEXT = Symbol("MeterRootContext");
@@ -37,7 +38,7 @@ function MeterRoot(props) {
37
38
  const rootProps = props;
38
39
  const allProps = props;
39
40
  const [labelId, setLabelId] = createSignal();
40
- const others = omit(allProps, "as", "children", "class", "format", "getAriaValueText", "locale", "max", "min", "style", "value");
41
+ const others = omit(allProps, "render", "children", "class", "format", "getAriaValueText", "locale", "max", "min", "style", "value");
41
42
  const min = createMemo(() => rootProps.min ?? 0);
42
43
  const max = createMemo(() => rootProps.max ?? 100);
43
44
  const percentageValue = createMemo(() => {
@@ -50,18 +51,17 @@ function MeterRoot(props) {
50
51
  const state = {};
51
52
  const classValue = createMemo(() => resolveClass(props.class, state));
52
53
  const styleValue = createMemo(() => resolveStyle(props.style, state));
54
+ const context = {
55
+ formattedValue,
56
+ percentageValue,
57
+ setLabelId,
58
+ value: () => rootProps.value
59
+ };
60
+ const Render = useRender(props, () => state, (props) => ssrElement("div", props, void 0, true));
53
61
  return MeterRootContext({
54
- value: {
55
- formattedValue,
56
- percentageValue,
57
- setLabelId,
58
- value: () => rootProps.value
59
- },
62
+ value: context,
60
63
  get children() {
61
- return Dynamic(mergeProps({
62
- get component() {
63
- return props.as ?? "div";
64
- },
64
+ return Render(mergeProps({
65
65
  get ["class"]() {
66
66
  return classValue();
67
67
  },
@@ -99,14 +99,11 @@ function clamp(value, min, max) {
99
99
  //#region src/meter/track/MeterTrack.tsx
100
100
  /** Contains the indicator and represents the meter's complete range. */
101
101
  function MeterTrack(props) {
102
- const others = omit(props, "as", "class", "style");
102
+ const others = omit(props, "render", "class", "style");
103
103
  const state = {};
104
104
  const classValue = createMemo(() => resolveClass(props.class, state));
105
105
  const styleValue = createMemo(() => resolveStyle(props.style, state));
106
- return Dynamic(mergeProps({
107
- get component() {
108
- return props.as ?? "div";
109
- },
106
+ return useRender(props, () => state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
110
107
  get ["class"]() {
111
108
  return classValue();
112
109
  },
@@ -120,7 +117,7 @@ function MeterTrack(props) {
120
117
  /** Visualizes the current value's position within the meter range. */
121
118
  function MeterIndicator(props) {
122
119
  const context = useMeterRootContext();
123
- const others = omit(props, "as", "class", "style");
120
+ const others = omit(props, "render", "class", "style");
124
121
  const state = {};
125
122
  const classValue = createMemo(() => resolveClass(props.class, state));
126
123
  const internalStyle = createMemo(() => ({
@@ -133,10 +130,7 @@ function MeterIndicator(props) {
133
130
  if (typeof externalStyle === "string") return `inset-inline-start:0;height:inherit;width:${context.percentageValue()}%;${externalStyle}`;
134
131
  return mergeStyles(internalStyle(), externalStyle === false ? void 0 : externalStyle);
135
132
  });
136
- return Dynamic(mergeProps({
137
- get component() {
138
- return props.as ?? "div";
139
- },
133
+ return useRender(props, () => state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
140
134
  get ["class"]() {
141
135
  return classValue();
142
136
  },
@@ -151,15 +145,12 @@ function MeterIndicator(props) {
151
145
  function MeterValue(props) {
152
146
  const valueProps = props;
153
147
  const context = useMeterRootContext();
154
- const others = omit(props, "as", "children", "class", "style");
148
+ const others = omit(props, "render", "children", "class", "style");
155
149
  const state = {};
156
150
  const classValue = createMemo(() => resolveClass(props.class, state));
157
151
  const styleValue = createMemo(() => resolveStyle(props.style, state));
158
152
  const content = createMemo(() => typeof valueProps.children === "function" ? valueProps.children(context.formattedValue(), context.value()) : context.formattedValue());
159
- return Dynamic(mergeProps({
160
- get component() {
161
- return props.as ?? "span";
162
- },
153
+ return useRender(props, () => state, (props) => ssrElement("span", props, void 0, true))(mergeProps({
163
154
  get ["class"]() {
164
155
  return classValue();
165
156
  },
@@ -177,7 +168,7 @@ function MeterValue(props) {
177
168
  function MeterLabel(props) {
178
169
  const context = useMeterRootContext();
179
170
  const generatedId = `base-ui-${createUniqueId()}`;
180
- const others = omit(props, "as", "class", "id", "style");
171
+ const others = omit(props, "render", "class", "id", "style");
181
172
  const id = createMemo(() => props.id ?? generatedId);
182
173
  const state = {};
183
174
  const classValue = createMemo(() => resolveClass(props.class, state));
@@ -188,10 +179,7 @@ function MeterLabel(props) {
188
179
  context.setLabelId((registeredId) => registeredId === currentId ? void 0 : registeredId);
189
180
  };
190
181
  });
191
- return Dynamic(mergeProps({
192
- get component() {
193
- return props.as ?? "span";
194
- },
182
+ return useRender(props, () => state, (props) => ssrElement("span", props, void 0, true))(mergeProps({
195
183
  get id() {
196
184
  return id();
197
185
  },