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.
- package/CHANGELOG.md +72 -0
- package/README.md +133 -15
- package/dist/lib/client/DialogHandle-DluOK_7u.js +521 -0
- package/dist/lib/client/DialogPopup-CfEb3F54.js +138 -0
- package/dist/lib/client/FieldControl-eDe-Jnp9.js +142 -0
- package/dist/lib/client/{FieldRootContext-izCEh80D.js → FieldRootContext-D3fuVjs3.js} +1 -1
- package/dist/lib/client/{FocusManager-grSdNHqW.js → FocusManager-q7z7PMV1.js} +94 -91
- package/dist/lib/client/{FormContext-BB05lWOI.js → FormContext-CwLBtm_d.js} +1 -0
- package/dist/lib/client/{InternalBackdrop-cSK13gaM.js → InternalBackdrop-B8_lfUvf.js} +1 -1
- package/dist/lib/client/{LabelableContext-DKsB0fIx.js → LabelableContext-CmQF-TX2.js} +3 -6
- package/dist/lib/client/MenuSubmenuTrigger-DMb5CwTF.js +1584 -0
- package/dist/lib/client/{PopupHandle-CcJG4NMy.js → PopupHandle-DyX5gY1e.js} +17 -11
- package/dist/lib/client/{PopupStore-DjB-wO88.js → PopupStore-BjRwcvbG.js} +138 -115
- package/dist/lib/client/PopupViewport-BanYHrD-.js +154 -0
- package/dist/lib/client/Separator-D5oJzlA3.js +27 -0
- package/dist/lib/client/TriggerFocusGuards-Fzspp3Y1.js +51 -0
- package/dist/lib/client/accordion/index.js +1 -1
- package/dist/lib/client/accordion-CA2DfX67.js +381 -0
- package/dist/lib/client/alert-dialog/index.js +1 -1
- package/dist/lib/client/{alert-dialog-BH_3ndio.js → alert-dialog-Bup88Dpx.js} +2 -2
- package/dist/lib/client/autocomplete/index.js +1 -1
- package/dist/lib/client/{autocomplete-Cob_FZEP.js → autocomplete-oyy_uRpU.js} +30 -25
- package/dist/lib/client/avatar/index.js +1 -1
- package/dist/lib/client/avatar-DNZ4fnBd.js +191 -0
- package/dist/lib/client/button/index.js +1 -1
- package/dist/lib/client/button-BJZYmCVv.js +88 -0
- package/dist/lib/client/checkbox/index.js +1 -1
- package/dist/lib/client/checkbox-group/index.js +1 -1
- package/dist/lib/client/checkbox-group-DGyrciZJ.js +135 -0
- package/dist/lib/client/checkbox-sQHYTbpB.js +425 -0
- package/dist/lib/client/collapsible/index.js +1 -1
- package/dist/lib/client/collapsible-BENbFFCc.js +230 -0
- package/dist/lib/client/combobox/index.js +2 -2
- package/dist/lib/client/combobox-BGH8QLXH.js +401 -0
- package/dist/lib/client/compositeNavigation-DCt1sQon.js +82 -0
- package/dist/lib/client/{constants-BYjBUIIi.js → constants-ByOMFJAe.js} +105 -101
- package/dist/lib/client/context-menu/index.js +1 -1
- package/dist/lib/client/context-menu-xQ1sBCET.js +220 -0
- package/dist/lib/client/{createAnchorPositioning-DcxDXUgB.js → createAnchorPositioning-DCXIApS1.js} +149 -146
- package/dist/lib/client/{createAnchoredPopupScrollLock-Cx0cbh1_.js → createAnchoredPopupScrollLock-BxKpJbCE.js} +2 -2
- package/dist/lib/client/{createClickInteraction-CTaIFBiV.js → createClickInteraction-BeBsTqtY.js} +1 -1
- package/dist/lib/client/{createCollapsiblePanel-DeDu0O2t.js → createCollapsiblePanel-BQ8r4RTi.js} +1 -1
- package/dist/lib/client/createFocusInteraction-DQPWkZe2.js +60 -0
- package/dist/lib/client/createLabelableId-DxJRwMUJ.js +14 -0
- package/dist/lib/client/{createPopupAutoResize-CGNiLhGq.js → createPopupAutoResize-CSNpMz5v.js} +4 -4
- package/dist/lib/client/{createTransitionStatus-B1L-whed.js → createTransitionStatus-BL_cPSEA.js} +12 -12
- package/dist/lib/client/dialog/index.js +1 -1
- package/dist/lib/client/{dialog-DkaQwIgP.js → dialog-C0EF0a5u.js} +2 -2
- package/dist/lib/client/{dom-BEAeQ9Eb.js → dom-lDdayFF_.js} +25 -15
- package/dist/lib/client/drawer/index.js +1 -1
- package/dist/lib/client/drawer-uKoNBwDU.js +1540 -0
- package/dist/lib/client/field/index.js +1 -1
- package/dist/lib/client/field-DIMrgpBW.js +483 -0
- package/dist/lib/client/fieldset/index.js +1 -1
- package/dist/lib/client/fieldset-Byqk3noT.js +70 -0
- package/dist/lib/client/form/index.js +1 -1
- package/dist/lib/client/form-Bqq8wSLY.js +109 -0
- package/dist/lib/client/index.js +44 -42
- package/dist/lib/client/input/index.js +1 -1
- package/dist/lib/client/{input-gb0ejxkm.js → input-YthuKwIE.js} +1 -1
- package/dist/lib/client/internals/composeEventHandlers.js +14 -8
- package/dist/lib/client/internals/field-root-context/index.js +2 -2
- package/dist/lib/client/internals/form-context/index.js +1 -1
- package/dist/lib/client/internals/labelable-provider/index.js +1 -1
- package/dist/lib/client/{mergeStyleValue-C4ITiiIV.js → isSolidAccessor-BH_FevwH.js} +8 -15
- package/dist/lib/client/menu/index.js +1 -1
- package/dist/lib/client/menu-4rNLN6aX.js +334 -0
- package/dist/lib/client/menubar/index.js +1 -1
- package/dist/lib/client/menubar-nFQGtNmY.js +163 -0
- package/dist/lib/client/mergeStyleValue-Dcd36yxZ.js +12 -0
- package/dist/lib/client/meter/index.js +1 -1
- package/dist/lib/client/meter-BvWdppcx.js +178 -0
- package/dist/lib/client/navigation-menu/index.js +1 -1
- package/dist/lib/client/navigation-menu-BbRyun3a.js +1070 -0
- package/dist/lib/client/number-field/index.js +1 -1
- package/dist/lib/client/number-field-hT_H0hVu.js +1043 -0
- package/dist/lib/client/otp-field/index.js +1 -1
- package/dist/lib/client/otp-field-lsy2iGID.js +584 -0
- package/dist/lib/client/popover/index.js +1 -1
- package/dist/lib/client/popover-Cmvmuf1L.js +940 -0
- package/dist/lib/client/popupStateMapping-nhukB8NK.js +371 -0
- package/dist/lib/client/preview-card/index.js +1 -1
- package/dist/lib/client/preview-card-Dtu8AnBN.js +632 -0
- package/dist/lib/client/progress/index.js +1 -1
- package/dist/lib/client/progress-AVKxvgpc.js +195 -0
- package/dist/lib/client/radio/index.js +1 -1
- package/dist/lib/client/radio-CeCU-Qqi.js +284 -0
- package/dist/lib/client/radio-group/index.js +1 -1
- package/dist/lib/client/radio-group-NbuJvjQe.js +195 -0
- package/dist/lib/client/runOnceAnimationsFinish-CFADb4CN.js +49 -0
- package/dist/lib/client/{safePolygon--bbKn0c8.js → safePolygon-DVAR5dQD.js} +74 -70
- package/dist/lib/client/scroll-area/index.js +1 -1
- package/dist/lib/client/scroll-area-DqbvoAd7.js +717 -0
- package/dist/lib/client/{scrollable-SRNYlhF7.js → scrollable-BVaDUXng.js} +12 -12
- package/dist/lib/client/select/index.js +1 -1
- package/dist/lib/client/select-Dad51Xbn.js +1934 -0
- package/dist/lib/client/separator/index.js +1 -1
- package/dist/lib/client/slider/index.js +1 -1
- package/dist/lib/client/slider-CLSKFq_M.js +927 -0
- package/dist/lib/client/switch/index.js +1 -1
- package/dist/lib/client/switch-Bzuu5EIg.js +306 -0
- package/dist/lib/client/tabs/index.js +1 -1
- package/dist/lib/client/tabs-DWiBDv8D.js +695 -0
- package/dist/lib/client/toast/index.js +1 -1
- package/dist/lib/client/toast-DmtPJW2k.js +1118 -0
- package/dist/lib/client/toggle/index.js +1 -1
- package/dist/lib/client/toggle-CAe-Z8Xn.js +142 -0
- package/dist/lib/client/toggle-group/index.js +1 -1
- package/dist/lib/client/toggle-group-BbQg5s-m.js +134 -0
- package/dist/lib/client/toolbar/index.js +1 -1
- package/dist/lib/client/toolbar-BXT_g-oX.js +504 -0
- package/dist/lib/client/tooltip/index.js +1 -1
- package/dist/lib/client/tooltip-h2r2_Xuo.js +850 -0
- package/dist/lib/client/use-render/index.js +2 -0
- package/dist/lib/client/useFilteredItems-BX0BEuSI.js +2301 -0
- package/dist/lib/client/useRender-CxZ8PI-g.js +12 -0
- package/dist/lib/server/{DialogHandle-ATZlm9RC.js → DialogHandle-BGIISmG7.js} +37 -46
- package/dist/lib/server/{DialogPopup-BebI-w5P.js → DialogPopup-C2ZDGf42.js} +12 -15
- package/dist/lib/server/{FieldControl-Y_kI7ARp.js → FieldControl-CDMMyvuj.js} +62 -26
- package/dist/lib/server/{FieldRootContext-IC-LWzVp.js → FieldRootContext-Bfpna6gA.js} +3 -3
- package/dist/lib/server/{FocusManager-BrbZVWME.js → FocusManager-D-xgblGs.js} +9 -5
- package/dist/lib/server/{FormContext-pvESt85v.js → FormContext-CYwo_ZnB.js} +1 -0
- package/dist/lib/server/{InternalBackdrop-C_iDPVR-.js → InternalBackdrop-D_2zAWnl.js} +1 -1
- package/dist/lib/server/{LabelableContext-DZP3rgAY.js → LabelableContext-BTeF0IWb.js} +4 -6
- package/dist/lib/server/{MenuSubmenuTrigger-DA4gsv6z.js → MenuSubmenuTrigger-BMQKlOvU.js} +177 -210
- package/dist/lib/server/{PopupHandle-DthPgNjy.js → PopupHandle-QNj4mED2.js} +14 -5
- package/dist/lib/server/{PopupStore-DEs3FAEe.js → PopupStore-evylvVnN.js} +42 -15
- package/dist/lib/server/{PopupViewport-3r_KTFwX.js → PopupViewport-BDttjORN.js} +38 -28
- package/dist/lib/server/{Separator-vhhYxWGr.js → Separator-DTvtnxzP.js} +4 -6
- package/dist/lib/server/TriggerFocusGuards-B9GNbLrL.js +61 -0
- package/dist/lib/server/accordion/index.js +39 -77
- package/dist/lib/server/alert-dialog/index.js +2 -2
- package/dist/lib/server/autocomplete/index.js +14 -5
- package/dist/lib/server/avatar/index.js +90 -51
- package/dist/lib/server/button/index.js +14 -15
- package/dist/lib/server/checkbox/index.js +37 -64
- package/dist/lib/server/checkbox-group/index.js +21 -11
- package/dist/lib/server/collapsible/index.js +42 -49
- package/dist/lib/server/combobox/index.js +79 -50
- package/dist/lib/server/{compositeNavigation-BRVT1C38.js → compositeNavigation-D5jKM4yk.js} +32 -1
- package/dist/lib/server/{constants-9H__9xbS.js → constants-ByqXubhO.js} +10 -5
- package/dist/lib/server/context-menu/index.js +14 -16
- package/dist/lib/server/{createAnchorPositioning-C-cVOPwz.js → createAnchorPositioning-DrQYe7RS.js} +12 -7
- package/dist/lib/server/{createAnchoredPopupScrollLock-DFuUrykR.js → createAnchoredPopupScrollLock-q6gnOSmv.js} +2 -2
- package/dist/lib/server/{createClickInteraction-BYsMgvup.js → createClickInteraction-D7oc1Vco.js} +1 -1
- package/dist/lib/server/{createCollapsiblePanel-DTyVJz0G.js → createCollapsiblePanel-B45kTe6v.js} +1 -1
- package/dist/lib/server/{createFocusInteraction-EIS0QOel.js → createFocusInteraction-DFKr4G7a.js} +22 -2
- package/dist/lib/server/createLabelableId-WMUKtY6s.js +18 -0
- package/dist/lib/server/{createPopupAutoResize-DO50jjNX.js → createPopupAutoResize-Cg0-lLf4.js} +2 -2
- package/dist/lib/server/{createTransitionStatus-BTlrerSS.js → createTransitionStatus-184v7j3-.js} +2 -2
- package/dist/lib/server/dialog/index.js +2 -2
- package/dist/lib/server/{dom-Crg_2R-j.js → dom-D8_aB1yy.js} +14 -1
- package/dist/lib/server/drawer/index.js +96 -100
- package/dist/lib/server/field/index.js +110 -98
- package/dist/lib/server/fieldset/index.js +13 -16
- package/dist/lib/server/form/index.js +18 -14
- package/dist/lib/server/index.js +5 -3
- package/dist/lib/server/input/index.js +1 -1
- package/dist/lib/server/internals/composeEventHandlers.js +15 -9
- package/dist/lib/server/internals/field-root-context/index.js +1 -1
- package/dist/lib/server/internals/form-context/index.js +1 -1
- package/dist/lib/server/internals/labelable-provider/index.js +1 -1
- package/dist/lib/server/{mergeStyleValue-Db8bRCM4.js → isSolidAccessor-CZpzAH5l.js} +7 -21
- package/dist/lib/server/menu/index.js +30 -29
- package/dist/lib/server/menubar/index.js +10 -35
- package/dist/lib/server/mergeStyleValue-DecVaoac.js +20 -0
- package/dist/lib/server/meter/index.js +20 -32
- package/dist/lib/server/navigation-menu/index.js +67 -138
- package/dist/lib/server/number-field/index.js +64 -62
- package/dist/lib/server/otp-field/index.js +19 -22
- package/dist/lib/server/popover/index.js +61 -77
- package/dist/lib/server/{popupStateMapping-nKoUwoke.js → popupStateMapping-VHqr6M4H.js} +19 -17
- package/dist/lib/server/preview-card/index.js +39 -50
- package/dist/lib/server/progress/index.js +21 -33
- package/dist/lib/server/radio/index.js +24 -45
- package/dist/lib/server/radio-group/index.js +12 -13
- package/dist/lib/server/{runOnceAnimationsFinish-DCHzXWZU.js → runOnceAnimationsFinish-CYq38H8J.js} +2 -1
- package/dist/lib/server/{safePolygon-CAm5RJGv.js → safePolygon-B8QtiIZ3.js} +6 -1
- package/dist/lib/server/scroll-area/index.js +40 -49
- package/dist/lib/server/{scrollable-CjsSxbGr.js → scrollable-C9Pgq8T5.js} +1 -1
- package/dist/lib/server/select/index.js +128 -213
- package/dist/lib/server/separator/index.js +1 -1
- package/dist/lib/server/slider/index.js +39 -52
- package/dist/lib/server/switch/index.js +22 -32
- package/dist/lib/server/tabs/index.js +197 -137
- package/dist/lib/server/toast/index.js +78 -95
- package/dist/lib/server/toggle/index.js +11 -13
- package/dist/lib/server/toggle-group/index.js +11 -9
- package/dist/lib/server/toolbar/index.js +76 -93
- package/dist/lib/server/tooltip/index.js +53 -57
- package/dist/lib/server/use-render/index.js +2 -0
- package/dist/lib/server/{useFilteredItems-DvuctLt3.js → useFilteredItems-BmhL0nf1.js} +335 -316
- package/dist/lib/server/useRender-CryVdCjs.js +16 -0
- package/dist/lib/types/accordion/header/AccordionHeader.d.ts +1 -1
- package/dist/lib/types/accordion/item/AccordionItem.d.ts +1 -1
- package/dist/lib/types/accordion/panel/AccordionPanel.d.ts +1 -1
- package/dist/lib/types/accordion/root/AccordionRoot.d.ts +2 -7
- package/dist/lib/types/accordion/trigger/AccordionTrigger.d.ts +7 -7
- package/dist/lib/types/alert-dialog/trigger/AlertDialogTrigger.d.ts +1 -2
- package/dist/lib/types/autocomplete/trigger/AutocompleteTrigger.d.ts +1 -0
- package/dist/lib/types/avatar/fallback/AvatarFallback.d.ts +2 -2
- package/dist/lib/types/avatar/image/AvatarImage.d.ts +9 -3
- package/dist/lib/types/avatar/image/createImageLoadingStatus.d.ts +3 -2
- package/dist/lib/types/avatar/root/AvatarRoot.d.ts +1 -1
- package/dist/lib/types/button/Button.d.ts +1 -1
- package/dist/lib/types/checkbox-group/CheckboxGroupContext.d.ts +4 -1
- package/dist/lib/types/collapsible/panel/CollapsiblePanel.d.ts +1 -1
- package/dist/lib/types/collapsible/root/CollapsibleRoot.d.ts +1 -1
- package/dist/lib/types/collapsible/trigger/CollapsibleTrigger.d.ts +1 -1
- package/dist/lib/types/combobox/chip/ComboboxChip.d.ts +2 -0
- package/dist/lib/types/combobox/index.d.ts +2 -0
- package/dist/lib/types/combobox/index.parts.d.ts +1 -0
- package/dist/lib/types/combobox/items/createItems.d.ts +42 -0
- package/dist/lib/types/combobox/root/AriaCombobox.d.ts +4 -0
- package/dist/lib/types/combobox/root/ComboboxRoot.d.ts +17 -8
- package/dist/lib/types/combobox/root/ComboboxRootContext.d.ts +2 -0
- package/dist/lib/types/combobox/store/ComboboxStore.d.ts +1 -0
- package/dist/lib/types/combobox/trigger/ComboboxTrigger.d.ts +1 -0
- package/dist/lib/types/combobox/utils/handleInputPress.d.ts +1 -1
- package/dist/lib/types/dialog/backdrop/DialogBackdrop.d.ts +1 -1
- package/dist/lib/types/dialog/description/DialogDescription.d.ts +1 -1
- package/dist/lib/types/dialog/title/DialogTitle.d.ts +1 -1
- package/dist/lib/types/dialog/viewport/DialogViewport.d.ts +1 -1
- package/dist/lib/types/drawer/backdrop/DrawerBackdrop.d.ts +1 -1
- package/dist/lib/types/drawer/content/DrawerContent.d.ts +1 -1
- package/dist/lib/types/drawer/indent/DrawerIndent.d.ts +1 -1
- package/dist/lib/types/drawer/indent-background/DrawerIndentBackground.d.ts +1 -1
- package/dist/lib/types/field/control/FieldControl.d.ts +5 -5
- package/dist/lib/types/field/root/FieldRoot.d.ts +1 -1
- package/dist/lib/types/field/root/createFieldValidation.d.ts +3 -2
- package/dist/lib/types/fieldset/legend/FieldsetLegend.d.ts +1 -1
- package/dist/lib/types/fieldset/root/FieldsetRoot.d.ts +1 -1
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/internals/composeEventHandlers.d.ts +9 -2
- package/dist/lib/types/internals/createTransitionStatus.d.ts +1 -1
- package/dist/lib/types/internals/field-root-context/FieldRootContext.d.ts +1 -0
- package/dist/lib/types/internals/form-context/FormContext.d.ts +1 -0
- package/dist/lib/types/internals/labelable-provider/LabelableContext.d.ts +1 -0
- package/dist/lib/types/internals/labelable-provider/createLabelableId.d.ts +3 -0
- package/dist/lib/types/internals/overlay/PopupPortal.d.ts +4 -2
- package/dist/lib/types/internals/overlay/createPopupPresence.d.ts +1 -0
- package/dist/lib/types/internals/overlay/dom.d.ts +2 -0
- package/dist/lib/types/menu/root/MenuRootContext.d.ts +1 -0
- package/dist/lib/types/meter/indicator/MeterIndicator.d.ts +1 -1
- package/dist/lib/types/meter/label/MeterLabel.d.ts +1 -1
- package/dist/lib/types/meter/root/MeterRoot.d.ts +1 -1
- package/dist/lib/types/meter/track/MeterTrack.d.ts +1 -1
- package/dist/lib/types/meter/value/MeterValue.d.ts +1 -1
- package/dist/lib/types/navigation-menu/trigger/NavigationMenuTrigger.d.ts +1 -0
- package/dist/lib/types/number-field/input/NumberFieldInput.d.ts +5 -5
- package/dist/lib/types/number-field/root/NumberFieldRootContext.d.ts +1 -0
- package/dist/lib/types/popover/arrow/PopoverArrow.d.ts +1 -1
- package/dist/lib/types/popover/backdrop/PopoverBackdrop.d.ts +1 -1
- package/dist/lib/types/popover/description/PopoverDescription.d.ts +1 -1
- package/dist/lib/types/popover/positioner/PopoverPositioner.d.ts +1 -1
- package/dist/lib/types/popover/title/PopoverTitle.d.ts +1 -1
- package/dist/lib/types/preview-card/arrow/PreviewCardArrow.d.ts +1 -1
- package/dist/lib/types/preview-card/backdrop/PreviewCardBackdrop.d.ts +1 -1
- package/dist/lib/types/preview-card/positioner/PreviewCardPositioner.d.ts +1 -1
- package/dist/lib/types/progress/indicator/ProgressIndicator.d.ts +1 -1
- package/dist/lib/types/progress/label/ProgressLabel.d.ts +1 -1
- package/dist/lib/types/progress/root/ProgressRoot.d.ts +1 -1
- package/dist/lib/types/progress/track/ProgressTrack.d.ts +1 -1
- package/dist/lib/types/progress/value/ProgressValue.d.ts +1 -1
- package/dist/lib/types/radio/indicator/RadioIndicator.d.ts +2 -2
- package/dist/lib/types/scroll-area/content/ScrollAreaContent.d.ts +1 -1
- package/dist/lib/types/scroll-area/corner/ScrollAreaCorner.d.ts +1 -1
- package/dist/lib/types/scroll-area/root/ScrollAreaRoot.d.ts +1 -1
- package/dist/lib/types/scroll-area/scrollbar/ScrollAreaScrollbar.d.ts +2 -1
- package/dist/lib/types/scroll-area/thumb/ScrollAreaThumb.d.ts +1 -1
- package/dist/lib/types/scroll-area/viewport/ScrollAreaViewport.d.ts +1 -1
- package/dist/lib/types/separator/Separator.d.ts +1 -1
- package/dist/lib/types/slider/track/SliderTrack.d.ts +2 -2
- package/dist/lib/types/tabs/indicator/prehydrationScript.d.ts +1 -1
- package/dist/lib/types/tabs/list/TabsList.d.ts +1 -1
- package/dist/lib/types/tabs/panel/TabsPanel.d.ts +1 -1
- package/dist/lib/types/tabs/root/TabsRoot.d.ts +1 -1
- package/dist/lib/types/tabs/tab/TabsTab.d.ts +1 -1
- package/dist/lib/types/toast/createToastManager.d.ts +2 -2
- package/dist/lib/types/toast/store/ToastStore.d.ts +1 -1
- package/dist/lib/types/toast/useToastManager.d.ts +1 -1
- package/dist/lib/types/toggle/Toggle.d.ts +1 -1
- package/dist/lib/types/toggle-group/ToggleGroup.d.ts +1 -1
- package/dist/lib/types/toolbar/group/ToolbarGroup.d.ts +1 -1
- package/dist/lib/types/toolbar/link/ToolbarLink.d.ts +10 -3
- package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +10 -4
- package/dist/lib/types/toolbar/separator/ToolbarSeparator.d.ts +1 -1
- package/dist/lib/types/tooltip/arrow/TooltipArrow.d.ts +1 -1
- package/dist/lib/types/tooltip/positioner/TooltipPositioner.d.ts +1 -1
- package/dist/lib/types/types/index.d.ts +7 -3
- package/dist/lib/types/use-render/index.d.ts +2 -0
- package/dist/lib/types/use-render/useRender.d.ts +10 -0
- package/package.json +24 -11
- package/dist/lib/client/DialogHandle-DrN2YWCv.js +0 -518
- package/dist/lib/client/DialogPopup-ZlqmGfdk.js +0 -136
- package/dist/lib/client/FieldControl-Bc-z2og6.js +0 -116
- package/dist/lib/client/MenuSubmenuTrigger-QZkQ0F2v.js +0 -1570
- package/dist/lib/client/PopupViewport-DgrIqQea.js +0 -152
- package/dist/lib/client/Separator-9DboD_Si.js +0 -25
- package/dist/lib/client/TriggerFocusGuards-CQ-JuASy.js +0 -56
- package/dist/lib/client/accordion-sOXt9AlG.js +0 -399
- package/dist/lib/client/avatar-AF9vyD4q.js +0 -146
- package/dist/lib/client/button-DpUi-2g8.js +0 -82
- package/dist/lib/client/checkbox-BbAwOptH.js +0 -441
- package/dist/lib/client/checkbox-group-CSSp_805.js +0 -128
- package/dist/lib/client/collapsible-BIbje_ub.js +0 -232
- package/dist/lib/client/combobox-8O-vgTLL.js +0 -352
- package/dist/lib/client/compositeNavigation-sxniYTc7.js +0 -58
- package/dist/lib/client/context-menu-BTMkXtrs.js +0 -217
- package/dist/lib/client/createFocusInteraction-D4w1-235.js +0 -50
- package/dist/lib/client/drawer-Ce2cChLt.js +0 -1550
- package/dist/lib/client/field-C-o7jzKW.js +0 -469
- package/dist/lib/client/fieldset-BQTAWv2L.js +0 -65
- package/dist/lib/client/form-BINBiW5L.js +0 -106
- package/dist/lib/client/menu-DeMT08oD.js +0 -326
- package/dist/lib/client/menubar-C4aomSYv.js +0 -185
- package/dist/lib/client/meter-xSU37Q0m.js +0 -171
- package/dist/lib/client/navigation-menu-ZILQmdn6.js +0 -1083
- package/dist/lib/client/number-field-B8CsTb_8.js +0 -1035
- package/dist/lib/client/otp-field-DBkMcnog.js +0 -582
- package/dist/lib/client/popover-CQwyp-fs.js +0 -929
- package/dist/lib/client/popupStateMapping-C9eZl19i.js +0 -367
- package/dist/lib/client/preview-card-D_2Q8lpC.js +0 -625
- package/dist/lib/client/progress-D7r0xAC9.js +0 -188
- package/dist/lib/client/radio-CzGQ81z1.js +0 -299
- package/dist/lib/client/radio-group-DpHlBKA6.js +0 -193
- package/dist/lib/client/runOnceAnimationsFinish-15EM-Z4l.js +0 -48
- package/dist/lib/client/scroll-area-CffM4U0R.js +0 -701
- package/dist/lib/client/select-IFhiEg73.js +0 -1940
- package/dist/lib/client/slider-BCagYmGp.js +0 -921
- package/dist/lib/client/switch-RIJeDnvS.js +0 -308
- package/dist/lib/client/tabs-fOAKs7r3.js +0 -696
- package/dist/lib/client/toast-D2P8UqUs.js +0 -1108
- package/dist/lib/client/toggle-group-0Aue0owJ.js +0 -129
- package/dist/lib/client/toggle-momVEIBL.js +0 -138
- package/dist/lib/client/toolbar-Du22aKCv.js +0 -492
- package/dist/lib/client/tooltip-CyK61fl1.js +0 -844
- package/dist/lib/client/useFilteredItems-DTekHz39.js +0 -2223
- package/dist/lib/client/withoutComponentBinding-CcCW7fSc.js +0 -13
- package/dist/lib/server/TriggerFocusGuards-sbGwf45f.js +0 -63
- package/dist/lib/server/withoutComponentBinding-BHaWr5kU.js +0 -20
- package/dist/lib/types/internals/withoutComponentBinding.d.ts +0 -7
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
|
|
2
|
+
import { t as useRender } from "../useRender-CryVdCjs.js";
|
|
2
3
|
import { getStateAttributesProps } from "../internals/getStateAttributesProps.js";
|
|
3
4
|
import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
|
|
4
5
|
import { transitionStatusMapping } from "../internals/stateAttributesMapping.js";
|
|
5
|
-
import { composeEventHandlers } from "../internals/composeEventHandlers.js";
|
|
6
|
-
import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-
|
|
7
|
-
import { t as createTransitionStatus } from "../createTransitionStatus-
|
|
6
|
+
import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.js";
|
|
7
|
+
import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-CYq38H8J.js";
|
|
8
|
+
import { t as createTransitionStatus } from "../createTransitionStatus-184v7j3-.js";
|
|
8
9
|
import { DEFAULT_VALIDITY_DATA, DEFAULT_VALIDITY_STATE, VALIDITY_KEYS, copyNativeValidity, fieldStateAttributesMapping } from "../internals/field-constants.js";
|
|
9
|
-
import { n as
|
|
10
|
-
import { n as useFormContext } from "../FormContext-
|
|
11
|
-
import { n as createLabelableContext, r as useLabelableContext, t as LabelableContext } from "../LabelableContext-
|
|
10
|
+
import { n as FieldRootContext, r as useFieldRootContext } from "../FieldRootContext-Bfpna6gA.js";
|
|
11
|
+
import { n as useFormContext } from "../FormContext-CYwo_ZnB.js";
|
|
12
|
+
import { n as createLabelableContext, r as useLabelableContext, t as LabelableContext } from "../LabelableContext-BTeF0IWb.js";
|
|
12
13
|
import { n as useFieldItemContext, t as FieldItemContext } from "../FieldItemContext-x-C7ZlmX.js";
|
|
13
14
|
import { n as useFieldsetRootContext } from "../FieldsetRootContext-DyNqCjK6.js";
|
|
14
15
|
import { t as hasFormError } from "../form-types-P7-SCWyr.js";
|
|
15
|
-
import { t as FieldControl } from "../FieldControl-
|
|
16
|
-
import {
|
|
16
|
+
import { t as FieldControl } from "../FieldControl-CDMMyvuj.js";
|
|
17
|
+
import { escape, memo, mergeProps, ssr, ssrElement, ssrHydrationKey } from "@solidjs/web";
|
|
17
18
|
import { For, Show, createEffect, createMemo, createSignal, createUniqueId, omit, onCleanup, onSettled, untrack } from "solid-js";
|
|
18
19
|
//#region src/field/root/createFieldValidation.ts
|
|
19
20
|
function createFieldValidation(options) {
|
|
@@ -21,7 +22,10 @@ function createFieldValidation(options) {
|
|
|
21
22
|
let activeInputSource = null;
|
|
22
23
|
let validationCommitId = 0;
|
|
23
24
|
let timeout;
|
|
25
|
+
let pendingInput = null;
|
|
26
|
+
let customValidity;
|
|
24
27
|
function clearTimer() {
|
|
28
|
+
pendingInput = null;
|
|
25
29
|
if (timeout !== void 0) {
|
|
26
30
|
clearTimeout(timeout);
|
|
27
31
|
timeout = void 0;
|
|
@@ -38,93 +42,103 @@ function createFieldValidation(options) {
|
|
|
38
42
|
}
|
|
39
43
|
return fallback;
|
|
40
44
|
}
|
|
41
|
-
function clearCustomValidity(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
function publishAllValid(value, element) {
|
|
46
|
-
clearCustomValidity(element);
|
|
47
|
-
options.publish({
|
|
48
|
-
value,
|
|
49
|
-
state: {
|
|
50
|
-
...DEFAULT_VALIDITY_STATE,
|
|
51
|
-
valid: true
|
|
52
|
-
},
|
|
53
|
-
error: "",
|
|
54
|
-
errors: [],
|
|
55
|
-
initialValue: options.getValidityData().initialValue
|
|
56
|
-
});
|
|
45
|
+
function clearCustomValidity() {
|
|
46
|
+
const record = customValidity;
|
|
47
|
+
customValidity = void 0;
|
|
48
|
+
if (record && (!record[0].willValidate || record[0].validationMessage === record[1])) record[0].setCustomValidity(record[2]);
|
|
57
49
|
}
|
|
58
50
|
function commit(value, revalidate = false) {
|
|
59
51
|
validationCommitId += 1;
|
|
60
52
|
const currentCommitId = validationCommitId;
|
|
61
53
|
clearTimer();
|
|
62
|
-
|
|
54
|
+
let element = findRepresentativeInput();
|
|
55
|
+
const nativeErrors = () => element?.validationMessage ? [element.validationMessage] : [];
|
|
56
|
+
const refreshState = () => {
|
|
57
|
+
element = findRepresentativeInput();
|
|
58
|
+
return element?.willValidate ? getNativeState(element, options.isMarkedDirty()) : {
|
|
59
|
+
...DEFAULT_VALIDITY_STATE,
|
|
60
|
+
valid: true
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
const publish = (state, messages) => {
|
|
64
|
+
const errors = state.valid === false ? messages : [];
|
|
65
|
+
options.publish({
|
|
66
|
+
value,
|
|
67
|
+
state,
|
|
68
|
+
errors,
|
|
69
|
+
error: errors[0] ?? "",
|
|
70
|
+
initialValue: options.getValidityData().initialValue
|
|
71
|
+
});
|
|
72
|
+
};
|
|
63
73
|
if (revalidate) {
|
|
64
74
|
if (options.state().valid !== false || !element) return;
|
|
65
75
|
const nativeValidity = element.validity;
|
|
66
76
|
if (!nativeValidity.valueMissing) {
|
|
67
|
-
|
|
77
|
+
clearCustomValidity();
|
|
78
|
+
element = findRepresentativeInput();
|
|
79
|
+
const foreign = element?.validity.customError ? nativeErrors() : [];
|
|
80
|
+
publish({
|
|
81
|
+
...DEFAULT_VALIDITY_STATE,
|
|
82
|
+
valid: foreign.length === 0,
|
|
83
|
+
customError: foreign.length > 0
|
|
84
|
+
}, foreign);
|
|
68
85
|
return;
|
|
69
86
|
}
|
|
70
87
|
for (const key of VALIDITY_KEYS) if (key !== "valueMissing" && key !== "customError" && nativeValidity[key]) return;
|
|
71
88
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
valid: true
|
|
75
|
-
};
|
|
89
|
+
clearCustomValidity();
|
|
90
|
+
const nextState = refreshState();
|
|
76
91
|
const validatesOnChange = options.shouldValidateOnChange();
|
|
77
92
|
if (element?.validationMessage && !validatesOnChange) {
|
|
78
|
-
|
|
79
|
-
value,
|
|
80
|
-
state: nextState,
|
|
81
|
-
error: element.validationMessage,
|
|
82
|
-
errors: [element.validationMessage],
|
|
83
|
-
initialValue: options.getValidityData().initialValue
|
|
84
|
-
});
|
|
93
|
+
publish(nextState, nativeErrors());
|
|
85
94
|
return;
|
|
86
95
|
}
|
|
87
|
-
const
|
|
96
|
+
const finish = (result, state = nextState) => {
|
|
97
|
+
const errors = result ? [].concat(result).filter(Boolean) : [];
|
|
98
|
+
if (errors.length > 0) {
|
|
99
|
+
state.valid = false;
|
|
100
|
+
state.customError = true;
|
|
101
|
+
if (element?.willValidate) {
|
|
102
|
+
const displaced = element.validity.customError ? element.validationMessage : "";
|
|
103
|
+
const message = errors.join("\n").replace(/\r\n?/g, "\n");
|
|
104
|
+
element.setCustomValidity(message);
|
|
105
|
+
customValidity = [
|
|
106
|
+
element,
|
|
107
|
+
message,
|
|
108
|
+
displaced
|
|
109
|
+
];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
publish(state, errors.length > 0 ? errors : nativeErrors());
|
|
113
|
+
};
|
|
114
|
+
const result = options.validate()?.(value, options.form.getFormValues());
|
|
88
115
|
if (isPromise(result)) {
|
|
116
|
+
pendingInput = element;
|
|
117
|
+
if (nextState.valid === false) publish(nextState, nativeErrors());
|
|
118
|
+
else if (options.validationMode() === "onSubmit" || !options.getValidityData().state.customError) publish({
|
|
119
|
+
...nextState,
|
|
120
|
+
valid: null
|
|
121
|
+
}, []);
|
|
89
122
|
result.then((resolved) => {
|
|
90
|
-
if (currentCommitId === validationCommitId)
|
|
123
|
+
if (currentCommitId === validationCommitId) {
|
|
124
|
+
pendingInput = null;
|
|
125
|
+
finish(resolved, refreshState());
|
|
126
|
+
}
|
|
127
|
+
}, () => {
|
|
128
|
+
if (currentCommitId === validationCommitId) pendingInput = null;
|
|
91
129
|
});
|
|
92
130
|
return;
|
|
93
131
|
}
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
function publishCustomResult(value, element, nativeState, result, validatesOnChange) {
|
|
97
|
-
const state = { ...nativeState };
|
|
98
|
-
let errors = [];
|
|
99
|
-
let error = "";
|
|
100
|
-
if (result !== null) {
|
|
101
|
-
errors = Array.isArray(result) ? result : [result];
|
|
102
|
-
error = errors[0] ?? "";
|
|
103
|
-
state.valid = false;
|
|
104
|
-
state.customError = true;
|
|
105
|
-
element?.setCustomValidity(errors.join("\n"));
|
|
106
|
-
} else if (validatesOnChange) {
|
|
107
|
-
clearCustomValidity(element);
|
|
108
|
-
state.customError = false;
|
|
109
|
-
if (element?.validationMessage) {
|
|
110
|
-
error = element.validationMessage;
|
|
111
|
-
errors = [error];
|
|
112
|
-
} else if (!element || element.validity.valid) state.valid = true;
|
|
113
|
-
}
|
|
114
|
-
options.publish({
|
|
115
|
-
value,
|
|
116
|
-
state,
|
|
117
|
-
error,
|
|
118
|
-
errors,
|
|
119
|
-
initialValue: options.getValidityData().initialValue
|
|
120
|
-
});
|
|
132
|
+
finish(result);
|
|
121
133
|
}
|
|
122
|
-
function change(value) {
|
|
134
|
+
function change(value, cancelPending = false) {
|
|
123
135
|
clearTimer();
|
|
136
|
+
validationCommitId += 1;
|
|
137
|
+
if (cancelPending) return;
|
|
124
138
|
const validatesOnChange = options.shouldValidateOnChange();
|
|
125
139
|
const delay = options.validationDebounceTime();
|
|
126
140
|
if (validatesOnChange && value !== "" && delay > 0) {
|
|
127
|
-
|
|
141
|
+
pendingInput = findRepresentativeInput();
|
|
128
142
|
timeout = setTimeout(() => {
|
|
129
143
|
timeout = void 0;
|
|
130
144
|
commit(value);
|
|
@@ -139,9 +153,12 @@ function createFieldValidation(options) {
|
|
|
139
153
|
inputs = /* @__PURE__ */ new Map();
|
|
140
154
|
registeredInputs.set(source, inputs);
|
|
141
155
|
}
|
|
142
|
-
|
|
156
|
+
const registration = { getControl };
|
|
157
|
+
inputs.set(element, registration);
|
|
143
158
|
return () => {
|
|
144
159
|
const currentInputs = registeredInputs.get(source);
|
|
160
|
+
if (currentInputs?.get(element) !== registration) return;
|
|
161
|
+
if (source === activeInputSource && element === pendingInput) change(void 0, true);
|
|
145
162
|
currentInputs?.delete(element);
|
|
146
163
|
if (currentInputs?.size === 0) registeredInputs.delete(source);
|
|
147
164
|
};
|
|
@@ -152,9 +169,13 @@ function createFieldValidation(options) {
|
|
|
152
169
|
return input ? registration?.getControl() ?? input : null;
|
|
153
170
|
}
|
|
154
171
|
function setActiveInputSource(source) {
|
|
172
|
+
if (activeInputSource && activeInputSource !== source) change(void 0, true);
|
|
155
173
|
activeInputSource = source;
|
|
156
174
|
}
|
|
157
|
-
onCleanup(
|
|
175
|
+
onCleanup(() => {
|
|
176
|
+
change(void 0, true);
|
|
177
|
+
clearCustomValidity();
|
|
178
|
+
});
|
|
158
179
|
return {
|
|
159
180
|
commit,
|
|
160
181
|
change,
|
|
@@ -193,7 +214,7 @@ function FieldRoot(props) {
|
|
|
193
214
|
const fieldset = useFieldsetRootContext(true);
|
|
194
215
|
const parentLabelable = useLabelableContext();
|
|
195
216
|
const labelable = createLabelableContext({ parent: parentLabelable });
|
|
196
|
-
const others = omit(props, "actionsRef", "
|
|
217
|
+
const others = omit(props, "actionsRef", "render", "class", "dirty", "disabled", "invalid", "name", "style", "touched", "validate", "validationDebounceTime", "validationMode");
|
|
197
218
|
const [touchedState, setTouchedState] = createSignal(false);
|
|
198
219
|
const [dirtyState, setDirtyState] = createSignal(false);
|
|
199
220
|
const [filled, setFilled] = createSignal(false);
|
|
@@ -229,6 +250,7 @@ function FieldRoot(props) {
|
|
|
229
250
|
focused: focused()
|
|
230
251
|
}));
|
|
231
252
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
253
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
232
254
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
233
255
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
|
|
234
256
|
function publishValidity(data) {
|
|
@@ -262,6 +284,7 @@ function FieldRoot(props) {
|
|
|
262
284
|
validate: () => props.validate,
|
|
263
285
|
validationDebounceTime: () => props.validationDebounceTime ?? 0,
|
|
264
286
|
state,
|
|
287
|
+
validationMode,
|
|
265
288
|
isMarkedDirty: () => markedDirty,
|
|
266
289
|
shouldValidateOnChange: () => validationMode() === "onChange" || validationMode() === "onSubmit" && form.submitAttempted()
|
|
267
290
|
});
|
|
@@ -336,10 +359,7 @@ function FieldRoot(props) {
|
|
|
336
359
|
return FieldRootContext({
|
|
337
360
|
value: context,
|
|
338
361
|
get children() {
|
|
339
|
-
return
|
|
340
|
-
get component() {
|
|
341
|
-
return props.as ?? "div";
|
|
342
|
-
},
|
|
362
|
+
return Render(mergeProps({
|
|
343
363
|
get ["class"]() {
|
|
344
364
|
return classValue();
|
|
345
365
|
},
|
|
@@ -363,7 +383,7 @@ function FieldLabel(props) {
|
|
|
363
383
|
const allProps = props;
|
|
364
384
|
const generatedId = `base-ui-${createUniqueId()}`;
|
|
365
385
|
const [element, setElement] = createSignal();
|
|
366
|
-
const others = omit(allProps, "
|
|
386
|
+
const others = omit(allProps, "render", "class", "id", "nativeLabel", "onClick", "onMouseDown", "onPointerDown", "ref", "style");
|
|
367
387
|
const id = createMemo(() => internalProps.id ?? generatedId);
|
|
368
388
|
const nativeLabel = createMemo(() => internalProps.nativeLabel ?? true);
|
|
369
389
|
const state = createMemo(() => ({
|
|
@@ -371,11 +391,12 @@ function FieldLabel(props) {
|
|
|
371
391
|
disabled: field.disabled() || item.disabled()
|
|
372
392
|
}));
|
|
373
393
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
394
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("label", props, void 0, true));
|
|
374
395
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
375
396
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
|
|
376
|
-
const callExternalClick = composeEventHandlers(() => internalProps.onClick);
|
|
377
|
-
const callExternalMouseDown = composeEventHandlers(() => internalProps.onMouseDown);
|
|
378
|
-
const callExternalPointerDown = composeEventHandlers(() => internalProps.onPointerDown);
|
|
397
|
+
const callExternalClick = composeEventHandlers(liveEventHandler(() => internalProps.onClick));
|
|
398
|
+
const callExternalMouseDown = composeEventHandlers(liveEventHandler(() => internalProps.onMouseDown));
|
|
399
|
+
const callExternalPointerDown = composeEventHandlers(liveEventHandler(() => internalProps.onPointerDown));
|
|
379
400
|
function isInteractiveTarget(target) {
|
|
380
401
|
return target instanceof Element && Boolean(target.closest("button,input,select,textarea"));
|
|
381
402
|
}
|
|
@@ -405,10 +426,7 @@ function FieldLabel(props) {
|
|
|
405
426
|
onSettled(() => {
|
|
406
427
|
element();
|
|
407
428
|
});
|
|
408
|
-
return
|
|
409
|
-
get component() {
|
|
410
|
-
return props.as ?? "label";
|
|
411
|
-
},
|
|
429
|
+
return Render(mergeProps({
|
|
412
430
|
ref: [((value) => setElement(value)), internalProps.ref],
|
|
413
431
|
get id() {
|
|
414
432
|
return id();
|
|
@@ -438,21 +456,19 @@ function FieldDescription(props) {
|
|
|
438
456
|
const labelable = useLabelableContext();
|
|
439
457
|
const source = Symbol("FieldDescription");
|
|
440
458
|
const generatedId = `base-ui-${createUniqueId()}`;
|
|
441
|
-
const others = omit(props, "
|
|
459
|
+
const others = omit(props, "render", "class", "id", "style");
|
|
442
460
|
const id = createMemo(() => props.id ?? generatedId);
|
|
443
461
|
const state = createMemo(() => ({
|
|
444
462
|
...field.state(),
|
|
445
463
|
disabled: field.disabled() || item.disabled()
|
|
446
464
|
}));
|
|
447
465
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
466
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("p", props, void 0, true));
|
|
448
467
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
449
468
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
|
|
450
469
|
createEffect(id, (currentId) => labelable.registerMessageId(source, currentId));
|
|
451
470
|
onCleanup(() => labelable.registerMessageId(source, void 0));
|
|
452
|
-
return
|
|
453
|
-
get component() {
|
|
454
|
-
return props.as ?? "p";
|
|
455
|
-
},
|
|
471
|
+
return Render(mergeProps({
|
|
456
472
|
get id() {
|
|
457
473
|
return id();
|
|
458
474
|
},
|
|
@@ -471,13 +487,14 @@ function FieldItem(props) {
|
|
|
471
487
|
const field = useFieldRootContext();
|
|
472
488
|
const parentLabelable = useLabelableContext();
|
|
473
489
|
const labelable = createLabelableContext({ parent: parentLabelable });
|
|
474
|
-
const others = omit(props, "
|
|
490
|
+
const others = omit(props, "render", "class", "disabled", "style");
|
|
475
491
|
const disabled = createMemo(() => field.disabled() || (props.disabled ?? false));
|
|
476
492
|
const state = createMemo(() => ({
|
|
477
493
|
...field.state(),
|
|
478
494
|
disabled: disabled()
|
|
479
495
|
}));
|
|
480
496
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
497
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
481
498
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
482
499
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), fieldStateAttributesMapping));
|
|
483
500
|
const context = { disabled };
|
|
@@ -487,10 +504,7 @@ function FieldItem(props) {
|
|
|
487
504
|
return FieldItemContext({
|
|
488
505
|
value: context,
|
|
489
506
|
get children() {
|
|
490
|
-
return
|
|
491
|
-
get component() {
|
|
492
|
-
return props.as ?? "div";
|
|
493
|
-
},
|
|
507
|
+
return Render(mergeProps({
|
|
494
508
|
get ["class"]() {
|
|
495
509
|
return classValue();
|
|
496
510
|
},
|
|
@@ -530,7 +544,7 @@ function FieldError(props) {
|
|
|
530
544
|
const allProps = props;
|
|
531
545
|
const source = Symbol("FieldError");
|
|
532
546
|
const generatedId = `base-ui-${createUniqueId()}`;
|
|
533
|
-
const others = omit(allProps, "
|
|
547
|
+
const others = omit(allProps, "render", "children", "class", "id", "match", "ref", "style");
|
|
534
548
|
const id = createMemo(() => internalProps.id ?? generatedId);
|
|
535
549
|
const formError = createMemo(() => {
|
|
536
550
|
const name = field.name();
|
|
@@ -575,6 +589,7 @@ function FieldError(props) {
|
|
|
575
589
|
...field.state(),
|
|
576
590
|
transitionStatus: transition.transitionStatus()
|
|
577
591
|
}));
|
|
592
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
578
593
|
const classValue = createMemo(() => transition.mounted() ? resolveClass(props.class, state()) : void 0);
|
|
579
594
|
const styleValue = createMemo(() => transition.mounted() ? resolveStyle(props.style, state()) : void 0);
|
|
580
595
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), stateAttributesMapping));
|
|
@@ -608,10 +623,7 @@ function FieldError(props) {
|
|
|
608
623
|
return transition.mounted();
|
|
609
624
|
},
|
|
610
625
|
get children() {
|
|
611
|
-
return
|
|
612
|
-
get component() {
|
|
613
|
-
return props.as ?? "div";
|
|
614
|
-
},
|
|
626
|
+
return Render(mergeProps({
|
|
615
627
|
ref: [internalProps.ref, ((element) => errorElement = element)],
|
|
616
628
|
get id() {
|
|
617
629
|
return id();
|
|
@@ -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 {
|
|
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, "
|
|
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
|
|
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, "
|
|
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
|
|
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
|
-
import { composeEventHandlers } from "../internals/composeEventHandlers.js";
|
|
5
|
-
import { t as FormContext } from "../FormContext-
|
|
5
|
+
import { composeEventHandlers, liveEventHandler } from "../internals/composeEventHandlers.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 {
|
|
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", "
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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) {
|
|
@@ -68,9 +73,10 @@ function Form(props) {
|
|
|
68
73
|
}
|
|
69
74
|
for (const field of fields.values()) field.validate();
|
|
70
75
|
} };
|
|
71
|
-
const callExternalSubmit = composeEventHandlers(() => internalProps.onSubmit);
|
|
76
|
+
const callExternalSubmit = composeEventHandlers(liveEventHandler(() => 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
|
|
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],
|
package/dist/lib/server/index.js
CHANGED
|
@@ -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-
|
|
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
|
-
|
|
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,23 +1,29 @@
|
|
|
1
1
|
//#region src/internals/composeEventHandlers.ts
|
|
2
2
|
/**
|
|
3
|
-
* Composes
|
|
3
|
+
* Composes handlers in argument order, enhancing the native event before dispatch. Calling
|
|
4
4
|
* `event.preventBaseUIHandler()` prevents the remaining handlers from running.
|
|
5
|
+
* Use `liveEventHandler` for replaceable callback props instead of snapshotting them.
|
|
5
6
|
*/
|
|
6
|
-
function composeEventHandlers(...
|
|
7
|
+
function composeEventHandlers(...handlers) {
|
|
7
8
|
return function composedEventHandler(event) {
|
|
8
9
|
const baseEvent = makeEventPreventable(event);
|
|
9
|
-
for (
|
|
10
|
-
|
|
10
|
+
for (let handler of handlers) {
|
|
11
|
+
if (handler && typeof handler === "object" && "getHandler" in handler) {
|
|
12
|
+
const getHandler = handler.getHandler;
|
|
13
|
+
handler = getHandler();
|
|
14
|
+
}
|
|
15
|
+
callHandler(handler, this, baseEvent);
|
|
11
16
|
if (baseEvent.baseUIHandlerPrevented) break;
|
|
12
17
|
}
|
|
13
18
|
};
|
|
14
19
|
}
|
|
20
|
+
/** Resolves a replaceable handler at dispatch time; pass the adapter to `composeEventHandlers`. */
|
|
21
|
+
function liveEventHandler(getHandler) {
|
|
22
|
+
return { getHandler };
|
|
23
|
+
}
|
|
15
24
|
function callHandler(handler, receiver, event) {
|
|
16
25
|
if (typeof handler === "function") Reflect.apply(handler, receiver, [event]);
|
|
17
|
-
else if (
|
|
18
|
-
}
|
|
19
|
-
function isBoundHandler(handler) {
|
|
20
|
-
return Array.isArray(handler) && handler.length === 2 && typeof handler[0] === "function";
|
|
26
|
+
else if (Array.isArray(handler) && handler.length === 2 && typeof handler[0] === "function") Reflect.apply(handler[0], receiver, [handler[1], event]);
|
|
21
27
|
}
|
|
22
28
|
function makeEventPreventable(event) {
|
|
23
29
|
const baseEvent = event;
|
|
@@ -57,4 +63,4 @@ function setHandlerPrevented(event) {
|
|
|
57
63
|
});
|
|
58
64
|
}
|
|
59
65
|
//#endregion
|
|
60
|
-
export { composeEventHandlers, makeEventPreventable };
|
|
66
|
+
export { composeEventHandlers, liveEventHandler, makeEventPreventable };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
1
|
+
import { n as FieldRootContext, r as useFieldRootContext } from "../../FieldRootContext-Bfpna6gA.js";
|
|
2
2
|
export { FieldRootContext, useFieldRootContext };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as useFormContext, t as FormContext } from "../../FormContext-
|
|
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-
|
|
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. */
|