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,16 +1,17 @@
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 { C as missing, p as initial, s as disabled, w as none } from "../internals/reasons.js";
4
5
  import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
5
6
  import { createChangeEventDetails } from "../internals/createBaseUIEventDetails.js";
6
7
  import { transitionStatusMapping } from "../internals/stateAttributesMapping.js";
7
- import { composeEventHandlers } from "../internals/composeEventHandlers.js";
8
- import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-DCHzXWZU.js";
9
- import { t as createTransitionStatus } from "../createTransitionStatus-BTlrerSS.js";
8
+ import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
9
+ import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-CYq38H8J.js";
10
+ import { t as createTransitionStatus } from "../createTransitionStatus-184v7j3-.js";
10
11
  import { n as useDirection } from "../DirectionContext-YORWLF08.js";
12
+ import { t as mergeStyleValue } from "../mergeStyleValue-DecVaoac.js";
11
13
  import { n as useCSPContext } from "../CSPContext-DOxR0PO7.js";
12
- import { mergeStyles } from "../internals/mergeStyles.js";
13
- import { Dynamic, escape, isServer, memo, mergeProps, ssrElement } from "@solidjs/web";
14
+ import { escape, isServer, memo, mergeProps, ssrElement } from "@solidjs/web";
14
15
  import { Show, createContext, createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, onSettled, sharedConfig, untrack, useContext } from "solid-js";
15
16
  //#region src/tabs/root/TabsRootContext.ts
16
17
  var MISSING_CONTEXT$1 = Symbol("TabsRootContext");
@@ -62,7 +63,7 @@ function TabsRoot(props) {
62
63
  let disposed = false;
63
64
  let warnedMode = false;
64
65
  let warnedDefault = false;
65
- const others = omit(allProps, "as", "class", "defaultValue", "onValueChange", "orientation", "ref", "style", "value");
66
+ const others = omit(allProps, "render", "class", "defaultValue", "onValueChange", "orientation", "ref", "style", "value");
66
67
  const value = createMemo(() => controlled ? internalProps.value : uncontrolledValue());
67
68
  const orientation = createMemo(() => internalProps.orientation ?? "horizontal");
68
69
  const state = createMemo(() => ({
@@ -263,13 +264,11 @@ function TabsRoot(props) {
263
264
  onCleanup(() => {
264
265
  disposed = true;
265
266
  });
267
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
266
268
  return TabsRootContext({
267
269
  value: context,
268
270
  get children() {
269
- return Dynamic(mergeProps({
270
- get component() {
271
- return props.as ?? "div";
272
- },
271
+ return Render(mergeProps({
273
272
  ref: [internalProps.ref],
274
273
  get ["class"]() {
275
274
  return classValue();
@@ -334,9 +333,11 @@ function TabsList(props) {
334
333
  const [highlightedTab, setHighlightedTabToken] = createSignal();
335
334
  const indicatorListeners = /* @__PURE__ */ new Set();
336
335
  let initializedHighlight = false;
336
+ let highlightedIndex = 0;
337
+ let highlightedToken;
337
338
  let navigating = false;
338
339
  let navigationResetQueued = false;
339
- const others = omit(allProps, "activateOnFocus", "as", "class", "loopFocus", "onKeyDown", "ref", "style");
340
+ const others = omit(allProps, "activateOnFocus", "render", "class", "loopFocus", "onKeyDown", "ref", "style");
340
341
  const activateOnFocus = createMemo(() => internalProps.activateOnFocus ?? false);
341
342
  const loopFocus = createMemo(() => internalProps.loopFocus ?? true);
342
343
  const state = createMemo(() => root.state());
@@ -353,6 +354,8 @@ function TabsList(props) {
353
354
  });
354
355
  }
355
356
  function setHighlightedTab(registration) {
357
+ highlightedIndex = untrack(root.getOrderedTabs).indexOf(registration);
358
+ highlightedToken = registration.token;
356
359
  setHighlightedTabToken(registration.token);
357
360
  }
358
361
  function registerIndicatorUpdateListener(listener) {
@@ -393,7 +396,7 @@ function TabsList(props) {
393
396
  scrollTabIntoView(targetElement, root.orientation());
394
397
  queueMicrotask(() => target.element()?.focus());
395
398
  }
396
- const onKeyDown = composeEventHandlers(() => internalProps.onKeyDown, () => handleKeyDown);
399
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => internalProps.onKeyDown), handleKeyDown);
397
400
  const context = {
398
401
  activateOnFocus,
399
402
  highlightedTab,
@@ -409,17 +412,27 @@ function TabsList(props) {
409
412
  element: listElement(),
410
413
  tabs: root.getOrderedTabs().map((tab) => ({
411
414
  registration: tab,
415
+ element: tab.element(),
412
416
  disabled: tab.disabled(),
413
417
  value: tab.value()
414
418
  }))
415
419
  };
416
420
  }, (current) => {
417
421
  const active = current.tabs.find((tab) => tab.value === current.activeValue);
422
+ const eligible = (tab) => {
423
+ const element = tab?.element;
424
+ return element && !isNativelyDisabled(element) && !element.hidden && element.ownerDocument.defaultView?.getComputedStyle(element).display !== "none";
425
+ };
418
426
  if (!initializedHighlight && current.tabs.length > 0) {
419
427
  initializedHighlight = true;
420
- setHighlightedTab(active?.registration ?? current.tabs[0].registration);
428
+ setHighlightedTab((eligible(active) ? active : current.tabs.find(eligible) ?? current.tabs[0]).registration);
421
429
  return;
422
430
  }
431
+ const highlighted = current.tabs.findIndex((tab) => tab.registration.token === highlightedToken);
432
+ if (highlighted === -1 && current.tabs.length > 0) {
433
+ const successor = current.tabs[highlightedIndex];
434
+ setHighlightedTab((eligible(successor) ? successor : eligible(active) ? active : current.tabs.find(eligible) ?? current.tabs[0]).registration);
435
+ } else if (highlighted !== -1) highlightedIndex = highlighted;
423
436
  if (!active || active.disabled || navigating) return;
424
437
  const activeElement = current.element ? getDeepActiveElement(current.element.ownerDocument) : null;
425
438
  if (current.element && activeElement && containsComposed(current.element, activeElement)) return;
@@ -456,13 +469,11 @@ function TabsList(props) {
456
469
  activeValue: root.value(),
457
470
  version: root.tabsVersion()
458
471
  }), () => notifyIndicators());
472
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
459
473
  return TabsListContext({
460
474
  value: context,
461
475
  get children() {
462
- return Dynamic(mergeProps({
463
- get component() {
464
- return props.as ?? "div";
465
- },
476
+ return Render(mergeProps({
466
477
  ref: [((element) => setListElement(element)), internalProps.ref],
467
478
  get ["class"]() {
468
479
  return classValue();
@@ -573,7 +584,7 @@ function TabsTab(props) {
573
584
  disabled
574
585
  };
575
586
  const unregister = root.registerTab(registration);
576
- const others = omit(allProps, "as", "class", "disabled", "id", "nativeButton", "onClick", "onFocus", "onKeyDown", "onPointerDown", "ref", "style", "value");
587
+ const others = omit(allProps, "render", "class", "disabled", "id", "nativeButton", "onClick", "onFocus", "onKeyDown", "onPointerDown", "ref", "style", "value");
577
588
  const state = createMemo(() => ({
578
589
  disabled: disabled(),
579
590
  active: active(),
@@ -628,10 +639,10 @@ function TabsTab(props) {
628
639
  event.preventDefault();
629
640
  activate(event);
630
641
  }
631
- const onClick = composeEventHandlers(() => untrack(() => disabled() ? preventDisabledInteraction : void 0), () => internalProps.onClick, () => handleClick);
632
- const onFocus = composeEventHandlers(() => internalProps.onFocus, () => handleFocus);
633
- const onKeyDown = composeEventHandlers(() => internalProps.onKeyDown, () => handleKeyDown);
634
- const onPointerDown = composeEventHandlers(() => internalProps.onPointerDown, () => handlePointerDown);
642
+ const onClick = composeEventHandlers(liveEventHandler(() => untrack(() => disabled() ? preventDisabledInteraction : void 0)), liveEventHandler(() => internalProps.onClick), handleClick);
643
+ const onFocus = composeEventHandlers(liveEventHandler(() => internalProps.onFocus), handleFocus);
644
+ const onKeyDown = composeEventHandlers(liveEventHandler(() => internalProps.onKeyDown), handleKeyDown);
645
+ const onPointerDown = composeEventHandlers(liveEventHandler(() => internalProps.onPointerDown), handlePointerDown);
635
646
  createEffect(() => ({
636
647
  disabled: disabled(),
637
648
  element: element(),
@@ -642,10 +653,7 @@ function TabsTab(props) {
642
653
  removePointerListeners?.();
643
654
  unregister();
644
655
  });
645
- return Dynamic(mergeProps({
646
- get component() {
647
- return props.as ?? "button";
648
- },
656
+ return useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
649
657
  ref: [((current) => setElement(current)), internalProps.ref],
650
658
  get id() {
651
659
  return id();
@@ -694,7 +702,61 @@ var TabsIndicatorCssVars = /* @__PURE__ */ function(TabsIndicatorCssVars) {
694
702
  }({});
695
703
  //#endregion
696
704
  //#region src/tabs/indicator/prehydrationScript.ts
697
- var tabsIndicatorPrehydrationScript = `!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest('[role="tablist"]');if(!e)return;const i=e.querySelector("[data-active]");if(!i)return;function o(t){const e=getComputedStyle(t);let i=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(i)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(i=t.offsetWidth,o=t.offsetHeight),{width:i,height:o}}function n(){let n=0,r=0,s=0,h=0;const{width:c,height:f}=o(i),{width:l,height:u}=o(e),d=i.getBoundingClientRect(),a=e.getBoundingClientRect(),g=l>0?a.width/l:1,b=u>0?a.height/u:1;if(Math.abs(g)>Number.EPSILON&&Math.abs(b)>Number.EPSILON){const t=d.left-a.left,i=d.top-a.top;n=t/g+e.scrollLeft-e.clientLeft,s=i/b+e.scrollTop-e.clientTop}else n=i.offsetLeft,s=i.offsetTop;const p=c,m=f;function v(e,i){t.style.setProperty(\`--active-tab-\${e}\`,\`\${i}px\`)}return r=e.scrollWidth-n-p,h=e.scrollHeight-s-m,v("left",n),v("right",r),v("top",s),v("bottom",h),v("width",p),v("height",m),p>0&&m>0&&(t.removeAttribute("hidden"),!0)}if(n()||"undefined"==typeof ResizeObserver)return;let r,s;function h(){s.disconnect(),clearTimeout(r)}s=new ResizeObserver(()=>{t.isConnected&&t.hasAttribute("hidden")&&i.hasAttribute("data-active")?n()&&h():h()}),s.observe(i),r=setTimeout(h,1e4)}();`;
705
+ var tabsIndicatorPrehydrationScript = `(() => {
706
+ const indicator = document.currentScript.previousElementSibling;
707
+ const list = indicator?.closest('[role="tablist"]');
708
+ const tab = list?.querySelector('[data-active]');
709
+ if (!tab) return;
710
+ const style = getComputedStyle(tab);
711
+ if (['transform', 'translate', 'rotate', 'scale'].some(key => style[key] && style[key] !== 'none')) return;
712
+ function cumulative(element) {
713
+ let left = 0, top = 0;
714
+ while (element) {
715
+ left += element.offsetLeft;
716
+ top += element.offsetTop;
717
+ element = element.offsetParent;
718
+ if (element) {
719
+ left += element.clientLeft;
720
+ top += element.clientTop;
721
+ }
722
+ }
723
+ return { left, top };
724
+ }
725
+ function update() {
726
+ const css = getComputedStyle(tab);
727
+ let width = parseFloat(css.width) || 0, height = parseFloat(css.height) || 0;
728
+ if (Math.round(width) !== tab.offsetWidth || Math.round(height) !== tab.offsetHeight) {
729
+ width = tab.offsetWidth;
730
+ height = tab.offsetHeight;
731
+ }
732
+ const tabOffset = cumulative(tab), listOffset = cumulative(list);
733
+ let left = tabOffset.left - listOffset.left - list.clientLeft;
734
+ let top = tabOffset.top - listOffset.top - list.clientTop;
735
+ for (let parent = tab.parentElement; parent && parent !== list; parent = parent.parentElement) {
736
+ left -= parent.scrollLeft;
737
+ top -= parent.scrollTop;
738
+ }
739
+ left = Math.min(left, list.scrollWidth - width);
740
+ top = Math.min(top, list.scrollHeight - height);
741
+ const values = { left, top, right: list.scrollWidth - left - width, bottom: list.scrollHeight - top - height, width, height };
742
+ for (const key in values) indicator.style.setProperty('--active-tab-' + key, values[key] + 'px');
743
+ if (width > 0 && height > 0) {
744
+ indicator.removeAttribute('hidden');
745
+ return true;
746
+ }
747
+ return false;
748
+ }
749
+ if (update() || typeof ResizeObserver === 'undefined') return;
750
+ let timer;
751
+ const observer = new ResizeObserver(() => {
752
+ if (!indicator.isConnected || !indicator.hasAttribute('hidden') || !tab.hasAttribute('data-active') || update()) {
753
+ observer.disconnect();
754
+ clearTimeout(timer);
755
+ }
756
+ });
757
+ observer.observe(tab);
758
+ timer = setTimeout(() => observer.disconnect(), 10000);
759
+ })();`;
698
760
  //#endregion
699
761
  //#region src/tabs/indicator/TabsIndicator.tsx
700
762
  var stateAttributesMapping$1 = {
@@ -713,7 +775,7 @@ function TabsIndicator(props) {
713
775
  const [measureVersion, setMeasureVersion] = createSignal(0);
714
776
  const [hydrating, setHydrating] = createSignal(Boolean(isServer || sharedConfig.hydrating));
715
777
  const trustedPrehydrationScript = { innerHTML: tabsIndicatorPrehydrationScript };
716
- const others = omit(allProps, "as", "class", "ref", "renderBeforeHydration", "style");
778
+ const others = omit(allProps, "render", "class", "ref", "renderBeforeHydration", "style");
717
779
  const state = createMemo(() => ({
718
780
  ...root.state(),
719
781
  activeTabPosition: geometry()?.position ?? null,
@@ -732,7 +794,11 @@ function TabsIndicator(props) {
732
794
  [TabsIndicatorCssVars.activeTabHeight]: `${current.size.height}px`
733
795
  };
734
796
  });
735
- const styleValue = createMemo(() => mergeStyles(internalStyle(), resolveStyle(props.style, state())));
797
+ const styleValue = createMemo(() => {
798
+ const internal = internalStyle();
799
+ const external = resolveStyle(props.style, state());
800
+ return internal ? mergeStyleValue(internal, external) : external;
801
+ });
736
802
  const hidden = createMemo(() => {
737
803
  const current = geometry();
738
804
  return !current || current.size.width <= 0 || current.size.height <= 0;
@@ -748,14 +814,13 @@ function TabsIndicator(props) {
748
814
  const listRect = listElement.getBoundingClientRect();
749
815
  const scaleX = listSize.width > 0 ? listRect.width / listSize.width : 1;
750
816
  const scaleY = listSize.height > 0 ? listRect.height / listSize.height : 1;
751
- let left;
752
- let top;
753
- if (scaleX > Number.EPSILON && scaleY > Number.EPSILON) {
754
- left = (tabRect.left - listRect.left) / scaleX + listElement.scrollLeft - listElement.clientLeft;
755
- top = (tabRect.top - listRect.top) / scaleY + listElement.scrollTop - listElement.clientTop;
756
- } else {
757
- left = activeTab.offsetLeft;
758
- top = activeTab.offsetTop;
817
+ let { left, top } = getLayoutOffset(activeTab, listElement);
818
+ const rectLeft = (tabRect.left - listRect.left) / scaleX + listElement.scrollLeft - listElement.clientLeft;
819
+ const rectTop = (tabRect.top - listRect.top) / scaleY + listElement.scrollTop - listElement.clientTop;
820
+ const translation = getActiveTabTranslation(activeTab);
821
+ if (Math.abs(rectLeft - translation.x - left) <= 2 && Math.abs(rectTop - translation.y - top) <= 2) {
822
+ left = rectLeft;
823
+ top = rectTop;
759
824
  }
760
825
  return {
761
826
  position: {
@@ -781,47 +846,25 @@ function TabsIndicator(props) {
781
846
  setHydrating(false);
782
847
  });
783
848
  onCleanup(unregisterListener);
849
+ const Render = useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true));
784
850
  return Show({
785
851
  get when() {
786
852
  return root.value() != null;
787
853
  },
788
854
  get children() {
789
- return [Show({
790
- get when() {
791
- return props.as;
855
+ return [Render(mergeProps({
856
+ ref: [internalProps.ref],
857
+ get ["class"]() {
858
+ return classValue();
792
859
  },
793
- get fallback() {
794
- return ssrElement("span", () => {
795
- return mergeProps({
796
- get ["class"]() {
797
- return classValue();
798
- },
799
- get style() {
800
- return styleValue();
801
- },
802
- role: "presentation",
803
- get hidden() {
804
- return hidden();
805
- }
806
- }, stateAttributes, others);
807
- }, void 0, true);
860
+ get style() {
861
+ return styleValue();
808
862
  },
809
- children: (component) => Dynamic(mergeProps({
810
- get component() {
811
- return component();
812
- },
813
- get ["class"]() {
814
- return classValue();
815
- },
816
- get style() {
817
- return styleValue();
818
- },
819
- role: "presentation",
820
- get hidden() {
821
- return hidden();
822
- }
823
- }, stateAttributes, others))
824
- }), memo(() => {
863
+ role: "presentation",
864
+ get hidden() {
865
+ return hidden();
866
+ }
867
+ }, stateAttributes, others)), memo(() => {
825
868
  return escape(memo(() => {
826
869
  return !!((internalProps.renderBeforeHydration ?? false) && hydrating());
827
870
  })() ? ssrElement("script", () => {
@@ -833,6 +876,61 @@ function TabsIndicator(props) {
833
876
  }
834
877
  });
835
878
  }
879
+ function getLayoutOffset(element, ancestor) {
880
+ const elementOffset = getCumulativeOffset(element);
881
+ const ancestorOffset = getCumulativeOffset(ancestor);
882
+ let left = elementOffset.left - ancestorOffset.left - ancestor.clientLeft;
883
+ let top = elementOffset.top - ancestorOffset.top - ancestor.clientTop;
884
+ let node = element.assignedSlot ?? element.parentNode;
885
+ while (node && node !== ancestor) {
886
+ if (node.nodeType === 1) {
887
+ left -= node.scrollLeft || 0;
888
+ top -= node.scrollTop || 0;
889
+ }
890
+ node = node.assignedSlot ?? node.parentNode ?? node.host;
891
+ }
892
+ return {
893
+ left,
894
+ top
895
+ };
896
+ }
897
+ function getCumulativeOffset(element) {
898
+ let left = 0;
899
+ let top = 0;
900
+ let current = element;
901
+ while (current) {
902
+ left += current.offsetLeft;
903
+ top += current.offsetTop;
904
+ const parent = current.offsetParent;
905
+ if (parent) {
906
+ left += parent.clientLeft;
907
+ top += parent.clientTop;
908
+ }
909
+ current = parent;
910
+ }
911
+ return {
912
+ left,
913
+ top
914
+ };
915
+ }
916
+ function getActiveTabTranslation(element) {
917
+ const style = element.ownerDocument.defaultView.getComputedStyle(element);
918
+ const matrix = style.transform.match(/matrix(?:3d)?\(([^)]+)\)/)?.[1]?.split(",").map(Number);
919
+ let x = matrix?.[matrix.length === 16 ? 12 : 4] ?? 0;
920
+ let y = matrix?.[matrix.length === 16 ? 13 : 5] ?? 0;
921
+ const translate = style.translate?.split(" ") ?? [];
922
+ for (let index = 0; index < 2; index += 1) {
923
+ const value = translate[index] ?? "";
924
+ const numeric = Number.parseFloat(value);
925
+ const offset = Number.isFinite(numeric) ? numeric * (value.endsWith("%") ? (index === 0 ? element.offsetWidth : element.offsetHeight) / 100 : 1) : 0;
926
+ if (index === 0) x += offset;
927
+ else y += offset;
928
+ }
929
+ return {
930
+ x,
931
+ y
932
+ };
933
+ }
836
934
  function getCssDimensions(element) {
837
935
  const computedStyle = element.ownerDocument.defaultView?.getComputedStyle(element);
838
936
  let width = Number.parseFloat(computedStyle?.width ?? "") || 0;
@@ -884,7 +982,7 @@ function TabsPanel(props) {
884
982
  rendered: shouldRender
885
983
  };
886
984
  const unregister = root.registerPanel(registration);
887
- const others = omit(allProps, "as", "class", "id", "keepMounted", "ref", "style", "value");
985
+ const others = omit(allProps, "render", "class", "id", "keepMounted", "ref", "style", "value");
888
986
  const state = createMemo(() => ({
889
987
  ...root.state(),
890
988
  hidden: hidden(),
@@ -919,78 +1017,40 @@ function TabsPanel(props) {
919
1017
  else root.notifyPanelChange();
920
1018
  });
921
1019
  onCleanup(() => unregister());
1020
+ const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
922
1021
  return Show({
923
1022
  get when() {
924
1023
  return shouldRender();
925
1024
  },
926
1025
  get children() {
927
- return Show({
928
- get when() {
929
- return props.as;
1026
+ return Render(mergeProps({
1027
+ ref: [((current) => setElement(current)), internalProps.ref],
1028
+ get id() {
1029
+ return id();
930
1030
  },
931
- get fallback() {
932
- return ssrElement("div", () => {
933
- return mergeProps({
934
- get id() {
935
- return id();
936
- },
937
- get ["class"]() {
938
- return classValue();
939
- },
940
- get style() {
941
- return styleValue();
942
- },
943
- role: "tabpanel",
944
- get tabIndex() {
945
- return open() ? 0 : -1;
946
- },
947
- get ["aria-labelledby"]() {
948
- return correspondingTabId();
949
- },
950
- get hidden() {
951
- return hidden();
952
- },
953
- get inert() {
954
- return !open() ? true : void 0;
955
- },
956
- get ["data-index"]() {
957
- return index();
958
- }
959
- }, stateAttributes, others);
960
- }, void 0, true);
1031
+ get ["class"]() {
1032
+ return classValue();
961
1033
  },
962
- children: (component) => Dynamic(mergeProps({
963
- get component() {
964
- return component();
965
- },
966
- ref: [((current) => setElement(current)), internalProps.ref],
967
- get id() {
968
- return id();
969
- },
970
- get ["class"]() {
971
- return classValue();
972
- },
973
- get style() {
974
- return styleValue();
975
- },
976
- role: "tabpanel",
977
- get tabIndex() {
978
- return open() ? 0 : -1;
979
- },
980
- get ["aria-labelledby"]() {
981
- return correspondingTabId();
982
- },
983
- get hidden() {
984
- return hidden();
985
- },
986
- get inert() {
987
- return !open() ? true : void 0;
988
- },
989
- get ["data-index"]() {
990
- return index();
991
- }
992
- }, stateAttributes, others))
993
- });
1034
+ get style() {
1035
+ return styleValue();
1036
+ },
1037
+ role: "tabpanel",
1038
+ get tabIndex() {
1039
+ return open() ? 0 : -1;
1040
+ },
1041
+ get ["aria-labelledby"]() {
1042
+ return correspondingTabId();
1043
+ },
1044
+ get hidden() {
1045
+ return hidden();
1046
+ },
1047
+ get inert() {
1048
+ return !open() ? true : void 0;
1049
+ },
1050
+ get ["data-index"]() {
1051
+ return index();
1052
+ }
1053
+ }, stateAttributes, others));
994
1054
  }
995
1055
  });
996
1056
  }