solid-baseui 0.1.0-alpha.0 → 0.1.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +95 -8
- package/dist/lib/client/DialogHandle-BGyIbcvg.js +521 -0
- package/dist/lib/client/DialogPopup-Df7MC358.js +138 -0
- package/dist/lib/client/FieldControl-C0PATyKV.js +142 -0
- package/dist/lib/client/{FocusManager-grSdNHqW.js → FocusManager-NP1uPXTi.js} +5 -5
- package/dist/lib/client/{FormContext-BB05lWOI.js → FormContext-CwLBtm_d.js} +1 -0
- package/dist/lib/client/{LabelableContext-DKsB0fIx.js → LabelableContext-CmQF-TX2.js} +3 -6
- package/dist/lib/client/MenuSubmenuTrigger-yfncqM-D.js +1584 -0
- package/dist/lib/client/{PopupHandle-CcJG4NMy.js → PopupHandle-CQI6Om1Z.js} +1 -1
- package/dist/lib/client/{PopupStore-DjB-wO88.js → PopupStore-Du0O57fL.js} +118 -98
- package/dist/lib/client/{PopupViewport-DgrIqQea.js → PopupViewport-IS4XU03s.js} +2 -2
- package/dist/lib/client/Separator-D5oJzlA3.js +27 -0
- package/dist/lib/client/TriggerFocusGuards-Cs8LVBj5.js +51 -0
- package/dist/lib/client/accordion/index.js +1 -1
- package/dist/lib/client/accordion-BFeZFpJZ.js +381 -0
- package/dist/lib/client/alert-dialog/index.js +1 -1
- package/dist/lib/client/{alert-dialog-BH_3ndio.js → alert-dialog-BxGUF8_Q.js} +2 -2
- package/dist/lib/client/autocomplete/index.js +1 -1
- package/dist/lib/client/{autocomplete-Cob_FZEP.js → autocomplete-C9QA98XD.js} +30 -25
- package/dist/lib/client/avatar/index.js +1 -1
- package/dist/lib/client/avatar-BQoEzzav.js +191 -0
- package/dist/lib/client/button/index.js +1 -1
- package/dist/lib/client/button-akYS6FyY.js +88 -0
- package/dist/lib/client/checkbox/index.js +1 -1
- package/dist/lib/client/checkbox-DOXtzBhA.js +425 -0
- package/dist/lib/client/checkbox-group/index.js +1 -1
- package/dist/lib/client/checkbox-group-CwMDoSTK.js +135 -0
- package/dist/lib/client/collapsible/index.js +1 -1
- package/dist/lib/client/collapsible-t8YReaIp.js +230 -0
- package/dist/lib/client/combobox/index.js +2 -2
- package/dist/lib/client/combobox-6DhOdzit.js +399 -0
- package/dist/lib/client/{constants-BYjBUIIi.js → constants-cOVxAoxB.js} +5 -1
- package/dist/lib/client/context-menu/index.js +1 -1
- package/dist/lib/client/context-menu-CplDpqmi.js +220 -0
- package/dist/lib/client/{createAnchorPositioning-DcxDXUgB.js → createAnchorPositioning-D96gu-Dz.js} +148 -145
- package/dist/lib/client/{createCollapsiblePanel-DeDu0O2t.js → createCollapsiblePanel-BQ8r4RTi.js} +1 -1
- package/dist/lib/client/createFocusInteraction--s9_qBf3.js +60 -0
- package/dist/lib/client/createLabelableId-DxJRwMUJ.js +14 -0
- package/dist/lib/client/{createPopupAutoResize-CGNiLhGq.js → createPopupAutoResize-Dn-stj-8.js} +1 -1
- 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-B9tR9X48.js} +2 -2
- package/dist/lib/client/drawer/index.js +1 -1
- package/dist/lib/client/drawer-dyr3_sKQ.js +1539 -0
- package/dist/lib/client/field/index.js +1 -1
- package/dist/lib/client/field-CjUAjp1m.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-6Ne_bWQX.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-_QHvSSqM.js} +1 -1
- 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/menu/index.js +1 -1
- package/dist/lib/client/menu-DLqUBmMK.js +334 -0
- package/dist/lib/client/menubar/index.js +1 -1
- package/dist/lib/client/menubar-DhPRUQZ6.js +163 -0
- package/dist/lib/client/{mergeStyleValue-C4ITiiIV.js → mergeStyleValue-DhTA9Nwe.js} +7 -3
- 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-mVHV41Ky.js +1070 -0
- package/dist/lib/client/number-field/index.js +1 -1
- package/dist/lib/client/number-field-DusLw_0X.js +1043 -0
- package/dist/lib/client/otp-field/index.js +1 -1
- package/dist/lib/client/otp-field-D-B9tZzF.js +584 -0
- package/dist/lib/client/popover/index.js +1 -1
- package/dist/lib/client/popover-Cv7xn0nW.js +938 -0
- package/dist/lib/client/popupStateMapping-C6jQ_LKo.js +371 -0
- package/dist/lib/client/preview-card/index.js +1 -1
- package/dist/lib/client/preview-card-FTN_aafM.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-DA_oZhQT.js +284 -0
- package/dist/lib/client/radio-group/index.js +1 -1
- package/dist/lib/client/radio-group-CWtQxWDl.js +195 -0
- package/dist/lib/client/runOnceAnimationsFinish-CFADb4CN.js +49 -0
- package/dist/lib/client/{safePolygon--bbKn0c8.js → safePolygon-DJG0VIVo.js} +4 -0
- package/dist/lib/client/scroll-area/index.js +1 -1
- package/dist/lib/client/scroll-area-NCr49LkD.js +717 -0
- package/dist/lib/client/select/index.js +1 -1
- package/dist/lib/client/select-DSPJt7Rk.js +1933 -0
- package/dist/lib/client/separator/index.js +1 -1
- package/dist/lib/client/slider/index.js +1 -1
- package/dist/lib/client/slider-CWq9hxFf.js +927 -0
- package/dist/lib/client/switch/index.js +1 -1
- package/dist/lib/client/switch-CPl7QHKI.js +306 -0
- package/dist/lib/client/tabs/index.js +1 -1
- package/dist/lib/client/tabs-Bn4rZDyZ.js +692 -0
- package/dist/lib/client/toast/index.js +1 -1
- package/dist/lib/client/toast-7LdqZWOs.js +1118 -0
- package/dist/lib/client/toggle/index.js +1 -1
- package/dist/lib/client/toggle-CsC37e3e.js +142 -0
- package/dist/lib/client/toggle-group/index.js +1 -1
- package/dist/lib/client/toggle-group-DSWb9HxN.js +134 -0
- package/dist/lib/client/toolbar/index.js +1 -1
- package/dist/lib/client/toolbar-DcCi3HNp.js +504 -0
- package/dist/lib/client/tooltip/index.js +1 -1
- package/dist/lib/client/tooltip-D-PkGco9.js +849 -0
- package/dist/lib/client/use-render/index.js +2 -0
- package/dist/lib/client/useFilteredItems-B7z2CGMV.js +2270 -0
- package/dist/lib/client/useRender-CxZ8PI-g.js +12 -0
- package/dist/lib/server/{DialogHandle-ATZlm9RC.js → DialogHandle-nJSSy_jM.js} +24 -33
- package/dist/lib/server/{DialogPopup-BebI-w5P.js → DialogPopup-Da1aIxVA.js} +10 -13
- package/dist/lib/server/{FieldControl-Y_kI7ARp.js → FieldControl-BDeNR3ug.js} +56 -20
- package/dist/lib/server/{FocusManager-BrbZVWME.js → FocusManager-1LfoCsya.js} +1 -3
- package/dist/lib/server/{FormContext-pvESt85v.js → FormContext-CYwo_ZnB.js} +1 -0
- package/dist/lib/server/{LabelableContext-DZP3rgAY.js → LabelableContext-BTeF0IWb.js} +4 -6
- package/dist/lib/server/{MenuSubmenuTrigger-DA4gsv6z.js → MenuSubmenuTrigger-rR8ZN7YR.js} +133 -166
- package/dist/lib/server/{PopupHandle-DthPgNjy.js → PopupHandle-Ct6wywmP.js} +1 -1
- package/dist/lib/server/{PopupStore-DEs3FAEe.js → PopupStore-kHjFPiQ5.js} +38 -14
- package/dist/lib/server/{PopupViewport-3r_KTFwX.js → PopupViewport-DftN5VUp.js} +2 -2
- package/dist/lib/server/{Separator-vhhYxWGr.js → Separator-DTvtnxzP.js} +4 -6
- package/dist/lib/server/TriggerFocusGuards-CvoGfft9.js +61 -0
- package/dist/lib/server/accordion/index.js +32 -70
- 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 +8 -9
- package/dist/lib/server/checkbox/index.js +30 -57
- package/dist/lib/server/checkbox-group/index.js +20 -10
- package/dist/lib/server/collapsible/index.js +36 -43
- package/dist/lib/server/combobox/index.js +64 -35
- package/dist/lib/server/{constants-9H__9xbS.js → constants-D7ciIzsV.js} +8 -3
- package/dist/lib/server/context-menu/index.js +7 -9
- package/dist/lib/server/{createAnchorPositioning-C-cVOPwz.js → createAnchorPositioning-B5Y0WEev.js} +11 -6
- package/dist/lib/server/{createCollapsiblePanel-DTyVJz0G.js → createCollapsiblePanel-B45kTe6v.js} +1 -1
- package/dist/lib/server/{createFocusInteraction-EIS0QOel.js → createFocusInteraction-DMyKsniI.js} +22 -2
- package/dist/lib/server/createLabelableId-WMUKtY6s.js +18 -0
- package/dist/lib/server/{createPopupAutoResize-DO50jjNX.js → createPopupAutoResize-ImBjwdj_.js} +1 -1
- 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/drawer/index.js +63 -71
- package/dist/lib/server/field/index.js +105 -93
- package/dist/lib/server/fieldset/index.js +13 -16
- package/dist/lib/server/form/index.js +16 -12
- package/dist/lib/server/index.js +5 -3
- package/dist/lib/server/input/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/menu/index.js +21 -20
- package/dist/lib/server/menubar/index.js +6 -31
- package/dist/lib/server/{mergeStyleValue-Db8bRCM4.js → mergeStyleValue-BwJ10_X2.js} +6 -1
- package/dist/lib/server/meter/index.js +20 -32
- package/dist/lib/server/navigation-menu/index.js +53 -124
- package/dist/lib/server/number-field/index.js +44 -42
- package/dist/lib/server/otp-field/index.js +11 -14
- package/dist/lib/server/popover/index.js +42 -59
- package/dist/lib/server/{popupStateMapping-nKoUwoke.js → popupStateMapping-B2KsiiLb.js} +18 -16
- package/dist/lib/server/preview-card/index.js +30 -41
- package/dist/lib/server/progress/index.js +21 -33
- package/dist/lib/server/radio/index.js +18 -39
- package/dist/lib/server/radio-group/index.js +7 -8
- package/dist/lib/server/{runOnceAnimationsFinish-DCHzXWZU.js → runOnceAnimationsFinish-CYq38H8J.js} +2 -1
- package/dist/lib/server/{safePolygon-CAm5RJGv.js → safePolygon-C1GNJbKR.js} +5 -0
- package/dist/lib/server/scroll-area/index.js +23 -32
- package/dist/lib/server/select/index.js +95 -181
- package/dist/lib/server/separator/index.js +1 -1
- package/dist/lib/server/slider/index.js +25 -38
- package/dist/lib/server/switch/index.js +13 -23
- package/dist/lib/server/tabs/index.js +185 -129
- package/dist/lib/server/toast/index.js +49 -66
- package/dist/lib/server/toggle/index.js +4 -6
- package/dist/lib/server/toggle-group/index.js +9 -7
- package/dist/lib/server/toolbar/index.js +62 -79
- package/dist/lib/server/tooltip/index.js +28 -37
- package/dist/lib/server/use-render/index.js +2 -0
- package/dist/lib/server/{useFilteredItems-DvuctLt3.js → useFilteredItems-DCxq20Is.js} +164 -189
- 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 +1 -1
- 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/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 +12 -8
- package/dist/lib/types/combobox/root/ComboboxRootContext.d.ts +2 -0
- package/dist/lib/types/combobox/trigger/ComboboxTrigger.d.ts +1 -0
- 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/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/createTransitionStatus.d.ts +1 -1
- 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/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/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/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 +1 -1
- package/dist/lib/types/toolbar/root/ToolbarRoot.d.ts +1 -1
- 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/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/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,4 +1,5 @@
|
|
|
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 { a as closeWatcher, k as swipe } from "../internals/reasons.js";
|
|
4
5
|
import { n as resolveClass, t as resolveStyle } from "../resolveStyle-XCSFDHAL.js";
|
|
@@ -6,15 +7,15 @@ import { createChangeEventDetails } from "../internals/createBaseUIEventDetails.
|
|
|
6
7
|
import { TransitionStatusDataAttributes } from "../internals/stateAttributesMapping.js";
|
|
7
8
|
import { composeEventHandlers } from "../internals/composeEventHandlers.js";
|
|
8
9
|
import { a as isElement, c as isHTMLElement, l as isInteractiveElement, m as ownerWindow, n as contains, p as ownerDocument, r as getEventTarget, t as activeElement } from "../dom-Crg_2R-j.js";
|
|
9
|
-
import { n as createTriggerRegistration } from "../PopupStore-
|
|
10
|
-
import { r as popupTransitionStateMapping, t as CommonPopupDataAttributes } from "../popupStateMapping-
|
|
11
|
-
import { t as FocusManager } from "../FocusManager-
|
|
12
|
-
import { a as DialogTitle, c as DialogDescription, d as dialogTransitionStateAttributesMapping, f as mergeDialogStyles, h as useDialogRootContext, i as DialogTrigger, l as DialogClose, m as renderDialogRoot, o as DialogPortal, r as DialogViewport, s as useDialogPortalContext, t as DialogHandle } from "../DialogHandle-
|
|
10
|
+
import { n as createTriggerRegistration } from "../PopupStore-kHjFPiQ5.js";
|
|
11
|
+
import { r as popupTransitionStateMapping, t as CommonPopupDataAttributes } from "../popupStateMapping-B2KsiiLb.js";
|
|
12
|
+
import { t as FocusManager } from "../FocusManager-1LfoCsya.js";
|
|
13
|
+
import { a as DialogTitle, c as DialogDescription, d as dialogTransitionStateAttributesMapping, f as mergeDialogStyles, h as useDialogRootContext, i as DialogTrigger, l as DialogClose, m as renderDialogRoot, o as DialogPortal, r as DialogViewport, s as useDialogPortalContext, t as DialogHandle } from "../DialogHandle-nJSSy_jM.js";
|
|
13
14
|
import { n as getComposedParentNode, t as findScrollableTouchTarget } from "../scrollable-CjsSxbGr.js";
|
|
14
15
|
import { t as isAndroid } from "../platform-DYukKUir.js";
|
|
15
|
-
import { a as getElementTransform, i as getDisplacement, o as getElementAtPoint, r as createSwipeDismiss, s as clamp, t as BASE_UI_SWIPE_IGNORE_SELECTOR } from "../constants-
|
|
16
|
-
import {
|
|
17
|
-
import { Show, createContext, createEffect, createMemo, createSignal, createUniqueId, flush, merge, omit, onCleanup, untrack, useContext } from "solid-js";
|
|
16
|
+
import { a as getElementTransform, i as getDisplacement, o as getElementAtPoint, r as createSwipeDismiss, s as clamp, t as BASE_UI_SWIPE_IGNORE_SELECTOR } from "../constants-D7ciIzsV.js";
|
|
17
|
+
import { mergeProps, ssrElement } from "@solidjs/web";
|
|
18
|
+
import { Show, createContext, createEffect, createMemo, createSignal, createUniqueId, flush, merge, omit, onCleanup, onSettled, untrack, useContext } from "solid-js";
|
|
18
19
|
//#region src/drawer/popup/DrawerPopupCssVars.ts
|
|
19
20
|
var DrawerPopupCssVars = /* @__PURE__ */ function(DrawerPopupCssVars) {
|
|
20
21
|
/**
|
|
@@ -70,11 +71,12 @@ var DrawerBackdropCssVars = /* @__PURE__ */ function(DrawerBackdropCssVars) {
|
|
|
70
71
|
function DrawerBackdrop(props) {
|
|
71
72
|
const context = useDialogRootContext();
|
|
72
73
|
const internalProps = props;
|
|
73
|
-
const others = omit(props, "
|
|
74
|
+
const others = omit(props, "render", "class", "forceRender", "ref", "style");
|
|
74
75
|
const state = createMemo(() => ({
|
|
75
76
|
open: context.store.open(),
|
|
76
77
|
transitionStatus: context.presence.transitionStatus()
|
|
77
78
|
}));
|
|
79
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
78
80
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
79
81
|
const styleValue = createMemo(() => mergeDialogStyles({
|
|
80
82
|
"pointer-events": context.store.open() ? void 0 : "none",
|
|
@@ -90,10 +92,7 @@ function DrawerBackdrop(props) {
|
|
|
90
92
|
onCleanup(() => {
|
|
91
93
|
if (context.backdropElement() === backdropElement) context.setBackdropElement(null);
|
|
92
94
|
});
|
|
93
|
-
return
|
|
94
|
-
get component() {
|
|
95
|
-
return props.as ?? "div";
|
|
96
|
-
},
|
|
95
|
+
return Render(mergeProps({
|
|
97
96
|
ref: [((element) => {
|
|
98
97
|
backdropElement = element;
|
|
99
98
|
context.setBackdropElement(element);
|
|
@@ -131,16 +130,12 @@ var DRAWER_CONTENT_ATTRIBUTE = "data-drawer-content";
|
|
|
131
130
|
function DrawerContent(props) {
|
|
132
131
|
useDialogRootContext();
|
|
133
132
|
const internalProps = props;
|
|
134
|
-
const others = omit(props, "
|
|
133
|
+
const others = omit(props, "render", "class", "ref", "style");
|
|
135
134
|
const state = {};
|
|
135
|
+
const Render = useRender(props, () => state, (props) => ssrElement("div", props, void 0, true));
|
|
136
136
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
137
137
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
138
|
-
return
|
|
139
|
-
get component() {
|
|
140
|
-
return props.as ?? "div";
|
|
141
|
-
},
|
|
142
|
-
ref: [internalProps.ref]
|
|
143
|
-
}, { [DRAWER_CONTENT_ATTRIBUTE]: "" }, {
|
|
138
|
+
return Render(mergeProps({ ref: [internalProps.ref] }, { [DRAWER_CONTENT_ATTRIBUTE]: "" }, {
|
|
144
139
|
get ["class"]() {
|
|
145
140
|
return classValue();
|
|
146
141
|
},
|
|
@@ -199,23 +194,12 @@ var drawerIndentStateAttributesMapping = { active: (value) => value ? ACTIVE : I
|
|
|
199
194
|
function DrawerIndentBackground(props) {
|
|
200
195
|
const provider = useDrawerProviderContext();
|
|
201
196
|
const internalProps = props;
|
|
202
|
-
const others = omit(props, "
|
|
197
|
+
const others = omit(props, "render", "class", "ref", "style");
|
|
203
198
|
const state = () => ({ active: provider?.active() ?? false });
|
|
204
199
|
const classValue = () => resolveClass(props.class, state());
|
|
205
200
|
const styleValue = () => resolveStyle(props.style, state());
|
|
206
201
|
const stateAttributes = () => getStateAttributesProps(state(), drawerIndentStateAttributesMapping);
|
|
207
|
-
|
|
208
|
-
return component === void 0 ? ssrElement("div", () => {
|
|
209
|
-
return mergeProps({
|
|
210
|
-
get ["class"]() {
|
|
211
|
-
return classValue();
|
|
212
|
-
},
|
|
213
|
-
get style() {
|
|
214
|
-
return styleValue();
|
|
215
|
-
}
|
|
216
|
-
}, stateAttributes, others);
|
|
217
|
-
}, void 0, true) : Dynamic(mergeProps({
|
|
218
|
-
component,
|
|
202
|
+
return useRender(props, state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
219
203
|
ref: [internalProps.ref],
|
|
220
204
|
get ["class"]() {
|
|
221
205
|
return classValue();
|
|
@@ -234,7 +218,7 @@ function DrawerIndentBackground(props) {
|
|
|
234
218
|
function DrawerIndent(props) {
|
|
235
219
|
const provider = useDrawerProviderContext();
|
|
236
220
|
const internalProps = props;
|
|
237
|
-
const others = omit(props, "
|
|
221
|
+
const others = omit(props, "render", "class", "ref", "style");
|
|
238
222
|
const state = () => ({ active: provider?.active() ?? false });
|
|
239
223
|
const classValue = () => resolveClass(props.class, state());
|
|
240
224
|
const styleValue = () => mergeDialogStyles({ [DrawerBackdropCssVars.swipeProgress]: "0" }, resolveStyle(props.style, state()));
|
|
@@ -243,18 +227,7 @@ function DrawerIndent(props) {
|
|
|
243
227
|
const indentRef = [((element) => {
|
|
244
228
|
indentElement = element;
|
|
245
229
|
}), internalProps.ref];
|
|
246
|
-
const
|
|
247
|
-
const element = component === void 0 ? ssrElement("div", () => {
|
|
248
|
-
return mergeProps({
|
|
249
|
-
get ["class"]() {
|
|
250
|
-
return classValue();
|
|
251
|
-
},
|
|
252
|
-
get style() {
|
|
253
|
-
return styleValue();
|
|
254
|
-
}
|
|
255
|
-
}, stateAttributes, others);
|
|
256
|
-
}, void 0, true) : Dynamic(mergeProps({
|
|
257
|
-
component,
|
|
230
|
+
const element = useRender(props, state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
258
231
|
ref: indentRef,
|
|
259
232
|
get ["class"]() {
|
|
260
233
|
return classValue();
|
|
@@ -511,7 +484,7 @@ function DrawerPopup(props) {
|
|
|
511
484
|
const swipe = useDrawerViewportContext();
|
|
512
485
|
const snap = createDrawerSnapPoints();
|
|
513
486
|
const internalProps = props;
|
|
514
|
-
const others = omit(props, "
|
|
487
|
+
const others = omit(props, "render", "class", "finalFocus", "id", "initialFocus", "onKeyDown", "ref", "style");
|
|
515
488
|
const nestedDrawerOpen = createMemo(() => context.nestedOpenDrawerCount() > 0);
|
|
516
489
|
const swiping = createMemo(() => swipe?.swiping() ?? false);
|
|
517
490
|
let popupElement = null;
|
|
@@ -586,6 +559,7 @@ function DrawerPopup(props) {
|
|
|
586
559
|
swipeDirection: drawer.swipeDirection(),
|
|
587
560
|
swiping: swiping()
|
|
588
561
|
}));
|
|
562
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
589
563
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
590
564
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), stateAttributesMapping$1));
|
|
591
565
|
const snapPointOffsetValue = createMemo(() => {
|
|
@@ -639,10 +613,7 @@ function DrawerPopup(props) {
|
|
|
639
613
|
onCleanup(() => {
|
|
640
614
|
if (context.store.state.popupElement === popupElement) context.store.setPopupElement(null);
|
|
641
615
|
});
|
|
642
|
-
const popup =
|
|
643
|
-
get component() {
|
|
644
|
-
return props.as ?? "div";
|
|
645
|
-
},
|
|
616
|
+
const popup = Render(mergeProps({
|
|
646
617
|
ref: [((element) => {
|
|
647
618
|
popupElement = element;
|
|
648
619
|
context.store.setPopupElement(element);
|
|
@@ -935,7 +906,7 @@ function DrawerSwipeArea(props) {
|
|
|
935
906
|
const drawer = useDrawerRootContext();
|
|
936
907
|
const provider = useDrawerProviderContext();
|
|
937
908
|
const internalProps = props;
|
|
938
|
-
const others = omit(props, "
|
|
909
|
+
const others = omit(props, "render", "class", "disabled", "id", "onPointerCancel", "onPointerDown", "onPointerMove", "onPointerUp", "onTouchCancel", "onTouchEnd", "onTouchMove", "onTouchStart", "ref", "style", "swipeDirection");
|
|
939
910
|
const generatedId = `base-ui-${createUniqueId()}`;
|
|
940
911
|
const id = createMemo(() => internalProps.id || generatedId);
|
|
941
912
|
const disabled = createMemo(() => internalProps.disabled ?? false);
|
|
@@ -956,7 +927,17 @@ function DrawerSwipeArea(props) {
|
|
|
956
927
|
const resolvedSwipeDirection = createMemo(() => internalProps.swipeDirection ?? oppositeSwipeDirection[drawer.swipeDirection()]);
|
|
957
928
|
const dismissDirection = createMemo(() => oppositeSwipeDirection[resolvedSwipeDirection()]);
|
|
958
929
|
const enabled = createMemo(() => !disabled() && (!store.open() || swipeActive()));
|
|
959
|
-
|
|
930
|
+
const [registrationReady, setRegistrationReady] = createSignal(false, { ownedWrite: true });
|
|
931
|
+
onSettled(() => {
|
|
932
|
+
let disposed = false;
|
|
933
|
+
queueMicrotask(() => {
|
|
934
|
+
if (!disposed) setRegistrationReady(true);
|
|
935
|
+
});
|
|
936
|
+
return () => {
|
|
937
|
+
disposed = true;
|
|
938
|
+
};
|
|
939
|
+
});
|
|
940
|
+
createTriggerRegistration(() => store, id, () => registrationReady() ? swipeAreaElement() : null);
|
|
960
941
|
function resetDragDelta() {
|
|
961
942
|
dragDelta.x = 0;
|
|
962
943
|
dragDelta.y = 0;
|
|
@@ -1152,6 +1133,7 @@ function DrawerSwipeArea(props) {
|
|
|
1152
1133
|
swipeDirection: resolvedSwipeDirection(),
|
|
1153
1134
|
disabled: disabled()
|
|
1154
1135
|
}));
|
|
1136
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
1155
1137
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
1156
1138
|
const styleValue = createMemo(() => mergeDialogStyles({
|
|
1157
1139
|
"pointer-events": enabled() ? void 0 : "none",
|
|
@@ -1179,10 +1161,7 @@ function DrawerSwipeArea(props) {
|
|
|
1179
1161
|
const onTouchMove = composeEventHandlers(() => internalProps.onTouchMove, () => (event) => swipe$2.touchHandlers.onTouchMove(event));
|
|
1180
1162
|
const onTouchEnd = composeEventHandlers(() => internalProps.onTouchEnd, () => (event) => swipe$2.touchHandlers.onTouchEnd(event));
|
|
1181
1163
|
const onTouchCancel = composeEventHandlers(() => internalProps.onTouchCancel, () => (event) => swipe$2.touchHandlers.onTouchCancel(event));
|
|
1182
|
-
return
|
|
1183
|
-
get component() {
|
|
1184
|
-
return props.as ?? "div";
|
|
1185
|
-
},
|
|
1164
|
+
return Render(mergeProps({
|
|
1186
1165
|
ref: [((element) => setSwipeAreaElement(element)), internalProps.ref],
|
|
1187
1166
|
get id() {
|
|
1188
1167
|
return id();
|
|
@@ -1366,7 +1345,7 @@ function DrawerViewport(props) {
|
|
|
1366
1345
|
return true;
|
|
1367
1346
|
},
|
|
1368
1347
|
onProgress(progress, details) {
|
|
1369
|
-
updateNestedSwipeActive(details);
|
|
1348
|
+
if (swipingNow) updateNestedSwipeActive(details);
|
|
1370
1349
|
const points = drawer.snapPoints();
|
|
1371
1350
|
const hasSnapPoints = Boolean(points && points.length > 0);
|
|
1372
1351
|
if (swipingNow && swipeDirection() === "down" && hasSnapPoints && details) {
|
|
@@ -1382,13 +1361,17 @@ function DrawerViewport(props) {
|
|
|
1382
1361
|
if (range && popupHeight > 0) {
|
|
1383
1362
|
const baseOffset = snap.activeSnapPointOffset() ?? range.minOffset;
|
|
1384
1363
|
const offsetToProgress = (nextOffset) => clamp((nextOffset - range.minOffset) / range.range, 0, 1);
|
|
1385
|
-
if (details && Number.isFinite(details.deltaY)) resolvedProgress = offsetToProgress(clamp(baseOffset + details.deltaY, 0, popupHeight));
|
|
1364
|
+
if (swipingNow && details && Number.isFinite(details.deltaY)) resolvedProgress = offsetToProgress(clamp(baseOffset + details.deltaY, 0, popupHeight));
|
|
1386
1365
|
else {
|
|
1387
1366
|
const progressFromSnapPoint = snapPointProgress();
|
|
1388
1367
|
if (progressFromSnapPoint !== null) resolvedProgress = progressFromSnapPoint;
|
|
1389
1368
|
}
|
|
1390
1369
|
}
|
|
1391
|
-
|
|
1370
|
+
if (!swipingNow) {
|
|
1371
|
+
drawer.notifyParentSwipeProgressChange?.(0);
|
|
1372
|
+
finishNestedSwipe();
|
|
1373
|
+
}
|
|
1374
|
+
applySwipeProgress(resolvedProgress, true, swipingNow);
|
|
1392
1375
|
},
|
|
1393
1376
|
onRelease({ event, deltaX, deltaY, direction, velocityX, velocityY, releaseVelocityX, releaseVelocityY }) {
|
|
1394
1377
|
const popupElement = store.state.popupElement;
|
|
@@ -1453,9 +1436,21 @@ function DrawerViewport(props) {
|
|
|
1453
1436
|
const velocityOffset = Math.abs(resolvedDirectionalVelocity) >= SNAP_VELOCITY_THRESHOLD ? clamp(resolvedDirectionalVelocity, -4, MAX_SNAP_VELOCITY) * SNAP_VELOCITY_MULTIPLIER : 0;
|
|
1454
1437
|
const targetOffset = drawer.snapToSequentialPoints() ? dragTargetOffset : clamp(dragTargetOffset + velocityOffset, 0, popupHeight);
|
|
1455
1438
|
const snapPointEventDetails = createChangeEventDetails(swipe, event);
|
|
1456
|
-
const
|
|
1457
|
-
|
|
1439
|
+
const settleInPlace = () => {
|
|
1440
|
+
applySwipeProgress(0, true, true);
|
|
1441
|
+
clearSwipeRelease();
|
|
1442
|
+
return false;
|
|
1443
|
+
};
|
|
1444
|
+
const settleOnSnapPoint = (point) => {
|
|
1445
|
+
drawer.setActiveSnapPoint(point.value, snapPointEventDetails);
|
|
1446
|
+
return settleInPlace();
|
|
1447
|
+
};
|
|
1448
|
+
const closeFromSnapPoints = (fallback) => {
|
|
1449
|
+
if (!direction) return settleOnSnapPoint(fallback);
|
|
1450
|
+
const previousSnapPoint = snap.activeSnapPoint();
|
|
1458
1451
|
drawer.setActiveSnapPoint(null, snapPointEventDetails);
|
|
1452
|
+
if (snapPointEventDetails.isCanceled) return settleInPlace();
|
|
1453
|
+
pendingSwipeCloseSnapPoint = previousSnapPoint;
|
|
1459
1454
|
startSwipeRelease(currentSwipeDirection);
|
|
1460
1455
|
return true;
|
|
1461
1456
|
};
|
|
@@ -1475,19 +1470,16 @@ function DrawerViewport(props) {
|
|
|
1475
1470
|
targetSnapPoint = adjacentPoint;
|
|
1476
1471
|
effectiveTargetOffset = adjacentPoint.offset;
|
|
1477
1472
|
}
|
|
1478
|
-
} else if (dragDirection > 0) return closeFromSnapPoints();
|
|
1473
|
+
} else if (dragDirection > 0) return closeFromSnapPoints(targetSnapPoint);
|
|
1479
1474
|
}
|
|
1480
|
-
if (Math.abs(effectiveTargetOffset - popupHeight) < Math.abs(effectiveTargetOffset - targetSnapPoint.offset)) return closeFromSnapPoints();
|
|
1481
|
-
|
|
1482
|
-
clearSwipeRelease();
|
|
1483
|
-
return false;
|
|
1475
|
+
if (Math.abs(effectiveTargetOffset - popupHeight) < Math.abs(effectiveTargetOffset - targetSnapPoint.offset)) return closeFromSnapPoints(targetSnapPoint);
|
|
1476
|
+
return settleOnSnapPoint(targetSnapPoint);
|
|
1484
1477
|
}
|
|
1485
|
-
if (resolvedDirectionalVelocity >= FAST_SWIPE_VELOCITY && dragDelta > 0) return closeFromSnapPoints();
|
|
1486
1478
|
const closestSnapPoint = resolvedSnapPoints[closestSnapPointIndex(resolvedSnapPoints.map((point) => point.offset), targetOffset)];
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
return
|
|
1479
|
+
const closeDistance = Math.abs(targetOffset - popupHeight);
|
|
1480
|
+
if (resolvedDirectionalVelocity >= FAST_SWIPE_VELOCITY && dragDelta > 0) return closeFromSnapPoints(closestSnapPoint);
|
|
1481
|
+
if (closeDistance < Math.abs(targetOffset - closestSnapPoint.offset)) return closeFromSnapPoints(closestSnapPoint);
|
|
1482
|
+
return settleOnSnapPoint(closestSnapPoint);
|
|
1491
1483
|
},
|
|
1492
1484
|
onDismiss(event) {
|
|
1493
1485
|
provider?.visualStateStore.set({
|
|
@@ -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
6
|
import { composeEventHandlers } from "../internals/composeEventHandlers.js";
|
|
6
|
-
import { t as runOnceAnimationsFinish } from "../runOnceAnimationsFinish-
|
|
7
|
-
import { t as createTransitionStatus } from "../createTransitionStatus-
|
|
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
10
|
import { n as useFieldRootContext, t as FieldRootContext } from "../FieldRootContext-IC-LWzVp.js";
|
|
10
|
-
import { n as useFormContext } from "../FormContext-
|
|
11
|
-
import { n as createLabelableContext, r as useLabelableContext, t as LabelableContext } from "../LabelableContext-
|
|
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-BDeNR3ug.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,6 +391,7 @@ 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
397
|
const callExternalClick = composeEventHandlers(() => internalProps.onClick);
|
|
@@ -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();
|