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,32 +1,33 @@
|
|
|
1
|
+
import { t as useRender } from "./useRender-CryVdCjs.js";
|
|
1
2
|
import { getStateAttributesProps } from "./internals/getStateAttributesProps.js";
|
|
2
3
|
import { E as pointer, S as listNavigation, b as keyboard, g as inputClear, h as inputChange, l as escapeKey, r as clearPress, t as cancelOpen, v as inputPress, w as none, y as itemPress } from "./internals/reasons.js";
|
|
3
4
|
import { n as resolveClass, t as resolveStyle } from "./resolveStyle-XCSFDHAL.js";
|
|
4
5
|
import { createChangeEventDetails, createGenericEventDetails } from "./internals/createBaseUIEventDetails.js";
|
|
5
6
|
import { transitionStatusMapping } from "./internals/stateAttributesMapping.js";
|
|
6
7
|
import { composeEventHandlers } from "./internals/composeEventHandlers.js";
|
|
7
|
-
import { t as runOnceAnimationsFinish } from "./runOnceAnimationsFinish-
|
|
8
|
+
import { t as runOnceAnimationsFinish } from "./runOnceAnimationsFinish-CYq38H8J.js";
|
|
8
9
|
import { a as isElement, c as isHTMLElement, l as isInteractiveElement, n as contains, o as isElementVisible, p as ownerDocument } from "./dom-Crg_2R-j.js";
|
|
9
10
|
import { i as isListIndexDisabled, n as getMinListIndex, r as getNavigatedIndex, t as getMaxListIndex } from "./compositeNavigation-BRVT1C38.js";
|
|
10
|
-
import { t as createAnchorPositioning } from "./createAnchorPositioning-
|
|
11
|
+
import { t as createAnchorPositioning } from "./createAnchorPositioning-B5Y0WEev.js";
|
|
11
12
|
import { t as InternalBackdrop } from "./InternalBackdrop-C_iDPVR-.js";
|
|
12
13
|
import { t as createAnchoredPopupScrollLock } from "./createAnchoredPopupScrollLock-DFuUrykR.js";
|
|
13
14
|
import { t as createClickInteraction } from "./createClickInteraction-BYsMgvup.js";
|
|
14
15
|
import { c as useFloatingTree, i as createFloatingNode, n as FloatingTreeContext, r as FloatingTreeStore, s as useFloatingParentNodeId, t as FloatingParentNodeContext } from "./FloatingTree-z1JPD1dR.js";
|
|
15
|
-
import { a as createPopupPresence, n as createTriggerRegistration, o as createDismiss, t as PopupStore } from "./PopupStore-
|
|
16
|
-
import { t as createTransitionStatus } from "./createTransitionStatus-
|
|
17
|
-
import { a as triggerOpenStateMapping, i as pressableTriggerOpenStateMapping, n as popupStateMapping, o as PopupPortal, r as popupTransitionStateMapping } from "./popupStateMapping-
|
|
18
|
-
import { t as FocusManager } from "./FocusManager-
|
|
19
|
-
import { a as stopButtonInteraction, i as preventDisabledButtonKeyDown, n as handleNonNativeButtonKeyUp, r as preventButtonInteraction, t as handleNonNativeButtonKeyDown } from "./buttonSemantics-BSwDxJhh.js";
|
|
16
|
+
import { a as createPopupPresence, n as createTriggerRegistration, o as createDismiss, t as PopupStore } from "./PopupStore-kHjFPiQ5.js";
|
|
17
|
+
import { t as createTransitionStatus } from "./createTransitionStatus-184v7j3-.js";
|
|
18
|
+
import { a as triggerOpenStateMapping, i as pressableTriggerOpenStateMapping, n as popupStateMapping, o as PopupPortal, r as popupTransitionStateMapping } from "./popupStateMapping-B2KsiiLb.js";
|
|
19
|
+
import { t as FocusManager } from "./FocusManager-1LfoCsya.js";
|
|
20
20
|
import { t as setRef } from "./setRef-Bt70sW7c.js";
|
|
21
|
+
import { a as stopButtonInteraction, i as preventDisabledButtonKeyDown, n as handleNonNativeButtonKeyUp, r as preventButtonInteraction, t as handleNonNativeButtonKeyDown } from "./buttonSemantics-BSwDxJhh.js";
|
|
21
22
|
import { n as useDirection } from "./DirectionContext-YORWLF08.js";
|
|
22
23
|
import { DEFAULT_FIELD_STATE_ATTRIBUTES, fieldStateAttributesMapping } from "./internals/field-constants.js";
|
|
23
24
|
import { n as useFieldRootContext } from "./FieldRootContext-IC-LWzVp.js";
|
|
24
|
-
import { n as useFormContext } from "./FormContext-
|
|
25
|
-
import { a as defaultItemEquality, c as removeItem, i as compareItemEquality, l as selectedValueIncludes, n as isSolidAccessor, o as findItemIndex, r as areItemArraysEqual, s as findSelectionIndex, t as mergeStyleValue } from "./mergeStyleValue-
|
|
26
|
-
import { r as useLabelableContext } from "./LabelableContext-
|
|
25
|
+
import { n as useFormContext } from "./FormContext-CYwo_ZnB.js";
|
|
26
|
+
import { a as defaultItemEquality, c as removeItem, i as compareItemEquality, l as selectedValueIncludes, n as isSolidAccessor, o as findItemIndex, r as areItemArraysEqual, s as findSelectionIndex, t as mergeStyleValue } from "./mergeStyleValue-BwJ10_X2.js";
|
|
27
|
+
import { r as useLabelableContext } from "./LabelableContext-BTeF0IWb.js";
|
|
27
28
|
import { i as isScrollableY } from "./scrollable-CjsSxbGr.js";
|
|
28
29
|
import { t as isAndroid } from "./platform-DYukKUir.js";
|
|
29
|
-
import {
|
|
30
|
+
import { escape, memo, mergeProps, ssr, ssrAttribute, ssrElement, ssrGroup, ssrHydrationKey, ssrStyle } from "@solidjs/web";
|
|
30
31
|
import { For, Show, createContext, createEffect, createMemo, createSignal, createUniqueId, flush, omit, onCleanup, untrack, useContext } from "solid-js";
|
|
31
32
|
//#region src/internals/overlay/createListNavigation.ts
|
|
32
33
|
function createListNavigation(options) {
|
|
@@ -195,7 +196,7 @@ function serializeValue(value) {
|
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
198
|
function isGroupedItems(items) {
|
|
198
|
-
return Array.isArray(items) && items.length > 0 && typeof items[0] === "object" && items[0] != null &&
|
|
199
|
+
return Array.isArray(items) && items.length > 0 && typeof items[0] === "object" && items[0] != null && Array.isArray(items[0].items);
|
|
199
200
|
}
|
|
200
201
|
function flattenItems(items) {
|
|
201
202
|
if (!Array.isArray(items)) return [];
|
|
@@ -205,7 +206,7 @@ function flattenItems(items) {
|
|
|
205
206
|
/** Whether an explicit `null` item carries a label that should win over a placeholder. */
|
|
206
207
|
function hasNullItemLabel(items) {
|
|
207
208
|
if (items == null) return false;
|
|
208
|
-
if (!Array.isArray(items)) return "null"
|
|
209
|
+
if (!Array.isArray(items)) return Object.hasOwn(items, "null");
|
|
209
210
|
for (const item of flattenItems(items)) {
|
|
210
211
|
const labeled = item;
|
|
211
212
|
if (labeled && typeof labeled === "object" && labeled.value == null && labeled.label != null) return true;
|
|
@@ -232,7 +233,7 @@ function resolveSelectedLabel(value, items, itemToStringLabel) {
|
|
|
232
233
|
const fallback = () => stringifyAsLabel(value, itemToStringLabel);
|
|
233
234
|
if (itemToStringLabel && value != null) return itemToStringLabel(value);
|
|
234
235
|
if (value && typeof value === "object" && "label" in value && value.label != null) return value.label;
|
|
235
|
-
if (items && !Array.isArray(items)) return items[String(value)] ?? fallback();
|
|
236
|
+
if (items && !Array.isArray(items)) return Object.hasOwn(items, String(value)) ? items[String(value)] ?? fallback() : fallback();
|
|
236
237
|
if (Array.isArray(items)) {
|
|
237
238
|
const flatItems = flattenItems(items);
|
|
238
239
|
if (value == null || typeof value !== "object") {
|
|
@@ -563,7 +564,18 @@ function AriaCombobox(props) {
|
|
|
563
564
|
const multiple = createMemo(() => props.selectionMode === "multiple");
|
|
564
565
|
const single = createMemo(() => props.selectionMode === "single");
|
|
565
566
|
const comparator = createMemo(() => props.isItemEqualToValue ?? defaultItemEquality);
|
|
566
|
-
const itemToStringLabel = () => props.itemToStringLabel;
|
|
567
|
+
const itemToStringLabel = () => props.itemCollection ? resolveLabel : props.itemToStringLabel;
|
|
568
|
+
function resolveLabel(value) {
|
|
569
|
+
const collection = props.itemCollection;
|
|
570
|
+
if (!collection) return stringifyAsLabel(value, props.itemToStringLabel);
|
|
571
|
+
if (!collection.hasValue(value, comparator())) {
|
|
572
|
+
const external = flattenItems(props.filteredItems).find((item) => compareItemEquality(collection.value(item), value, comparator()));
|
|
573
|
+
if (external !== void 0) return collection.itemLabel(external);
|
|
574
|
+
}
|
|
575
|
+
return collection.label(value, comparator(), props.itemToStringLabel);
|
|
576
|
+
}
|
|
577
|
+
const projectValue = (item) => props.itemCollection ? props.itemCollection.value(item) : item;
|
|
578
|
+
const sourceLabel = () => props.itemCollection?.itemLabel ?? props.itemToStringLabel;
|
|
567
579
|
const itemToStringValue = () => props.itemToStringValue;
|
|
568
580
|
const initialSelectedValue = untrack(() => {
|
|
569
581
|
const defaultValue = props.defaultSelectedValue;
|
|
@@ -574,7 +586,7 @@ function AriaCombobox(props) {
|
|
|
574
586
|
const selectedValue = createMemo(() => controlledSelected ? props.selectedValue ?? null : uncontrolledSelected());
|
|
575
587
|
const initialDefaultInputValue = untrack(() => {
|
|
576
588
|
if (hasInputValueProp) return props.defaultInputValue ?? props.inputValue ?? "";
|
|
577
|
-
if (props.selectionMode === "single") return
|
|
589
|
+
if (props.selectionMode === "single") return resolveLabel(selectedValue());
|
|
578
590
|
return "";
|
|
579
591
|
});
|
|
580
592
|
const [uncontrolledInput, setUncontrolledInput] = createSignal(initialDefaultInputValue);
|
|
@@ -614,18 +626,18 @@ function AriaCombobox(props) {
|
|
|
614
626
|
if (props.filter === null) return () => true;
|
|
615
627
|
if (props.filter !== void 0) return props.filter;
|
|
616
628
|
const collator = collatorFilter();
|
|
617
|
-
const toLabel =
|
|
629
|
+
const toLabel = sourceLabel();
|
|
618
630
|
return (item, query) => item == null ? false : collator.contains(item, query, toLabel);
|
|
619
631
|
});
|
|
620
632
|
const query = createMemo(() => closeQuery() ?? String(inputValue()).trim());
|
|
621
|
-
const selectedLabelString = createMemo(() => single() ?
|
|
633
|
+
const selectedLabelString = createMemo(() => single() ? resolveLabel(selectedValue()) : "");
|
|
622
634
|
const shouldBypassFiltering = createMemo(() => {
|
|
623
635
|
const label = selectedLabelString();
|
|
624
636
|
const currentQuery = query();
|
|
625
637
|
return single() && !queryChangedAfterOpen() && currentQuery !== "" && label.length === currentQuery.length && collatorFilter().contains(label, currentQuery);
|
|
626
638
|
});
|
|
627
|
-
const filterQuery = createMemo(() => shouldBypassFiltering() ? "" : query());
|
|
628
|
-
const shouldIgnoreExternalFiltering = createMemo(() => hasItems() && hasFilteredItemsProp() && shouldBypassFiltering());
|
|
639
|
+
const filterQuery = createMemo(() => props.filterQuery ?? (shouldBypassFiltering() ? "" : query()));
|
|
640
|
+
const shouldIgnoreExternalFiltering = createMemo(() => hasItems() && hasFilteredItemsProp() && shouldBypassFiltering() && (!props.itemCollection || props.itemCollection.hasValue(selectedValue(), comparator())));
|
|
629
641
|
const flatItems = createMemo(() => flattenItems(props.items));
|
|
630
642
|
const filteredItems = createMemo(() => {
|
|
631
643
|
if (props.filteredItems !== void 0 && !shouldIgnoreExternalFiltering()) return props.filteredItems;
|
|
@@ -634,7 +646,7 @@ function AriaCombobox(props) {
|
|
|
634
646
|
const currentQuery = filterQuery();
|
|
635
647
|
const currentLimit = limit();
|
|
636
648
|
const match = filter();
|
|
637
|
-
const toLabel =
|
|
649
|
+
const toLabel = sourceLabel();
|
|
638
650
|
if (isGroupedItems(items)) {
|
|
639
651
|
const resultingGroups = [];
|
|
640
652
|
let currentCount = 0;
|
|
@@ -677,7 +689,6 @@ function AriaCombobox(props) {
|
|
|
677
689
|
let initializedOpen = false;
|
|
678
690
|
let previousSelectedValue = cloneValue(untrack(selectedValue));
|
|
679
691
|
let previousInputValue = untrack(inputValue);
|
|
680
|
-
let previousItems = untrack(() => props.items);
|
|
681
692
|
let previousQuery = untrack(query);
|
|
682
693
|
const store = new ComboboxStore({
|
|
683
694
|
controlledOpen: () => controlledOpen ? props.open : void 0,
|
|
@@ -713,14 +724,14 @@ function AriaCombobox(props) {
|
|
|
713
724
|
return store.track().popupElement;
|
|
714
725
|
}
|
|
715
726
|
/** Item values addressed by index, from `items` when provided and rendered items otherwise. */
|
|
716
|
-
const itemValues = createMemo(() => hasItems() || hasFilteredItemsProp() ? flatFilteredItems() : store.collection.values());
|
|
717
|
-
|
|
727
|
+
const itemValues = createMemo(() => hasItems() || hasFilteredItemsProp() ? flatFilteredItems().map(projectValue) : store.collection.values());
|
|
728
|
+
function itemLabels() {
|
|
718
729
|
const rendered = store.collection.labels();
|
|
719
730
|
if (!hasItems()) return rendered;
|
|
720
|
-
const derived = flatFilteredItems().map((item) => stringifyAsLabel(item,
|
|
731
|
+
const derived = flatFilteredItems().map((item) => stringifyAsLabel(item, sourceLabel()));
|
|
721
732
|
if (!store.forceMounted()) return derived;
|
|
722
733
|
return derived.map((label, index) => rendered[index] ?? label);
|
|
723
|
-
}
|
|
734
|
+
}
|
|
724
735
|
const listElements = createMemo(() => {
|
|
725
736
|
const elements = store.collection.elements();
|
|
726
737
|
const length = itemValues().length;
|
|
@@ -789,9 +800,9 @@ function AriaCombobox(props) {
|
|
|
789
800
|
}
|
|
790
801
|
}
|
|
791
802
|
function setInputValue(next, details) {
|
|
792
|
-
hadInputClear = details.reason === inputClear;
|
|
793
803
|
props.onInputValueChange?.(next, details);
|
|
794
804
|
if (details.isCanceled) return;
|
|
805
|
+
hadInputClear = details.reason === inputClear;
|
|
795
806
|
if (details.reason === "input-change") {
|
|
796
807
|
if (store.open() && closeQuery() !== null) setCloseQuery(null);
|
|
797
808
|
const event = details.event;
|
|
@@ -830,7 +841,7 @@ function AriaCombobox(props) {
|
|
|
830
841
|
} else if (multiple()) {
|
|
831
842
|
if (!inline()) setCloseQuery(currentQuery);
|
|
832
843
|
if (store.inputInsidePopup()) setIndices({ activeIndex: null });
|
|
833
|
-
if (!store.inputInsidePopup() || inline()) setInputValue("", createChangeEventDetails(inputClear, details.event));
|
|
844
|
+
if (!store.inputInsidePopup() || inline()) setInputValue("", createChangeEventDetails(inputClear, details.event, void 0, { isItemPress: details.reason === itemPress }));
|
|
834
845
|
}
|
|
835
846
|
}
|
|
836
847
|
if (!nextOpen && store.inputInsidePopup() && (details.reason === "focus-out" || details.reason === "outside-press")) {
|
|
@@ -843,7 +854,7 @@ function AriaCombobox(props) {
|
|
|
843
854
|
props.onSelectedValueChange?.(next, details);
|
|
844
855
|
if (details.isCanceled) return;
|
|
845
856
|
if (!controlledSelected) setUncontrolledSelected(() => next);
|
|
846
|
-
if (selectionMode() === "none" && store.track().popupElement != null && (props.fillInputOnItemPress ?? true) || single() && !store.inputInsidePopup()) setInputValue(
|
|
857
|
+
if (selectionMode() === "none" && store.track().popupElement != null && (props.fillInputOnItemPress ?? true) || single() && !store.inputInsidePopup()) setInputValue(resolveLabel(next), createChangeEventDetails(details.reason, details.event));
|
|
847
858
|
}
|
|
848
859
|
function handleSelection(event, itemValue) {
|
|
849
860
|
const target = event.target;
|
|
@@ -857,11 +868,14 @@ function AriaCombobox(props) {
|
|
|
857
868
|
}
|
|
858
869
|
if (multiple()) {
|
|
859
870
|
const current = Array.isArray(selectedValue()) ? selectedValue() : [];
|
|
860
|
-
|
|
871
|
+
const alreadySelected = selectedValueIncludes(current, itemValue, comparator());
|
|
872
|
+
setSelectedValue(alreadySelected ? removeItem(current, itemValue, comparator()) : [...current, itemValue], details);
|
|
861
873
|
if (details.isCanceled) return;
|
|
862
874
|
if (!((inputElement()?.value.trim() ?? "") !== "")) return;
|
|
863
|
-
if (store.inputInsidePopup())
|
|
864
|
-
|
|
875
|
+
if (store.inputInsidePopup()) {
|
|
876
|
+
setInputValue("", createChangeEventDetails(inputClear, details.event, void 0, { isItemPress: true }));
|
|
877
|
+
if (pendingQueryHighlight && !alreadySelected) pendingQueryHighlight.toggledValue = itemValue;
|
|
878
|
+
} else setOpen(false, details);
|
|
865
879
|
return;
|
|
866
880
|
}
|
|
867
881
|
setSelectedValue(itemValue, details);
|
|
@@ -901,7 +915,7 @@ function AriaCombobox(props) {
|
|
|
901
915
|
if (store.inputInsidePopup()) {
|
|
902
916
|
if (currentInput && currentInput.value !== "") setInputValue("", createChangeEventDetails(inputClear));
|
|
903
917
|
} else {
|
|
904
|
-
const label =
|
|
918
|
+
const label = resolveLabel(selectedValue());
|
|
905
919
|
if (currentInput && currentInput.value !== label) setInputValue(label, createChangeEventDetails(label === "" ? inputClear : none));
|
|
906
920
|
}
|
|
907
921
|
}
|
|
@@ -926,13 +940,13 @@ function AriaCombobox(props) {
|
|
|
926
940
|
reference["aria-expanded"] = expanded() ? "true" : "false";
|
|
927
941
|
reference["aria-haspopup"] = grid() ? "grid" : "listbox";
|
|
928
942
|
reference["aria-controls"] = expanded() ? store.listElement()?.id : void 0;
|
|
929
|
-
reference["aria-autocomplete"] = autoCompleteMode();
|
|
943
|
+
reference["aria-autocomplete"] = readOnly() ? "none" : autoCompleteMode();
|
|
930
944
|
}
|
|
931
945
|
return reference;
|
|
932
946
|
});
|
|
933
947
|
const click = createClickInteraction({
|
|
934
948
|
context: store.context.floatingRoot,
|
|
935
|
-
enabled: () => !
|
|
949
|
+
enabled: () => !disabled() && openOnInputClick(),
|
|
936
950
|
event: () => "mousedown-only",
|
|
937
951
|
toggle: () => false,
|
|
938
952
|
reason: () => inputPress,
|
|
@@ -941,7 +955,7 @@ function AriaCombobox(props) {
|
|
|
941
955
|
const dismiss = createDismiss({
|
|
942
956
|
context: store.context.floatingRoot,
|
|
943
957
|
tree: () => tree,
|
|
944
|
-
enabled: () => !
|
|
958
|
+
enabled: () => !disabled() && !inline(),
|
|
945
959
|
outsidePressEvent: () => ({
|
|
946
960
|
mouse: "sloppy",
|
|
947
961
|
touch: "intentional"
|
|
@@ -954,7 +968,7 @@ function AriaCombobox(props) {
|
|
|
954
968
|
});
|
|
955
969
|
const listNavigation$1 = createListNavigation({
|
|
956
970
|
context: store.context.floatingRoot,
|
|
957
|
-
enabled: () => !
|
|
971
|
+
enabled: () => !disabled(),
|
|
958
972
|
list: listElements,
|
|
959
973
|
activeIndex: store.activeIndex,
|
|
960
974
|
selectedIndex: store.selectedIndex,
|
|
@@ -992,6 +1006,8 @@ function AriaCombobox(props) {
|
|
|
992
1006
|
flatFilteredItems,
|
|
993
1007
|
listEmpty,
|
|
994
1008
|
itemValues,
|
|
1009
|
+
itemLabels,
|
|
1010
|
+
hasItemCollection: () => props.itemCollection !== void 0,
|
|
995
1011
|
selectedValue,
|
|
996
1012
|
inputValue,
|
|
997
1013
|
hasSelectedValue,
|
|
@@ -1083,7 +1099,7 @@ function AriaCombobox(props) {
|
|
|
1083
1099
|
if (state.open) return;
|
|
1084
1100
|
store.pointerDownItem = null;
|
|
1085
1101
|
if (state.mode === "none") return;
|
|
1086
|
-
untrack(() => setIndices({ selectedIndex: findSelectionIndex(
|
|
1102
|
+
untrack(() => setIndices({ selectedIndex: findSelectionIndex(state.values, state.selected, state.compare, state.isMultiple) }));
|
|
1087
1103
|
});
|
|
1088
1104
|
createEffect(() => ({
|
|
1089
1105
|
activeIndex: store.activeIndex(),
|
|
@@ -1109,10 +1125,11 @@ function AriaCombobox(props) {
|
|
|
1109
1125
|
if (!store.open() && !inline() || (inputElement()?.value.trim() ?? "") !== "") return;
|
|
1110
1126
|
const current = selectedValue();
|
|
1111
1127
|
const isMultiple = multiple();
|
|
1112
|
-
const
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1128
|
+
const hasSelection = isMultiple && Array.isArray(current) ? current.length > 0 : selectionMode() !== "none" && current != null;
|
|
1129
|
+
if (hasSelection || clearedBySelection) {
|
|
1130
|
+
const toggledIndex = findItemIndex(itemValues(), pending.toggledValue, comparator());
|
|
1131
|
+
store.setActiveIndex(hasSelection ? toggledIndex !== -1 ? toggledIndex : findSelectionIndex(itemValues(), current, comparator(), isMultiple) : null);
|
|
1132
|
+
} else if (autoHighlight() === "always") store.setActiveIndex(0);
|
|
1116
1133
|
}));
|
|
1117
1134
|
}
|
|
1118
1135
|
}
|
|
@@ -1162,9 +1179,12 @@ function AriaCombobox(props) {
|
|
|
1162
1179
|
const pending = pendingInitialHighlight;
|
|
1163
1180
|
pendingInitialHighlight = null;
|
|
1164
1181
|
if (store.activeIndex() != null || queryChangedAfterOpen()) return;
|
|
1165
|
-
const selected = selectionMode() === "none" ? null :
|
|
1182
|
+
const selected = selectionMode() === "none" ? null : findSelectionIndex(itemValues(), selectedValue(), comparator(), multiple());
|
|
1166
1183
|
if (selected != null) {
|
|
1167
|
-
setIndices({
|
|
1184
|
+
setIndices({
|
|
1185
|
+
activeIndex: selected,
|
|
1186
|
+
selectedIndex: selected
|
|
1187
|
+
});
|
|
1168
1188
|
return;
|
|
1169
1189
|
}
|
|
1170
1190
|
if (pending && (selectionMode() !== "none" || autoHighlight() !== false)) {
|
|
@@ -1204,7 +1224,7 @@ function AriaCombobox(props) {
|
|
|
1204
1224
|
setQueryChangedAfterOpen(true);
|
|
1205
1225
|
});
|
|
1206
1226
|
function syncInputToSelectedLabel() {
|
|
1207
|
-
const label =
|
|
1227
|
+
const label = resolveLabel(selectedValue());
|
|
1208
1228
|
if (inputValue() !== label) setInputValue(label, createChangeEventDetails(none));
|
|
1209
1229
|
}
|
|
1210
1230
|
createEffect(() => ({
|
|
@@ -1236,10 +1256,11 @@ function AriaCombobox(props) {
|
|
|
1236
1256
|
field.validation.change(state.input);
|
|
1237
1257
|
});
|
|
1238
1258
|
});
|
|
1239
|
-
createEffect(() =>
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1259
|
+
createEffect(() => ({
|
|
1260
|
+
items: props.items,
|
|
1261
|
+
label: selectedLabelString()
|
|
1262
|
+
}), (current, previous) => {
|
|
1263
|
+
if (!previous || current.items === previous.items && current.label === previous.label) return;
|
|
1243
1264
|
untrack(() => {
|
|
1244
1265
|
if (!single() || hasInputValueProp || store.inputInsidePopup() || queryChangedAfterOpen()) return;
|
|
1245
1266
|
syncInputToSelectedLabel();
|
|
@@ -1269,7 +1290,7 @@ function AriaCombobox(props) {
|
|
|
1269
1290
|
if (!setOpen(true, createChangeEventDetails("list-navigation", event, triggerElement() ?? void 0))) pendingInitialHighlight = null;
|
|
1270
1291
|
}
|
|
1271
1292
|
function handleNavigationKeyDown(event) {
|
|
1272
|
-
if (
|
|
1293
|
+
if (disabled()) return;
|
|
1273
1294
|
if (!store.open() && !inline()) {
|
|
1274
1295
|
if (event.key !== "ArrowDown" && event.key !== "ArrowUp") return;
|
|
1275
1296
|
event.preventDefault();
|
|
@@ -1413,6 +1434,7 @@ function ComboboxTrigger(props) {
|
|
|
1413
1434
|
const ariaLabelledBy = createMemo(() => internalProps["aria-labelledby"] ?? labelable.labelId() ?? context.store.labelId());
|
|
1414
1435
|
const state = createMemo(() => ({
|
|
1415
1436
|
...context.field.state(),
|
|
1437
|
+
readOnly: context.readOnly(),
|
|
1416
1438
|
open: context.store.open(),
|
|
1417
1439
|
disabled: disabled(),
|
|
1418
1440
|
popupSide: context.store.resolvedPopupSide(),
|
|
@@ -1422,16 +1444,16 @@ function ComboboxTrigger(props) {
|
|
|
1422
1444
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
1423
1445
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
1424
1446
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxControlStateMapping));
|
|
1425
|
-
const others = omit(allProps, "aria-labelledby", "
|
|
1447
|
+
const others = omit(allProps, "aria-labelledby", "render", "class", "disabled", "id", "nativeButton", "onBlur", "onClick", "onFocus", "onKeyDown", "onKeyUp", "onMouseDown", "onPointerDown", "onPointerEnter", "ref", "style");
|
|
1426
1448
|
const click = createClickInteraction({
|
|
1427
1449
|
context: context.store.context.floatingRoot,
|
|
1428
|
-
enabled: () => !context.
|
|
1450
|
+
enabled: () => !context.disabled(),
|
|
1429
1451
|
event: () => "mousedown"
|
|
1430
1452
|
});
|
|
1431
1453
|
const typeahead = createTypeahead({
|
|
1432
1454
|
context: context.store.context.floatingRoot,
|
|
1433
1455
|
enabled: () => !context.store.open() && !context.readOnly() && !context.disabled() && context.selectionMode() === "single",
|
|
1434
|
-
list:
|
|
1456
|
+
list: context.itemLabels,
|
|
1435
1457
|
elements: () => context.store.collection.elements(),
|
|
1436
1458
|
activeIndex: context.store.activeIndex,
|
|
1437
1459
|
selectedIndex: context.store.selectedIndex,
|
|
@@ -1450,7 +1472,7 @@ function ComboboxTrigger(props) {
|
|
|
1450
1472
|
}
|
|
1451
1473
|
function handleFocus() {
|
|
1452
1474
|
context.field.setFocused(true);
|
|
1453
|
-
if (disabled()
|
|
1475
|
+
if (disabled()) return;
|
|
1454
1476
|
clearTimeout(focusTimer);
|
|
1455
1477
|
focusTimer = setTimeout(() => context.forceMount(), 0);
|
|
1456
1478
|
}
|
|
@@ -1478,7 +1500,7 @@ function ComboboxTrigger(props) {
|
|
|
1478
1500
|
removeMouseUp = () => documentNode.removeEventListener("mouseup", onMouseUp);
|
|
1479
1501
|
}
|
|
1480
1502
|
function handleMouseDown(event) {
|
|
1481
|
-
if (disabled()
|
|
1503
|
+
if (disabled()) return;
|
|
1482
1504
|
const trigger = event.currentTarget;
|
|
1483
1505
|
if (!insidePopup()) context.store.context.floatingRoot.update({ domReferenceElement: trigger });
|
|
1484
1506
|
context.forceMount();
|
|
@@ -1497,7 +1519,7 @@ function ComboboxTrigger(props) {
|
|
|
1497
1519
|
click.onClick(event);
|
|
1498
1520
|
}
|
|
1499
1521
|
function handleKeyDown(event) {
|
|
1500
|
-
if (
|
|
1522
|
+
if (disabled()) return;
|
|
1501
1523
|
typeahead.onKeyDown(event);
|
|
1502
1524
|
if (event.key === "ArrowDown" || event.key === "ArrowUp") {
|
|
1503
1525
|
event.preventDefault();
|
|
@@ -1533,10 +1555,7 @@ function ComboboxTrigger(props) {
|
|
|
1533
1555
|
removeMouseUp?.();
|
|
1534
1556
|
labelable.registerControlId(labelSource, void 0);
|
|
1535
1557
|
});
|
|
1536
|
-
return
|
|
1537
|
-
get component() {
|
|
1538
|
-
return props.as ?? "button";
|
|
1539
|
-
},
|
|
1558
|
+
return useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true))(mergeProps({
|
|
1540
1559
|
ref: [((value) => setElement(value)), internalProps.ref],
|
|
1541
1560
|
get id() {
|
|
1542
1561
|
return id();
|
|
@@ -1568,6 +1587,9 @@ function ComboboxTrigger(props) {
|
|
|
1568
1587
|
get ["aria-required"]() {
|
|
1569
1588
|
return insidePopup() && context.required() ? "true" : void 0;
|
|
1570
1589
|
},
|
|
1590
|
+
get ["aria-readonly"]() {
|
|
1591
|
+
return insidePopup() && context.readOnly() ? "true" : void 0;
|
|
1592
|
+
},
|
|
1571
1593
|
get ["aria-labelledby"]() {
|
|
1572
1594
|
return ariaLabelledBy();
|
|
1573
1595
|
},
|
|
@@ -1748,7 +1770,7 @@ function ComboboxInput(props) {
|
|
|
1748
1770
|
const activeIndex = context.store.activeIndex();
|
|
1749
1771
|
return activeIndex == null ? void 0 : `${context.id()}-${activeIndex}`;
|
|
1750
1772
|
});
|
|
1751
|
-
const others = omit(allProps, "
|
|
1773
|
+
const others = omit(allProps, "render", "class", "disabled", "id", "onBlur", "onCompositionEnd", "onCompositionStart", "onFocus", "onInput", "onKeyDown", "onMouseDown", "onPointerDown", "onPointerMove", "ref", "style");
|
|
1752
1774
|
function clearHighlight() {
|
|
1753
1775
|
context.setIndices({
|
|
1754
1776
|
activeIndex: null,
|
|
@@ -1807,7 +1829,10 @@ function ComboboxInput(props) {
|
|
|
1807
1829
|
}
|
|
1808
1830
|
const changeDetails = createChangeEventDetails(inputChange, event);
|
|
1809
1831
|
context.setInputValue(input.value, changeDetails);
|
|
1810
|
-
if (changeDetails.isCanceled)
|
|
1832
|
+
if (changeDetails.isCanceled) {
|
|
1833
|
+
input.value = context.inputValue();
|
|
1834
|
+
return;
|
|
1835
|
+
}
|
|
1811
1836
|
const empty = input.value === "";
|
|
1812
1837
|
const clearDetails = createChangeEventDetails(inputClear, event);
|
|
1813
1838
|
if (empty && !context.store.inputInsidePopup()) {
|
|
@@ -1859,10 +1884,16 @@ function ComboboxInput(props) {
|
|
|
1859
1884
|
function handleKeyDown(event) {
|
|
1860
1885
|
const editable = !disabled() && !context.readOnly();
|
|
1861
1886
|
const modified = event.ctrlKey || event.shiftKey || event.altKey || event.metaKey;
|
|
1862
|
-
if (
|
|
1887
|
+
if (!disabled() && !modified) context.store.keyboardActive = true;
|
|
1863
1888
|
if (!(context.grid() && context.store.activeIndex() == null && (event.key === "ArrowLeft" || event.key === "ArrowRight"))) context.listNavigation.onKeyDown(event);
|
|
1864
1889
|
context.dismiss.onKeyDown(event);
|
|
1865
|
-
if (!editable || modified)
|
|
1890
|
+
if (!editable || modified) {
|
|
1891
|
+
if (context.readOnly() && event.key === "Enter" && context.store.open() && context.store.activeIndex() !== null) {
|
|
1892
|
+
event.preventDefault();
|
|
1893
|
+
event.stopPropagation();
|
|
1894
|
+
}
|
|
1895
|
+
return;
|
|
1896
|
+
}
|
|
1866
1897
|
const input = event.currentTarget;
|
|
1867
1898
|
const isRTL = direction() === "rtl";
|
|
1868
1899
|
if (event.key === "Home" || event.key === "End") {
|
|
@@ -1934,6 +1965,7 @@ function ComboboxInput(props) {
|
|
|
1934
1965
|
if (untrack(context.inputElement) === element) context.setInputElement(null);
|
|
1935
1966
|
});
|
|
1936
1967
|
let element = null;
|
|
1968
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("input", props, void 0, true));
|
|
1937
1969
|
return [Show({
|
|
1938
1970
|
get when() {
|
|
1939
1971
|
return memo(() => {
|
|
@@ -1945,10 +1977,7 @@ function ComboboxInput(props) {
|
|
|
1945
1977
|
context.store.startDismissElement = node;
|
|
1946
1978
|
} });
|
|
1947
1979
|
}
|
|
1948
|
-
}),
|
|
1949
|
-
get component() {
|
|
1950
|
-
return props.as ?? "input";
|
|
1951
|
-
},
|
|
1980
|
+
}), Render(mergeProps({
|
|
1952
1981
|
ref: [((value) => {
|
|
1953
1982
|
element = value;
|
|
1954
1983
|
context.setInputElement(value);
|
|
@@ -2054,16 +2083,13 @@ function ComboboxInputGroup(props) {
|
|
|
2054
2083
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2055
2084
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
2056
2085
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxControlStateMapping));
|
|
2057
|
-
const others = omit(allProps, "
|
|
2086
|
+
const others = omit(allProps, "render", "class", "onMouseDown", "ref", "style");
|
|
2058
2087
|
const onMouseDown = composeEventHandlers(() => internalProps.onMouseDown, () => (event) => handleInputPress(event, context, context.disabled(), context.readOnly(), (target) => contains(context.store.chipsContainerElement, target)));
|
|
2059
2088
|
onCleanup(() => {
|
|
2060
2089
|
if (untrack(context.inputGroupElement) === element) context.setInputGroupElement(null);
|
|
2061
2090
|
});
|
|
2062
2091
|
let element = null;
|
|
2063
|
-
return
|
|
2064
|
-
get component() {
|
|
2065
|
-
return props.as ?? "div";
|
|
2066
|
-
},
|
|
2092
|
+
return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2067
2093
|
ref: [((value) => {
|
|
2068
2094
|
element = value;
|
|
2069
2095
|
context.setInputGroupElement(value);
|
|
@@ -2089,44 +2115,19 @@ function ComboboxIcon(props) {
|
|
|
2089
2115
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2090
2116
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
2091
2117
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), triggerOpenStateMapping));
|
|
2092
|
-
const others = omit(allProps, "
|
|
2093
|
-
return
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2098
|
-
|
|
2099
|
-
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
return styleValue();
|
|
2106
|
-
}
|
|
2107
|
-
}, stateAttributes, others);
|
|
2108
|
-
}, () => {
|
|
2109
|
-
return () => {
|
|
2110
|
-
return escape(props.children ?? "▼");
|
|
2111
|
-
};
|
|
2112
|
-
}, true);
|
|
2113
|
-
},
|
|
2114
|
-
children: (component) => Dynamic(mergeProps({
|
|
2115
|
-
get component() {
|
|
2116
|
-
return component();
|
|
2117
|
-
},
|
|
2118
|
-
ref: [internalProps.ref],
|
|
2119
|
-
"aria-hidden": "true",
|
|
2120
|
-
get ["class"]() {
|
|
2121
|
-
return classValue();
|
|
2122
|
-
},
|
|
2123
|
-
get style() {
|
|
2124
|
-
return styleValue();
|
|
2125
|
-
}
|
|
2126
|
-
}, stateAttributes, others, { get children() {
|
|
2127
|
-
return props.children ?? "▼";
|
|
2128
|
-
} }))
|
|
2129
|
-
});
|
|
2118
|
+
const others = omit(allProps, "render", "class", "ref", "style");
|
|
2119
|
+
return useRender(props, () => state(), (props) => ssrElement("span", props, void 0, true))(mergeProps({
|
|
2120
|
+
ref: [internalProps.ref],
|
|
2121
|
+
"aria-hidden": "true",
|
|
2122
|
+
get ["class"]() {
|
|
2123
|
+
return classValue();
|
|
2124
|
+
},
|
|
2125
|
+
get style() {
|
|
2126
|
+
return styleValue();
|
|
2127
|
+
}
|
|
2128
|
+
}, stateAttributes, others, { get children() {
|
|
2129
|
+
return props.children ?? "▼";
|
|
2130
|
+
} }));
|
|
2130
2131
|
}
|
|
2131
2132
|
//#endregion
|
|
2132
2133
|
//#region src/combobox/clear/ComboboxClear.tsx
|
|
@@ -2154,7 +2155,7 @@ function ComboboxClear(props) {
|
|
|
2154
2155
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2155
2156
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
2156
2157
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxClearStateMapping));
|
|
2157
|
-
const others = omit(allProps, "
|
|
2158
|
+
const others = omit(allProps, "render", "class", "disabled", "keepMounted", "nativeButton", "onClick", "onKeyDown", "onKeyUp", "onMouseDown", "ref", "style");
|
|
2158
2159
|
let element = null;
|
|
2159
2160
|
createEffect(() => ({
|
|
2160
2161
|
visible: visible(),
|
|
@@ -2189,15 +2190,13 @@ function ComboboxClear(props) {
|
|
|
2189
2190
|
const onKeyDown = composeEventHandlers(() => internalProps.onKeyDown, () => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyDown));
|
|
2190
2191
|
const onKeyUp = composeEventHandlers(() => untrack(() => disabled() ? stopButtonInteraction : void 0), () => internalProps.onKeyUp, () => untrack(() => nativeButton() ? void 0 : handleNonNativeButtonKeyUp));
|
|
2191
2192
|
const onMouseDown = composeEventHandlers(() => internalProps.onMouseDown, () => (event) => event.preventDefault());
|
|
2193
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("button", props, void 0, true));
|
|
2192
2194
|
return Show({
|
|
2193
2195
|
get when() {
|
|
2194
2196
|
return shouldRender();
|
|
2195
2197
|
},
|
|
2196
2198
|
get children() {
|
|
2197
|
-
return
|
|
2198
|
-
get component() {
|
|
2199
|
-
return props.as ?? "button";
|
|
2200
|
-
},
|
|
2199
|
+
return Render(mergeProps({
|
|
2201
2200
|
ref: [((value) => {
|
|
2202
2201
|
element = value;
|
|
2203
2202
|
context.store.clearElement = value;
|
|
@@ -2266,7 +2265,7 @@ function ComboboxList(props) {
|
|
|
2266
2265
|
const state = createMemo(() => ({ empty: context.listEmpty() }));
|
|
2267
2266
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2268
2267
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
2269
|
-
const others = omit(allProps, "
|
|
2268
|
+
const others = omit(allProps, "render", "children", "class", "id", "onKeyDown", "ref", "style");
|
|
2270
2269
|
function handleKeyDown(event) {
|
|
2271
2270
|
if (context.disabled() || context.readOnly()) return;
|
|
2272
2271
|
context.store.keyboardActive = true;
|
|
@@ -2304,10 +2303,7 @@ function ComboboxList(props) {
|
|
|
2304
2303
|
if (typeof child === "function" && !isSolidAccessor(child)) return ComboboxCollection({ children: child });
|
|
2305
2304
|
return child;
|
|
2306
2305
|
});
|
|
2307
|
-
return
|
|
2308
|
-
get component() {
|
|
2309
|
-
return props.as ?? "div";
|
|
2310
|
-
},
|
|
2306
|
+
return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2311
2307
|
ref: [((element) => {
|
|
2312
2308
|
setListElement(element);
|
|
2313
2309
|
context.store.setListElement(element);
|
|
@@ -2323,6 +2319,9 @@ function ComboboxList(props) {
|
|
|
2323
2319
|
get ["aria-multiselectable"]() {
|
|
2324
2320
|
return context.multiple() ? "true" : void 0;
|
|
2325
2321
|
},
|
|
2322
|
+
get ["aria-readonly"]() {
|
|
2323
|
+
return !context.grid() && context.readOnly() ? "true" : void 0;
|
|
2324
|
+
},
|
|
2326
2325
|
get ["class"]() {
|
|
2327
2326
|
return classValue();
|
|
2328
2327
|
},
|
|
@@ -2388,13 +2387,10 @@ function ComboboxStatus(props) {
|
|
|
2388
2387
|
const state = {};
|
|
2389
2388
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
2390
2389
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
2391
|
-
const others = omit(allProps, "
|
|
2390
|
+
const others = omit(allProps, "render", "class", "ref", "style");
|
|
2392
2391
|
const [element, setElement] = createSignal(null, { ownedWrite: true });
|
|
2393
2392
|
createInitialLiveRegionTextMutation(element);
|
|
2394
|
-
return
|
|
2395
|
-
get component() {
|
|
2396
|
-
return props.as ?? "div";
|
|
2397
|
-
},
|
|
2393
|
+
return useRender(props, () => state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2398
2394
|
ref: [((value) => setElement(value)), internalProps.ref],
|
|
2399
2395
|
role: "status",
|
|
2400
2396
|
"aria-live": "polite",
|
|
@@ -2432,7 +2428,7 @@ function ComboboxPortal(props) {
|
|
|
2432
2428
|
const state = {};
|
|
2433
2429
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
2434
2430
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
2435
|
-
const others = omit(allProps, "
|
|
2431
|
+
const others = omit(allProps, "render", "class", "container", "keepMounted", "ref", "style");
|
|
2436
2432
|
return Show({
|
|
2437
2433
|
get when() {
|
|
2438
2434
|
return shouldRender();
|
|
@@ -2440,12 +2436,12 @@ function ComboboxPortal(props) {
|
|
|
2440
2436
|
get children() {
|
|
2441
2437
|
return ComboboxPortalContext({
|
|
2442
2438
|
get value() {
|
|
2443
|
-
return keepMounted
|
|
2439
|
+
return untrack(keepMounted);
|
|
2444
2440
|
},
|
|
2445
2441
|
get children() {
|
|
2446
2442
|
return PopupPortal(mergeProps({
|
|
2447
|
-
get
|
|
2448
|
-
return props.
|
|
2443
|
+
get render() {
|
|
2444
|
+
return props.render;
|
|
2449
2445
|
},
|
|
2450
2446
|
get container() {
|
|
2451
2447
|
return internalProps.container;
|
|
@@ -2482,11 +2478,8 @@ function ComboboxBackdrop(props) {
|
|
|
2482
2478
|
"-webkit-user-select": "none"
|
|
2483
2479
|
}, resolveStyle(props.style, state())));
|
|
2484
2480
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxBackdropStateMapping));
|
|
2485
|
-
const others = omit(allProps, "
|
|
2486
|
-
return
|
|
2487
|
-
get component() {
|
|
2488
|
-
return props.as ?? "div";
|
|
2489
|
-
},
|
|
2481
|
+
const others = omit(allProps, "render", "class", "ref", "style");
|
|
2482
|
+
return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2490
2483
|
ref: [internalProps.ref],
|
|
2491
2484
|
role: "presentation",
|
|
2492
2485
|
get hidden() {
|
|
@@ -2551,7 +2544,7 @@ function ComboboxPositioner(props) {
|
|
|
2551
2544
|
transition: context.store.track().transitionStatus === "starting" ? "none" : void 0
|
|
2552
2545
|
}, resolveStyle(props.style, state())));
|
|
2553
2546
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxPositionerStateMapping));
|
|
2554
|
-
const others = omit(allProps, "align", "alignOffset", "anchor", "arrowPadding", "
|
|
2547
|
+
const others = omit(allProps, "align", "alignOffset", "anchor", "arrowPadding", "render", "class", "collisionAvoidance", "collisionBoundary", "collisionPadding", "disableAnchorTracking", "positionMethod", "ref", "side", "sideOffset", "sticky", "style");
|
|
2555
2548
|
createAnchoredPopupScrollLock({
|
|
2556
2549
|
enabled: () => context.store.open() && context.modal(),
|
|
2557
2550
|
touchOpen: () => context.store.openMethod() === "touch",
|
|
@@ -2585,6 +2578,7 @@ function ComboboxPositioner(props) {
|
|
|
2585
2578
|
}
|
|
2586
2579
|
});
|
|
2587
2580
|
}
|
|
2581
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
2588
2582
|
return ComboboxPositionerContext({
|
|
2589
2583
|
value: positionerContext,
|
|
2590
2584
|
get children() {
|
|
@@ -2597,10 +2591,7 @@ function ComboboxPositioner(props) {
|
|
|
2597
2591
|
get children() {
|
|
2598
2592
|
return ModalBackdrop({});
|
|
2599
2593
|
}
|
|
2600
|
-
}),
|
|
2601
|
-
get component() {
|
|
2602
|
-
return props.as ?? "div";
|
|
2603
|
-
},
|
|
2594
|
+
}), Render(mergeProps({
|
|
2604
2595
|
ref: [((value) => {
|
|
2605
2596
|
setElement(value);
|
|
2606
2597
|
context.store.setPositionerElement(value);
|
|
@@ -2648,7 +2639,7 @@ function ComboboxPopup(props) {
|
|
|
2648
2639
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2649
2640
|
const styleValue = createMemo(() => mergeStyleValue({ transition: state().transitionStatus === "starting" ? "none" : void 0 }, resolveStyle(props.style, state())));
|
|
2650
2641
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), comboboxPopupStateMapping));
|
|
2651
|
-
const others = omit(allProps, "
|
|
2642
|
+
const others = omit(allProps, "render", "class", "finalFocus", "id", "initialFocus", "onFocus", "ref", "style");
|
|
2652
2643
|
const focusManagerModal = createMemo(() => !context.store.inputInsidePopup() || context.modal());
|
|
2653
2644
|
const resolvedInitialFocus = createMemo(() => {
|
|
2654
2645
|
if (internalProps.initialFocus !== void 0) return internalProps.initialFocus;
|
|
@@ -2676,6 +2667,7 @@ function ComboboxPopup(props) {
|
|
|
2676
2667
|
onCleanup(() => {
|
|
2677
2668
|
if (context.store.state.popupElement === popupElement) context.store.setPopupElement(null);
|
|
2678
2669
|
});
|
|
2670
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
2679
2671
|
return FocusManager({
|
|
2680
2672
|
get context() {
|
|
2681
2673
|
return context.store.context.floatingRoot;
|
|
@@ -2704,10 +2696,7 @@ function ComboboxPopup(props) {
|
|
|
2704
2696
|
referenceElement: () => context.store.inputInsidePopup() ? context.triggerElement() : context.inputElement(),
|
|
2705
2697
|
getInsideElements: () => [context.store.startDismissElement, context.store.endDismissElement],
|
|
2706
2698
|
get children() {
|
|
2707
|
-
return [
|
|
2708
|
-
get component() {
|
|
2709
|
-
return props.as ?? "div";
|
|
2710
|
-
},
|
|
2699
|
+
return [Render(mergeProps({
|
|
2711
2700
|
ref: [((element) => {
|
|
2712
2701
|
popupElement = element;
|
|
2713
2702
|
context.store.setPopupElement(element);
|
|
@@ -2764,15 +2753,12 @@ function ComboboxArrow(props) {
|
|
|
2764
2753
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2765
2754
|
const styleValue = createMemo(() => mergeStyleValue(positioner.arrowStyles(), resolveStyle(props.style, state())));
|
|
2766
2755
|
const stateAttributes = createMemo(() => getStateAttributesProps(state(), popupStateMapping));
|
|
2767
|
-
const others = omit(allProps, "
|
|
2756
|
+
const others = omit(allProps, "render", "class", "ref", "style");
|
|
2768
2757
|
let arrow = null;
|
|
2769
2758
|
onCleanup(() => {
|
|
2770
2759
|
if (arrow) positioner.setArrowElement(null);
|
|
2771
2760
|
});
|
|
2772
|
-
return
|
|
2773
|
-
get component() {
|
|
2774
|
-
return props.as ?? "div";
|
|
2775
|
-
},
|
|
2761
|
+
return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2776
2762
|
ref: [((element) => {
|
|
2777
2763
|
arrow = element;
|
|
2778
2764
|
positioner.setArrowElement(element);
|
|
@@ -2799,13 +2785,15 @@ function useComboboxGroupContext() {
|
|
|
2799
2785
|
//#region src/combobox/group/ComboboxGroup.tsx
|
|
2800
2786
|
/** Groups related items with the corresponding label. */
|
|
2801
2787
|
function ComboboxGroup(props) {
|
|
2788
|
+
const context = useComboboxRootContext();
|
|
2802
2789
|
const internalProps = props;
|
|
2803
2790
|
const allProps = props;
|
|
2804
2791
|
const [labelId, setLabelId] = createSignal(void 0, { ownedWrite: true });
|
|
2805
2792
|
const state = {};
|
|
2806
2793
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
2807
2794
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
2808
|
-
const others = omit(allProps, "
|
|
2795
|
+
const others = omit(allProps, "render", "class", "items", "ref", "style");
|
|
2796
|
+
const Render = useRender(props, () => state, (props) => ssrElement("div", props, void 0, true));
|
|
2809
2797
|
return ComboboxGroupCollectionContext({
|
|
2810
2798
|
value: { items: () => internalProps.items },
|
|
2811
2799
|
get children() {
|
|
@@ -2815,12 +2803,11 @@ function ComboboxGroup(props) {
|
|
|
2815
2803
|
setLabelId
|
|
2816
2804
|
},
|
|
2817
2805
|
get children() {
|
|
2818
|
-
return
|
|
2819
|
-
get component() {
|
|
2820
|
-
return props.as ?? "div";
|
|
2821
|
-
},
|
|
2806
|
+
return Render(mergeProps({
|
|
2822
2807
|
ref: [internalProps.ref],
|
|
2823
|
-
role
|
|
2808
|
+
get role() {
|
|
2809
|
+
return context.grid() ? "rowgroup" : "group";
|
|
2810
|
+
},
|
|
2824
2811
|
get ["aria-labelledby"]() {
|
|
2825
2812
|
return labelId();
|
|
2826
2813
|
},
|
|
@@ -2848,21 +2835,19 @@ function ComboboxGroupLabel(props) {
|
|
|
2848
2835
|
const state = {};
|
|
2849
2836
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
2850
2837
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
2851
|
-
const others = omit(allProps, "
|
|
2838
|
+
const others = omit(allProps, "render", "class", "id", "ref", "style");
|
|
2852
2839
|
createEffect(id, (currentId) => {
|
|
2853
2840
|
context.setLabelId(currentId);
|
|
2854
2841
|
return () => {
|
|
2855
2842
|
if (context.labelId() === currentId) context.setLabelId(void 0);
|
|
2856
2843
|
};
|
|
2857
2844
|
});
|
|
2858
|
-
return
|
|
2859
|
-
get component() {
|
|
2860
|
-
return props.as ?? "div";
|
|
2861
|
-
},
|
|
2845
|
+
return useRender(props, () => state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
2862
2846
|
ref: [internalProps.ref],
|
|
2863
2847
|
get id() {
|
|
2864
2848
|
return id();
|
|
2865
2849
|
},
|
|
2850
|
+
"aria-hidden": "true",
|
|
2866
2851
|
get ["class"]() {
|
|
2867
2852
|
return classValue();
|
|
2868
2853
|
},
|
|
@@ -2908,7 +2893,7 @@ function ComboboxItem(props) {
|
|
|
2908
2893
|
const declaredIndex = createMemo(() => {
|
|
2909
2894
|
if (internalProps.index != null) return internalProps.index;
|
|
2910
2895
|
if (!context.virtualized()) return;
|
|
2911
|
-
const derived = findItemIndex(context.
|
|
2896
|
+
const derived = findItemIndex(context.itemValues(), itemValue(), context.comparator());
|
|
2912
2897
|
return derived === -1 ? void 0 : derived;
|
|
2913
2898
|
});
|
|
2914
2899
|
const unregister = context.store.collection.register({
|
|
@@ -2936,7 +2921,7 @@ function ComboboxItem(props) {
|
|
|
2936
2921
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
2937
2922
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
2938
2923
|
const stateAttributes = createMemo(() => getStateAttributesProps(state()));
|
|
2939
|
-
const others = omit(allProps, "
|
|
2924
|
+
const others = omit(allProps, "render", "class", "disabled", "id", "index", "nativeButton", "onClick", "onMouseDown", "onMouseUp", "onPointerDown", "onPointerLeave", "onPointerMove", "ref", "style", "value");
|
|
2940
2925
|
function commitSelection(event) {
|
|
2941
2926
|
if (context.submitOnItemClick()) {
|
|
2942
2927
|
context.handleSelection(event, itemValue());
|
|
@@ -2988,21 +2973,19 @@ function ComboboxItem(props) {
|
|
|
2988
2973
|
compare: context.comparator()
|
|
2989
2974
|
}), (current) => {
|
|
2990
2975
|
if (!current.registered || current.hasItems) return;
|
|
2991
|
-
|
|
2992
|
-
if (compareItemEquality(current.value, lastSelected, current.compare)) untrack(() => context.store.setSelectedIndex(current.index));
|
|
2976
|
+
untrack(() => context.store.setSelectedIndex(findSelectionIndex(context.store.collection.values(), current.selected, current.compare, context.multiple())));
|
|
2993
2977
|
});
|
|
2994
2978
|
createEffect(element, () => context.store.collection.touch());
|
|
2995
2979
|
onCleanup(unregister);
|
|
2980
|
+
const itemContext = {
|
|
2981
|
+
selected,
|
|
2982
|
+
index
|
|
2983
|
+
};
|
|
2984
|
+
const Render = useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true));
|
|
2996
2985
|
return ComboboxItemContext({
|
|
2997
|
-
value:
|
|
2998
|
-
selected,
|
|
2999
|
-
index
|
|
3000
|
-
},
|
|
2986
|
+
value: itemContext,
|
|
3001
2987
|
get children() {
|
|
3002
|
-
return
|
|
3003
|
-
get component() {
|
|
3004
|
-
return props.as ?? "div";
|
|
3005
|
-
},
|
|
2988
|
+
return Render(mergeProps({
|
|
3006
2989
|
ref: [((value) => {
|
|
3007
2990
|
setElement(value);
|
|
3008
2991
|
context.store.collection.touch();
|
|
@@ -3050,14 +3033,12 @@ function ComboboxRow(props) {
|
|
|
3050
3033
|
const state = {};
|
|
3051
3034
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
3052
3035
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
3053
|
-
const others = omit(allProps, "
|
|
3036
|
+
const others = omit(allProps, "render", "class", "ref", "style");
|
|
3037
|
+
const Render = useRender(props, () => state, (props) => ssrElement("div", props, void 0, true));
|
|
3054
3038
|
return ComboboxRowContext({
|
|
3055
3039
|
value: true,
|
|
3056
3040
|
get children() {
|
|
3057
|
-
return
|
|
3058
|
-
get component() {
|
|
3059
|
-
return props.as ?? "div";
|
|
3060
|
-
},
|
|
3041
|
+
return Render(mergeProps({
|
|
3061
3042
|
ref: [internalProps.ref],
|
|
3062
3043
|
role: "row",
|
|
3063
3044
|
get ["class"]() {
|
|
@@ -3085,16 +3066,13 @@ function ComboboxEmpty(props) {
|
|
|
3085
3066
|
const state = {};
|
|
3086
3067
|
const classValue = createMemo(() => resolveClass(props.class, state));
|
|
3087
3068
|
const styleValue = createMemo(() => resolveStyle(props.style, state));
|
|
3088
|
-
const others = omit(allProps, "
|
|
3069
|
+
const others = omit(allProps, "render", "children", "class", "ref", "style");
|
|
3089
3070
|
const [element, setElement] = createSignal(null, { ownedWrite: true });
|
|
3090
3071
|
createInitialLiveRegionTextMutation(element);
|
|
3091
3072
|
onCleanup(() => {
|
|
3092
3073
|
if (context.store.emptyElement === element()) context.store.emptyElement = null;
|
|
3093
3074
|
});
|
|
3094
|
-
return
|
|
3095
|
-
get component() {
|
|
3096
|
-
return props.as ?? "div";
|
|
3097
|
-
},
|
|
3075
|
+
return useRender(props, () => state, (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
3098
3076
|
ref: [((value) => {
|
|
3099
3077
|
setElement(value);
|
|
3100
3078
|
context.store.emptyElement = value;
|
|
@@ -3130,11 +3108,8 @@ function ComboboxSeparator(props) {
|
|
|
3130
3108
|
const classValue = createMemo(() => resolveClass(props.class, state()));
|
|
3131
3109
|
const styleValue = createMemo(() => resolveStyle(props.style, state()));
|
|
3132
3110
|
const stateAttributes = createMemo(() => getStateAttributesProps(state()));
|
|
3133
|
-
const others = omit(allProps, "
|
|
3134
|
-
return
|
|
3135
|
-
get component() {
|
|
3136
|
-
return props.as ?? "div";
|
|
3137
|
-
},
|
|
3111
|
+
const others = omit(allProps, "render", "class", "orientation", "ref", "style");
|
|
3112
|
+
return useRender(props, () => state(), (props) => ssrElement("div", props, void 0, true))(mergeProps({
|
|
3138
3113
|
ref: [internalProps.ref],
|
|
3139
3114
|
role: "presentation",
|
|
3140
3115
|
get ["class"]() {
|
|
@@ -3154,4 +3129,4 @@ function useFilteredItems() {
|
|
|
3154
3129
|
return useComboboxRootContext().filteredItems;
|
|
3155
3130
|
}
|
|
3156
3131
|
//#endregion
|
|
3157
|
-
export { getFilter as A, getIndexAfterChipRemoval as C, ComboboxTrigger as D, useRequiredComboboxChipsContext as E,
|
|
3132
|
+
export { getFilter as A, getIndexAfterChipRemoval as C, ComboboxTrigger as D, useRequiredComboboxChipsContext as E, stringifyAsLabel as F, hasNullItemLabel as M, resolveMultipleLabels as N, AriaCombobox as O, resolveSelectedLabel as P, getChipNavigationKeys as S, ComboboxChipsContext as T, ComboboxClear as _, ComboboxItem as a, handleInputPress as b, ComboboxGroup as c, ComboboxPositioner as d, ComboboxBackdrop as f, ComboboxCollection as g, ComboboxList as h, ComboboxRow as i, flattenItems as j, useComboboxRootContext as k, ComboboxArrow as l, ComboboxStatus as m, ComboboxSeparator as n, useComboboxItemContext as o, ComboboxPortal as p, ComboboxEmpty as r, ComboboxGroupLabel as s, useFilteredItems as t, ComboboxPopup as u, ComboboxIcon as v, ComboboxChipRegistry as w, ComboboxInput as x, ComboboxInputGroup as y };
|