@servicetitan/anvil2 1.44.2 → 1.45.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 +20 -7
- package/README.md +0 -8
- package/dist/Alert-BNGvfMAV.js +112 -0
- package/dist/Alert-BNGvfMAV.js.map +1 -0
- package/dist/{Alert-C3WoRkeN.css → Alert.css} +0 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-ButSjdLn.js → Announcement-CoheCP1i.js} +23 -28
- package/dist/Announcement-CoheCP1i.js.map +1 -0
- package/dist/Announcement.css +0 -1
- package/dist/Announcement.js +1 -1
- package/dist/{HammerProvider-vt3DkcCZ-06BeBrPu.js → AnvilProvider-C_qRQnE6.js} +22 -12
- package/dist/AnvilProvider-C_qRQnE6.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-DREZJN2K.js → Avatar-CyGjhToG.js} +3 -10
- package/dist/Avatar-CyGjhToG.js.map +1 -0
- package/dist/{Avatar-C7cbRTCt-DCvzmr2C.js → Avatar-D07f9NH_.js} +9 -9
- package/dist/Avatar-D07f9NH_.js.map +1 -0
- package/dist/{Avatar-C7cbRTCt.css → Avatar.css} +0 -1
- package/dist/Avatar.js +2 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/{Badge-7aZfE-LH.js → Badge-DCA9mfc2.js} +5 -12
- package/dist/Badge-DCA9mfc2.js.map +1 -0
- package/dist/Badge.css +0 -1
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-BMbkH9hL-BUjQksuj.js → Breadcrumbs-C4_PEolS.js} +7 -7
- package/dist/Breadcrumbs-C4_PEolS.js.map +1 -0
- package/dist/{Breadcrumbs-BMbkH9hL.css → Breadcrumbs.css} +0 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-BaHFf1AT-BQy-PFB5.js → Button-BxFXQ0-n.js} +31 -16
- package/dist/Button-BxFXQ0-n.js.map +1 -0
- package/dist/Button.css +59 -46
- package/dist/Button.js +1 -1
- package/dist/Button.module-pUNSKoVC.js +25 -0
- package/dist/Button.module-pUNSKoVC.js.map +1 -0
- package/dist/ButtonCompound-BF2Q6gGX.js +64 -0
- package/dist/ButtonCompound-BF2Q6gGX.js.map +1 -0
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-5qlX0uZx-b9H7MGhk.js → ButtonLink-CXv65WVV.js} +35 -17
- package/dist/ButtonLink-CXv65WVV.js.map +1 -0
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-Bm4KRl3o-B1-LbfjY.js → ButtonToggle-pSwg7NvT.js} +26 -5
- package/dist/ButtonToggle-pSwg7NvT.js.map +1 -0
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-BvftKznl-D4_xp9Rv.js → Calendar-Dq_of5A3.js} +324 -255
- package/dist/Calendar-Dq_of5A3.js.map +1 -0
- package/dist/{Calendar-BvftKznl.css → Calendar.css} +0 -1
- package/dist/Calendar.js +1 -1
- package/dist/{Card-ZknG-yim-7W6rYSFV.js → Card-vTYeSkxt.js} +3 -3
- package/dist/Card-vTYeSkxt.js.map +1 -0
- package/dist/{Card-ZknG-yim.css → Card.css} +0 -1
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-zg8LVvB6.js → Checkbox-3y2d9mBd.js} +4 -10
- package/dist/Checkbox-3y2d9mBd.js.map +1 -0
- package/dist/{Checkbox-DyHm7Ntt-DYw5QL3l.js → Checkbox-BiOzGpgJ.js} +9 -11
- package/dist/Checkbox-BiOzGpgJ.js.map +1 -0
- package/dist/Checkbox.js +2 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/{Chip-MbBEXeAm-DmAcwPRJ.js → Chip-Bz-vlQ4D.js} +37 -10
- package/dist/Chip-Bz-vlQ4D.js.map +1 -0
- package/dist/{Chip-MbBEXeAm.css → Chip.css} +0 -1
- package/dist/Chip.js +1 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-Bqsnpt8S.js → DateField-B2mnasH5.js} +42 -45
- package/dist/DateField-B2mnasH5.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/DateFieldRange-DPbyzuHb.js +557 -0
- package/dist/DateFieldRange-DPbyzuHb.js.map +1 -0
- package/dist/DateFieldRange.js +1 -1
- package/dist/DateFieldSingle-CfAJDcx9.js +450 -0
- package/dist/DateFieldSingle-CfAJDcx9.js.map +1 -0
- package/dist/DateFieldSingle.js +1 -1
- package/dist/DateFieldYearless-ydxcsmRV.js +266 -0
- package/dist/DateFieldYearless-ydxcsmRV.js.map +1 -0
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DaysOfTheWeek-ImBPjEvl.js → DaysOfTheWeek-BYvE9QK5.js} +9 -28
- package/dist/DaysOfTheWeek-BYvE9QK5.js.map +1 -0
- package/dist/DaysOfTheWeek.css +0 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-DVg0EOkv.js → Details-CF8DImjw.js} +34 -100
- package/dist/Details-CF8DImjw.js.map +1 -0
- package/dist/Details.css +0 -1
- package/dist/Details.js +1 -1
- package/dist/{Dialog-BR6f-XRH.js → Dialog-DpH2Qvbd.js} +71 -166
- package/dist/Dialog-DpH2Qvbd.js.map +1 -0
- package/dist/Dialog.css +29 -30
- package/dist/Dialog.js +1 -1
- package/dist/{Divider-B0xGfyWE-f5-ThMiS.js → Divider-DJe8kLf2.js} +3 -3
- package/dist/Divider-DJe8kLf2.js.map +1 -0
- package/dist/{Divider-B0xGfyWE.css → Divider.css} +0 -1
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/DndSort.css +0 -1
- package/dist/DndSort.js +5545 -1
- package/dist/DndSort.js.map +1 -1
- package/dist/Drawer-DI_k6W2k.js +377 -0
- package/dist/Drawer-DI_k6W2k.js.map +1 -0
- package/dist/Drawer.css +161 -0
- package/dist/Drawer.js +1 -1
- package/dist/{floating-ui.react-BFNinq1w.js → DrawerContext-DboTgTmo.js} +958 -908
- package/dist/DrawerContext-DboTgTmo.js.map +1 -0
- package/dist/{EditCard-B_n1uFkv.js → EditCard-WKzZ2XCz.js} +12 -19
- package/dist/EditCard-WKzZ2XCz.js.map +1 -0
- package/dist/EditCard.css +0 -1
- package/dist/EditCard.js +1 -1
- package/dist/FieldLabel-BfnCXung.js +87 -0
- package/dist/FieldLabel-BfnCXung.js.map +1 -0
- package/dist/FieldLabel.css +60 -0
- package/dist/FieldLabel.js +1 -1
- package/dist/{FieldMessage-Bobp105T-DYhStLY4.js → FieldMessage-B7uQ8vmr.js} +3 -3
- package/dist/FieldMessage-B7uQ8vmr.js.map +1 -0
- package/dist/{FieldMessage-Bobp105T.css → FieldMessage.css} +0 -2
- package/dist/FieldMessage.js +1 -1
- package/dist/{Flex-CiK7uNUu-BfxHG4L0.js → Flex-BdQMekvA.js} +3 -3
- package/dist/Flex-BdQMekvA.js.map +1 -0
- package/dist/{Flex-CiK7uNUu.css → Flex.css} +0 -1
- package/dist/Flex.js +1 -1
- package/dist/{Grid-DFAd8mTe.js → Grid-MGUC698u.js} +48 -30
- package/dist/Grid-MGUC698u.js.map +1 -0
- package/dist/Grid.css +0 -1
- package/dist/Grid.js +1 -1
- package/dist/{Helper-h7k80qls-DHPFHTvI.js → Helper-BkIDJqgA.js} +4 -4
- package/dist/Helper-BkIDJqgA.js.map +1 -0
- package/dist/{Helper-h7k80qls.css → Helper.css} +0 -1
- package/dist/{Icon-B6HmlQiR-BxQkO3X5.js → Icon-D8SPKeO4.js} +3 -3
- package/dist/Icon-D8SPKeO4.js.map +1 -0
- package/dist/{Icon-B6HmlQiR.css → Icon.css} +0 -1
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-BuO8lNAB-DdxdO5Jw.js → InputMask-O_qi1p_3.js} +88 -67
- package/dist/InputMask-O_qi1p_3.js.map +1 -0
- package/dist/InputMask.js +1 -1
- package/dist/Link-eRsLWPaQ.js +103 -0
- package/dist/Link-eRsLWPaQ.js.map +1 -0
- package/dist/{Link-MiffPrW9.css → Link.css} +0 -1
- package/dist/Link.js +1 -1
- package/dist/Link.module-Cf17JWod.js +12 -0
- package/dist/Link.module-Cf17JWod.js.map +1 -0
- package/dist/LinkButton-2lXfrVoU.js +64 -0
- package/dist/LinkButton-2lXfrVoU.js.map +1 -0
- package/dist/LinkButton.js +1 -75
- package/dist/LinkButton.js.map +1 -1
- package/dist/{ListView-DVPhWDCM.js → ListView-jR2ZkBB7.js} +151 -234
- package/dist/ListView-jR2ZkBB7.js.map +1 -0
- package/dist/ListView.css +0 -1
- package/dist/ListView.js +1 -1
- package/dist/{ListView.module-MVsNF0X0-MVsNF0X0.js → ListView.module-MVsNF0X0.js} +1 -1
- package/dist/ListView.module-MVsNF0X0.js.map +1 -0
- package/dist/{Listbox-B-WUuj-_-BWWeWtLW.js → Listbox-CUhMbFm2.js} +67 -50
- package/dist/Listbox-CUhMbFm2.js.map +1 -0
- package/dist/Listbox.css +0 -1
- package/dist/Listbox.js +1 -1
- package/dist/{Listbox.module-DcBE8Zmo-DcBE8Zmo.js → Listbox.module-DcBE8Zmo.js} +1 -1
- package/dist/Listbox.module-DcBE8Zmo.js.map +1 -0
- package/dist/{LocalizationContext-UsmB5mnR-BUIYgNp2.js → LocalizationContext-UsmB5mnR.js} +2 -2
- package/dist/LocalizationContext-UsmB5mnR.js.map +1 -0
- package/dist/{LocalizationProvider-VtRAfGBT-Bo8XuFoE.js → LocalizationProvider-DEZyjW5d.js} +3 -3
- package/dist/LocalizationProvider-DEZyjW5d.js.map +1 -0
- package/dist/LocalizationProvider.d.ts +0 -4
- package/dist/LocalizationProvider.js +2 -2
- package/dist/{Menu-TtVJnSrA-yBYichuJ.js → Menu-C8we5CHP.js} +52 -22
- package/dist/Menu-C8we5CHP.js.map +1 -0
- package/dist/{Menu-TtVJnSrA.css → Menu.css} +0 -2
- package/dist/Menu.js +1 -1
- package/dist/{NumberField-C9lMsPMD.js → NumberField-1_gRsWT4.js} +158 -175
- package/dist/NumberField-1_gRsWT4.js.map +1 -0
- package/dist/NumberField.css +7 -8
- package/dist/NumberField.js +1 -1
- package/dist/{Overflow-CFClqFVC.css → Overflow.css} +0 -2
- package/dist/Overflow.js +400 -1
- package/dist/Overflow.js.map +1 -1
- package/dist/{Page-CGAylFKz.js → Page-CY6QRlvb.js} +14 -14
- package/dist/Page-CY6QRlvb.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/{Pagination-DU_qvFRR.js → Pagination-ta8a2cJN.js} +29 -30
- package/dist/Pagination-ta8a2cJN.js.map +1 -0
- package/dist/Pagination.css +28 -28
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-CU2cGVD8-Casl3vM1.js → Popover-r26xMIfm.js} +260 -229
- package/dist/Popover-r26xMIfm.js.map +1 -0
- package/dist/{Popover-CU2cGVD8.css → Popover.css} +0 -2
- package/dist/Popover.js +1 -1
- package/dist/{PortalProvider-9lXkQ0xY-BKoGegS1.js → PortalProvider-9lXkQ0xY.js} +2 -2
- package/dist/PortalProvider-9lXkQ0xY.js.map +1 -0
- package/dist/PortalProvider.d.ts +0 -4
- package/dist/PortalProvider.js +1 -1
- package/dist/ProgressBar-BnXuQ6Bx.js +130 -0
- package/dist/ProgressBar-BnXuQ6Bx.js.map +1 -0
- package/dist/ProgressBar.css +89 -0
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-DnOuBPi_.js → Radio-CwmRUIzo.js} +4 -10
- package/dist/Radio-CwmRUIzo.js.map +1 -0
- package/dist/Radio.js +2 -1
- package/dist/Radio.js.map +1 -1
- package/dist/{Radio-DQ_VQFGZ-SdFBlDnE.js → RadioGroup-BNCWIHOG.js} +84 -105
- package/dist/RadioGroup-BNCWIHOG.js.map +1 -0
- package/dist/{Radio-DQ_VQFGZ.css → RadioGroup.css} +0 -1
- package/dist/{SearchField-BGPqpnVd.js → SearchField-BKXkoWPs.js} +21 -27
- package/dist/SearchField-BKXkoWPs.js.map +1 -0
- package/dist/SearchField.css +0 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-DY1PSYmd.js → SegmentedControl-CsjjV1Dz.js} +32 -80
- package/dist/SegmentedControl-CsjjV1Dz.js.map +1 -0
- package/dist/SegmentedControl.css +0 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-LSAl_7Lh-BYtfe9PC.js → SelectCard-DOGCG0zr.js} +17 -17
- package/dist/SelectCard-DOGCG0zr.js.map +1 -0
- package/dist/{SelectCard-LSAl_7Lh.css → SelectCard.css} +0 -1
- package/dist/SelectCard.js +1 -1
- package/dist/{SelectTrigger-C2w-flvK.js → SelectTrigger-BMo0e-F7.js} +31 -44
- package/dist/SelectTrigger-BMo0e-F7.js.map +1 -0
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Dj154EN4-BtTvR-Nh.js → SelectTriggerBase-BMMxnXrw.js} +54 -40
- package/dist/SelectTriggerBase-BMMxnXrw.js.map +1 -0
- package/dist/{SelectTriggerBase-Dj154EN4.css → SelectTriggerBase.css} +68 -54
- package/dist/{SideNav-Bh_pVeEw.js → SideNav-CBAzYyML.js} +71 -154
- package/dist/SideNav-CBAzYyML.js.map +1 -0
- package/dist/SideNav.css +0 -1
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.css +0 -1
- package/dist/Skeleton.d.ts +0 -4
- package/dist/Skeleton.js +190 -1
- package/dist/Skeleton.js.map +1 -1
- package/dist/{Spinner-DliJVzdW-BQlZEj4V.js → Spinner-wmO8Epw0.js} +2 -2
- package/dist/Spinner-wmO8Epw0.js.map +1 -0
- package/dist/{Spinner-DliJVzdW.css → Spinner.css} +0 -1
- package/dist/Spinner.js +1 -1
- package/dist/{SrOnly-BsKDHetF-B93X65F1.js → SrOnly-CTsYSuby.js} +2 -2
- package/dist/SrOnly-CTsYSuby.js.map +1 -0
- package/dist/{SrOnly-BsKDHetF.css → SrOnly.css} +0 -1
- package/dist/SrOnly.js +1 -1
- package/dist/{Stepper-BtbDBIzz.js → Stepper-D-fOH9TF.js} +142 -326
- package/dist/Stepper-D-fOH9TF.js.map +1 -0
- package/dist/Stepper.css +43 -44
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-DAQFzi-X.js → Switch-C2ddZcr9.js} +22 -28
- package/dist/Switch-C2ddZcr9.js.map +1 -0
- package/dist/Switch.css +0 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-BSC7e4rM.js → Tab-wNucMTgo.js} +42 -120
- package/dist/Tab-wNucMTgo.js.map +1 -0
- package/dist/Tab.css +0 -1
- package/dist/Tab.js +1 -1
- package/dist/{Text-CED_yrId-DsRYZw2-.js → Text-BqvcbXyp.js} +3 -3
- package/dist/Text-BqvcbXyp.js.map +1 -0
- package/dist/{Text-CED_yrId.css → Text.css} +0 -1
- package/dist/Text.js +1 -1
- package/dist/TextField-CwgE_JJU.js +13 -0
- package/dist/TextField-CwgE_JJU.js.map +1 -0
- package/dist/{TextField-DoPP1CQ--UWAOTYiv.js → TextField-DlsZEkS0.js} +29 -12
- package/dist/TextField-DlsZEkS0.js.map +1 -0
- package/dist/TextField.css +0 -1
- package/dist/TextField.js +1 -1
- package/dist/{TextField.module-EkKlj66e-EkKlj66e.js → TextField.module-EkKlj66e.js} +1 -1
- package/dist/TextField.module-EkKlj66e.js.map +1 -0
- package/dist/{Textarea-D2AAZ1L3.js → Textarea-DU-SpoDL.js} +38 -44
- package/dist/Textarea-DU-SpoDL.js.map +1 -0
- package/dist/Textarea.css +0 -1
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-Q3ji6Rpx-DBXlAuQ8.js → ThemeProvider-Be3Pvtpz.js} +6 -8
- package/dist/ThemeProvider-Be3Pvtpz.js.map +1 -0
- package/dist/{ThemeProvider-Q3ji6Rpx.css → ThemeProvider.css} +0 -1
- package/dist/ThemeProvider.d.ts +0 -4
- package/dist/ThemeProvider.js +2 -1
- package/dist/ThemeProvider.js.map +1 -1
- package/dist/ThemeProviderContext-l52GohYT.js +8 -0
- package/dist/ThemeProviderContext-l52GohYT.js.map +1 -0
- package/dist/{TimeField-tA9uo4lK.js → TimeField-CfhyRfX9.js} +229 -215
- package/dist/TimeField-CfhyRfX9.js.map +1 -0
- package/dist/TimeField.css +0 -1
- package/dist/TimeField.d.ts +4 -0
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Toaster-BgjT0p8b.js +1124 -0
- package/dist/Toaster-BgjT0p8b.js.map +1 -0
- package/dist/{toast-BhV_Ask2.js → Toaster-CfC9wod0.js} +5 -7
- package/dist/Toaster-CfC9wod0.js.map +1 -0
- package/dist/Toaster.css +235 -0
- package/dist/{Toolbar-CSWhVSUM.js → Toolbar-DK7tXy_W.js} +163 -279
- package/dist/Toolbar-DK7tXy_W.js.map +1 -0
- package/dist/Toolbar.css +28 -19
- package/dist/Toolbar.js +1 -1
- package/dist/Tooltip-BI3Xs75X.js +730 -0
- package/dist/Tooltip-BI3Xs75X.js.map +1 -0
- package/dist/Tooltip.css +99 -0
- package/dist/Tooltip.js +1 -1
- package/dist/assets/icons/st/atlas_gradient.svg +1 -0
- package/dist/assets/icons/st/atlas_logo.svg +1 -0
- package/dist/assets/icons/st/atlas_simple.svg +1 -0
- package/dist/assets/icons/st.ts +3 -0
- package/dist/{check_circle-BGfigqq-.js → check_circle-Dja-C2lM.js} +2 -4
- package/dist/check_circle-Dja-C2lM.js.map +1 -0
- package/dist/{childrenToString-Bz9MqbHb-Bz9MqbHb.js → childrenToString-Bz9MqbHb.js} +1 -1
- package/dist/childrenToString-Bz9MqbHb.js.map +1 -0
- package/dist/components/Alert/Alert.d.ts +26 -8
- package/dist/components/Announcement/Announcement.d.ts +26 -8
- package/dist/components/Avatar/Avatar.d.ts +2 -48
- package/dist/components/Avatar/AvatarGroup.d.ts +39 -0
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Avatar/internal/Avatar.d.ts +58 -0
- package/dist/components/Avatar/internal/AvatarBase.d.ts +75 -0
- package/dist/components/Badge/Badge.d.ts +31 -8
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +23 -14
- package/dist/components/Breadcrumbs/BreadcrumbsLink.d.ts +23 -0
- package/dist/components/Breadcrumbs/index.d.ts +1 -0
- package/dist/components/Button/Button.d.ts +43 -9
- package/dist/components/ButtonCompound/ButtonCompound.d.ts +20 -7
- package/dist/components/ButtonLink/ButtonLink.d.ts +66 -15
- package/dist/components/ButtonToggle/ButtonToggle.d.ts +46 -11
- package/dist/components/Calendar/Calendar.d.ts +149 -36
- package/dist/components/Calendar/CalendarContext.d.ts +153 -0
- package/dist/components/Calendar/CalendarMonth.d.ts +9 -0
- package/dist/components/Calendar/CalendarMonthButton.d.ts +16 -0
- package/dist/components/Calendar/CalendarNextButton.d.ts +11 -0
- package/dist/components/Calendar/CalendarNowButton.d.ts +20 -0
- package/dist/components/Calendar/CalendarPrevButton.d.ts +11 -0
- package/dist/components/Calendar/CalendarYearButton.d.ts +15 -0
- package/dist/components/Calendar/index.d.ts +9 -2
- package/dist/components/Calendar/internal/CalendarDay.d.ts +21 -0
- package/dist/components/Calendar/internal/CalendarMonthSelection.d.ts +25 -0
- package/dist/components/Calendar/internal/CalendarWeek.d.ts +28 -0
- package/dist/components/Calendar/internal/CalendarYearSelection.d.ts +25 -0
- package/dist/components/Calendar/internal/utils.d.ts +12 -0
- package/dist/components/Card/Card.d.ts +26 -16
- package/dist/components/Checkbox/Checkbox.d.ts +3 -29
- package/dist/components/Checkbox/CheckboxGroup.d.ts +53 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/internal/Checkbox.d.ts +133 -0
- package/dist/components/Checkbox/types.d.ts +4 -0
- package/dist/components/Chip/Chip.d.ts +4 -3
- package/dist/components/Chip/internal/Chip.d.ts +108 -0
- package/dist/components/Combobox/Combobox.d.ts +11 -283
- package/dist/components/Combobox/ComboboxContent.d.ts +59 -0
- package/dist/components/Combobox/ComboboxEmpty.d.ts +26 -0
- package/dist/components/Combobox/ComboboxItem.d.ts +34 -0
- package/dist/components/Combobox/ComboboxList.d.ts +31 -0
- package/dist/components/Combobox/ComboboxMockData.d.ts +44 -0
- package/dist/components/Combobox/ComboboxSelect.d.ts +59 -0
- package/dist/components/Combobox/ComboboxTrigger.d.ts +43 -0
- package/dist/components/Combobox/ComboboxTypes.d.ts +374 -0
- package/dist/components/Combobox/index.d.ts +10 -3
- package/dist/components/Combobox/internal/ComboboxContext.d.ts +8 -0
- package/dist/components/Combobox/internal/ComboboxGroupContext.d.ts +8 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacy.d.ts +131 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyContent.d.ts +20 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyEmpty.d.ts +5 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyItem.d.ts +26 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyList.d.ts +5 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyMockData.d.ts +37 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyTrigger.d.ts +21 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyUtils.d.ts +38 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/index.d.ts +7 -0
- package/dist/components/Combobox/internal/ComboboxMockData.d.ts +44 -0
- package/dist/components/Combobox/internal/ComboboxUtils.d.ts +74 -0
- package/dist/components/Combobox/internal/useGroups.d.ts +14 -0
- package/dist/components/Combobox/useInfiniteCombobox.d.ts +69 -1
- package/dist/components/DateField/DateField.d.ts +23 -61
- package/dist/components/DateField/internal/DateFieldLegacy/DateFieldLegacy.d.ts +37 -0
- package/dist/components/DateField/internal/DateFieldLegacy/index.d.ts +1 -0
- package/dist/components/DateField/internal/isoToDateFormat.d.ts +1 -0
- package/dist/components/DateField/types.d.ts +47 -0
- package/dist/components/DateFieldRange/DateFieldRange.d.ts +57 -6
- package/dist/components/DateFieldRange/internal/DateFieldRangeCalendar.d.ts +17 -0
- package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +41 -0
- package/dist/components/DateFieldRange/internal/maskito/dateRangePlaceholderMask.d.ts +18 -0
- package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +29 -0
- package/dist/components/DateFieldRange/internal/useDateFieldRangeState.d.ts +70 -0
- package/dist/components/DateFieldRange/internal/utils.d.ts +17 -0
- package/dist/components/DateFieldSingle/DateFieldSingle.d.ts +55 -5
- package/dist/components/DateFieldSingle/index.d.ts +1 -0
- package/dist/components/DateFieldSingle/internal/DateFieldSingleCalendar.d.ts +15 -0
- package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +35 -0
- package/dist/components/DateFieldSingle/internal/constants.d.ts +3 -0
- package/dist/components/DateFieldSingle/internal/maskito/datePlaceholderMask.d.ts +16 -0
- package/dist/components/DateFieldSingle/internal/maskito/makeZeroShortcutPreprocessor.d.ts +10 -0
- package/dist/components/DateFieldSingle/internal/useDateFieldOrchestration.d.ts +17 -0
- package/dist/components/DateFieldSingle/internal/useDateFieldSingleConversion.d.ts +45 -0
- package/dist/components/DateFieldSingle/internal/useDateFieldSingleState.d.ts +49 -0
- package/dist/components/DateFieldSingle/internal/utils.d.ts +14 -0
- package/dist/components/DateFieldSingle/types.d.ts +2 -0
- package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +61 -36
- package/dist/components/DateFieldYearless/index.d.ts +1 -0
- package/dist/components/DateFieldYearless/internal/MaskedYearlessDateInput.d.ts +35 -0
- package/dist/components/DateFieldYearless/internal/maskito/yearlessDatePlaceholderMask.d.ts +16 -0
- package/dist/components/DateFieldYearless/internal/utils.d.ts +12 -0
- package/dist/components/DateFieldYearless/types.d.ts +7 -0
- package/dist/components/DaysOfTheWeek/DaysOfTheWeek.d.ts +117 -20
- package/dist/components/Details/Details.d.ts +30 -58
- package/dist/components/Details/DetailsContent.d.ts +41 -0
- package/dist/components/Details/DetailsSummary.d.ts +24 -0
- package/dist/components/Details/index.d.ts +2 -0
- package/dist/components/Details/internal/DetailsArrow.d.ts +20 -0
- package/dist/components/Details/internal/DetailsContext.d.ts +8 -0
- package/dist/components/Dialog/Dialog.d.ts +97 -109
- package/dist/components/Dialog/DialogCancelButton.d.ts +21 -0
- package/dist/components/Dialog/DialogContent.d.ts +22 -0
- package/dist/components/Dialog/DialogFooter.d.ts +33 -0
- package/dist/components/Dialog/DialogHeader.d.ts +21 -0
- package/dist/components/Dialog/index.d.ts +6 -2
- package/dist/components/Dialog/internal/DialogContext.d.ts +8 -0
- package/dist/components/Dialog/internal/useDialogContext.d.ts +1 -0
- package/dist/components/Divider/Divider.d.ts +34 -7
- package/dist/components/Dnd/DndHandle.d.ts +26 -0
- package/dist/components/Dnd/DndHandleButton.d.ts +32 -0
- package/dist/components/Dnd/DndSortLine.d.ts +39 -0
- package/dist/components/Dnd/DndZone.d.ts +55 -0
- package/dist/components/Dnd/index.d.ts +7 -1
- package/dist/components/DndSort/DndSort.d.ts +40 -0
- package/dist/components/DndSort/DndSortCard.d.ts +63 -0
- package/dist/components/DndSort/DndSortZone.d.ts +130 -0
- package/dist/components/DndSort/index.d.ts +12 -2
- package/dist/components/DndSort/internal/DndSortContext.d.ts +21 -0
- package/dist/components/DndSort/internal/DndSortItem.d.ts +30 -0
- package/dist/components/DndSort/internal/DndSortOverlay.d.ts +5 -0
- package/dist/components/DndSort/internal/DndSortZoneContext.d.ts +24 -0
- package/dist/components/DndSort/internal/announcements.d.ts +8 -0
- package/dist/components/DndSort/internal/collisionDetection.d.ts +3 -0
- package/dist/components/DndSort/internal/getNextCoordinates.d.ts +17 -0
- package/dist/components/DndSort/internal/test-utils.d.ts +24 -0
- package/dist/components/DndSort/internal/utils.d.ts +55 -0
- package/dist/components/DndSort/types.d.ts +55 -0
- package/dist/components/Drawer/Drawer.d.ts +63 -118
- package/dist/components/Drawer/DrawerCancelButton.d.ts +25 -0
- package/dist/components/Drawer/DrawerContent.d.ts +26 -0
- package/dist/components/Drawer/DrawerFooter.d.ts +37 -0
- package/dist/components/Drawer/DrawerHeader.d.ts +23 -0
- package/dist/components/Drawer/index.d.ts +6 -2
- package/dist/components/Drawer/internal/DrawerContext.d.ts +15 -0
- package/dist/components/Drawer/internal/useDrawerContext.d.ts +7 -0
- package/dist/components/EditCard/EditCard.d.ts +71 -14
- package/dist/components/FieldLabel/FieldLabel.d.ts +62 -4
- package/dist/components/FieldLabel/internal/FieldLabelMoreInfoIcon.d.ts +12 -0
- package/dist/components/FieldMessage/FieldMessage.d.ts +48 -12
- package/dist/components/Flex/Flex.d.ts +46 -61
- package/dist/components/Flex/internal/FlexSpecificProps.d.ts +34 -0
- package/dist/components/Grid/Grid.d.ts +55 -27
- package/dist/components/Grid/index.d.ts +1 -0
- package/dist/components/Grid/internal/GridItem.d.ts +27 -0
- package/dist/components/Grid/internal/GridSpecificProps.d.ts +28 -0
- package/dist/components/Icon/Icon.d.ts +42 -15
- package/dist/components/InputMask/InputMask.d.ts +109 -48
- package/dist/components/InputMask/internal/constants.d.ts +1 -0
- package/dist/components/InputMask/internal/utils.d.ts +41 -0
- package/dist/components/Link/Link.d.ts +5 -17
- package/dist/components/Link/index.d.ts +1 -0
- package/dist/components/Link/internal/Link.d.ts +57 -0
- package/dist/components/Link/internal/LinkHeadless.d.ts +24 -0
- package/dist/components/Link/useLinkStyles.d.ts +17 -0
- package/dist/components/LinkButton/LinkButton.d.ts +5 -31
- package/dist/components/ListView/ListView.d.ts +17 -46
- package/dist/components/ListView/ListViewOption.d.ts +38 -0
- package/dist/components/ListView/ListViewOptionCell.d.ts +12 -0
- package/dist/components/ListView/index.d.ts +3 -1
- package/dist/components/ListView/internal/ListViewContext.d.ts +28 -0
- package/dist/components/ListView/internal/types.d.ts +52 -0
- package/dist/components/ListView/internal/utils.d.ts +4 -0
- package/dist/components/Listbox/Listbox.d.ts +97 -61
- package/dist/components/Listbox/ListboxOption.d.ts +53 -0
- package/dist/components/Listbox/ListboxOptionGroup.d.ts +32 -0
- package/dist/components/Listbox/index.d.ts +3 -1
- package/dist/components/Listbox/internal/ListboxContext.d.ts +38 -0
- package/dist/components/Listbox/internal/ListboxOptionGroupContext.d.ts +5 -0
- package/dist/components/Listbox/internal/utils.d.ts +4 -0
- package/dist/components/Menu/Menu.d.ts +20 -46
- package/dist/components/Menu/MenuItem.d.ts +57 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Menu/internal/MenuContext.d.ts +15 -0
- package/dist/components/Menu/internal/MenuLegacy/MenuLegacy.d.ts +50 -0
- package/dist/components/Menu/internal/MenuLegacy/MenuLegacyContext.d.ts +9 -0
- package/dist/components/Menu/internal/MenuLegacy/MenuLegacyItem.d.ts +12 -0
- package/dist/components/Menu/internal/MenuLegacy/index.d.ts +3 -0
- package/dist/components/Menu/internal/MenuNested.d.ts +42 -0
- package/dist/components/Menu/types.d.ts +72 -0
- package/dist/components/NumberField/NumberField.d.ts +48 -7
- package/dist/components/Overflow/Overflow.d.ts +51 -84
- package/dist/components/Overflow/OverflowText.d.ts +82 -0
- package/dist/components/Overflow/index.d.ts +31 -2
- package/dist/components/Page/Page.d.ts +7 -7
- package/dist/components/Page/PageFooter.d.ts +1 -1
- package/dist/components/Page/PageHeader.d.ts +1 -1
- package/dist/components/Pagination/Pagination.d.ts +4 -6
- package/dist/components/Pagination/internal/Pagination.d.ts +55 -0
- package/dist/components/Pagination/internal/PaginationItem.d.ts +52 -0
- package/dist/components/Pagination/internal/PaginationItemsPerPageMenu.d.ts +37 -0
- package/dist/components/Pagination/internal/PaginationList.d.ts +9 -0
- package/dist/components/Pagination/internal/PaginationOverflowMenu.d.ts +61 -0
- package/dist/components/Pagination/internal/PaginationTotalCount.d.ts +6 -0
- package/dist/components/Popover/Popover.d.ts +146 -134
- package/dist/components/Popover/PopoverButton.d.ts +34 -0
- package/dist/components/Popover/PopoverClose.d.ts +33 -0
- package/dist/components/Popover/PopoverContent.d.ts +46 -0
- package/dist/components/Popover/PopoverTrigger.d.ts +63 -0
- package/dist/components/Popover/index.d.ts +4 -0
- package/dist/components/Popover/internal/PopoverContext.d.ts +40 -0
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacy.d.ts +8 -0
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacyButton.d.ts +3 -0
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacyClose.d.ts +3 -0
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacyContent.d.ts +3 -0
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacyTrigger.d.ts +9 -0
- package/dist/components/Popover/internal/PopoverLegacy/index.d.ts +8 -0
- package/dist/components/Popover/internal/PopoverLegacy/usePopoverLegacy.d.ts +121 -0
- package/dist/components/Popover/internal/PopoverLegacy/usePopoverLegacyContext.d.ts +79 -0
- package/dist/components/Popover/internal/compareElements.d.ts +1 -0
- package/dist/components/Popover/internal/usePopoverContext.d.ts +50 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +59 -14
- package/dist/components/Radio/Radio.d.ts +3 -44
- package/dist/components/Radio/RadioGroup.d.ts +61 -0
- package/dist/components/Radio/index.d.ts +2 -0
- package/dist/components/Radio/internal/Radio.d.ts +145 -0
- package/dist/components/Radio/types.d.ts +13 -0
- package/dist/components/SearchField/SearchField.d.ts +33 -8
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +54 -49
- package/dist/components/SegmentedControl/SegmentedControlSegment.d.ts +69 -0
- package/dist/components/SegmentedControl/index.d.ts +1 -0
- package/dist/components/SegmentedControl/internal/SegmentedControlContext.d.ts +24 -0
- package/dist/components/SelectCard/SelectCard.d.ts +45 -16
- package/dist/components/SelectCard/SelectCardGroup.d.ts +24 -13
- package/dist/components/SelectCard/index.d.ts +1 -2
- package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +83 -0
- package/dist/components/SelectTrigger/SelectTrigger.d.ts +22 -8
- package/dist/components/SelectTrigger/internal/SelectTriggerBase.d.ts +40 -0
- package/dist/components/SideNav/SideNav.d.ts +32 -114
- package/dist/components/SideNav/SideNavCollapsible.d.ts +73 -0
- package/dist/components/SideNav/SideNavGroup.d.ts +37 -0
- package/dist/components/SideNav/SideNavLink.d.ts +46 -0
- package/dist/components/SideNav/index.d.ts +4 -1
- package/dist/components/SideNav/internal/SideNavLink.d.ts +74 -0
- package/dist/components/SideNav/internal/utils.d.ts +16 -0
- package/dist/components/Skeleton/SkeletonCircle.d.ts +41 -0
- package/dist/components/Skeleton/SkeletonPill.d.ts +41 -0
- package/dist/components/Skeleton/SkeletonRectangle.d.ts +42 -0
- package/dist/components/Skeleton/SkeletonText.d.ts +52 -0
- package/dist/components/Skeleton/index.d.ts +16 -2
- package/dist/components/Spinner/Spinner.d.ts +11 -6
- package/dist/components/SrOnly/SrOnly.d.ts +3 -7
- package/dist/components/Stepper/Stepper.d.ts +119 -239
- package/dist/components/Stepper/StepperFinalPanel.d.ts +30 -0
- package/dist/components/Stepper/StepperList.d.ts +28 -0
- package/dist/components/Stepper/StepperNextButton.d.ts +73 -0
- package/dist/components/Stepper/StepperPanel.d.ts +52 -0
- package/dist/components/Stepper/StepperPrevButton.d.ts +44 -0
- package/dist/components/Stepper/StepperStep.d.ts +58 -0
- package/dist/components/Stepper/index.d.ts +6 -0
- package/dist/components/Stepper/internal/StepperContext.d.ts +15 -0
- package/dist/components/Switch/Switch.d.ts +47 -11
- package/dist/components/Tab/Tab.d.ts +22 -88
- package/dist/components/Tab/TabButton.d.ts +54 -0
- package/dist/components/Tab/TabList.d.ts +26 -0
- package/dist/components/Tab/TabPanel.d.ts +34 -0
- package/dist/components/Tab/index.d.ts +3 -0
- package/dist/components/Tab/internal/TabContext.d.ts +15 -0
- package/dist/components/Text/Text.d.ts +7 -17
- package/dist/components/Text/types.d.ts +93 -0
- package/dist/components/TextField/TextField.d.ts +4 -5
- package/dist/components/TextField/internal/TextField.d.ts +20 -0
- package/dist/components/Textarea/Textarea.d.ts +52 -19
- package/dist/components/Textarea/index.d.ts +1 -2
- package/dist/components/Textarea/types.d.ts +35 -0
- package/dist/components/TimeField/TimeField.d.ts +55 -18
- package/dist/components/TimeField/index.d.ts +2 -0
- package/dist/components/TimeField/internal/MaskedTimeInput.d.ts +87 -0
- package/dist/components/TimeField/internal/constants.d.ts +25 -0
- package/dist/components/TimeField/internal/maskito/timePlaceholderMask.d.ts +28 -0
- package/dist/components/TimeField/internal/types.d.ts +27 -0
- package/dist/components/TimeField/internal/utils/timeFormatting.d.ts +10 -0
- package/dist/components/TimeField/internal/utils/timeOptions.d.ts +24 -0
- package/dist/components/TimeField/internal/utils/timeParsing.d.ts +43 -0
- package/dist/components/TimeField/internal/utils/timeRounding.d.ts +58 -0
- package/dist/components/TimeField/internal/utils/timeValidation.d.ts +28 -0
- package/dist/components/Toast/Toaster.d.ts +4 -4
- package/dist/components/Toast/internal/Toast.d.ts +106 -0
- package/dist/components/Toast/internal/ToastProvider.d.ts +90 -0
- package/dist/components/Toast/internal/ToastStack.d.ts +81 -0
- package/dist/components/Toast/internal/Toaster.d.ts +108 -0
- package/dist/components/Toast/internal/ToasterPopover.d.ts +19 -0
- package/dist/components/Toast/internal/addOrUpdateToastHeight.d.ts +8 -0
- package/dist/components/Toast/internal/constants.d.ts +4 -0
- package/dist/components/Toast/internal/types.d.ts +18 -0
- package/dist/components/Toast/internal/useCloseToast.d.ts +7 -0
- package/dist/components/Toast/internal/useHotkeyFocus.d.ts +25 -0
- package/dist/components/Toast/internal/useShowMoreButtonPositionStyles.d.ts +6 -0
- package/dist/components/Toast/internal/useToastPositionStyles.d.ts +7 -0
- package/dist/components/Toast/internal/useToasts.d.ts +6 -0
- package/dist/components/Toast/toast.d.ts +113 -38
- package/dist/components/Toolbar/Toolbar.d.ts +99 -141
- package/dist/components/Toolbar/ToolbarButton.d.ts +41 -0
- package/dist/components/Toolbar/ToolbarButtonLink.d.ts +43 -0
- package/dist/components/Toolbar/ToolbarButtonToggle.d.ts +37 -0
- package/dist/components/Toolbar/ToolbarSelect.d.ts +108 -0
- package/dist/components/Toolbar/index.d.ts +6 -1
- package/dist/components/Toolbar/internal/ToolbarItemOverflowContext.d.ts +19 -0
- package/dist/components/Toolbar/internal/ToolbarItemWrapper.d.ts +33 -0
- package/dist/components/Toolbar/internal/ToolbarOverflowContext.d.ts +35 -0
- package/dist/components/Toolbar/internal/ToolbarOverflowMenu.d.ts +29 -0
- package/dist/components/Toolbar/internal/utils/accessibility.d.ts +21 -0
- package/dist/components/Toolbar/internal/utils/test.d.ts +29 -0
- package/dist/components/Toolbar/types.d.ts +48 -0
- package/dist/components/Tooltip/Tooltip.d.ts +73 -71
- package/dist/components/Tooltip/TooltipContent.d.ts +26 -0
- package/dist/components/Tooltip/TooltipTrigger.d.ts +30 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Tooltip/internal/TooltipContext.d.ts +92 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/TooltipLegacy.d.ts +6 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/TooltipLegacyContent.d.ts +3 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/TooltipLegacyTrigger.d.ts +5 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/index.d.ts +6 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/useTooltipLegacy.d.ts +70 -0
- package/dist/components/Tooltip/internal/TooltipLegacy/useTooltipLegacyContext.d.ts +58 -0
- package/dist/components/Tooltip/internal/isNonInteractiveTrigger.d.ts +1 -0
- package/dist/components/Tooltip/internal/useTooltipContext.d.ts +47 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/extends-Bg2s_OKl.js.map +1 -1
- package/dist/getActiveElement-BcSyVE7S.js +25 -0
- package/dist/getActiveElement-BcSyVE7S.js.map +1 -0
- package/dist/getKeyboardFocusableElements-QqcABz0D.js.map +1 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/useAccessibleColor/index.d.ts +1 -1
- package/dist/hooks/useAccessibleColor/useAccessibleColor.d.ts +38 -0
- package/dist/hooks/useBreakpoint/index.d.ts +1 -1
- package/dist/hooks/useBreakpoint/useBreakpoint.d.ts +49 -0
- package/dist/hooks/useMergeRefs/index.d.ts +1 -1
- package/dist/hooks/useMergeRefs/useMergeRefs.d.ts +17 -0
- package/dist/hooks/usePrefersColorScheme/index.d.ts +1 -1
- package/dist/hooks/usePrefersColorScheme/usePrefersColorScheme.d.ts +16 -0
- package/dist/hooks/useSwipe/index.d.ts +1 -1
- package/dist/hooks/useSwipe/useSwipe.d.ts +32 -0
- package/dist/{Checkbox.module-DZ58p15b-BUsQC1lW.js → indeterminate_check_box-Bg24oeHy.js} +8 -8
- package/dist/indeterminate_check_box-Bg24oeHy.js.map +1 -0
- package/dist/{Checkbox.css → indeterminate_check_box.css} +0 -1
- package/dist/{index-CKfiQx8n-4nziUo7G.js → index-CqdP5W00.js} +5 -5
- package/dist/index-CqdP5W00.js.map +1 -0
- package/dist/{ProgressBar-BRvB-bD4.css → index.css} +0 -641
- package/dist/index.d.ts +1 -0
- package/dist/{index.esm-dyoPQhi6.js → index.esm-D889iexm.js} +115 -115
- package/dist/index.esm-D889iexm.js.map +1 -0
- package/dist/index.js +508 -72
- package/dist/index.js.map +1 -1
- package/dist/{index-CKfiQx8n.css → index2.css} +0 -1
- package/dist/info-CYpG6tcI.js +6 -0
- package/dist/info-CYpG6tcI.js.map +1 -0
- package/dist/internal/components/Helper/Helper.d.ts +18 -0
- package/dist/internal/components/Helper/index.d.ts +1 -0
- package/dist/internal/components/Label/Label.d.ts +77 -0
- package/dist/internal/components/Label/index.d.ts +2 -0
- package/dist/internal/components/index.d.ts +2 -0
- package/dist/internal/functions/childrenToString.d.ts +25 -0
- package/dist/internal/functions/getActiveElement.d.ts +1 -0
- package/dist/internal/functions/getInitial.d.ts +16 -0
- package/dist/internal/functions/getKeyboardFocusableElements.d.ts +25 -0
- package/dist/internal/functions/index.d.ts +9 -0
- package/dist/internal/functions/kebabize.d.ts +16 -0
- package/dist/internal/functions/mapOrder.d.ts +1 -0
- package/dist/internal/functions/safePopover.d.ts +2 -0
- package/dist/internal/functions/sizeToToken.d.ts +2 -0
- package/dist/internal/functions/supportsPopover.d.ts +1 -0
- package/dist/internal/hooks/index.d.ts +17 -0
- package/dist/internal/hooks/useDialogScrollLock/index.d.ts +1 -0
- package/dist/internal/hooks/useDialogScrollLock/useDialogScrollLock.d.ts +40 -0
- package/dist/internal/hooks/useDialogTransitionStates/index.d.ts +1 -0
- package/dist/internal/hooks/useDialogTransitionStates/useDialogTransitionStates.d.ts +32 -0
- package/dist/internal/hooks/useFocusWithin/index.d.ts +1 -0
- package/dist/internal/hooks/useFocusWithin/useFocusWithin.d.ts +33 -0
- package/dist/internal/hooks/useIntersectionObserver/index.d.ts +1 -0
- package/dist/internal/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +67 -0
- package/dist/internal/hooks/useIsScrollable/index.d.ts +1 -0
- package/dist/internal/hooks/useIsScrollable/useIsScrollable.d.ts +6 -0
- package/dist/internal/hooks/useKeyboardFocusables/index.d.ts +1 -0
- package/dist/internal/hooks/useKeyboardFocusables/useKeyboardFocusables.d.ts +54 -0
- package/dist/internal/hooks/useLayoutPropsUtil/index.d.ts +1 -0
- package/dist/internal/hooks/useLayoutPropsUtil/useLayoutPropsUtil.d.ts +56 -0
- package/dist/internal/hooks/useNumberField/index.d.ts +1 -0
- package/dist/internal/hooks/useNumberField/internal/useNumberFieldInputMode.d.ts +24 -0
- package/dist/internal/hooks/useNumberField/internal/useNumberFieldKeys.d.ts +43 -0
- package/dist/internal/hooks/useNumberField/useNumberField.d.ts +118 -0
- package/dist/internal/hooks/useOnClickOutside/index.d.ts +1 -0
- package/dist/internal/hooks/useOnClickOutside/useOnClickOutside.d.ts +34 -0
- package/dist/internal/hooks/useOpenCloseTransitionStates/index.d.ts +1 -0
- package/dist/internal/hooks/useOpenCloseTransitionStates/useOpenCloseTransitionStates.d.ts +51 -0
- package/dist/internal/hooks/useOptionallyControlledState/index.d.ts +1 -0
- package/dist/internal/hooks/useOptionallyControlledState/useOptionallyControlledState.d.ts +59 -0
- package/dist/internal/hooks/usePlatform/index.d.ts +1 -0
- package/dist/internal/hooks/usePlatform/usePlatform.d.ts +65 -0
- package/dist/internal/hooks/usePopoverCloseDelayWorkaround/index.d.ts +1 -0
- package/dist/internal/hooks/usePopoverCloseDelayWorkaround/usePopoverCloseDelayWorkaround.d.ts +1 -0
- package/dist/internal/hooks/usePopoverSupport/index.d.ts +1 -0
- package/dist/internal/hooks/usePopoverSupport/usePopoverSupport.d.ts +1 -0
- package/dist/internal/hooks/usePopoverTransitionStates/index.d.ts +1 -0
- package/dist/internal/hooks/usePopoverTransitionStates/usePopoverTransitionStates.d.ts +25 -0
- package/dist/internal/hooks/usePrevious/index.d.ts +1 -0
- package/dist/internal/hooks/usePrevious/usePrevious.d.ts +1 -0
- package/dist/internal/hooks/useTypeAhead/index.d.ts +1 -0
- package/dist/internal/hooks/useTypeAhead/useTypeAhead.d.ts +15 -0
- package/dist/internal/types/index.d.ts +1 -0
- package/dist/internal/types/props.d.ts +7 -0
- package/dist/internal/utils/index.d.ts +1 -0
- package/dist/makeZeroShortcutPreprocessor-CxsiGTRW.js +47 -0
- package/dist/makeZeroShortcutPreprocessor-CxsiGTRW.js.map +1 -0
- package/dist/providers/AnvilProvider/AnvilProvider.d.ts +29 -6
- package/dist/providers/LocalizationProvider/LocalizationContext.d.ts +6 -0
- package/dist/providers/LocalizationProvider/LocalizationProvider.d.ts +17 -0
- package/dist/providers/LocalizationProvider/LocalizationStoryWrapper.d.ts +6 -0
- package/dist/providers/LocalizationProvider/index.d.ts +2 -1
- package/dist/providers/LocalizationProvider/useTranslations.d.ts +4 -0
- package/dist/providers/PortalProvider/PortalProvider.d.ts +10 -0
- package/dist/providers/PortalProvider/index.d.ts +1 -1
- package/dist/providers/ThemeProvider/ThemeProvider.d.ts +14 -4
- package/dist/providers/ThemeProvider/index.d.ts +7 -1
- package/dist/providers/ThemeProvider/internal/ThemeProviderContext.d.ts +6 -0
- package/dist/providers/ThemeProvider/useTheme.d.ts +1 -0
- package/dist/types/MaxLengthCounterProps.d.ts +8 -0
- package/dist/types/ianaZones.d.ts +2 -0
- package/dist/types/index.d.ts +4 -1
- package/dist/types/locales.d.ts +3 -0
- package/dist/types/props.d.ts +66 -0
- package/dist/{useAccessibleColor-Dc6B_M-Z-BYKjkGRg.js → useAccessibleColor-BYKjkGRg.js} +1 -1
- package/dist/useAccessibleColor-BYKjkGRg.js.map +1 -0
- package/dist/useAccessibleColor.js +1 -1
- package/dist/{useBreakpoint-7QkBkSeP-Cv5fnZxs.js → useBreakpoint-Cv5fnZxs.js} +1 -1
- package/dist/useBreakpoint-Cv5fnZxs.js.map +1 -0
- package/dist/useBreakpoint.js +1 -1
- package/dist/useDateFieldOrchestration-Cqa7dxtr.js +138 -0
- package/dist/useDateFieldOrchestration-Cqa7dxtr.js.map +1 -0
- package/dist/useDialogTransitionStates-2NaE_noq.js +64 -0
- package/dist/useDialogTransitionStates-2NaE_noq.js.map +1 -0
- package/dist/{useFocusWithin-Cxz14Zyz-DEudRcSI.js → useFocusWithin-BhU7hoAD.js} +2 -10
- package/dist/useFocusWithin-BhU7hoAD.js.map +1 -0
- package/dist/{Combobox-BOpe_NUu.js → useInfiniteCombobox-BN2uGhBh.js} +1791 -1847
- package/dist/useInfiniteCombobox-BN2uGhBh.js.map +1 -0
- package/dist/{Combobox.css → useInfiniteCombobox.css} +102 -45
- package/dist/{useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js → useLayoutPropsUtil-DjD5IMh0.js} +2 -2
- package/dist/useLayoutPropsUtil-DjD5IMh0.js.map +1 -0
- package/dist/{useMergeRefs-Bde85AWI-Bde85AWI.js → useMergeRefs-Bde85AWI.js} +1 -1
- package/dist/useMergeRefs-Bde85AWI.js.map +1 -0
- package/dist/useMergeRefs.js +1 -1
- package/dist/useOnClickOutside-BHEWMLa9.js +170 -0
- package/dist/useOnClickOutside-BHEWMLa9.js.map +1 -0
- package/dist/{useOptionallyControlledState-DbDuos5L-DbDuos5L.js → useOptionallyControlledState-DbDuos5L.js} +1 -1
- package/dist/useOptionallyControlledState-DbDuos5L.js.map +1 -0
- package/dist/{usePopoverCloseDelayWorkaround-BZcjPkvT-BZcjPkvT.js → usePopoverCloseDelayWorkaround-BZcjPkvT.js} +1 -1
- package/dist/usePopoverCloseDelayWorkaround-BZcjPkvT.js.map +1 -0
- package/dist/{usePopoverSupport-B9Lsqryr-CYJxXiun.js → usePopoverSupport-DIjjfodl.js} +2 -2
- package/dist/usePopoverSupport-DIjjfodl.js.map +1 -0
- package/dist/{usePrefersColorScheme-_hT7dK7_-_hT7dK7_.js → usePrefersColorScheme-_hT7dK7_.js} +1 -1
- package/dist/usePrefersColorScheme-_hT7dK7_.js.map +1 -0
- package/dist/usePrefersColorScheme.js +1 -1
- package/dist/usePrevious-Bvq-5auG.js +12 -0
- package/dist/usePrevious-Bvq-5auG.js.map +1 -0
- package/dist/{useSwipe-CULmVQEk-CULmVQEk.js → useSwipe-CULmVQEk.js} +1 -1
- package/dist/useSwipe-CULmVQEk.js.map +1 -0
- package/dist/useSwipe.js +1 -1
- package/dist/useTheme-B4i6a3bM.js +9 -0
- package/dist/useTheme-B4i6a3bM.js.map +1 -0
- package/package.json +29 -4
- package/dist/Alert-C3WoRkeN-D_6Yf63F.js +0 -98
- package/dist/Alert-C3WoRkeN-D_6Yf63F.js.map +0 -1
- package/dist/Alert-DipY5OlC.js +0 -23
- package/dist/Alert-DipY5OlC.js.map +0 -1
- package/dist/Announcement-ButSjdLn.js.map +0 -1
- package/dist/AnvilProvider-BLYCqIbb.js +0 -16
- package/dist/AnvilProvider-BLYCqIbb.js.map +0 -1
- package/dist/Avatar-C7cbRTCt-DCvzmr2C.js.map +0 -1
- package/dist/Avatar-DREZJN2K.js.map +0 -1
- package/dist/Badge-7aZfE-LH.js.map +0 -1
- package/dist/Breadcrumbs-BMbkH9hL-BUjQksuj.js.map +0 -1
- package/dist/Breadcrumbs-fthw3qaL.js +0 -36
- package/dist/Breadcrumbs-fthw3qaL.js.map +0 -1
- package/dist/Button-BaHFf1AT-BQy-PFB5.js.map +0 -1
- package/dist/Button-DMQKV2sV.js +0 -27
- package/dist/Button-DMQKV2sV.js.map +0 -1
- package/dist/Button.module-BqTaW8HK-BqTaW8HK.js +0 -25
- package/dist/Button.module-BqTaW8HK-BqTaW8HK.js.map +0 -1
- package/dist/ButtonCompound-Cs2A5X-Z-Dl3InVab.js +0 -49
- package/dist/ButtonCompound-Cs2A5X-Z-Dl3InVab.js.map +0 -1
- package/dist/ButtonCompound-DGuF0zzT.js +0 -25
- package/dist/ButtonCompound-DGuF0zzT.js.map +0 -1
- package/dist/ButtonLink-5qlX0uZx-b9H7MGhk.js.map +0 -1
- package/dist/ButtonLink-B0NJuVk5.js +0 -28
- package/dist/ButtonLink-B0NJuVk5.js.map +0 -1
- package/dist/ButtonToggle-Bm4KRl3o-B1-LbfjY.js.map +0 -1
- package/dist/ButtonToggle-CKVyEODc.js +0 -27
- package/dist/ButtonToggle-CKVyEODc.js.map +0 -1
- package/dist/Calendar-BvftKznl-D4_xp9Rv.js.map +0 -1
- package/dist/Calendar-DdOR9T_K.js +0 -130
- package/dist/Calendar-DdOR9T_K.js.map +0 -1
- package/dist/Card-U2IJPk8B.js +0 -11
- package/dist/Card-U2IJPk8B.js.map +0 -1
- package/dist/Card-ZknG-yim-7W6rYSFV.js.map +0 -1
- package/dist/Checkbox-DyHm7Ntt-DYw5QL3l.js.map +0 -1
- package/dist/Checkbox-zg8LVvB6.js.map +0 -1
- package/dist/Checkbox.module-DZ58p15b-BUsQC1lW.js.map +0 -1
- package/dist/Chip-DXQiqF8k.js +0 -34
- package/dist/Chip-DXQiqF8k.js.map +0 -1
- package/dist/Chip-MbBEXeAm-DmAcwPRJ.js.map +0 -1
- package/dist/Combobox-BOpe_NUu.js.map +0 -1
- package/dist/DateField-Bqsnpt8S.js.map +0 -1
- package/dist/DateFieldRange-Cax7Kl9A.js +0 -22
- package/dist/DateFieldRange-Cax7Kl9A.js.map +0 -1
- package/dist/DateFieldSingle-bMX770gU.js +0 -22
- package/dist/DateFieldSingle-bMX770gU.js.map +0 -1
- package/dist/DateFieldYearless-ClNYTBK_.js +0 -22
- package/dist/DateFieldYearless-ClNYTBK_.js.map +0 -1
- package/dist/DateFieldYearless-pejtv7-x-DBHpW83U.js +0 -1373
- package/dist/DateFieldYearless-pejtv7-x-DBHpW83U.js.map +0 -1
- package/dist/DaysOfTheWeek-ImBPjEvl.js.map +0 -1
- package/dist/Details-DVg0EOkv.js.map +0 -1
- package/dist/Dialog-BR6f-XRH.js.map +0 -1
- package/dist/Divider-B0xGfyWE-f5-ThMiS.js.map +0 -1
- package/dist/Divider-azRKjITG.js +0 -13
- package/dist/Divider-azRKjITG.js.map +0 -1
- package/dist/DndSort-Cl0FCNQm.js +0 -5546
- package/dist/DndSort-Cl0FCNQm.js.map +0 -1
- package/dist/Drawer-0ayAWgAA.js +0 -142
- package/dist/Drawer-0ayAWgAA.js.map +0 -1
- package/dist/EditCard-B_n1uFkv.js.map +0 -1
- package/dist/FieldLabel-DWl5qsRY.js +0 -13
- package/dist/FieldLabel-DWl5qsRY.js.map +0 -1
- package/dist/FieldMessage-Bobp105T-DYhStLY4.js.map +0 -1
- package/dist/FieldMessage-DkJ0K5s-.js +0 -13
- package/dist/FieldMessage-DkJ0K5s-.js.map +0 -1
- package/dist/Flex-CiK7uNUu-BfxHG4L0.js.map +0 -1
- package/dist/Flex-Ln6PmaDl.js +0 -11
- package/dist/Flex-Ln6PmaDl.js.map +0 -1
- package/dist/Grid-CMcDeSYT.js +0 -33
- package/dist/Grid-CMcDeSYT.js.map +0 -1
- package/dist/Grid-DFAd8mTe.js.map +0 -1
- package/dist/HammerProvider-vt3DkcCZ-06BeBrPu.js.map +0 -1
- package/dist/Helper-h7k80qls-DHPFHTvI.js.map +0 -1
- package/dist/Icon-B6HmlQiR-BxQkO3X5.js.map +0 -1
- package/dist/Icon-BgKqBmlj.js +0 -13
- package/dist/Icon-BgKqBmlj.js.map +0 -1
- package/dist/InputMask-BOUlnmiF.js +0 -30
- package/dist/InputMask-BOUlnmiF.js.map +0 -1
- package/dist/InputMask-BuO8lNAB-DdxdO5Jw.js.map +0 -1
- package/dist/Link-C4N_cV3i.js +0 -45
- package/dist/Link-C4N_cV3i.js.map +0 -1
- package/dist/Link-MiffPrW9-Cx1zYWSF.js +0 -67
- package/dist/Link-MiffPrW9-Cx1zYWSF.js.map +0 -1
- package/dist/ListView-DVPhWDCM.js.map +0 -1
- package/dist/ListView.module-MVsNF0X0-MVsNF0X0.js.map +0 -1
- package/dist/Listbox-B-WUuj-_-BWWeWtLW.js.map +0 -1
- package/dist/Listbox-Di6OS1Fk.js +0 -67
- package/dist/Listbox-Di6OS1Fk.js.map +0 -1
- package/dist/Listbox.module-DcBE8Zmo-DcBE8Zmo.js.map +0 -1
- package/dist/LocalizationContext-UsmB5mnR-BUIYgNp2.js.map +0 -1
- package/dist/LocalizationProvider-VtRAfGBT-Bo8XuFoE.js.map +0 -1
- package/dist/Menu-DHCOMJx2.js +0 -60
- package/dist/Menu-DHCOMJx2.js.map +0 -1
- package/dist/Menu-TtVJnSrA-yBYichuJ.js.map +0 -1
- package/dist/NumberField-C9lMsPMD.js.map +0 -1
- package/dist/Overflow-CFClqFVC-BKqOBCan.js +0 -393
- package/dist/Overflow-CFClqFVC-BKqOBCan.js.map +0 -1
- package/dist/Overflow-w-3_04fS.js +0 -69
- package/dist/Overflow-w-3_04fS.js.map +0 -1
- package/dist/Page-CGAylFKz.js.map +0 -1
- package/dist/Pagination-DU_qvFRR.js.map +0 -1
- package/dist/Popover-BPiqdyu1.js +0 -135
- package/dist/Popover-BPiqdyu1.js.map +0 -1
- package/dist/Popover-CU2cGVD8-Casl3vM1.js.map +0 -1
- package/dist/PortalProvider-9lXkQ0xY-BKoGegS1.js.map +0 -1
- package/dist/ProgressBar-BRvB-bD4-DppwBrFg.js +0 -2616
- package/dist/ProgressBar-BRvB-bD4-DppwBrFg.js.map +0 -1
- package/dist/ProgressBar-lPKNTz6i.js +0 -13
- package/dist/ProgressBar-lPKNTz6i.js.map +0 -1
- package/dist/Radio-DQ_VQFGZ-SdFBlDnE.js.map +0 -1
- package/dist/Radio-DnOuBPi_.js.map +0 -1
- package/dist/SearchField-BGPqpnVd.js.map +0 -1
- package/dist/SegmentedControl-DY1PSYmd.js.map +0 -1
- package/dist/SelectCard-LSAl_7Lh-BYtfe9PC.js.map +0 -1
- package/dist/SelectCardGroup-u_QKdeRZ.js +0 -49
- package/dist/SelectCardGroup-u_QKdeRZ.js.map +0 -1
- package/dist/SelectTrigger-C2w-flvK.js.map +0 -1
- package/dist/SelectTrigger.css +0 -16
- package/dist/SelectTriggerBase-Dj154EN4-BtTvR-Nh.js.map +0 -1
- package/dist/SideNav-Bh_pVeEw.js.map +0 -1
- package/dist/Skeleton-COxTdwjO.js +0 -398
- package/dist/Skeleton-COxTdwjO.js.map +0 -1
- package/dist/Spinner-C1r3COiQ.js +0 -13
- package/dist/Spinner-C1r3COiQ.js.map +0 -1
- package/dist/Spinner-DliJVzdW-BQlZEj4V.js.map +0 -1
- package/dist/SrOnly-BsKDHetF-B93X65F1.js.map +0 -1
- package/dist/SrOnly-C_I8eH4C.js +0 -9
- package/dist/SrOnly-C_I8eH4C.js.map +0 -1
- package/dist/Stepper-BtbDBIzz.js.map +0 -1
- package/dist/Switch-DAQFzi-X.js.map +0 -1
- package/dist/Tab-BSC7e4rM.js.map +0 -1
- package/dist/Text-35Ve4Uq0.js +0 -13
- package/dist/Text-35Ve4Uq0.js.map +0 -1
- package/dist/Text-CED_yrId-DsRYZw2-.js.map +0 -1
- package/dist/TextField-B364hxo8.js +0 -29
- package/dist/TextField-B364hxo8.js.map +0 -1
- package/dist/TextField-DoPP1CQ--UWAOTYiv.js.map +0 -1
- package/dist/TextField.module-EkKlj66e-EkKlj66e.js.map +0 -1
- package/dist/Textarea-D2AAZ1L3.js.map +0 -1
- package/dist/ThemeProvider-DwJqkbiU.js +0 -7
- package/dist/ThemeProvider-DwJqkbiU.js.map +0 -1
- package/dist/ThemeProvider-Q3ji6Rpx-DBXlAuQ8.js.map +0 -1
- package/dist/TimeField-tA9uo4lK.js.map +0 -1
- package/dist/Toolbar-CSWhVSUM.js.map +0 -1
- package/dist/Tooltip-C2HQDvYj.js +0 -73
- package/dist/Tooltip-C2HQDvYj.js.map +0 -1
- package/dist/check_circle-BGfigqq-.js.map +0 -1
- package/dist/childrenToString-Bz9MqbHb-Bz9MqbHb.js.map +0 -1
- package/dist/components/Skeleton/Skeleton.d.ts +0 -153
- package/dist/floating-ui.react-BFNinq1w.js.map +0 -1
- package/dist/hooks/useLinkStyles/index.d.ts +0 -1
- package/dist/index-CKfiQx8n-4nziUo7G.js.map +0 -1
- package/dist/index.esm-dyoPQhi6.js.map +0 -1
- package/dist/toast-BhV_Ask2.js.map +0 -1
- package/dist/useAccessibleColor-Dc6B_M-Z-BYKjkGRg.js.map +0 -1
- package/dist/useBreakpoint-7QkBkSeP-Cv5fnZxs.js.map +0 -1
- package/dist/useFocusWithin-Cxz14Zyz-DEudRcSI.js.map +0 -1
- package/dist/useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js.map +0 -1
- package/dist/useLinkStyles.d.ts +0 -6
- package/dist/useLinkStyles.js +0 -2
- package/dist/useLinkStyles.js.map +0 -1
- package/dist/useMergeRefs-Bde85AWI-Bde85AWI.js.map +0 -1
- package/dist/useOptionallyControlledState-DbDuos5L-DbDuos5L.js.map +0 -1
- package/dist/usePopoverCloseDelayWorkaround-BZcjPkvT-BZcjPkvT.js.map +0 -1
- package/dist/usePopoverSupport-B9Lsqryr-CYJxXiun.js.map +0 -1
- package/dist/usePrefersColorScheme-_hT7dK7_-_hT7dK7_.js.map +0 -1
- package/dist/useSwipe-CULmVQEk-CULmVQEk.js.map +0 -1
- /package/dist/components/SideNav/{SideNavProvider.d.ts → internal/SideNavProvider.d.ts} +0 -0
|
@@ -1,30 +1,102 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { g as getDefaultExportFromCjs, c as cx } from './index-tZvMCc77.js';
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import React__default, { forwardRef, useState, useEffect, createContext, useContext, useRef, useMemo, useCallback, useLayoutEffect, useReducer, cloneElement, Component, useId, useDeferredValue } from 'react';
|
|
3
|
+
import { c as cx, g as getDefaultExportFromCjs } from './index-tZvMCc77.js';
|
|
5
4
|
import { a as _extends, _ as _objectWithoutPropertiesLoose } from './extends-Bg2s_OKl.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { s as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
5
|
+
import { P as Popover, u as usePopoverLegacyContext, f as usePopoverContext } from './Popover-r26xMIfm.js';
|
|
6
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DjD5IMh0.js';
|
|
7
|
+
import { s as supportsPopover } from './DrawerContext-DboTgTmo.js';
|
|
8
|
+
import { i as isMultiple, u as useDownshiftEnvironment$1, a as defaultItemToKey$1, d as defaultItemToString$1, S as SelectTriggerBase, A as ADD_NEW$1 } from './SelectTriggerBase-BMMxnXrw.js';
|
|
9
|
+
import { s as styles$4 } from './Listbox.module-DcBE8Zmo.js';
|
|
10
|
+
import { T as Text } from './Text-BqvcbXyp.js';
|
|
11
|
+
import { F as Flex } from './Flex-BdQMekvA.js';
|
|
12
|
+
import { B as Button } from './Button-BxFXQ0-n.js';
|
|
13
|
+
import { C as Chip } from './Chip-Bz-vlQ4D.js';
|
|
13
14
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
14
15
|
import { S as SvgChevronRight } from './chevron_right-BdpsxX7x.js';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
16
|
+
import { S as SvgInfo } from './info-CYpG6tcI.js';
|
|
17
|
+
import { S as SrOnly } from './SrOnly-CTsYSuby.js';
|
|
18
|
+
import { T as Tooltip } from './Tooltip-BI3Xs75X.js';
|
|
19
|
+
import { I as Icon$2 } from './Icon-D8SPKeO4.js';
|
|
20
|
+
import { H as Helper } from './Helper-BkIDJqgA.js';
|
|
21
|
+
import { A as Avatar } from './Avatar-CyGjhToG.js';
|
|
22
|
+
import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
|
|
23
|
+
import { useTrackingId } from './useTrackingId.js';
|
|
24
|
+
import { s as styles$3 } from './ListView.module-MVsNF0X0.js';
|
|
25
|
+
import { c as checkboxStyles, S as SvgIndeterminateCheckBox, a as SvgCheckBox, b as SvgCheckBoxOutlineBlank } from './indeterminate_check_box-Bg24oeHy.js';
|
|
21
26
|
import { S as SvgCheck } from './check-Cf67OWrZ.js';
|
|
22
|
-
import {
|
|
23
|
-
|
|
24
|
-
import
|
|
25
|
-
|
|
27
|
+
import { S as Spinner } from './Spinner-wmO8Epw0.js';
|
|
28
|
+
|
|
29
|
+
import './useInfiniteCombobox.css';const label = "_label_jfzvd_2";
|
|
30
|
+
const required = "_required_jfzvd_46";
|
|
31
|
+
const styles$2 = {
|
|
32
|
+
label: label,
|
|
33
|
+
"top-container": "_top-container_jfzvd_37",
|
|
34
|
+
"label-text": "_label-text_jfzvd_42",
|
|
35
|
+
required: required,
|
|
36
|
+
"info-trigger": "_info-trigger_jfzvd_51",
|
|
37
|
+
"info-content": "_info-content_jfzvd_56"
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const LabelMoreInfoIcon = ({
|
|
41
|
+
moreInfo,
|
|
42
|
+
openMoreInfo
|
|
43
|
+
}) => {
|
|
44
|
+
const [open, setOpen] = useState(openMoreInfo);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (openMoreInfo) {
|
|
47
|
+
setOpen(true);
|
|
48
|
+
} else {
|
|
49
|
+
setOpen(false);
|
|
50
|
+
setTimeout(() => {
|
|
51
|
+
setOpen(void 0);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}, [openMoreInfo]);
|
|
55
|
+
return /* @__PURE__ */ jsxs(
|
|
56
|
+
Tooltip,
|
|
57
|
+
{
|
|
58
|
+
open,
|
|
59
|
+
placement: "top",
|
|
60
|
+
offset: 5,
|
|
61
|
+
fallbackPlacements: ["right", "bottom", "left"],
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ jsx(Tooltip.Trigger, { className: styles$2["info-trigger"], children: /* @__PURE__ */ jsx(Icon$2, { svg: SvgInfo }) }),
|
|
64
|
+
/* @__PURE__ */ jsx(Tooltip.Content, { className: styles$2["info-content"], children: moreInfo })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
const Label = forwardRef((props, ref) => {
|
|
70
|
+
const { children, className, moreInfo, required, openMoreInfo, ...rest } = props;
|
|
71
|
+
const LabelClassNames = cx([styles$2["label"]], className);
|
|
72
|
+
return /* @__PURE__ */ jsxs("label", { className: LabelClassNames, "data-anv": "label", ref, ...rest, children: [
|
|
73
|
+
/* @__PURE__ */ jsxs("div", { className: styles$2["top-container"], "aria-atomic": "true", children: [
|
|
74
|
+
/* @__PURE__ */ jsxs("span", { className: styles$2["label-text"], children: [
|
|
75
|
+
children,
|
|
76
|
+
required ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
77
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true, className: styles$2["required"], children: "*" }),
|
|
78
|
+
/* @__PURE__ */ jsx(SrOnly, { children: "Required" })
|
|
79
|
+
] }) : null
|
|
80
|
+
] }),
|
|
81
|
+
moreInfo ? /* @__PURE__ */ jsx(LabelMoreInfoIcon, { moreInfo, openMoreInfo }) : null
|
|
82
|
+
] }),
|
|
83
|
+
moreInfo ? /* @__PURE__ */ jsx(SrOnly, { children: moreInfo }) : null
|
|
84
|
+
] });
|
|
85
|
+
});
|
|
86
|
+
Label.displayName = "Label";
|
|
87
|
+
|
|
88
|
+
const ComboboxContext = createContext(null);
|
|
89
|
+
const useCombobox$1 = function() {
|
|
90
|
+
const context = useContext(
|
|
91
|
+
ComboboxContext
|
|
92
|
+
);
|
|
93
|
+
if (context == null) {
|
|
94
|
+
throw new Error("useCombobox must be wrapped in <Combobox />");
|
|
95
|
+
}
|
|
96
|
+
return context;
|
|
97
|
+
};
|
|
26
98
|
|
|
27
|
-
|
|
99
|
+
function _setPrototypeOf(t, e) {
|
|
28
100
|
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
|
29
101
|
return t.__proto__ = e, t;
|
|
30
102
|
}, _setPrototypeOf(t, e);
|
|
@@ -4518,12 +4590,12 @@ var _excluded$1 = ["onMouseLeave", "refKey", "ref"],
|
|
|
4518
4590
|
_excluded2$1 = ["item", "index", "refKey", "ref", "onMouseMove", "onMouseDown", "onClick", "onPress", "disabled"],
|
|
4519
4591
|
_excluded3 = ["onClick", "onPress", "refKey", "ref"],
|
|
4520
4592
|
_excluded4 = ["onKeyDown", "onChange", "onInput", "onBlur", "onChangeText", "onClick", "refKey", "ref"];
|
|
4521
|
-
useCombobox
|
|
4522
|
-
function useCombobox
|
|
4593
|
+
useCombobox.stateChangeTypes = stateChangeTypes$1;
|
|
4594
|
+
function useCombobox(userProps) {
|
|
4523
4595
|
if (userProps === void 0) {
|
|
4524
4596
|
userProps = {};
|
|
4525
4597
|
}
|
|
4526
|
-
validatePropTypes$1(userProps, useCombobox
|
|
4598
|
+
validatePropTypes$1(userProps, useCombobox);
|
|
4527
4599
|
// Props defaults and destructuring.
|
|
4528
4600
|
var props = _extends({}, defaultProps$1, userProps);
|
|
4529
4601
|
var items = props.items,
|
|
@@ -6420,7 +6492,7 @@ const ComboboxLegacySingle = function(props) {
|
|
|
6420
6492
|
setInputValue,
|
|
6421
6493
|
inputValue,
|
|
6422
6494
|
closeMenu
|
|
6423
|
-
} = useCombobox
|
|
6495
|
+
} = useCombobox({
|
|
6424
6496
|
...rest,
|
|
6425
6497
|
items: combinedItems,
|
|
6426
6498
|
itemToString,
|
|
@@ -6432,14 +6504,14 @@ const ComboboxLegacySingle = function(props) {
|
|
|
6432
6504
|
stateReducer(state, { type, changes }) {
|
|
6433
6505
|
switch (type) {
|
|
6434
6506
|
// keep ComboboxLegacy open onBlur, will call close using Popover's onOutsidePress
|
|
6435
|
-
case useCombobox
|
|
6507
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
6436
6508
|
return {
|
|
6437
6509
|
...changes,
|
|
6438
6510
|
isOpen: open != null ? open : true,
|
|
6439
6511
|
highlightedIndex: state.highlightedIndex
|
|
6440
6512
|
};
|
|
6441
|
-
case useCombobox
|
|
6442
|
-
case useCombobox
|
|
6513
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
6514
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
6443
6515
|
if (changes.selectedItem === ADD_NEW) {
|
|
6444
6516
|
const stateInputValue = state.inputValue;
|
|
6445
6517
|
setTimeout(() => {
|
|
@@ -6458,7 +6530,7 @@ const ComboboxLegacySingle = function(props) {
|
|
|
6458
6530
|
};
|
|
6459
6531
|
}
|
|
6460
6532
|
// prevent this from closing the popover by default
|
|
6461
|
-
case useCombobox
|
|
6533
|
+
case useCombobox.stateChangeTypes.InputClick:
|
|
6462
6534
|
return { ...changes, isOpen: open != null ? open : true };
|
|
6463
6535
|
default:
|
|
6464
6536
|
return changes;
|
|
@@ -6467,7 +6539,7 @@ const ComboboxLegacySingle = function(props) {
|
|
|
6467
6539
|
onInputValueChange: onInputValueChange ?? (({ inputValue: inputValue2, type, selectedItem: selectedItem2 }) => {
|
|
6468
6540
|
const inputValueMatchesSelectedItem = selectedItem2 != null && inputValue2 === itemToString(selectedItem2);
|
|
6469
6541
|
const inputValueIsEmpty = inputValue2 == null || inputValue2 === "";
|
|
6470
|
-
if (type === useCombobox
|
|
6542
|
+
if (type === useCombobox.stateChangeTypes.InputKeyDownEnter || type === useCombobox.stateChangeTypes.ItemClick) {
|
|
6471
6543
|
setItems(itemsProp);
|
|
6472
6544
|
setHasExactMatch(true);
|
|
6473
6545
|
} else if (!inputValueMatchesSelectedItem && !inputValueIsEmpty) {
|
|
@@ -6594,7 +6666,7 @@ const ComboboxLegacySingle = function(props) {
|
|
|
6594
6666
|
style: { ...style, ...layoutStyles },
|
|
6595
6667
|
ref: wrapperDivRef,
|
|
6596
6668
|
children: /* @__PURE__ */ jsx(
|
|
6597
|
-
|
|
6669
|
+
Popover,
|
|
6598
6670
|
{
|
|
6599
6671
|
root,
|
|
6600
6672
|
open: isOpen,
|
|
@@ -6734,7 +6806,7 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6734
6806
|
setInputValue,
|
|
6735
6807
|
inputValue,
|
|
6736
6808
|
closeMenu
|
|
6737
|
-
} = useCombobox
|
|
6809
|
+
} = useCombobox({
|
|
6738
6810
|
...rest,
|
|
6739
6811
|
items: combinedItems,
|
|
6740
6812
|
itemToString,
|
|
@@ -6747,7 +6819,7 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6747
6819
|
stateReducer(state, { type, changes }) {
|
|
6748
6820
|
switch (type) {
|
|
6749
6821
|
// keep ComboboxLegacy open onBlur, will call close using Popover's onOutsidePress
|
|
6750
|
-
case useCombobox
|
|
6822
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
6751
6823
|
return {
|
|
6752
6824
|
...changes,
|
|
6753
6825
|
inputValue: state.inputValue,
|
|
@@ -6755,8 +6827,8 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6755
6827
|
isOpen: open != null ? open : true,
|
|
6756
6828
|
highlightedIndex: state.highlightedIndex
|
|
6757
6829
|
};
|
|
6758
|
-
case useCombobox
|
|
6759
|
-
case useCombobox
|
|
6830
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
6831
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
6760
6832
|
if (changes.selectedItem === ADD_NEW) {
|
|
6761
6833
|
const stateInputValue = state.inputValue;
|
|
6762
6834
|
setTimeout(() => {
|
|
@@ -6776,10 +6848,10 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6776
6848
|
};
|
|
6777
6849
|
}
|
|
6778
6850
|
// prevent this from closing the popover by default
|
|
6779
|
-
case useCombobox
|
|
6851
|
+
case useCombobox.stateChangeTypes.InputClick:
|
|
6780
6852
|
return { ...changes, isOpen: open != null ? open : true };
|
|
6781
6853
|
// prevent this from clearing the input value by default
|
|
6782
|
-
case useCombobox
|
|
6854
|
+
case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:
|
|
6783
6855
|
return { ...changes, inputValue: state.inputValue };
|
|
6784
6856
|
default:
|
|
6785
6857
|
return changes;
|
|
@@ -6787,9 +6859,9 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6787
6859
|
},
|
|
6788
6860
|
onStateChange({ type, selectedItem: newSelectedItem }) {
|
|
6789
6861
|
switch (type) {
|
|
6790
|
-
case useCombobox
|
|
6791
|
-
case useCombobox
|
|
6792
|
-
case useCombobox
|
|
6862
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
6863
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
6864
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
6793
6865
|
if (newSelectedItem != null) {
|
|
6794
6866
|
const itemAlreadySelected = selectedItems.some(
|
|
6795
6867
|
(item) => itemToKey(item) === itemToKey(newSelectedItem)
|
|
@@ -6807,7 +6879,7 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6807
6879
|
const { type, selectedItem: selectedItem2 } = changes;
|
|
6808
6880
|
const inputValueMatchesSelectedItem = selectedItem2 != null && inputValue2 === itemToString(selectedItem2);
|
|
6809
6881
|
const inputValueIsEmpty = inputValue2 == null || inputValue2 === "";
|
|
6810
|
-
if (type === useCombobox
|
|
6882
|
+
if (type === useCombobox.stateChangeTypes.InputKeyDownEnter || type === useCombobox.stateChangeTypes.ItemClick) {
|
|
6811
6883
|
setItems(itemsProp);
|
|
6812
6884
|
setHasExactMatch(true);
|
|
6813
6885
|
} else if (!inputValueMatchesSelectedItem && !inputValueIsEmpty) {
|
|
@@ -6929,7 +7001,7 @@ const ComboboxLegacyMultiple = function(props) {
|
|
|
6929
7001
|
style: { ...style, ...layoutStyles },
|
|
6930
7002
|
ref: wrapperDivRef,
|
|
6931
7003
|
children: /* @__PURE__ */ jsx(
|
|
6932
|
-
|
|
7004
|
+
Popover,
|
|
6933
7005
|
{
|
|
6934
7006
|
root,
|
|
6935
7007
|
open: !isDisabled && isOpen,
|
|
@@ -7104,7 +7176,7 @@ const SelectLegacySingle = function(props) {
|
|
|
7104
7176
|
style: { ...style, ...layoutStyles },
|
|
7105
7177
|
ref: wrapperDivRef,
|
|
7106
7178
|
children: /* @__PURE__ */ jsx(
|
|
7107
|
-
|
|
7179
|
+
Popover,
|
|
7108
7180
|
{
|
|
7109
7181
|
root,
|
|
7110
7182
|
open: isOpen,
|
|
@@ -7344,7 +7416,7 @@ const SelectLegacyMultiple = function(props) {
|
|
|
7344
7416
|
style: { ...style, ...layoutStyles },
|
|
7345
7417
|
ref: wrapperDivRef,
|
|
7346
7418
|
children: /* @__PURE__ */ jsx(
|
|
7347
|
-
|
|
7419
|
+
Popover,
|
|
7348
7420
|
{
|
|
7349
7421
|
root,
|
|
7350
7422
|
open: !isDisabled && isOpen,
|
|
@@ -7823,7 +7895,7 @@ const ComboboxLegacyList = function({
|
|
|
7823
7895
|
{
|
|
7824
7896
|
...getMenuProps(rest),
|
|
7825
7897
|
"data-anv": "combobox-list",
|
|
7826
|
-
className: cx(styles$1["listview"], styles$
|
|
7898
|
+
className: cx(styles$1["listview"], styles$3["listview"]),
|
|
7827
7899
|
style: {
|
|
7828
7900
|
display: items.length || hasAddNew ? void 0 : "none",
|
|
7829
7901
|
overflow: "auto"
|
|
@@ -7843,7 +7915,7 @@ const ComboboxLegacyList = function({
|
|
|
7843
7915
|
{
|
|
7844
7916
|
...getMenuProps(rest),
|
|
7845
7917
|
"data-anv": "combobox-list",
|
|
7846
|
-
className: styles$
|
|
7918
|
+
className: styles$4["listbox"],
|
|
7847
7919
|
style: {
|
|
7848
7920
|
display: items.length || hasAddNew ? void 0 : "none",
|
|
7849
7921
|
overflow: "auto"
|
|
@@ -7914,10 +7986,10 @@ const ComboboxLegacyItem = function({
|
|
|
7914
7986
|
}),
|
|
7915
7987
|
className: cx(
|
|
7916
7988
|
styles$1["listview-option"],
|
|
7917
|
-
styles$
|
|
7989
|
+
styles$3["listview-option"]
|
|
7918
7990
|
),
|
|
7919
7991
|
children: [
|
|
7920
|
-
/* @__PURE__ */ jsx("div", { className: cx(styles$1["cell"], styles$
|
|
7992
|
+
/* @__PURE__ */ jsx("div", { className: cx(styles$1["cell"], styles$3["cell"]), children: /* @__PURE__ */ jsx("div", { className: checkboxStyles["wrapper"], children: /* @__PURE__ */ jsxs("div", { className: checkboxStyles["checkbox"], children: [
|
|
7921
7993
|
/* @__PURE__ */ jsx(
|
|
7922
7994
|
"input",
|
|
7923
7995
|
{
|
|
@@ -7995,7 +8067,7 @@ const ComboboxLegacyItem = function({
|
|
|
7995
8067
|
/* @__PURE__ */ jsx(
|
|
7996
8068
|
Flex,
|
|
7997
8069
|
{
|
|
7998
|
-
className: styles$
|
|
8070
|
+
className: styles$4["children"],
|
|
7999
8071
|
grow: 1,
|
|
8000
8072
|
shrink: 1,
|
|
8001
8073
|
alignItems,
|
|
@@ -8073,1186 +8145,1279 @@ const ComboboxLegacyEmpty = function({
|
|
|
8073
8145
|
return !items.length ? children : null;
|
|
8074
8146
|
};
|
|
8075
8147
|
|
|
8076
|
-
const
|
|
8148
|
+
const ComboboxEmptyElement = function({
|
|
8149
|
+
children
|
|
8150
|
+
}) {
|
|
8151
|
+
const { items, setHasEmpty } = useCombobox$1();
|
|
8152
|
+
useEffect(() => {
|
|
8153
|
+
setHasEmpty?.(true);
|
|
8154
|
+
return () => {
|
|
8155
|
+
setHasEmpty?.(false);
|
|
8156
|
+
};
|
|
8157
|
+
});
|
|
8158
|
+
if (!supportsPopover()) return;
|
|
8159
|
+
return !items.length ? children : null;
|
|
8160
|
+
};
|
|
8161
|
+
const ComboboxEmpty = function({
|
|
8162
|
+
children
|
|
8163
|
+
}) {
|
|
8164
|
+
if (!supportsPopover())
|
|
8165
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyEmpty, { children });
|
|
8166
|
+
return /* @__PURE__ */ jsx(ComboboxEmptyElement, { children });
|
|
8167
|
+
};
|
|
8168
|
+
|
|
8169
|
+
const item = "_item_156am_18";
|
|
8170
|
+
const group = "_group_156am_31";
|
|
8171
|
+
const combobox = "_combobox_156am_46";
|
|
8172
|
+
const listview = "_listview_156am_55";
|
|
8173
|
+
const empty = "_empty_156am_63";
|
|
8174
|
+
const Icon = "_Icon_156am_108";
|
|
8175
|
+
const styles = {
|
|
8176
|
+
item: item,
|
|
8177
|
+
group: group,
|
|
8178
|
+
combobox: combobox,
|
|
8179
|
+
"popover-content": "_popover-content_156am_50",
|
|
8180
|
+
listview: listview,
|
|
8181
|
+
"loading-spinner": "_loading-spinner_156am_59",
|
|
8182
|
+
empty: empty,
|
|
8183
|
+
"group-title": "_group-title_156am_74",
|
|
8184
|
+
Icon: Icon,
|
|
8185
|
+
"listview-option": "_listview-option_156am_113"
|
|
8186
|
+
};
|
|
8187
|
+
|
|
8188
|
+
function useGroups({
|
|
8189
|
+
items,
|
|
8190
|
+
groupBy,
|
|
8191
|
+
groupToString,
|
|
8192
|
+
groupSorter = (a, b) => `${a}`.localeCompare(`${b}`)
|
|
8193
|
+
}) {
|
|
8194
|
+
const { groups, orderedItems } = useMemo(() => {
|
|
8195
|
+
if (!groupBy) return { groups: [], orderedItems: items };
|
|
8196
|
+
const groupsSansItems = [];
|
|
8197
|
+
const groupedItems = {};
|
|
8198
|
+
items.forEach((item) => {
|
|
8199
|
+
const groupKey = item[groupBy];
|
|
8200
|
+
if (!groupedItems[groupKey]) {
|
|
8201
|
+
groupedItems[groupKey] = [];
|
|
8202
|
+
}
|
|
8203
|
+
groupedItems[groupKey].push(item);
|
|
8204
|
+
});
|
|
8205
|
+
Object.keys(groupedItems).forEach((key) => {
|
|
8206
|
+
groupsSansItems.push({ key, label: groupToString?.(key) ?? key });
|
|
8207
|
+
});
|
|
8208
|
+
groupsSansItems.sort((a, b) => groupSorter(a.key, b.key));
|
|
8209
|
+
const orderedItems2 = [];
|
|
8210
|
+
const groups2 = groupsSansItems.map((group) => ({
|
|
8211
|
+
...group,
|
|
8212
|
+
items: groupedItems[group.key].map((item) => {
|
|
8213
|
+
orderedItems2.push(item);
|
|
8214
|
+
return item;
|
|
8215
|
+
})
|
|
8216
|
+
}));
|
|
8217
|
+
return { groups: groups2, orderedItems: orderedItems2 };
|
|
8218
|
+
}, [groupBy, groupSorter, groupToString, items]);
|
|
8219
|
+
return { groups, orderedItems };
|
|
8220
|
+
}
|
|
8221
|
+
|
|
8222
|
+
const SelectSingle = function(props) {
|
|
8077
8223
|
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
8078
8224
|
const {
|
|
8079
|
-
// variant: variantProp = "combobox",
|
|
8080
8225
|
className,
|
|
8081
8226
|
style,
|
|
8082
|
-
|
|
8083
|
-
|
|
8084
|
-
error,
|
|
8085
|
-
hint,
|
|
8086
|
-
description,
|
|
8087
|
-
required,
|
|
8088
|
-
moreInfo,
|
|
8089
|
-
openMoreInfo,
|
|
8090
|
-
prefix,
|
|
8091
|
-
suffix,
|
|
8092
|
-
maxRows,
|
|
8093
|
-
selectedItemProps = () => ({}),
|
|
8094
|
-
id,
|
|
8095
|
-
placeholder,
|
|
8227
|
+
children,
|
|
8228
|
+
open,
|
|
8096
8229
|
disabled,
|
|
8097
8230
|
readOnly,
|
|
8231
|
+
items,
|
|
8232
|
+
itemToString: itemToStringProp,
|
|
8233
|
+
itemToKey: itemToKeyProp,
|
|
8234
|
+
onChange,
|
|
8235
|
+
disableClearSelection = false,
|
|
8236
|
+
disableCloseOnClickOutside = false,
|
|
8237
|
+
disableMatchReferenceWidth = false,
|
|
8238
|
+
disableCloseOnSelectItem = false,
|
|
8239
|
+
loading = false,
|
|
8240
|
+
minPopoverHeight,
|
|
8241
|
+
root,
|
|
8242
|
+
environment: environmentProp,
|
|
8243
|
+
groupBy,
|
|
8244
|
+
groupToString,
|
|
8098
8245
|
...rest
|
|
8099
8246
|
} = componentProps;
|
|
8247
|
+
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
8248
|
+
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
8249
|
+
const [hasEmpty, setHasEmpty] = useState(false);
|
|
8250
|
+
const [disabledItems, setDisabledItems] = useState([]);
|
|
8251
|
+
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
8252
|
+
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
8253
|
+
const referenceRef = useRef(null);
|
|
8254
|
+
const contentRef = useRef(null);
|
|
8255
|
+
const handleOutsidePress = (_e) => {
|
|
8256
|
+
if (disableCloseOnClickOutside) return;
|
|
8257
|
+
closeMenu();
|
|
8258
|
+
};
|
|
8259
|
+
const { ref: wrapperDivRef, environment } = useDownshiftEnvironment$1();
|
|
8260
|
+
const itemToString = itemToStringProp ?? defaultItemToString$1;
|
|
8261
|
+
const itemToKey = itemToKeyProp ?? defaultItemToKey$1;
|
|
8262
|
+
const { groups, orderedItems } = useGroups({
|
|
8263
|
+
items,
|
|
8264
|
+
groupBy,
|
|
8265
|
+
groupToString
|
|
8266
|
+
});
|
|
8100
8267
|
const {
|
|
8101
|
-
|
|
8102
|
-
disableClearSelection,
|
|
8103
|
-
itemToString,
|
|
8268
|
+
isOpen,
|
|
8104
8269
|
getLabelProps,
|
|
8105
|
-
getInputProps,
|
|
8106
8270
|
getToggleButtonProps,
|
|
8107
8271
|
getMenuProps,
|
|
8272
|
+
getItemProps,
|
|
8273
|
+
highlightedIndex,
|
|
8108
8274
|
selectedItem,
|
|
8109
|
-
selectedItems,
|
|
8110
|
-
getSelectedItemProps,
|
|
8111
|
-
getDropdownProps,
|
|
8112
|
-
reset,
|
|
8113
|
-
removeSelectedItem,
|
|
8114
8275
|
selectItem,
|
|
8115
8276
|
inputValue,
|
|
8116
|
-
|
|
8117
|
-
|
|
8118
|
-
|
|
8119
|
-
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
|
|
8126
|
-
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
-
|
|
8134
|
-
|
|
8135
|
-
|
|
8136
|
-
|
|
8137
|
-
|
|
8277
|
+
closeMenu
|
|
8278
|
+
} = useSelect({
|
|
8279
|
+
...rest,
|
|
8280
|
+
items: orderedItems,
|
|
8281
|
+
itemToString,
|
|
8282
|
+
itemToKey,
|
|
8283
|
+
isOpen: open,
|
|
8284
|
+
initialIsOpen: open,
|
|
8285
|
+
environment: environmentProp ?? environment,
|
|
8286
|
+
// NOTE: Reducer needs to be pure, side-effects should be in event handlers
|
|
8287
|
+
stateReducer(state, { type, changes }) {
|
|
8288
|
+
switch (type) {
|
|
8289
|
+
case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
|
|
8290
|
+
case useSelect.stateChangeTypes.ItemClick:
|
|
8291
|
+
return {
|
|
8292
|
+
...changes,
|
|
8293
|
+
isOpen: open != null ? open : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
8294
|
+
highlightedIndex: disableCloseOnSelectItem ? state.highlightedIndex : changes.highlightedIndex
|
|
8295
|
+
};
|
|
8296
|
+
default:
|
|
8297
|
+
return changes;
|
|
8298
|
+
}
|
|
8299
|
+
},
|
|
8300
|
+
onSelectedItemChange(changes) {
|
|
8301
|
+
const { selectedItem: selectedItem2 } = changes;
|
|
8302
|
+
if (onChange != null)
|
|
8303
|
+
onChange(selectedItem2 != null ? selectedItem2 : null);
|
|
8304
|
+
},
|
|
8305
|
+
isItemDisabled(item) {
|
|
8306
|
+
if (isDisabled || isReadOnly) {
|
|
8307
|
+
return !!isDisabled || !!isReadOnly;
|
|
8308
|
+
}
|
|
8309
|
+
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
8310
|
+
return true;
|
|
8311
|
+
}
|
|
8312
|
+
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
8313
|
+
return true;
|
|
8314
|
+
}
|
|
8315
|
+
if (disabledItems.includes(item)) {
|
|
8316
|
+
return true;
|
|
8317
|
+
}
|
|
8318
|
+
return false;
|
|
8138
8319
|
}
|
|
8139
|
-
};
|
|
8140
|
-
const labelProps = getLabelProps({
|
|
8141
|
-
required,
|
|
8142
|
-
moreInfo,
|
|
8143
|
-
openMoreInfo
|
|
8144
8320
|
});
|
|
8145
|
-
|
|
8146
|
-
|
|
8147
|
-
|
|
8148
|
-
|
|
8149
|
-
|
|
8150
|
-
|
|
8151
|
-
|
|
8152
|
-
|
|
8153
|
-
|
|
8154
|
-
|
|
8155
|
-
|
|
8156
|
-
|
|
8157
|
-
|
|
8158
|
-
|
|
8159
|
-
|
|
8160
|
-
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
|
|
8164
|
-
|
|
8165
|
-
|
|
8166
|
-
|
|
8167
|
-
|
|
8168
|
-
|
|
8169
|
-
|
|
8170
|
-
|
|
8171
|
-
|
|
8172
|
-
|
|
8173
|
-
|
|
8174
|
-
|
|
8175
|
-
|
|
8176
|
-
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
|
|
8186
|
-
|
|
8187
|
-
|
|
8188
|
-
inputWrapperProps,
|
|
8189
|
-
toggleButtonProps,
|
|
8190
|
-
itemToString,
|
|
8191
|
-
removeSelectedItem,
|
|
8192
|
-
variant: select ? "select" : "combobox",
|
|
8193
|
-
disableClearSelection,
|
|
8194
|
-
selectedItem,
|
|
8195
|
-
selectedItems,
|
|
8196
|
-
inputValue,
|
|
8197
|
-
disabled: isDisabled,
|
|
8198
|
-
readOnly: isReadOnly,
|
|
8199
|
-
referenceRef,
|
|
8200
|
-
onBlur: handleBlur,
|
|
8201
|
-
onClearButtonClick: handleClearButtonClick,
|
|
8202
|
-
chipProps: (item, index) => {
|
|
8203
|
-
if (getSelectedItemProps != null) {
|
|
8204
|
-
const { onClick: _, ...chipProps } = getSelectedItemProps({
|
|
8205
|
-
selectedItem: item,
|
|
8206
|
-
index
|
|
8207
|
-
});
|
|
8208
|
-
return chipProps;
|
|
8209
|
-
}
|
|
8210
|
-
return {};
|
|
8321
|
+
useEffect(() => {
|
|
8322
|
+
setIsDisabled(disabled);
|
|
8323
|
+
}, [disabled]);
|
|
8324
|
+
useEffect(() => {
|
|
8325
|
+
setIsReadOnly(readOnly);
|
|
8326
|
+
}, [readOnly]);
|
|
8327
|
+
return /* @__PURE__ */ jsx(
|
|
8328
|
+
ComboboxContext.Provider,
|
|
8329
|
+
{
|
|
8330
|
+
value: {
|
|
8331
|
+
multiple: false,
|
|
8332
|
+
select: true,
|
|
8333
|
+
disableClearSelection,
|
|
8334
|
+
items: orderedItems,
|
|
8335
|
+
itemToString,
|
|
8336
|
+
itemToKey,
|
|
8337
|
+
isOpen,
|
|
8338
|
+
getLabelProps,
|
|
8339
|
+
getToggleButtonProps,
|
|
8340
|
+
getMenuProps,
|
|
8341
|
+
getItemProps,
|
|
8342
|
+
highlightedIndex,
|
|
8343
|
+
selectedItem,
|
|
8344
|
+
selectedItems: [],
|
|
8345
|
+
disabledItems,
|
|
8346
|
+
setDisabledItems,
|
|
8347
|
+
selectItem,
|
|
8348
|
+
inputValue,
|
|
8349
|
+
isDisabled,
|
|
8350
|
+
isReadOnly,
|
|
8351
|
+
setIsReadOnly,
|
|
8352
|
+
setIsDisabled,
|
|
8353
|
+
hasDisabledPopover,
|
|
8354
|
+
setHasDisabledPopover,
|
|
8355
|
+
hasEmpty,
|
|
8356
|
+
setHasEmpty,
|
|
8357
|
+
loading,
|
|
8358
|
+
referenceRef,
|
|
8359
|
+
contentRef,
|
|
8360
|
+
closeMenu,
|
|
8361
|
+
groups,
|
|
8362
|
+
groupBy,
|
|
8363
|
+
groupToString
|
|
8211
8364
|
},
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
|
-
|
|
8236
|
-
|
|
8237
|
-
})
|
|
8238
|
-
) : getInputProps != null ? getInputProps({
|
|
8239
|
-
...rest,
|
|
8240
|
-
disabled: isDisabled,
|
|
8241
|
-
readOnly: isReadOnly,
|
|
8242
|
-
required,
|
|
8243
|
-
autoComplete: "off",
|
|
8244
|
-
id,
|
|
8245
|
-
ref: inputRef
|
|
8246
|
-
}) : {}
|
|
8247
|
-
}
|
|
8365
|
+
children: /* @__PURE__ */ jsx(
|
|
8366
|
+
"div",
|
|
8367
|
+
{
|
|
8368
|
+
className: ComboboxClassNames,
|
|
8369
|
+
"data-anv": "combobox",
|
|
8370
|
+
style: { ...style, ...layoutStyles },
|
|
8371
|
+
ref: wrapperDivRef,
|
|
8372
|
+
children: /* @__PURE__ */ jsx(
|
|
8373
|
+
Popover,
|
|
8374
|
+
{
|
|
8375
|
+
open: isOpen,
|
|
8376
|
+
noPadding: true,
|
|
8377
|
+
disableCaret: true,
|
|
8378
|
+
fitScreen: true,
|
|
8379
|
+
disableFlipFallback: true,
|
|
8380
|
+
placement: "bottom-start",
|
|
8381
|
+
matchReferenceWidth: !disableMatchReferenceWidth,
|
|
8382
|
+
disableCloseOnClickOutside,
|
|
8383
|
+
onOutsidePress: handleOutsidePress,
|
|
8384
|
+
minHeight: minPopoverHeight,
|
|
8385
|
+
children
|
|
8386
|
+
}
|
|
8387
|
+
)
|
|
8388
|
+
}
|
|
8389
|
+
)
|
|
8248
8390
|
}
|
|
8249
8391
|
);
|
|
8250
8392
|
};
|
|
8251
|
-
const
|
|
8252
|
-
|
|
8253
|
-
return /* @__PURE__ */ jsx(ComboboxLegacyTrigger, { ...props, variant: "combobox" });
|
|
8254
|
-
return /* @__PURE__ */ jsx(ComboboxTrigger, { ...props, variant: "combobox" });
|
|
8255
|
-
};
|
|
8256
|
-
const ComboboxSelectTrigger$1 = function(props) {
|
|
8257
|
-
if (!supportsPopover())
|
|
8258
|
-
return /* @__PURE__ */ jsx(ComboboxLegacyTrigger, { ...props, variant: "select" });
|
|
8259
|
-
return /* @__PURE__ */ jsx(ComboboxTrigger, { ...props, variant: "select" });
|
|
8260
|
-
};
|
|
8261
|
-
|
|
8262
|
-
const item = "_item_1wcw0_2";
|
|
8263
|
-
const group = "_group_1wcw0_15";
|
|
8264
|
-
const combobox = "_combobox_1wcw0_30";
|
|
8265
|
-
const listview = "_listview_1wcw0_39";
|
|
8266
|
-
const empty = "_empty_1wcw0_47";
|
|
8267
|
-
const Icon = "_Icon_1wcw0_92";
|
|
8268
|
-
const styles = {
|
|
8269
|
-
item: item,
|
|
8270
|
-
group: group,
|
|
8271
|
-
combobox: combobox,
|
|
8272
|
-
"popover-content": "_popover-content_1wcw0_34",
|
|
8273
|
-
listview: listview,
|
|
8274
|
-
"loading-spinner": "_loading-spinner_1wcw0_43",
|
|
8275
|
-
empty: empty,
|
|
8276
|
-
"group-title": "_group-title_1wcw0_58",
|
|
8277
|
-
Icon: Icon,
|
|
8278
|
-
"listview-option": "_listview-option_1wcw0_97"
|
|
8279
|
-
};
|
|
8280
|
-
|
|
8281
|
-
const ComboboxGroupContext = createContext(null);
|
|
8282
|
-
const ComboboxGroupProvider = ComboboxGroupContext.Provider;
|
|
8283
|
-
|
|
8284
|
-
const ComboboxContentElement = function({
|
|
8285
|
-
children,
|
|
8286
|
-
className,
|
|
8287
|
-
disablePopover = false,
|
|
8288
|
-
...rest
|
|
8289
|
-
}) {
|
|
8393
|
+
const SelectMultiple = function(props) {
|
|
8394
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
8290
8395
|
const {
|
|
8396
|
+
className,
|
|
8397
|
+
style,
|
|
8398
|
+
children,
|
|
8399
|
+
open,
|
|
8291
8400
|
items,
|
|
8292
|
-
|
|
8293
|
-
|
|
8294
|
-
|
|
8295
|
-
|
|
8296
|
-
|
|
8297
|
-
|
|
8298
|
-
|
|
8299
|
-
|
|
8300
|
-
|
|
8301
|
-
|
|
8302
|
-
|
|
8303
|
-
|
|
8304
|
-
|
|
8305
|
-
|
|
8306
|
-
|
|
8307
|
-
|
|
8308
|
-
|
|
8309
|
-
|
|
8310
|
-
|
|
8311
|
-
|
|
8312
|
-
|
|
8313
|
-
|
|
8314
|
-
|
|
8315
|
-
|
|
8316
|
-
|
|
8317
|
-
|
|
8318
|
-
|
|
8401
|
+
itemToString: itemToStringProp,
|
|
8402
|
+
itemToKey: itemToKeyProp,
|
|
8403
|
+
onChange,
|
|
8404
|
+
onSelectedItemsChange,
|
|
8405
|
+
onStateChange,
|
|
8406
|
+
disableCloseOnClickOutside = false,
|
|
8407
|
+
disableMatchReferenceWidth = false,
|
|
8408
|
+
disableCloseOnSelectItem = false,
|
|
8409
|
+
loading = false,
|
|
8410
|
+
minPopoverHeight,
|
|
8411
|
+
root,
|
|
8412
|
+
disabled,
|
|
8413
|
+
readOnly,
|
|
8414
|
+
stateReducer: _,
|
|
8415
|
+
initialSelectedItems,
|
|
8416
|
+
initialActiveIndex,
|
|
8417
|
+
defaultSelectedItems,
|
|
8418
|
+
defaultActiveIndex,
|
|
8419
|
+
activeIndex: activeIndexProp,
|
|
8420
|
+
selectedItems: selectedItemsProp,
|
|
8421
|
+
environment: environmentProp,
|
|
8422
|
+
groupBy,
|
|
8423
|
+
groupToString,
|
|
8424
|
+
...rest
|
|
8425
|
+
} = componentProps;
|
|
8426
|
+
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
8427
|
+
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
8428
|
+
const [hasEmpty, setHasEmpty] = useState(false);
|
|
8429
|
+
const [disabledItems, setDisabledItems] = useState([]);
|
|
8430
|
+
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
8431
|
+
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
8432
|
+
const referenceRef = useRef(null);
|
|
8433
|
+
const contentRef = useRef(null);
|
|
8434
|
+
const handleOutsidePress = (_e) => {
|
|
8435
|
+
if (disableCloseOnClickOutside) return;
|
|
8436
|
+
closeMenu();
|
|
8319
8437
|
};
|
|
8320
|
-
const
|
|
8321
|
-
|
|
8322
|
-
|
|
8323
|
-
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
|
|
8330
|
-
|
|
8331
|
-
|
|
8332
|
-
|
|
8333
|
-
|
|
8334
|
-
|
|
8335
|
-
|
|
8336
|
-
|
|
8337
|
-
|
|
8338
|
-
|
|
8339
|
-
|
|
8340
|
-
|
|
8341
|
-
|
|
8342
|
-
|
|
8343
|
-
|
|
8344
|
-
//
|
|
8345
|
-
|
|
8346
|
-
|
|
8347
|
-
|
|
8348
|
-
|
|
8438
|
+
const { ref: wrapperDivRef, environment } = useDownshiftEnvironment$1();
|
|
8439
|
+
const itemToString = itemToStringProp ?? defaultItemToString$1;
|
|
8440
|
+
const itemToKey = itemToKeyProp ?? defaultItemToKey$1;
|
|
8441
|
+
const { groups, orderedItems } = useGroups({ items, groupBy, groupToString });
|
|
8442
|
+
const {
|
|
8443
|
+
getSelectedItemProps,
|
|
8444
|
+
getDropdownProps,
|
|
8445
|
+
reset,
|
|
8446
|
+
selectedItems,
|
|
8447
|
+
addSelectedItem,
|
|
8448
|
+
removeSelectedItem,
|
|
8449
|
+
setSelectedItems
|
|
8450
|
+
} = useMultipleSelection({
|
|
8451
|
+
itemToKey,
|
|
8452
|
+
initialSelectedItems,
|
|
8453
|
+
initialActiveIndex,
|
|
8454
|
+
defaultSelectedItems,
|
|
8455
|
+
defaultActiveIndex,
|
|
8456
|
+
activeIndex: activeIndexProp,
|
|
8457
|
+
selectedItems: selectedItemsProp,
|
|
8458
|
+
environment: environmentProp ?? environment,
|
|
8459
|
+
stateReducer(state, { type, changes }) {
|
|
8460
|
+
switch (type) {
|
|
8461
|
+
// the Chip itself will handle "Backspace" and "Delete"
|
|
8462
|
+
// just return previous state
|
|
8463
|
+
case useMultipleSelection.stateChangeTypes.SelectedItemKeyDownBackspace:
|
|
8464
|
+
case useMultipleSelection.stateChangeTypes.SelectedItemKeyDownDelete:
|
|
8465
|
+
return state;
|
|
8466
|
+
case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
|
|
8467
|
+
return { ...changes, activeIndex: -1 };
|
|
8468
|
+
case useMultipleSelection.stateChangeTypes.FunctionReset:
|
|
8469
|
+
return { ...changes, selectedItems: [] };
|
|
8470
|
+
default:
|
|
8471
|
+
return changes;
|
|
8472
|
+
}
|
|
8473
|
+
},
|
|
8474
|
+
onStateChange,
|
|
8475
|
+
onSelectedItemsChange(changes) {
|
|
8476
|
+
const { selectedItems: selectedItems2 } = changes;
|
|
8477
|
+
if (onChange != null) onChange(selectedItems2);
|
|
8478
|
+
if (onSelectedItemsChange != null) onSelectedItemsChange(changes);
|
|
8479
|
+
}
|
|
8349
8480
|
});
|
|
8350
|
-
const
|
|
8351
|
-
|
|
8352
|
-
|
|
8353
|
-
|
|
8354
|
-
|
|
8355
|
-
|
|
8356
|
-
|
|
8357
|
-
|
|
8358
|
-
|
|
8359
|
-
|
|
8360
|
-
|
|
8361
|
-
|
|
8362
|
-
|
|
8363
|
-
|
|
8364
|
-
|
|
8365
|
-
|
|
8366
|
-
|
|
8367
|
-
|
|
8368
|
-
|
|
8369
|
-
|
|
8370
|
-
|
|
8371
|
-
|
|
8372
|
-
|
|
8373
|
-
|
|
8374
|
-
|
|
8375
|
-
|
|
8376
|
-
|
|
8377
|
-
|
|
8378
|
-
|
|
8481
|
+
const {
|
|
8482
|
+
isOpen,
|
|
8483
|
+
getLabelProps,
|
|
8484
|
+
getToggleButtonProps,
|
|
8485
|
+
getMenuProps,
|
|
8486
|
+
getItemProps,
|
|
8487
|
+
highlightedIndex,
|
|
8488
|
+
selectedItem,
|
|
8489
|
+
selectItem,
|
|
8490
|
+
inputValue,
|
|
8491
|
+
closeMenu
|
|
8492
|
+
} = useSelect({
|
|
8493
|
+
...rest,
|
|
8494
|
+
items: orderedItems,
|
|
8495
|
+
itemToString,
|
|
8496
|
+
itemToKey,
|
|
8497
|
+
selectedItem: null,
|
|
8498
|
+
isOpen: open,
|
|
8499
|
+
initialIsOpen: open,
|
|
8500
|
+
environment: environmentProp ?? environment,
|
|
8501
|
+
// NOTE: Reducer needs to be pure, side-effects should be in event handlers
|
|
8502
|
+
stateReducer(state, { type, changes }) {
|
|
8503
|
+
switch (type) {
|
|
8504
|
+
case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
|
|
8505
|
+
case useSelect.stateChangeTypes.ItemClick:
|
|
8506
|
+
return {
|
|
8507
|
+
...changes,
|
|
8508
|
+
isOpen: open != null ? open : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
8509
|
+
highlightedIndex: disableCloseOnSelectItem ? state.highlightedIndex : changes.highlightedIndex
|
|
8510
|
+
};
|
|
8511
|
+
default:
|
|
8512
|
+
return changes;
|
|
8513
|
+
}
|
|
8514
|
+
},
|
|
8515
|
+
onStateChange(changes) {
|
|
8516
|
+
const { type, selectedItem: newSelectedItem } = changes;
|
|
8517
|
+
switch (type) {
|
|
8518
|
+
case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
|
|
8519
|
+
case useSelect.stateChangeTypes.ItemClick:
|
|
8520
|
+
case useSelect.stateChangeTypes.ToggleButtonBlur:
|
|
8521
|
+
if (newSelectedItem != null) {
|
|
8522
|
+
const itemAlreadySelected = selectedItems.some(
|
|
8523
|
+
(item) => itemToKey(item) === itemToKey(newSelectedItem)
|
|
8524
|
+
);
|
|
8525
|
+
if (itemAlreadySelected) {
|
|
8526
|
+
removeSelectedItem(newSelectedItem);
|
|
8527
|
+
} else {
|
|
8528
|
+
addSelectedItem(newSelectedItem);
|
|
8529
|
+
}
|
|
8530
|
+
}
|
|
8531
|
+
break;
|
|
8532
|
+
}
|
|
8533
|
+
onStateChange?.(changes);
|
|
8534
|
+
},
|
|
8535
|
+
isItemDisabled(item) {
|
|
8536
|
+
if (isDisabled || isReadOnly) {
|
|
8537
|
+
return !!isDisabled || !!isReadOnly;
|
|
8538
|
+
}
|
|
8539
|
+
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
8540
|
+
return true;
|
|
8541
|
+
}
|
|
8542
|
+
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
8543
|
+
return true;
|
|
8544
|
+
}
|
|
8545
|
+
if (disabledItems.includes(item)) {
|
|
8546
|
+
return true;
|
|
8547
|
+
}
|
|
8548
|
+
return false;
|
|
8379
8549
|
}
|
|
8380
|
-
)
|
|
8381
|
-
|
|
8550
|
+
});
|
|
8551
|
+
useEffect(() => {
|
|
8552
|
+
setIsDisabled(disabled);
|
|
8553
|
+
}, [disabled]);
|
|
8554
|
+
useEffect(() => {
|
|
8555
|
+
setIsReadOnly(readOnly);
|
|
8556
|
+
}, [readOnly]);
|
|
8557
|
+
return /* @__PURE__ */ jsx(
|
|
8558
|
+
ComboboxContext.Provider,
|
|
8382
8559
|
{
|
|
8383
|
-
|
|
8384
|
-
|
|
8385
|
-
|
|
8386
|
-
|
|
8387
|
-
|
|
8388
|
-
|
|
8389
|
-
|
|
8390
|
-
|
|
8560
|
+
value: {
|
|
8561
|
+
multiple: true,
|
|
8562
|
+
select: true,
|
|
8563
|
+
items: orderedItems,
|
|
8564
|
+
itemToString,
|
|
8565
|
+
itemToKey,
|
|
8566
|
+
isOpen,
|
|
8567
|
+
getLabelProps,
|
|
8568
|
+
getToggleButtonProps,
|
|
8569
|
+
getMenuProps,
|
|
8570
|
+
getItemProps,
|
|
8571
|
+
highlightedIndex,
|
|
8572
|
+
selectedItem,
|
|
8573
|
+
selectedItems,
|
|
8574
|
+
disabledItems,
|
|
8575
|
+
setDisabledItems,
|
|
8576
|
+
getSelectedItemProps,
|
|
8577
|
+
getDropdownProps,
|
|
8578
|
+
reset,
|
|
8579
|
+
addSelectedItem,
|
|
8580
|
+
removeSelectedItem,
|
|
8581
|
+
setSelectedItems,
|
|
8582
|
+
selectItem,
|
|
8583
|
+
inputValue,
|
|
8584
|
+
isDisabled,
|
|
8585
|
+
isReadOnly,
|
|
8586
|
+
setIsReadOnly,
|
|
8587
|
+
setIsDisabled,
|
|
8588
|
+
hasDisabledPopover,
|
|
8589
|
+
setHasDisabledPopover,
|
|
8590
|
+
hasEmpty,
|
|
8591
|
+
setHasEmpty,
|
|
8592
|
+
loading,
|
|
8593
|
+
referenceRef,
|
|
8594
|
+
contentRef,
|
|
8595
|
+
closeMenu,
|
|
8596
|
+
groupBy,
|
|
8597
|
+
groupToString,
|
|
8598
|
+
groups
|
|
8599
|
+
},
|
|
8600
|
+
children: /* @__PURE__ */ jsx(
|
|
8601
|
+
"div",
|
|
8391
8602
|
{
|
|
8392
|
-
|
|
8393
|
-
|
|
8394
|
-
|
|
8395
|
-
|
|
8396
|
-
children: /* @__PURE__ */
|
|
8397
|
-
|
|
8398
|
-
|
|
8399
|
-
|
|
8400
|
-
|
|
8401
|
-
|
|
8402
|
-
|
|
8403
|
-
|
|
8404
|
-
|
|
8405
|
-
|
|
8406
|
-
|
|
8407
|
-
|
|
8603
|
+
className: ComboboxClassNames,
|
|
8604
|
+
"data-anv": "combobox",
|
|
8605
|
+
style: { ...style, ...layoutStyles },
|
|
8606
|
+
ref: wrapperDivRef,
|
|
8607
|
+
children: /* @__PURE__ */ jsx(
|
|
8608
|
+
Popover,
|
|
8609
|
+
{
|
|
8610
|
+
open: !isDisabled && isOpen,
|
|
8611
|
+
noPadding: true,
|
|
8612
|
+
disableCaret: true,
|
|
8613
|
+
fitScreen: true,
|
|
8614
|
+
disableFlipFallback: true,
|
|
8615
|
+
placement: "bottom-start",
|
|
8616
|
+
matchReferenceWidth: !disableMatchReferenceWidth,
|
|
8617
|
+
disableCloseOnClickOutside,
|
|
8618
|
+
onOutsidePress: handleOutsidePress,
|
|
8619
|
+
minHeight: minPopoverHeight,
|
|
8620
|
+
children
|
|
8621
|
+
}
|
|
8622
|
+
)
|
|
8408
8623
|
}
|
|
8409
|
-
)
|
|
8624
|
+
)
|
|
8410
8625
|
}
|
|
8411
8626
|
);
|
|
8412
8627
|
};
|
|
8413
|
-
const
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
})
|
|
8419
|
-
if (!supportsPopover())
|
|
8420
|
-
return /* @__PURE__ */ jsx(
|
|
8421
|
-
ComboboxLegacyContent,
|
|
8422
|
-
{
|
|
8423
|
-
disablePopover,
|
|
8424
|
-
className,
|
|
8425
|
-
...rest,
|
|
8426
|
-
children
|
|
8427
|
-
}
|
|
8428
|
-
);
|
|
8429
|
-
return /* @__PURE__ */ jsx(
|
|
8430
|
-
ComboboxContentElement,
|
|
8431
|
-
{
|
|
8432
|
-
className,
|
|
8433
|
-
disablePopover,
|
|
8434
|
-
...rest,
|
|
8435
|
-
children
|
|
8628
|
+
const ComboboxSelect = function(props) {
|
|
8629
|
+
if (!supportsPopover()) {
|
|
8630
|
+
if (isMultiple(props)) {
|
|
8631
|
+
return /* @__PURE__ */ jsx(SelectLegacyMultiple, { ...props });
|
|
8632
|
+
} else {
|
|
8633
|
+
return /* @__PURE__ */ jsx(SelectLegacySingle, { ...props });
|
|
8436
8634
|
}
|
|
8437
|
-
|
|
8635
|
+
}
|
|
8636
|
+
if (isMultiple(props)) {
|
|
8637
|
+
return /* @__PURE__ */ jsx(SelectMultiple, { ...props });
|
|
8638
|
+
} else {
|
|
8639
|
+
return /* @__PURE__ */ jsx(SelectSingle, { ...props });
|
|
8640
|
+
}
|
|
8438
8641
|
};
|
|
8439
8642
|
|
|
8440
|
-
const
|
|
8643
|
+
const ComboboxGroupContext = createContext(null);
|
|
8644
|
+
const ComboboxGroupProvider = ComboboxGroupContext.Provider;
|
|
8645
|
+
|
|
8646
|
+
const ComboboxContentElement = function({
|
|
8441
8647
|
children,
|
|
8648
|
+
className,
|
|
8649
|
+
disablePopover = false,
|
|
8442
8650
|
...rest
|
|
8443
8651
|
}) {
|
|
8444
8652
|
const {
|
|
8445
|
-
getMenuProps,
|
|
8446
|
-
multiple,
|
|
8447
8653
|
items,
|
|
8448
|
-
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
|
|
8453
|
-
|
|
8454
|
-
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8654
|
+
itemToKey,
|
|
8655
|
+
inputValue,
|
|
8656
|
+
selectedItem,
|
|
8657
|
+
selectedItems,
|
|
8658
|
+
setHasDisabledPopover,
|
|
8659
|
+
getMenuProps,
|
|
8660
|
+
getItemProps,
|
|
8661
|
+
isDisabled,
|
|
8662
|
+
isReadOnly,
|
|
8663
|
+
contentRef,
|
|
8664
|
+
closeMenu,
|
|
8665
|
+
groups
|
|
8666
|
+
} = useCombobox$1();
|
|
8667
|
+
const ComboboxPopoverContentClassNames = cx(
|
|
8668
|
+
styles["popover-content"],
|
|
8669
|
+
className
|
|
8670
|
+
);
|
|
8671
|
+
useEffect(() => {
|
|
8672
|
+
setHasDisabledPopover(disablePopover);
|
|
8673
|
+
return () => {
|
|
8674
|
+
setHasDisabledPopover(false);
|
|
8675
|
+
};
|
|
8676
|
+
}, [disablePopover, setHasDisabledPopover]);
|
|
8677
|
+
const context = usePopoverContext();
|
|
8678
|
+
const handleBlur = (_e) => {
|
|
8679
|
+
if (context?.controlled) return;
|
|
8680
|
+
context?.popover.close?.(closeMenu);
|
|
8681
|
+
};
|
|
8682
|
+
const resolveChildren = (groupItems) => children?.({
|
|
8683
|
+
items: groupItems,
|
|
8684
|
+
inputValue,
|
|
8685
|
+
selectedItem,
|
|
8686
|
+
getMenuProps,
|
|
8687
|
+
getItemProps,
|
|
8688
|
+
listProps: {
|
|
8689
|
+
...getMenuProps({}, { suppressRefError: true }),
|
|
8690
|
+
style: {
|
|
8691
|
+
display: groupItems.length ? void 0 : "none",
|
|
8692
|
+
overflow: "auto"
|
|
8693
|
+
}
|
|
8694
|
+
},
|
|
8695
|
+
options: items.map((item, index) => ({
|
|
8696
|
+
optionProps: {
|
|
8697
|
+
...getItemProps({
|
|
8698
|
+
item,
|
|
8699
|
+
index
|
|
8700
|
+
}),
|
|
8701
|
+
tabIndex: disablePopover ? -1 : void 0,
|
|
8702
|
+
selected: itemToKey(selectedItem) === itemToKey(item) || selectedItems.some(
|
|
8703
|
+
(selectedItem2) => itemToKey(selectedItem2) === itemToKey(item)
|
|
8704
|
+
),
|
|
8705
|
+
disabled: !!isDisabled || !!isReadOnly
|
|
8706
|
+
// also see "isItemDisabled" function
|
|
8707
|
+
},
|
|
8708
|
+
item,
|
|
8709
|
+
index
|
|
8710
|
+
}))
|
|
8711
|
+
});
|
|
8712
|
+
const id = useId();
|
|
8713
|
+
return disablePopover ? /* @__PURE__ */ jsx(
|
|
8714
|
+
"div",
|
|
8715
|
+
{
|
|
8716
|
+
...rest,
|
|
8717
|
+
className: ComboboxPopoverContentClassNames,
|
|
8718
|
+
ref: contentRef,
|
|
8719
|
+
onBlur: handleBlur,
|
|
8720
|
+
children: groups?.length ? groups.map((group) => /* @__PURE__ */ jsx(ComboboxGroupProvider, { value: group, children: /* @__PURE__ */ jsx(
|
|
8721
|
+
"ul",
|
|
8458
8722
|
{
|
|
8459
|
-
|
|
8460
|
-
"
|
|
8461
|
-
|
|
8462
|
-
|
|
8463
|
-
|
|
8464
|
-
|
|
8465
|
-
|
|
8466
|
-
|
|
8723
|
+
"aria-labelledby": `${id}-group-${group.key}`,
|
|
8724
|
+
className: cx(styles["group"], styles$4["listbox"]),
|
|
8725
|
+
"data-anv": "combobox-group",
|
|
8726
|
+
role: "group",
|
|
8727
|
+
children: /* @__PURE__ */ jsxs("li", { children: [
|
|
8728
|
+
/* @__PURE__ */ jsx(
|
|
8729
|
+
Text,
|
|
8730
|
+
{
|
|
8731
|
+
className: styles["group-title"],
|
|
8732
|
+
id: `${id}-group-${group.key}`,
|
|
8733
|
+
variant: "eyebrow",
|
|
8734
|
+
children: group.label
|
|
8735
|
+
}
|
|
8736
|
+
),
|
|
8737
|
+
resolveChildren(group.items)
|
|
8738
|
+
] })
|
|
8467
8739
|
}
|
|
8468
|
-
),
|
|
8469
|
-
|
|
8470
|
-
|
|
8471
|
-
|
|
8472
|
-
|
|
8473
|
-
|
|
8740
|
+
) }, group.key)) : resolveChildren(items)
|
|
8741
|
+
}
|
|
8742
|
+
) : /* @__PURE__ */ jsx(
|
|
8743
|
+
Popover.Content,
|
|
8744
|
+
{
|
|
8745
|
+
"data-anv": "combobox-content",
|
|
8746
|
+
...rest,
|
|
8747
|
+
className: ComboboxPopoverContentClassNames,
|
|
8748
|
+
ref: getMenuProps({ ref: contentRef }, { suppressRefError: true }).ref,
|
|
8749
|
+
tabIndex: -1,
|
|
8750
|
+
onBlur: handleBlur,
|
|
8751
|
+
children: groups?.length ? groups.map((group) => /* @__PURE__ */ jsx(ComboboxGroupProvider, { value: group, children: /* @__PURE__ */ jsx(
|
|
8474
8752
|
"ul",
|
|
8475
8753
|
{
|
|
8476
|
-
|
|
8477
|
-
"
|
|
8478
|
-
|
|
8479
|
-
|
|
8480
|
-
|
|
8481
|
-
|
|
8482
|
-
|
|
8483
|
-
|
|
8754
|
+
"aria-labelledby": `${id}-group-${group.key}`,
|
|
8755
|
+
className: cx(styles["group"], styles$4["listbox"]),
|
|
8756
|
+
"data-anv": "combobox-group",
|
|
8757
|
+
role: "group",
|
|
8758
|
+
children: /* @__PURE__ */ jsxs("li", { children: [
|
|
8759
|
+
/* @__PURE__ */ jsx(
|
|
8760
|
+
Text,
|
|
8761
|
+
{
|
|
8762
|
+
className: styles["group-title"],
|
|
8763
|
+
id: `${id}-group-${group.key}`,
|
|
8764
|
+
variant: "eyebrow",
|
|
8765
|
+
children: group.label
|
|
8766
|
+
}
|
|
8767
|
+
),
|
|
8768
|
+
resolveChildren(group.items)
|
|
8769
|
+
] })
|
|
8484
8770
|
}
|
|
8485
|
-
),
|
|
8486
|
-
|
|
8487
|
-
|
|
8488
|
-
}
|
|
8771
|
+
) }, group.key)) : resolveChildren(items)
|
|
8772
|
+
}
|
|
8773
|
+
);
|
|
8489
8774
|
};
|
|
8490
|
-
const
|
|
8775
|
+
const ComboboxContent = function({
|
|
8491
8776
|
children,
|
|
8492
8777
|
className,
|
|
8778
|
+
disablePopover = false,
|
|
8493
8779
|
...rest
|
|
8494
8780
|
}) {
|
|
8495
8781
|
if (!supportsPopover())
|
|
8496
|
-
return /* @__PURE__ */ jsx(
|
|
8497
|
-
|
|
8782
|
+
return /* @__PURE__ */ jsx(
|
|
8783
|
+
ComboboxLegacyContent,
|
|
8784
|
+
{
|
|
8785
|
+
disablePopover,
|
|
8786
|
+
className,
|
|
8787
|
+
...rest,
|
|
8788
|
+
children
|
|
8789
|
+
}
|
|
8790
|
+
);
|
|
8791
|
+
return /* @__PURE__ */ jsx(
|
|
8792
|
+
ComboboxContentElement,
|
|
8793
|
+
{
|
|
8794
|
+
className,
|
|
8795
|
+
disablePopover,
|
|
8796
|
+
...rest,
|
|
8797
|
+
children
|
|
8798
|
+
}
|
|
8799
|
+
);
|
|
8498
8800
|
};
|
|
8499
8801
|
|
|
8500
|
-
const
|
|
8501
|
-
|
|
8502
|
-
disabled: disabledProp,
|
|
8503
|
-
item,
|
|
8504
|
-
index: indexProp,
|
|
8505
|
-
hideCheckbox,
|
|
8506
|
-
forceCloseOnSelect,
|
|
8507
|
-
forceClearInputValueOnSelect,
|
|
8508
|
-
alignItems,
|
|
8509
|
-
justifyItems,
|
|
8510
|
-
alignContent,
|
|
8511
|
-
justifyContent,
|
|
8512
|
-
placeItems,
|
|
8513
|
-
placeContent,
|
|
8514
|
-
gap,
|
|
8515
|
-
rowGap,
|
|
8516
|
-
columnGap,
|
|
8517
|
-
...rest
|
|
8518
|
-
}) {
|
|
8802
|
+
const ComboboxTrigger = function(props) {
|
|
8803
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
8519
8804
|
const {
|
|
8520
|
-
|
|
8521
|
-
|
|
8522
|
-
|
|
8805
|
+
// variant: variantProp = "combobox",
|
|
8806
|
+
className,
|
|
8807
|
+
style,
|
|
8808
|
+
label,
|
|
8809
|
+
size,
|
|
8810
|
+
error,
|
|
8811
|
+
hint,
|
|
8812
|
+
description,
|
|
8813
|
+
required,
|
|
8814
|
+
moreInfo,
|
|
8815
|
+
openMoreInfo,
|
|
8816
|
+
prefix,
|
|
8817
|
+
suffix,
|
|
8818
|
+
maxRows,
|
|
8819
|
+
selectedItemProps = () => ({}),
|
|
8820
|
+
id,
|
|
8821
|
+
placeholder,
|
|
8822
|
+
disabled,
|
|
8823
|
+
readOnly,
|
|
8824
|
+
...rest
|
|
8825
|
+
} = componentProps;
|
|
8826
|
+
const {
|
|
8827
|
+
select,
|
|
8828
|
+
disableClearSelection,
|
|
8829
|
+
itemToString,
|
|
8830
|
+
getLabelProps,
|
|
8831
|
+
getInputProps,
|
|
8832
|
+
getToggleButtonProps,
|
|
8833
|
+
getMenuProps,
|
|
8523
8834
|
selectedItem,
|
|
8524
8835
|
selectedItems,
|
|
8525
|
-
|
|
8526
|
-
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
|
-
|
|
8530
|
-
|
|
8531
|
-
|
|
8532
|
-
|
|
8533
|
-
|
|
8534
|
-
|
|
8535
|
-
|
|
8536
|
-
|
|
8537
|
-
|
|
8538
|
-
|
|
8539
|
-
|
|
8540
|
-
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8544
|
-
|
|
8545
|
-
|
|
8546
|
-
}, [
|
|
8547
|
-
|
|
8548
|
-
|
|
8549
|
-
|
|
8550
|
-
|
|
8551
|
-
|
|
8552
|
-
|
|
8553
|
-
return [...forceCloseOnSelectItems, item];
|
|
8554
|
-
}
|
|
8555
|
-
});
|
|
8836
|
+
getSelectedItemProps,
|
|
8837
|
+
getDropdownProps,
|
|
8838
|
+
reset,
|
|
8839
|
+
removeSelectedItem,
|
|
8840
|
+
selectItem,
|
|
8841
|
+
inputValue,
|
|
8842
|
+
isDisabled,
|
|
8843
|
+
isReadOnly,
|
|
8844
|
+
referenceRef,
|
|
8845
|
+
closeMenu,
|
|
8846
|
+
setIsDisabled,
|
|
8847
|
+
setIsReadOnly
|
|
8848
|
+
} = useCombobox$1();
|
|
8849
|
+
const context = usePopoverContext();
|
|
8850
|
+
useLayoutEffect(() => {
|
|
8851
|
+
if (typeof disabled === "undefined") return;
|
|
8852
|
+
setIsDisabled(disabled);
|
|
8853
|
+
}, [disabled, setIsDisabled]);
|
|
8854
|
+
useLayoutEffect(() => {
|
|
8855
|
+
if (typeof readOnly === "undefined") return;
|
|
8856
|
+
setIsReadOnly(readOnly);
|
|
8857
|
+
}, [readOnly, setIsReadOnly]);
|
|
8858
|
+
const handleBlur = (e) => {
|
|
8859
|
+
const target = e.relatedTarget ?? e.target;
|
|
8860
|
+
const focusedOnReference = context?.invoker.ref.current && context?.invoker.ref.current.contains(target);
|
|
8861
|
+
const focusedOnContent = context?.popover.ref.current && context?.popover.ref.current.contains(target) || context?.popover.element?.contains(target);
|
|
8862
|
+
if (!focusedOnReference && !focusedOnContent || !e.relatedTarget) {
|
|
8863
|
+
closeMenu();
|
|
8556
8864
|
}
|
|
8557
|
-
|
|
8558
|
-
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
|
-
|
|
8562
|
-
|
|
8563
|
-
|
|
8564
|
-
|
|
8565
|
-
|
|
8566
|
-
|
|
8567
|
-
|
|
8568
|
-
|
|
8569
|
-
|
|
8570
|
-
|
|
8571
|
-
|
|
8572
|
-
|
|
8573
|
-
|
|
8574
|
-
|
|
8575
|
-
} else {
|
|
8576
|
-
return [...forceClearInputValueOnSelectItems, item];
|
|
8577
|
-
}
|
|
8578
|
-
}
|
|
8579
|
-
);
|
|
8865
|
+
};
|
|
8866
|
+
const labelProps = getLabelProps({
|
|
8867
|
+
required,
|
|
8868
|
+
moreInfo,
|
|
8869
|
+
openMoreInfo
|
|
8870
|
+
});
|
|
8871
|
+
const inputRef = useRef(null);
|
|
8872
|
+
const inputWrapperProps = {
|
|
8873
|
+
...select ? {
|
|
8874
|
+
...getToggleButtonProps({
|
|
8875
|
+
disabled: isDisabled,
|
|
8876
|
+
readOnly: isReadOnly,
|
|
8877
|
+
id,
|
|
8878
|
+
ref: context?.invoker.ref
|
|
8879
|
+
})
|
|
8880
|
+
} : {
|
|
8881
|
+
onClick: () => inputRef.current?.focus(),
|
|
8882
|
+
ref: context?.invoker.ref
|
|
8580
8883
|
}
|
|
8581
|
-
|
|
8582
|
-
|
|
8583
|
-
|
|
8584
|
-
|
|
8585
|
-
|
|
8586
|
-
|
|
8587
|
-
|
|
8588
|
-
} else {
|
|
8589
|
-
return forceClearInputValueOnSelectItems;
|
|
8590
|
-
}
|
|
8591
|
-
}
|
|
8592
|
-
);
|
|
8593
|
-
};
|
|
8594
|
-
}, [
|
|
8595
|
-
item,
|
|
8596
|
-
forceClearInputValueOnSelect,
|
|
8597
|
-
setForceClearInputValueOnSelectItems
|
|
8598
|
-
]);
|
|
8599
|
-
if (multiple) {
|
|
8600
|
-
const checked = selectedItems.some(
|
|
8601
|
-
(selectedItem2) => itemToKey(selectedItem2) === itemToKey(item)
|
|
8602
|
-
);
|
|
8603
|
-
return /* @__PURE__ */ jsxs(
|
|
8604
|
-
"div",
|
|
8605
|
-
{
|
|
8606
|
-
"data-anv": "combobox-item",
|
|
8607
|
-
...getItemProps({
|
|
8608
|
-
item,
|
|
8609
|
-
index,
|
|
8610
|
-
"aria-selected": highlightedIndex === index,
|
|
8611
|
-
...rest
|
|
8612
|
-
}),
|
|
8613
|
-
className: cx(
|
|
8614
|
-
styles["listview-option"],
|
|
8615
|
-
styles$2["listview-option"]
|
|
8616
|
-
),
|
|
8617
|
-
children: [
|
|
8618
|
-
item !== ADD_NEW$1 && !hideCheckbox ? /* @__PURE__ */ jsx("div", { className: cx(styles["cell"], styles$2["cell"]), children: /* @__PURE__ */ jsx("div", { className: checkboxStyles["wrapper"], children: /* @__PURE__ */ jsxs("div", { className: checkboxStyles["checkbox"], children: [
|
|
8619
|
-
/* @__PURE__ */ jsx(
|
|
8620
|
-
"input",
|
|
8621
|
-
{
|
|
8622
|
-
type: "checkbox",
|
|
8623
|
-
checked,
|
|
8624
|
-
"aria-checked": checked,
|
|
8625
|
-
"aria-label": "Select",
|
|
8626
|
-
readOnly: true,
|
|
8627
|
-
tabIndex: -1,
|
|
8628
|
-
...disabled ? { disabled: true } : {}
|
|
8629
|
-
}
|
|
8630
|
-
),
|
|
8631
|
-
/* @__PURE__ */ jsxs("span", { className: checkboxStyles["icon-wrapper"], "aria-hidden": true, children: [
|
|
8632
|
-
/* @__PURE__ */ jsx(
|
|
8633
|
-
Icon$2,
|
|
8634
|
-
{
|
|
8635
|
-
size: "large",
|
|
8636
|
-
svg: SvgIndeterminateCheckBox,
|
|
8637
|
-
className: checkboxStyles["icon-indeterminate"]
|
|
8638
|
-
}
|
|
8639
|
-
),
|
|
8640
|
-
/* @__PURE__ */ jsx(
|
|
8641
|
-
Icon$2,
|
|
8642
|
-
{
|
|
8643
|
-
size: "large",
|
|
8644
|
-
svg: SvgCheckBox,
|
|
8645
|
-
className: checkboxStyles["icon-checked"]
|
|
8646
|
-
}
|
|
8647
|
-
),
|
|
8648
|
-
/* @__PURE__ */ jsx(
|
|
8649
|
-
Icon$2,
|
|
8650
|
-
{
|
|
8651
|
-
size: "large",
|
|
8652
|
-
svg: SvgCheckBoxOutlineBlank,
|
|
8653
|
-
className: checkboxStyles["icon-unchecked"]
|
|
8654
|
-
}
|
|
8655
|
-
)
|
|
8656
|
-
] }),
|
|
8657
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": true })
|
|
8658
|
-
] }) }) }) : null,
|
|
8659
|
-
/* @__PURE__ */ jsx(
|
|
8660
|
-
Flex,
|
|
8661
|
-
{
|
|
8662
|
-
grow: 1,
|
|
8663
|
-
shrink: 1,
|
|
8664
|
-
alignItems,
|
|
8665
|
-
justifyItems,
|
|
8666
|
-
alignContent,
|
|
8667
|
-
justifyContent,
|
|
8668
|
-
placeItems,
|
|
8669
|
-
placeContent,
|
|
8670
|
-
gap,
|
|
8671
|
-
rowGap,
|
|
8672
|
-
columnGap,
|
|
8673
|
-
children
|
|
8674
|
-
}
|
|
8675
|
-
)
|
|
8676
|
-
]
|
|
8677
|
-
}
|
|
8678
|
-
);
|
|
8679
|
-
} else {
|
|
8680
|
-
return /* @__PURE__ */ jsxs(
|
|
8681
|
-
"li",
|
|
8682
|
-
{
|
|
8683
|
-
...getItemProps({
|
|
8684
|
-
item,
|
|
8685
|
-
index,
|
|
8686
|
-
"aria-selected": highlightedIndex === index,
|
|
8687
|
-
...rest
|
|
8688
|
-
}),
|
|
8689
|
-
"data-anv": "combobox-item",
|
|
8690
|
-
"data-checked": itemToKey(selectedItem) === itemToKey(item),
|
|
8691
|
-
className: styles["item"],
|
|
8692
|
-
...disabled ? { "aria-disabled": true } : {},
|
|
8693
|
-
children: [
|
|
8694
|
-
/* @__PURE__ */ jsx(
|
|
8695
|
-
Flex,
|
|
8696
|
-
{
|
|
8697
|
-
className: styles$3["children"],
|
|
8698
|
-
grow: 1,
|
|
8699
|
-
shrink: 1,
|
|
8700
|
-
alignItems,
|
|
8701
|
-
justifyItems,
|
|
8702
|
-
alignContent,
|
|
8703
|
-
justifyContent,
|
|
8704
|
-
placeItems,
|
|
8705
|
-
placeContent,
|
|
8706
|
-
gap,
|
|
8707
|
-
rowGap,
|
|
8708
|
-
columnGap,
|
|
8709
|
-
children
|
|
8710
|
-
}
|
|
8711
|
-
),
|
|
8712
|
-
/* @__PURE__ */ jsx(
|
|
8713
|
-
Icon$2,
|
|
8714
|
-
{
|
|
8715
|
-
"aria-hidden": true,
|
|
8716
|
-
svg: SvgCheck,
|
|
8717
|
-
inherit: true,
|
|
8718
|
-
className: styles["Icon"],
|
|
8719
|
-
style: {
|
|
8720
|
-
opacity: itemToKey(selectedItem) === itemToKey(item) ? 1 : 0
|
|
8721
|
-
}
|
|
8722
|
-
}
|
|
8723
|
-
)
|
|
8724
|
-
]
|
|
8725
|
-
}
|
|
8726
|
-
);
|
|
8727
|
-
}
|
|
8728
|
-
};
|
|
8729
|
-
const ComboboxItem$1 = function(props) {
|
|
8730
|
-
if (!supportsPopover()) return /* @__PURE__ */ jsx(ComboboxLegacyItem, { ...props });
|
|
8731
|
-
return /* @__PURE__ */ jsx(ComboboxItemElement, { ...props });
|
|
8732
|
-
};
|
|
8733
|
-
const ComboboxItemAddNewElement = function({
|
|
8734
|
-
onSelection,
|
|
8735
|
-
...props
|
|
8736
|
-
}) {
|
|
8737
|
-
const { items, setHasAddNew, hasExactMatch, setOnSelectItemAddNew } = useCombobox();
|
|
8738
|
-
useEffect(() => {
|
|
8739
|
-
setHasAddNew?.(true);
|
|
8740
|
-
return () => {
|
|
8741
|
-
setHasAddNew?.(false);
|
|
8742
|
-
};
|
|
8743
|
-
}, []);
|
|
8744
|
-
useEffect(() => {
|
|
8745
|
-
setOnSelectItemAddNew?.(() => onSelection);
|
|
8746
|
-
return () => {
|
|
8747
|
-
setOnSelectItemAddNew?.(void 0);
|
|
8748
|
-
};
|
|
8749
|
-
}, [setOnSelectItemAddNew, onSelection]);
|
|
8750
|
-
const firstRenderRef = useRef(true);
|
|
8751
|
-
useEffect(() => {
|
|
8752
|
-
if (firstRenderRef.current === true) {
|
|
8753
|
-
firstRenderRef.current = false;
|
|
8884
|
+
};
|
|
8885
|
+
const toggleButtonProps = select ? {} : getToggleButtonProps();
|
|
8886
|
+
const handleClearButtonClick = (_e) => {
|
|
8887
|
+
if (reset != null) {
|
|
8888
|
+
reset();
|
|
8889
|
+
} else {
|
|
8890
|
+
selectItem(null);
|
|
8754
8891
|
}
|
|
8755
|
-
}
|
|
8756
|
-
|
|
8757
|
-
|
|
8892
|
+
};
|
|
8893
|
+
const styleCombined = {
|
|
8894
|
+
...style,
|
|
8895
|
+
...layoutStyles
|
|
8896
|
+
};
|
|
8897
|
+
return /* @__PURE__ */ jsx(
|
|
8898
|
+
SelectTriggerBase,
|
|
8758
8899
|
{
|
|
8759
|
-
|
|
8760
|
-
|
|
8761
|
-
|
|
8762
|
-
|
|
8763
|
-
|
|
8764
|
-
|
|
8765
|
-
|
|
8766
|
-
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
}
|
|
8790
|
-
|
|
8791
|
-
|
|
8792
|
-
|
|
8793
|
-
|
|
8794
|
-
|
|
8795
|
-
|
|
8796
|
-
}
|
|
8797
|
-
|
|
8798
|
-
|
|
8799
|
-
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
|
-
|
|
8803
|
-
|
|
8804
|
-
|
|
8900
|
+
"data-anv": select ? "combobox-select-trigger" : "combobox-search-field",
|
|
8901
|
+
className,
|
|
8902
|
+
style: styleCombined,
|
|
8903
|
+
label,
|
|
8904
|
+
size,
|
|
8905
|
+
error,
|
|
8906
|
+
hint,
|
|
8907
|
+
description,
|
|
8908
|
+
prefix,
|
|
8909
|
+
suffix,
|
|
8910
|
+
maxRows,
|
|
8911
|
+
selectedItemProps,
|
|
8912
|
+
placeholder,
|
|
8913
|
+
labelProps,
|
|
8914
|
+
inputWrapperProps,
|
|
8915
|
+
toggleButtonProps,
|
|
8916
|
+
itemToString,
|
|
8917
|
+
removeSelectedItem,
|
|
8918
|
+
variant: select ? "select" : "combobox",
|
|
8919
|
+
disableClearSelection,
|
|
8920
|
+
selectedItem,
|
|
8921
|
+
selectedItems,
|
|
8922
|
+
inputValue,
|
|
8923
|
+
disabled: isDisabled,
|
|
8924
|
+
readOnly: isReadOnly,
|
|
8925
|
+
referenceRef,
|
|
8926
|
+
onBlur: handleBlur,
|
|
8927
|
+
onClearButtonClick: handleClearButtonClick,
|
|
8928
|
+
chipProps: (item, index) => {
|
|
8929
|
+
if (getSelectedItemProps != null) {
|
|
8930
|
+
const { onClick: _, ...chipProps } = getSelectedItemProps({
|
|
8931
|
+
selectedItem: item,
|
|
8932
|
+
index
|
|
8933
|
+
});
|
|
8934
|
+
return chipProps;
|
|
8935
|
+
}
|
|
8936
|
+
return {};
|
|
8937
|
+
},
|
|
8938
|
+
inputProps: select ? {
|
|
8939
|
+
...getDropdownProps != null ? getDropdownProps({
|
|
8940
|
+
required,
|
|
8941
|
+
preventKeyAction: false
|
|
8942
|
+
}) : {
|
|
8943
|
+
required
|
|
8944
|
+
},
|
|
8945
|
+
["aria-expanded"]: context?.invoker["aria-expanded"],
|
|
8946
|
+
["aria-details"]: getMenuProps().id,
|
|
8947
|
+
["aria-haspopup"]: context?.invoker["aria-haspopup"]
|
|
8948
|
+
} : {
|
|
8949
|
+
["aria-expanded"]: context?.invoker["aria-expanded"],
|
|
8950
|
+
["aria-details"]: getMenuProps().id,
|
|
8951
|
+
["aria-haspopup"]: context?.invoker["aria-haspopup"],
|
|
8952
|
+
["aria-controls"]: getMenuProps().id,
|
|
8953
|
+
...getDropdownProps != null && getInputProps != null ? getInputProps(
|
|
8954
|
+
getDropdownProps({
|
|
8955
|
+
...rest,
|
|
8956
|
+
disabled: isDisabled,
|
|
8957
|
+
readOnly: isReadOnly,
|
|
8958
|
+
required,
|
|
8959
|
+
autoComplete: "off",
|
|
8960
|
+
id,
|
|
8961
|
+
preventKeyAction: false,
|
|
8962
|
+
ref: inputRef
|
|
8963
|
+
})
|
|
8964
|
+
) : getInputProps != null ? getInputProps({
|
|
8965
|
+
...rest,
|
|
8966
|
+
disabled: isDisabled,
|
|
8967
|
+
readOnly: isReadOnly,
|
|
8968
|
+
required,
|
|
8969
|
+
autoComplete: "off",
|
|
8970
|
+
id,
|
|
8971
|
+
ref: inputRef
|
|
8972
|
+
}) : {}
|
|
8805
8973
|
}
|
|
8806
|
-
|
|
8807
|
-
});
|
|
8808
|
-
Object.keys(groupedItems).forEach((key) => {
|
|
8809
|
-
groupsSansItems.push({
|
|
8810
|
-
key,
|
|
8811
|
-
label: groupToString ? groupToString?.(key) : key
|
|
8812
|
-
});
|
|
8813
|
-
});
|
|
8814
|
-
groupsSansItems.sort((a, b) => groupSorter(a.key, b.key));
|
|
8815
|
-
const orderedItems2 = [];
|
|
8816
|
-
const groups2 = groupsSansItems.map((group) => ({
|
|
8817
|
-
...group,
|
|
8818
|
-
items: groupedItems[group.key].map((item) => {
|
|
8819
|
-
orderedItems2.push(item);
|
|
8820
|
-
return item;
|
|
8821
|
-
})
|
|
8822
|
-
}));
|
|
8823
|
-
return { groups: groups2, orderedItems: orderedItems2 };
|
|
8824
|
-
}, [groupBy, groupSorter, groupToString, items]);
|
|
8825
|
-
return { groups, orderedItems };
|
|
8826
|
-
}
|
|
8827
|
-
|
|
8828
|
-
const ComboboxContext = createContext(null);
|
|
8829
|
-
const useCombobox = function() {
|
|
8830
|
-
const context = useContext(
|
|
8831
|
-
ComboboxContext
|
|
8974
|
+
}
|
|
8832
8975
|
);
|
|
8833
|
-
if (context == null) {
|
|
8834
|
-
throw new Error("useCombobox must be wrapped in <Combobox />");
|
|
8835
|
-
}
|
|
8836
|
-
return context;
|
|
8837
8976
|
};
|
|
8838
|
-
function
|
|
8839
|
-
|
|
8840
|
-
}
|
|
8841
|
-
|
|
8842
|
-
|
|
8843
|
-
|
|
8844
|
-
|
|
8845
|
-
|
|
8846
|
-
|
|
8847
|
-
|
|
8848
|
-
|
|
8849
|
-
|
|
8850
|
-
|
|
8851
|
-
|
|
8852
|
-
|
|
8853
|
-
|
|
8854
|
-
|
|
8855
|
-
|
|
8856
|
-
disableCloseOnSelectItem = false,
|
|
8857
|
-
filterOptions,
|
|
8858
|
-
disableFilter = false,
|
|
8859
|
-
loading = false,
|
|
8860
|
-
minPopoverHeight,
|
|
8861
|
-
root,
|
|
8862
|
-
onInputValueChange,
|
|
8863
|
-
environment: environmentProp,
|
|
8864
|
-
groupBy,
|
|
8865
|
-
groupToString,
|
|
8866
|
-
groupSorter,
|
|
8867
|
-
...rest
|
|
8868
|
-
} = componentProps;
|
|
8869
|
-
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
8870
|
-
const [items, setItems] = useState(itemsProp);
|
|
8871
|
-
const [hasAddNew, setHasAddNew] = useState(false);
|
|
8872
|
-
const [onSelectItemAddNew, setOnSelectItemAddNew] = useState(void 0);
|
|
8873
|
-
const [hasExactMatch, setHasExactMatch] = useState(false);
|
|
8874
|
-
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
8875
|
-
const [hasEmpty, setHasEmpty] = useState(false);
|
|
8876
|
-
const [disabledItems, setDisabledItems] = useState([]);
|
|
8877
|
-
const [forceCloseOnSelectItems, setForceCloseOnSelectItems] = useState([]);
|
|
8878
|
-
const [, setForceClearInputValueOnSelectItems] = useState([]);
|
|
8879
|
-
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
8880
|
-
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
8881
|
-
const referenceRef = useRef(null);
|
|
8882
|
-
const contentRef = useRef(null);
|
|
8883
|
-
const handleOutsidePress = (_e) => {
|
|
8884
|
-
if (disableCloseOnClickOutside) return;
|
|
8885
|
-
closeMenu();
|
|
8977
|
+
const ComboboxSearchFieldElement = function(props) {
|
|
8978
|
+
if (!supportsPopover())
|
|
8979
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyTrigger, { ...props, variant: "combobox" });
|
|
8980
|
+
return /* @__PURE__ */ jsx(ComboboxTrigger, { ...props, variant: "combobox" });
|
|
8981
|
+
};
|
|
8982
|
+
const ComboboxSearchField = function({
|
|
8983
|
+
prefix: prefixProp,
|
|
8984
|
+
...props
|
|
8985
|
+
}) {
|
|
8986
|
+
const data = {
|
|
8987
|
+
label: childrenToString(props.label),
|
|
8988
|
+
size: props.size,
|
|
8989
|
+
required: props.required,
|
|
8990
|
+
moreInfo: props.moreInfo,
|
|
8991
|
+
openMoreInfo: props.openMoreInfo,
|
|
8992
|
+
description: childrenToString(props.description),
|
|
8993
|
+
hint: props.hint,
|
|
8994
|
+
labelProps: props.labelProps
|
|
8886
8995
|
};
|
|
8887
|
-
const
|
|
8888
|
-
|
|
8889
|
-
|
|
8890
|
-
|
|
8891
|
-
groupToString,
|
|
8892
|
-
groupSorter
|
|
8996
|
+
const trackingId = useTrackingId({
|
|
8997
|
+
name: "ComboboxSearchField",
|
|
8998
|
+
data,
|
|
8999
|
+
hasOverride: !!props["data-tracking-id"]
|
|
8893
9000
|
});
|
|
8894
|
-
const
|
|
8895
|
-
|
|
8896
|
-
|
|
8897
|
-
|
|
8898
|
-
|
|
9001
|
+
const prefix = prefixProp == null || typeof prefixProp === "string" ? prefixProp : "icon" in prefixProp ? /* @__PURE__ */ jsx(Icon$2, { ...prefixProp.icon }) : "avatar" in prefixProp ? /* @__PURE__ */ jsx(
|
|
9002
|
+
Avatar,
|
|
9003
|
+
{
|
|
9004
|
+
...prefixProp.avatar,
|
|
9005
|
+
size: props.size === "small" ? "small" : "medium"
|
|
9006
|
+
}
|
|
9007
|
+
) : prefixProp;
|
|
9008
|
+
return /* @__PURE__ */ jsx(
|
|
9009
|
+
ComboboxSearchFieldElement,
|
|
9010
|
+
{
|
|
9011
|
+
"data-tracking-id": trackingId,
|
|
9012
|
+
...props,
|
|
9013
|
+
prefix
|
|
9014
|
+
}
|
|
9015
|
+
);
|
|
9016
|
+
};
|
|
9017
|
+
const ComboboxSelectTriggerElement = function(props) {
|
|
9018
|
+
if (!supportsPopover())
|
|
9019
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyTrigger, { ...props, variant: "select" });
|
|
9020
|
+
return /* @__PURE__ */ jsx(ComboboxTrigger, { ...props, variant: "select" });
|
|
9021
|
+
};
|
|
9022
|
+
const ComboboxSelectTrigger = function({
|
|
9023
|
+
prefix: prefixProp,
|
|
9024
|
+
...props
|
|
9025
|
+
}) {
|
|
9026
|
+
const data = {
|
|
9027
|
+
label: childrenToString(props.label),
|
|
9028
|
+
size: props.size,
|
|
9029
|
+
required: props.required,
|
|
9030
|
+
moreInfo: props.moreInfo,
|
|
9031
|
+
openMoreInfo: props.openMoreInfo,
|
|
9032
|
+
description: childrenToString(props.description),
|
|
9033
|
+
hint: props.hint,
|
|
9034
|
+
labelProps: props.labelProps
|
|
9035
|
+
};
|
|
9036
|
+
const trackingId = useTrackingId({
|
|
9037
|
+
name: "ComboboxSearchField",
|
|
9038
|
+
data,
|
|
9039
|
+
hasOverride: !!props["data-tracking-id"]
|
|
8899
9040
|
});
|
|
8900
|
-
const
|
|
8901
|
-
|
|
8902
|
-
|
|
8903
|
-
|
|
9041
|
+
const prefix = prefixProp == null || typeof prefixProp === "string" ? prefixProp : "icon" in prefixProp ? /* @__PURE__ */ jsx(Icon$2, { ...prefixProp.icon }) : "avatar" in prefixProp ? /* @__PURE__ */ jsx(
|
|
9042
|
+
Avatar,
|
|
9043
|
+
{
|
|
9044
|
+
...prefixProp.avatar,
|
|
9045
|
+
size: props.size === "small" ? "small" : "medium"
|
|
9046
|
+
}
|
|
9047
|
+
) : prefixProp;
|
|
9048
|
+
return /* @__PURE__ */ jsx(
|
|
9049
|
+
ComboboxSelectTriggerElement,
|
|
9050
|
+
{
|
|
9051
|
+
"data-tracking-id": trackingId,
|
|
9052
|
+
...props,
|
|
9053
|
+
prefix
|
|
9054
|
+
}
|
|
8904
9055
|
);
|
|
8905
|
-
|
|
8906
|
-
|
|
8907
|
-
|
|
8908
|
-
|
|
8909
|
-
|
|
8910
|
-
|
|
8911
|
-
|
|
8912
|
-
|
|
8913
|
-
|
|
8914
|
-
|
|
8915
|
-
|
|
8916
|
-
|
|
8917
|
-
|
|
8918
|
-
|
|
8919
|
-
|
|
8920
|
-
|
|
8921
|
-
|
|
8922
|
-
|
|
8923
|
-
|
|
9056
|
+
};
|
|
9057
|
+
|
|
9058
|
+
const CoreComboboxItemElement = function({
|
|
9059
|
+
children,
|
|
9060
|
+
disabled: disabledProp,
|
|
9061
|
+
item,
|
|
9062
|
+
index: indexProp,
|
|
9063
|
+
alignItems,
|
|
9064
|
+
justifyItems,
|
|
9065
|
+
alignContent,
|
|
9066
|
+
justifyContent,
|
|
9067
|
+
placeItems,
|
|
9068
|
+
placeContent,
|
|
9069
|
+
gap,
|
|
9070
|
+
rowGap,
|
|
9071
|
+
columnGap,
|
|
9072
|
+
...rest
|
|
9073
|
+
}) {
|
|
9074
|
+
const {
|
|
8924
9075
|
itemToKey,
|
|
8925
|
-
|
|
8926
|
-
|
|
8927
|
-
|
|
8928
|
-
|
|
8929
|
-
|
|
8930
|
-
|
|
8931
|
-
|
|
8932
|
-
|
|
8933
|
-
|
|
8934
|
-
|
|
8935
|
-
|
|
8936
|
-
|
|
8937
|
-
};
|
|
8938
|
-
case useCombobox$1.stateChangeTypes.InputKeyDownEnter:
|
|
8939
|
-
case useCombobox$1.stateChangeTypes.ItemClick:
|
|
8940
|
-
if (changes.selectedItem === ADD_NEW$1) {
|
|
8941
|
-
const stateInputValue = state.inputValue;
|
|
8942
|
-
setTimeout(() => {
|
|
8943
|
-
onSelectItemAddNew?.(stateInputValue);
|
|
8944
|
-
}, 250);
|
|
8945
|
-
return {
|
|
8946
|
-
...changes,
|
|
8947
|
-
selectedItem: state.selectedItem,
|
|
8948
|
-
inputValue: ""
|
|
8949
|
-
};
|
|
8950
|
-
} else {
|
|
8951
|
-
const forceClose = forceCloseOnSelectItems.includes(
|
|
8952
|
-
changes.selectedItem
|
|
8953
|
-
);
|
|
8954
|
-
return {
|
|
8955
|
-
...changes,
|
|
8956
|
-
isOpen: open != null ? open : forceClose ? false : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
8957
|
-
highlightedIndex: disableCloseOnSelectItem ? itemToString(state.selectedItem) === state.inputValue || !state.inputValue ? state.highlightedIndex : 0 : changes.highlightedIndex
|
|
8958
|
-
};
|
|
8959
|
-
}
|
|
8960
|
-
// prevent this from closing the popover by default
|
|
8961
|
-
case useCombobox$1.stateChangeTypes.InputClick:
|
|
8962
|
-
return { ...changes, isOpen: open != null ? open : true };
|
|
8963
|
-
default:
|
|
8964
|
-
return changes;
|
|
8965
|
-
}
|
|
8966
|
-
},
|
|
8967
|
-
onInputValueChange: onInputValueChange ?? (({ inputValue: inputValue2, type, selectedItem: selectedItem2 }) => {
|
|
8968
|
-
const inputValueMatchesSelectedItem = selectedItem2 != null && inputValue2 === itemToString(selectedItem2);
|
|
8969
|
-
const inputValueIsEmpty = inputValue2 == null || inputValue2 === "";
|
|
8970
|
-
if (type === useCombobox$1.stateChangeTypes.InputKeyDownEnter || type === useCombobox$1.stateChangeTypes.ItemClick) {
|
|
8971
|
-
setItems(allItemsOrderedByGroup);
|
|
8972
|
-
setHasExactMatch(true);
|
|
8973
|
-
} else if (!inputValueMatchesSelectedItem && !inputValueIsEmpty && !disableFilter) {
|
|
8974
|
-
setItems(
|
|
8975
|
-
matchSorter(allItemsOrderedByGroup, inputValue2, filterOptions)
|
|
8976
|
-
);
|
|
8977
|
-
setHasExactMatch(
|
|
8978
|
-
matchSorter(allItemsOrderedByGroup, inputValue2, {
|
|
8979
|
-
...filterOptions,
|
|
8980
|
-
threshold: matchSorter.rankings.EQUAL
|
|
8981
|
-
}).length > 0
|
|
8982
|
-
);
|
|
8983
|
-
} else {
|
|
8984
|
-
setItems(allItemsOrderedByGroup);
|
|
8985
|
-
setHasExactMatch(true);
|
|
8986
|
-
}
|
|
8987
|
-
}),
|
|
8988
|
-
onSelectedItemChange(changes) {
|
|
8989
|
-
const { selectedItem: selectedItem2 } = changes;
|
|
8990
|
-
if (onChange != null)
|
|
8991
|
-
onChange(selectedItem2 != null ? selectedItem2 : null);
|
|
8992
|
-
},
|
|
8993
|
-
onIsOpenChange({ isOpen: isOpen2, inputValue: inputValue2, selectedItem: selectedItem2 }) {
|
|
8994
|
-
if (isOpen2 === false) {
|
|
8995
|
-
setTimeout(() => {
|
|
8996
|
-
setItems(allItemsOrderedByGroup);
|
|
8997
|
-
if (inputValue2 === "") {
|
|
8998
|
-
selectItem(null);
|
|
8999
|
-
} else {
|
|
9000
|
-
setInputValue(
|
|
9001
|
-
selectedItem2 != null ? itemToString(selectedItem2) : ""
|
|
9002
|
-
);
|
|
9003
|
-
}
|
|
9004
|
-
}, 200);
|
|
9005
|
-
}
|
|
9006
|
-
},
|
|
9007
|
-
isItemDisabled(item) {
|
|
9008
|
-
if (isDisabled || isReadOnly) {
|
|
9009
|
-
return !!isDisabled || !!isReadOnly;
|
|
9010
|
-
}
|
|
9011
|
-
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
9012
|
-
return true;
|
|
9013
|
-
}
|
|
9014
|
-
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
9015
|
-
return true;
|
|
9016
|
-
}
|
|
9017
|
-
if (disabledItems.includes(item)) {
|
|
9018
|
-
return true;
|
|
9019
|
-
}
|
|
9020
|
-
return false;
|
|
9021
|
-
}
|
|
9022
|
-
});
|
|
9023
|
-
const firstRenderRef = useRef(true);
|
|
9076
|
+
getItemProps,
|
|
9077
|
+
multiple,
|
|
9078
|
+
selectedItem,
|
|
9079
|
+
selectedItems,
|
|
9080
|
+
disabledItems,
|
|
9081
|
+
setDisabledItems,
|
|
9082
|
+
highlightedIndex,
|
|
9083
|
+
items,
|
|
9084
|
+
groupBy
|
|
9085
|
+
} = useCombobox$1();
|
|
9086
|
+
const index = groupBy ? items.indexOf(item) : indexProp;
|
|
9087
|
+
const disabled = disabledProp || item && item instanceof Object && "disabled" in item && item.disabled;
|
|
9024
9088
|
useEffect(() => {
|
|
9025
|
-
if (
|
|
9026
|
-
|
|
9089
|
+
if (disabledProp && !disabledItems.includes(item)) {
|
|
9090
|
+
setDisabledItems([...disabledItems, item]);
|
|
9091
|
+
} else if (disabledItems.includes(item)) {
|
|
9092
|
+
setDisabledItems(
|
|
9093
|
+
disabledItems.filter((prevItem) => prevItem === item)
|
|
9094
|
+
);
|
|
9027
9095
|
}
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
useEffect(() => {
|
|
9033
|
-
setIsReadOnly(readOnly);
|
|
9034
|
-
}, [readOnly]);
|
|
9035
|
-
useEffect(() => {
|
|
9036
|
-
if (firstRenderRef.current) return;
|
|
9037
|
-
setTimeout(() => {
|
|
9038
|
-
const inputValueMatchesSelectedItem = selectedItem != null && inputValue === itemToString(selectedItem);
|
|
9039
|
-
const inputValueIsEmpty = inputValue == null || inputValue === "";
|
|
9040
|
-
if (!inputValueMatchesSelectedItem && !inputValueIsEmpty && !disableFilter) {
|
|
9041
|
-
setItems(
|
|
9042
|
-
matchSorter(allItemsOrderedByGroup, inputValue, filterOptions)
|
|
9043
|
-
);
|
|
9044
|
-
setHasExactMatch(
|
|
9045
|
-
matchSorter(allItemsOrderedByGroup, inputValue, {
|
|
9046
|
-
...filterOptions,
|
|
9047
|
-
threshold: matchSorter.rankings.EQUAL
|
|
9048
|
-
}).length > 0
|
|
9096
|
+
return () => {
|
|
9097
|
+
if (disabledItems.includes(item)) {
|
|
9098
|
+
setDisabledItems(
|
|
9099
|
+
disabledItems.filter((prevItem) => prevItem === item)
|
|
9049
9100
|
);
|
|
9050
|
-
} else {
|
|
9051
|
-
setItems(allItemsOrderedByGroup);
|
|
9052
|
-
setHasExactMatch(true);
|
|
9053
9101
|
}
|
|
9054
|
-
}
|
|
9055
|
-
}, [
|
|
9056
|
-
|
|
9057
|
-
|
|
9058
|
-
|
|
9059
|
-
|
|
9060
|
-
|
|
9061
|
-
|
|
9062
|
-
|
|
9063
|
-
|
|
9064
|
-
|
|
9065
|
-
|
|
9066
|
-
|
|
9067
|
-
|
|
9068
|
-
|
|
9069
|
-
|
|
9070
|
-
|
|
9071
|
-
|
|
9072
|
-
|
|
9073
|
-
|
|
9074
|
-
|
|
9075
|
-
|
|
9076
|
-
|
|
9077
|
-
|
|
9078
|
-
|
|
9079
|
-
|
|
9080
|
-
|
|
9081
|
-
|
|
9082
|
-
|
|
9083
|
-
|
|
9084
|
-
|
|
9085
|
-
|
|
9086
|
-
|
|
9087
|
-
|
|
9088
|
-
|
|
9089
|
-
|
|
9090
|
-
|
|
9091
|
-
|
|
9092
|
-
|
|
9093
|
-
|
|
9094
|
-
|
|
9095
|
-
|
|
9096
|
-
|
|
9097
|
-
|
|
9098
|
-
|
|
9099
|
-
|
|
9100
|
-
|
|
9101
|
-
|
|
9102
|
-
|
|
9103
|
-
|
|
9104
|
-
|
|
9105
|
-
|
|
9106
|
-
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9110
|
-
|
|
9111
|
-
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
9124
|
-
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
}
|
|
9132
|
-
|
|
9133
|
-
|
|
9134
|
-
|
|
9135
|
-
|
|
9136
|
-
|
|
9137
|
-
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
|
|
9147
|
-
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9151
|
-
|
|
9152
|
-
|
|
9153
|
-
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
|
|
9160
|
-
|
|
9161
|
-
|
|
9162
|
-
|
|
9163
|
-
|
|
9164
|
-
|
|
9165
|
-
|
|
9166
|
-
|
|
9167
|
-
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
|
|
9175
|
-
|
|
9176
|
-
|
|
9177
|
-
|
|
9178
|
-
|
|
9179
|
-
|
|
9180
|
-
|
|
9181
|
-
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
|
|
9185
|
-
|
|
9186
|
-
|
|
9187
|
-
|
|
9188
|
-
|
|
9189
|
-
|
|
9102
|
+
};
|
|
9103
|
+
}, [item, disabledProp, setDisabledItems]);
|
|
9104
|
+
if (multiple) {
|
|
9105
|
+
const checked = selectedItems.some(
|
|
9106
|
+
(selectedItem2) => itemToKey(selectedItem2) === itemToKey(item)
|
|
9107
|
+
);
|
|
9108
|
+
return /* @__PURE__ */ jsxs(
|
|
9109
|
+
"div",
|
|
9110
|
+
{
|
|
9111
|
+
"data-anv": "combobox-item",
|
|
9112
|
+
...getItemProps({
|
|
9113
|
+
item,
|
|
9114
|
+
index,
|
|
9115
|
+
"aria-selected": highlightedIndex === index,
|
|
9116
|
+
...rest
|
|
9117
|
+
}),
|
|
9118
|
+
className: cx(
|
|
9119
|
+
styles["listview-option"],
|
|
9120
|
+
styles$3["listview-option"]
|
|
9121
|
+
),
|
|
9122
|
+
children: [
|
|
9123
|
+
item !== ADD_NEW$1 ? /* @__PURE__ */ jsx("div", { className: cx(styles["cell"], styles$3["cell"]), children: /* @__PURE__ */ jsx("div", { className: checkboxStyles["wrapper"], children: /* @__PURE__ */ jsxs("div", { className: checkboxStyles["checkbox"], children: [
|
|
9124
|
+
/* @__PURE__ */ jsx(
|
|
9125
|
+
"input",
|
|
9126
|
+
{
|
|
9127
|
+
type: "checkbox",
|
|
9128
|
+
checked,
|
|
9129
|
+
"aria-checked": checked,
|
|
9130
|
+
"aria-label": "Select",
|
|
9131
|
+
readOnly: true,
|
|
9132
|
+
tabIndex: -1,
|
|
9133
|
+
...disabled ? { disabled: true } : {}
|
|
9134
|
+
}
|
|
9135
|
+
),
|
|
9136
|
+
/* @__PURE__ */ jsxs("span", { className: checkboxStyles["icon-wrapper"], "aria-hidden": true, children: [
|
|
9137
|
+
/* @__PURE__ */ jsx(
|
|
9138
|
+
Icon$2,
|
|
9139
|
+
{
|
|
9140
|
+
size: "large",
|
|
9141
|
+
svg: SvgIndeterminateCheckBox,
|
|
9142
|
+
className: checkboxStyles["icon-indeterminate"]
|
|
9143
|
+
}
|
|
9144
|
+
),
|
|
9145
|
+
/* @__PURE__ */ jsx(
|
|
9146
|
+
Icon$2,
|
|
9147
|
+
{
|
|
9148
|
+
size: "large",
|
|
9149
|
+
svg: SvgCheckBox,
|
|
9150
|
+
className: checkboxStyles["icon-checked"]
|
|
9151
|
+
}
|
|
9152
|
+
),
|
|
9153
|
+
/* @__PURE__ */ jsx(
|
|
9154
|
+
Icon$2,
|
|
9155
|
+
{
|
|
9156
|
+
size: "large",
|
|
9157
|
+
svg: SvgCheckBoxOutlineBlank,
|
|
9158
|
+
className: checkboxStyles["icon-unchecked"]
|
|
9159
|
+
}
|
|
9160
|
+
)
|
|
9161
|
+
] }),
|
|
9162
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": true })
|
|
9163
|
+
] }) }) }) : null,
|
|
9164
|
+
/* @__PURE__ */ jsx(
|
|
9165
|
+
Flex,
|
|
9166
|
+
{
|
|
9167
|
+
grow: 1,
|
|
9168
|
+
shrink: 1,
|
|
9169
|
+
alignItems,
|
|
9170
|
+
justifyItems,
|
|
9171
|
+
alignContent,
|
|
9172
|
+
justifyContent,
|
|
9173
|
+
placeItems,
|
|
9174
|
+
placeContent,
|
|
9175
|
+
gap,
|
|
9176
|
+
rowGap,
|
|
9177
|
+
columnGap,
|
|
9178
|
+
children
|
|
9179
|
+
}
|
|
9180
|
+
)
|
|
9181
|
+
]
|
|
9182
|
+
}
|
|
9183
|
+
);
|
|
9184
|
+
} else {
|
|
9185
|
+
return /* @__PURE__ */ jsxs(
|
|
9186
|
+
"li",
|
|
9187
|
+
{
|
|
9188
|
+
...getItemProps({
|
|
9189
|
+
item,
|
|
9190
|
+
index,
|
|
9191
|
+
"aria-selected": highlightedIndex === index,
|
|
9192
|
+
...rest
|
|
9193
|
+
}),
|
|
9194
|
+
"data-anv": "combobox-item",
|
|
9195
|
+
"data-checked": itemToKey(selectedItem) === itemToKey(item),
|
|
9196
|
+
className: styles["item"],
|
|
9197
|
+
...disabled ? { "aria-disabled": true } : {},
|
|
9198
|
+
children: [
|
|
9199
|
+
/* @__PURE__ */ jsx(
|
|
9200
|
+
Flex,
|
|
9201
|
+
{
|
|
9202
|
+
className: styles$4["children"],
|
|
9203
|
+
grow: 1,
|
|
9204
|
+
shrink: 1,
|
|
9205
|
+
alignItems,
|
|
9206
|
+
justifyItems,
|
|
9207
|
+
alignContent,
|
|
9208
|
+
justifyContent,
|
|
9209
|
+
placeItems,
|
|
9210
|
+
placeContent,
|
|
9211
|
+
gap,
|
|
9212
|
+
rowGap,
|
|
9213
|
+
columnGap,
|
|
9214
|
+
children
|
|
9215
|
+
}
|
|
9216
|
+
),
|
|
9217
|
+
/* @__PURE__ */ jsx(
|
|
9218
|
+
Icon$2,
|
|
9219
|
+
{
|
|
9220
|
+
"aria-hidden": true,
|
|
9221
|
+
svg: SvgCheck,
|
|
9222
|
+
inherit: true,
|
|
9223
|
+
className: styles["Icon"],
|
|
9224
|
+
style: {
|
|
9225
|
+
opacity: itemToKey(selectedItem) === itemToKey(item) ? 1 : 0
|
|
9226
|
+
}
|
|
9227
|
+
}
|
|
9228
|
+
)
|
|
9229
|
+
]
|
|
9230
|
+
}
|
|
9231
|
+
);
|
|
9232
|
+
}
|
|
9233
|
+
};
|
|
9234
|
+
const ComboboxItemElement = function(props) {
|
|
9235
|
+
if (!supportsPopover()) return /* @__PURE__ */ jsx(ComboboxLegacyItem, { ...props });
|
|
9236
|
+
return /* @__PURE__ */ jsx(CoreComboboxItemElement, { ...props });
|
|
9237
|
+
};
|
|
9238
|
+
const ComboboxItem = function(props) {
|
|
9239
|
+
const data = {
|
|
9240
|
+
item: props.item
|
|
9190
9241
|
};
|
|
9191
|
-
const
|
|
9192
|
-
|
|
9193
|
-
|
|
9194
|
-
|
|
9195
|
-
groupToString
|
|
9242
|
+
const trackingId = useTrackingId({
|
|
9243
|
+
name: "ComboboxItem",
|
|
9244
|
+
data,
|
|
9245
|
+
hasOverride: !!props["data-tracking-id"]
|
|
9196
9246
|
});
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9247
|
+
return /* @__PURE__ */ jsx(ComboboxItemElement, { "data-tracking-id": trackingId, ...props });
|
|
9248
|
+
};
|
|
9249
|
+
const CoreComboboxItemAddNewElement = function({
|
|
9250
|
+
onSelection,
|
|
9251
|
+
...props
|
|
9252
|
+
}) {
|
|
9253
|
+
const { items, setHasAddNew, hasExactMatch, setOnSelectItemAddNew } = useCombobox$1();
|
|
9254
|
+
useEffect(() => {
|
|
9255
|
+
setHasAddNew?.(true);
|
|
9256
|
+
return () => {
|
|
9257
|
+
setHasAddNew?.(false);
|
|
9258
|
+
};
|
|
9259
|
+
}, []);
|
|
9260
|
+
useEffect(() => {
|
|
9261
|
+
setOnSelectItemAddNew?.(() => onSelection);
|
|
9262
|
+
return () => {
|
|
9263
|
+
setOnSelectItemAddNew?.(void 0);
|
|
9264
|
+
};
|
|
9265
|
+
}, [setOnSelectItemAddNew, onSelection]);
|
|
9266
|
+
const firstRenderRef = useRef(true);
|
|
9267
|
+
useEffect(() => {
|
|
9268
|
+
if (firstRenderRef.current === true) {
|
|
9269
|
+
firstRenderRef.current = false;
|
|
9270
|
+
}
|
|
9271
|
+
}, []);
|
|
9272
|
+
return !hasExactMatch && !firstRenderRef.current ? /* @__PURE__ */ jsx(
|
|
9273
|
+
ComboboxItem,
|
|
9274
|
+
{
|
|
9275
|
+
...props,
|
|
9276
|
+
item: ADD_NEW$1,
|
|
9277
|
+
index: items.length
|
|
9278
|
+
}
|
|
9279
|
+
) : null;
|
|
9280
|
+
};
|
|
9281
|
+
const ComboboxItemAddNewElement = function(props) {
|
|
9282
|
+
if (!supportsPopover()) return /* @__PURE__ */ jsx(ComboboxLegacyItemAddNew, { ...props });
|
|
9283
|
+
return /* @__PURE__ */ jsx(CoreComboboxItemAddNewElement, { ...props });
|
|
9284
|
+
};
|
|
9285
|
+
const ComboboxItemAddNew = function(props) {
|
|
9286
|
+
const data = {
|
|
9287
|
+
item: "add-new"
|
|
9288
|
+
};
|
|
9289
|
+
const trackingId = useTrackingId({
|
|
9290
|
+
name: "ComboboxItemAddNew",
|
|
9291
|
+
data,
|
|
9292
|
+
hasOverride: !!props["data-tracking-id"]
|
|
9201
9293
|
});
|
|
9202
|
-
|
|
9203
|
-
|
|
9204
|
-
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
9208
|
-
|
|
9294
|
+
return /* @__PURE__ */ jsx(ComboboxItemAddNewElement, { "data-tracking-id": trackingId, ...props });
|
|
9295
|
+
};
|
|
9296
|
+
|
|
9297
|
+
const ComboboxListElement = function({
|
|
9298
|
+
children,
|
|
9299
|
+
...rest
|
|
9300
|
+
}) {
|
|
9209
9301
|
const {
|
|
9210
|
-
|
|
9211
|
-
|
|
9212
|
-
|
|
9213
|
-
|
|
9214
|
-
|
|
9215
|
-
|
|
9216
|
-
|
|
9217
|
-
|
|
9218
|
-
|
|
9219
|
-
|
|
9220
|
-
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
|
-
|
|
9231
|
-
|
|
9232
|
-
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9236
|
-
|
|
9237
|
-
|
|
9238
|
-
|
|
9239
|
-
|
|
9240
|
-
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
9252
|
-
|
|
9253
|
-
|
|
9254
|
-
|
|
9302
|
+
getMenuProps,
|
|
9303
|
+
multiple,
|
|
9304
|
+
items,
|
|
9305
|
+
hasAddNew = false,
|
|
9306
|
+
hasEmpty,
|
|
9307
|
+
loading
|
|
9308
|
+
} = useCombobox$1();
|
|
9309
|
+
if (!supportsPopover())
|
|
9310
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyList, { ...rest, children });
|
|
9311
|
+
if (multiple) {
|
|
9312
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9313
|
+
/* @__PURE__ */ jsx(
|
|
9314
|
+
"div",
|
|
9315
|
+
{
|
|
9316
|
+
...getMenuProps(rest),
|
|
9317
|
+
"data-anv": "combobox-list",
|
|
9318
|
+
className: cx(styles["listview"], styles$3["listview"]),
|
|
9319
|
+
style: {
|
|
9320
|
+
display: items.length || hasAddNew ? void 0 : "none",
|
|
9321
|
+
overflow: "auto"
|
|
9322
|
+
},
|
|
9323
|
+
children
|
|
9324
|
+
}
|
|
9325
|
+
),
|
|
9326
|
+
loading ? /* @__PURE__ */ jsx("div", { className: styles["empty"], children: /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Spinner, { className: styles["loading-spinner"] }) }) }) : !items.length && !hasEmpty ? /* @__PURE__ */ jsx("div", { className: styles["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) : null
|
|
9327
|
+
] });
|
|
9328
|
+
} else {
|
|
9329
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
9330
|
+
/* @__PURE__ */ jsx(
|
|
9331
|
+
"ul",
|
|
9332
|
+
{
|
|
9333
|
+
...getMenuProps(rest),
|
|
9334
|
+
"data-anv": "combobox-list",
|
|
9335
|
+
className: styles$4["listbox"],
|
|
9336
|
+
style: {
|
|
9337
|
+
display: items.length || hasAddNew ? void 0 : "none",
|
|
9338
|
+
overflow: "auto"
|
|
9339
|
+
},
|
|
9340
|
+
children
|
|
9341
|
+
}
|
|
9342
|
+
),
|
|
9343
|
+
loading ? /* @__PURE__ */ jsx("div", { className: styles["empty"], children: /* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Spinner, { className: styles["loading-spinner"] }) }) }) : !items.length && !hasEmpty ? /* @__PURE__ */ jsx("div", { className: styles["empty"], children: /* @__PURE__ */ jsx(Text, { subdued: true, size: "small", children: "No match found" }) }) : null
|
|
9344
|
+
] });
|
|
9345
|
+
}
|
|
9346
|
+
};
|
|
9347
|
+
const ComboboxList = function({
|
|
9348
|
+
children,
|
|
9349
|
+
className,
|
|
9350
|
+
...rest
|
|
9351
|
+
}) {
|
|
9352
|
+
if (!supportsPopover())
|
|
9353
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyList, { className, ...rest, children });
|
|
9354
|
+
return /* @__PURE__ */ jsx(ComboboxListElement, { className, ...rest, children });
|
|
9355
|
+
};
|
|
9356
|
+
|
|
9357
|
+
const ComboboxSingle = function(props) {
|
|
9358
|
+
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
9359
|
+
const {
|
|
9360
|
+
className,
|
|
9361
|
+
style,
|
|
9362
|
+
children,
|
|
9363
|
+
open,
|
|
9364
|
+
disabled,
|
|
9365
|
+
readOnly,
|
|
9366
|
+
items: itemsProp,
|
|
9367
|
+
itemToString: itemToStringProp,
|
|
9368
|
+
itemToKey: itemToKeyProp,
|
|
9369
|
+
onChange,
|
|
9370
|
+
disableCloseOnClickOutside = false,
|
|
9371
|
+
disableMatchReferenceWidth = false,
|
|
9372
|
+
disableCloseOnSelectItem = false,
|
|
9373
|
+
filterOptions,
|
|
9374
|
+
disableFilter = false,
|
|
9375
|
+
loading = false,
|
|
9376
|
+
minPopoverHeight,
|
|
9377
|
+
root,
|
|
9378
|
+
onInputValueChange,
|
|
9379
|
+
environment: environmentProp,
|
|
9380
|
+
groupBy,
|
|
9381
|
+
groupToString,
|
|
9382
|
+
groupSorter,
|
|
9383
|
+
...rest
|
|
9384
|
+
} = componentProps;
|
|
9385
|
+
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
9386
|
+
const [items, setItems] = useState(itemsProp);
|
|
9387
|
+
const [hasAddNew, setHasAddNew] = useState(false);
|
|
9388
|
+
const [onSelectItemAddNew, setOnSelectItemAddNew] = useState(void 0);
|
|
9389
|
+
const [hasExactMatch, setHasExactMatch] = useState(false);
|
|
9390
|
+
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
9391
|
+
const [hasEmpty, setHasEmpty] = useState(false);
|
|
9392
|
+
const [disabledItems, setDisabledItems] = useState([]);
|
|
9393
|
+
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
9394
|
+
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
9395
|
+
const referenceRef = useRef(null);
|
|
9396
|
+
const contentRef = useRef(null);
|
|
9397
|
+
const handleOutsidePress = (_e) => {
|
|
9398
|
+
if (disableCloseOnClickOutside) return;
|
|
9399
|
+
closeMenu();
|
|
9400
|
+
};
|
|
9401
|
+
const { ref: wrapperDivRef, environment } = useDownshiftEnvironment$1();
|
|
9402
|
+
const { orderedItems: allItemsOrderedByGroup } = useGroups({
|
|
9403
|
+
items: itemsProp,
|
|
9404
|
+
groupBy,
|
|
9405
|
+
groupToString,
|
|
9406
|
+
groupSorter
|
|
9407
|
+
});
|
|
9408
|
+
const { groups: searchedGroups, orderedItems: searchedItemsOrderedByGroup } = useGroups({
|
|
9409
|
+
items,
|
|
9410
|
+
groupBy,
|
|
9411
|
+
groupToString,
|
|
9412
|
+
groupSorter
|
|
9255
9413
|
});
|
|
9414
|
+
const showAddNew = hasAddNew && !hasExactMatch;
|
|
9415
|
+
const combinedItems = useMemo(
|
|
9416
|
+
() => showAddNew ? [...searchedItemsOrderedByGroup, ADD_NEW$1] : searchedItemsOrderedByGroup,
|
|
9417
|
+
[searchedItemsOrderedByGroup, showAddNew]
|
|
9418
|
+
);
|
|
9419
|
+
const itemToString = itemToStringProp ?? defaultItemToString$1;
|
|
9420
|
+
const itemToKey = itemToKeyProp ?? defaultItemToKey$1;
|
|
9256
9421
|
const {
|
|
9257
9422
|
isOpen,
|
|
9258
9423
|
getLabelProps,
|
|
@@ -9266,12 +9431,11 @@ const ComboboxMultiple = function(props) {
|
|
|
9266
9431
|
setInputValue,
|
|
9267
9432
|
inputValue,
|
|
9268
9433
|
closeMenu
|
|
9269
|
-
} = useCombobox
|
|
9434
|
+
} = useCombobox({
|
|
9270
9435
|
...rest,
|
|
9271
9436
|
items: combinedItems,
|
|
9272
9437
|
itemToString,
|
|
9273
9438
|
itemToKey,
|
|
9274
|
-
selectedItem: null,
|
|
9275
9439
|
isOpen: open,
|
|
9276
9440
|
initialIsOpen: open,
|
|
9277
9441
|
environment: environmentProp ?? environment,
|
|
@@ -9279,16 +9443,14 @@ const ComboboxMultiple = function(props) {
|
|
|
9279
9443
|
stateReducer(state, { type, changes }) {
|
|
9280
9444
|
switch (type) {
|
|
9281
9445
|
// keep Combobox open onBlur, will call close using Popover's onOutsidePress
|
|
9282
|
-
case useCombobox
|
|
9446
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
9283
9447
|
return {
|
|
9284
9448
|
...changes,
|
|
9285
|
-
inputValue: state.inputValue,
|
|
9286
|
-
selectedItem: null,
|
|
9287
9449
|
isOpen: open != null ? open : true,
|
|
9288
9450
|
highlightedIndex: state.highlightedIndex
|
|
9289
9451
|
};
|
|
9290
|
-
case useCombobox
|
|
9291
|
-
case useCombobox
|
|
9452
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
9453
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
9292
9454
|
if (changes.selectedItem === ADD_NEW$1) {
|
|
9293
9455
|
const stateInputValue = state.inputValue;
|
|
9294
9456
|
setTimeout(() => {
|
|
@@ -9300,54 +9462,23 @@ const ComboboxMultiple = function(props) {
|
|
|
9300
9462
|
inputValue: ""
|
|
9301
9463
|
};
|
|
9302
9464
|
} else {
|
|
9303
|
-
const forceClose = forceCloseOnSelectItems.includes(
|
|
9304
|
-
changes.selectedItem
|
|
9305
|
-
);
|
|
9306
|
-
const forceClearInputValue = forceClearInputValueOnSelectItems.includes(
|
|
9307
|
-
changes.selectedItem
|
|
9308
|
-
);
|
|
9309
9465
|
return {
|
|
9310
9466
|
...changes,
|
|
9311
|
-
isOpen: open != null ? open :
|
|
9312
|
-
highlightedIndex:
|
|
9313
|
-
inputValue: forceClearInputValue ? "" : disableClearInputValueOnSelectItem ? state.inputValue : ""
|
|
9467
|
+
isOpen: open != null ? open : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
9468
|
+
highlightedIndex: disableCloseOnSelectItem ? itemToString(state.selectedItem) === state.inputValue || !state.inputValue ? state.highlightedIndex : 0 : changes.highlightedIndex
|
|
9314
9469
|
};
|
|
9315
9470
|
}
|
|
9316
9471
|
// prevent this from closing the popover by default
|
|
9317
|
-
case useCombobox
|
|
9472
|
+
case useCombobox.stateChangeTypes.InputClick:
|
|
9318
9473
|
return { ...changes, isOpen: open != null ? open : true };
|
|
9319
|
-
// prevent this from clearing the input value by default
|
|
9320
|
-
case useCombobox$1.stateChangeTypes.ControlledPropUpdatedSelectedItem:
|
|
9321
|
-
return { ...changes, inputValue: state.inputValue };
|
|
9322
9474
|
default:
|
|
9323
9475
|
return changes;
|
|
9324
9476
|
}
|
|
9325
9477
|
},
|
|
9326
|
-
|
|
9327
|
-
const { type, selectedItem: newSelectedItem } = changes;
|
|
9328
|
-
switch (type) {
|
|
9329
|
-
case useCombobox$1.stateChangeTypes.InputKeyDownEnter:
|
|
9330
|
-
case useCombobox$1.stateChangeTypes.ItemClick:
|
|
9331
|
-
case useCombobox$1.stateChangeTypes.InputBlur:
|
|
9332
|
-
if (newSelectedItem != null) {
|
|
9333
|
-
const itemAlreadySelected = selectedItems.some(
|
|
9334
|
-
(item) => itemToKey(item) === itemToKey(newSelectedItem)
|
|
9335
|
-
);
|
|
9336
|
-
if (itemAlreadySelected) {
|
|
9337
|
-
removeSelectedItem(newSelectedItem);
|
|
9338
|
-
} else {
|
|
9339
|
-
addSelectedItem(newSelectedItem);
|
|
9340
|
-
}
|
|
9341
|
-
}
|
|
9342
|
-
break;
|
|
9343
|
-
}
|
|
9344
|
-
onStateChange?.(changes);
|
|
9345
|
-
},
|
|
9346
|
-
onInputValueChange: onInputValueChange ?? (({ inputValue: inputValue2, ...changes }) => {
|
|
9347
|
-
const { type, selectedItem: selectedItem2 } = changes;
|
|
9478
|
+
onInputValueChange: onInputValueChange ?? (({ inputValue: inputValue2, type, selectedItem: selectedItem2 }) => {
|
|
9348
9479
|
const inputValueMatchesSelectedItem = selectedItem2 != null && inputValue2 === itemToString(selectedItem2);
|
|
9349
9480
|
const inputValueIsEmpty = inputValue2 == null || inputValue2 === "";
|
|
9350
|
-
if (type === useCombobox
|
|
9481
|
+
if (type === useCombobox.stateChangeTypes.InputKeyDownEnter || type === useCombobox.stateChangeTypes.ItemClick) {
|
|
9351
9482
|
setItems(allItemsOrderedByGroup);
|
|
9352
9483
|
setHasExactMatch(true);
|
|
9353
9484
|
} else if (!inputValueMatchesSelectedItem && !inputValueIsEmpty && !disableFilter) {
|
|
@@ -9365,11 +9496,22 @@ const ComboboxMultiple = function(props) {
|
|
|
9365
9496
|
setHasExactMatch(true);
|
|
9366
9497
|
}
|
|
9367
9498
|
}),
|
|
9368
|
-
|
|
9499
|
+
onSelectedItemChange(changes) {
|
|
9500
|
+
const { selectedItem: selectedItem2 } = changes;
|
|
9501
|
+
if (onChange != null)
|
|
9502
|
+
onChange(selectedItem2 != null ? selectedItem2 : null);
|
|
9503
|
+
},
|
|
9504
|
+
onIsOpenChange({ isOpen: isOpen2, inputValue: inputValue2, selectedItem: selectedItem2 }) {
|
|
9369
9505
|
if (isOpen2 === false) {
|
|
9370
9506
|
setTimeout(() => {
|
|
9371
|
-
setInputValue("");
|
|
9372
9507
|
setItems(allItemsOrderedByGroup);
|
|
9508
|
+
if (inputValue2 === "") {
|
|
9509
|
+
selectItem(null);
|
|
9510
|
+
} else {
|
|
9511
|
+
setInputValue(
|
|
9512
|
+
selectedItem2 != null ? itemToString(selectedItem2) : ""
|
|
9513
|
+
);
|
|
9514
|
+
}
|
|
9373
9515
|
}, 200);
|
|
9374
9516
|
}
|
|
9375
9517
|
},
|
|
@@ -9389,7 +9531,6 @@ const ComboboxMultiple = function(props) {
|
|
|
9389
9531
|
return false;
|
|
9390
9532
|
}
|
|
9391
9533
|
});
|
|
9392
|
-
storedSetInputValue = setInputValue;
|
|
9393
9534
|
const firstRenderRef = useRef(true);
|
|
9394
9535
|
useEffect(() => {
|
|
9395
9536
|
if (firstRenderRef.current === true) {
|
|
@@ -9404,27 +9545,26 @@ const ComboboxMultiple = function(props) {
|
|
|
9404
9545
|
}, [readOnly]);
|
|
9405
9546
|
useEffect(() => {
|
|
9406
9547
|
if (firstRenderRef.current) return;
|
|
9407
|
-
|
|
9408
|
-
|
|
9409
|
-
|
|
9410
|
-
|
|
9411
|
-
|
|
9412
|
-
|
|
9413
|
-
|
|
9414
|
-
|
|
9415
|
-
|
|
9416
|
-
|
|
9417
|
-
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
}, [itemsProp]);
|
|
9548
|
+
const inputValueMatchesSelectedItem = selectedItem != null && inputValue === itemToString(selectedItem);
|
|
9549
|
+
const inputValueIsEmpty = inputValue == null || inputValue === "";
|
|
9550
|
+
if (!inputValueMatchesSelectedItem && !inputValueIsEmpty && !disableFilter) {
|
|
9551
|
+
setItems(matchSorter(allItemsOrderedByGroup, inputValue, filterOptions));
|
|
9552
|
+
setHasExactMatch(
|
|
9553
|
+
matchSorter(allItemsOrderedByGroup, inputValue, {
|
|
9554
|
+
...filterOptions,
|
|
9555
|
+
threshold: matchSorter.rankings.EQUAL
|
|
9556
|
+
}).length > 0
|
|
9557
|
+
);
|
|
9558
|
+
} else {
|
|
9559
|
+
setItems(allItemsOrderedByGroup);
|
|
9560
|
+
setHasExactMatch(true);
|
|
9561
|
+
}
|
|
9562
|
+
}, [allItemsOrderedByGroup]);
|
|
9423
9563
|
return /* @__PURE__ */ jsx(
|
|
9424
9564
|
ComboboxContext.Provider,
|
|
9425
9565
|
{
|
|
9426
9566
|
value: {
|
|
9427
|
-
multiple:
|
|
9567
|
+
multiple: false,
|
|
9428
9568
|
select: false,
|
|
9429
9569
|
items: searchedItemsOrderedByGroup,
|
|
9430
9570
|
itemToString,
|
|
@@ -9437,17 +9577,11 @@ const ComboboxMultiple = function(props) {
|
|
|
9437
9577
|
getItemProps,
|
|
9438
9578
|
highlightedIndex,
|
|
9439
9579
|
selectedItem,
|
|
9440
|
-
selectedItems,
|
|
9580
|
+
selectedItems: [],
|
|
9441
9581
|
disabledItems,
|
|
9442
9582
|
setDisabledItems,
|
|
9443
|
-
|
|
9444
|
-
|
|
9445
|
-
getSelectedItemProps,
|
|
9446
|
-
getDropdownProps,
|
|
9447
|
-
reset,
|
|
9448
|
-
addSelectedItem,
|
|
9449
|
-
removeSelectedItem,
|
|
9450
|
-
setSelectedItems,
|
|
9583
|
+
getSelectedItemProps: void 0,
|
|
9584
|
+
getDropdownProps: void 0,
|
|
9451
9585
|
selectItem,
|
|
9452
9586
|
inputValue,
|
|
9453
9587
|
isDisabled,
|
|
@@ -9482,7 +9616,7 @@ const ComboboxMultiple = function(props) {
|
|
|
9482
9616
|
children: /* @__PURE__ */ jsx(
|
|
9483
9617
|
Popover,
|
|
9484
9618
|
{
|
|
9485
|
-
open:
|
|
9619
|
+
open: isOpen,
|
|
9486
9620
|
noPadding: true,
|
|
9487
9621
|
disableCaret: true,
|
|
9488
9622
|
fitScreen: true,
|
|
@@ -9500,39 +9634,54 @@ const ComboboxMultiple = function(props) {
|
|
|
9500
9634
|
}
|
|
9501
9635
|
);
|
|
9502
9636
|
};
|
|
9503
|
-
const
|
|
9637
|
+
const ComboboxMultiple = function(props) {
|
|
9504
9638
|
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
9505
9639
|
const {
|
|
9506
9640
|
className,
|
|
9507
9641
|
style,
|
|
9508
9642
|
children,
|
|
9509
9643
|
open,
|
|
9510
|
-
|
|
9511
|
-
readOnly,
|
|
9512
|
-
items,
|
|
9644
|
+
items: itemsProp,
|
|
9513
9645
|
itemToString: itemToStringProp,
|
|
9514
9646
|
itemToKey: itemToKeyProp,
|
|
9515
9647
|
onChange,
|
|
9516
|
-
|
|
9648
|
+
onSelectedItemsChange,
|
|
9649
|
+
onStateChange,
|
|
9517
9650
|
disableCloseOnClickOutside = false,
|
|
9518
9651
|
disableMatchReferenceWidth = false,
|
|
9519
9652
|
disableCloseOnSelectItem = false,
|
|
9653
|
+
disableClearInputValueOnSelectItem = false,
|
|
9654
|
+
filterOptions,
|
|
9655
|
+
disableFilter = false,
|
|
9520
9656
|
loading = false,
|
|
9521
9657
|
minPopoverHeight,
|
|
9522
9658
|
root,
|
|
9659
|
+
disabled,
|
|
9660
|
+
readOnly,
|
|
9661
|
+
stateReducer: _,
|
|
9662
|
+
onInputValueChange,
|
|
9663
|
+
initialSelectedItems,
|
|
9664
|
+
initialActiveIndex,
|
|
9665
|
+
defaultSelectedItems,
|
|
9666
|
+
defaultActiveIndex,
|
|
9667
|
+
activeIndex: activeIndexProp,
|
|
9668
|
+
selectedItems: selectedItemsProp,
|
|
9523
9669
|
environment: environmentProp,
|
|
9524
9670
|
groupBy,
|
|
9525
9671
|
groupToString,
|
|
9526
9672
|
...rest
|
|
9527
9673
|
} = componentProps;
|
|
9528
9674
|
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
9675
|
+
const [items, setItems] = useState(itemsProp);
|
|
9676
|
+
const [hasAddNew, setHasAddNew] = useState(false);
|
|
9677
|
+
const [onSelectItemAddNew, setOnSelectItemAddNew] = useState(void 0);
|
|
9678
|
+
const [hasExactMatch, setHasExactMatch] = useState(false);
|
|
9529
9679
|
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
9530
9680
|
const [hasEmpty, setHasEmpty] = useState(false);
|
|
9531
9681
|
const [disabledItems, setDisabledItems] = useState([]);
|
|
9532
|
-
const [forceCloseOnSelectItems, setForceCloseOnSelectItems] = useState([]);
|
|
9533
|
-
const [, setForceClearInputValueOnSelectItems] = useState([]);
|
|
9534
9682
|
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
9535
9683
|
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
9684
|
+
let storedSetInputValue = void 0;
|
|
9536
9685
|
const referenceRef = useRef(null);
|
|
9537
9686
|
const contentRef = useRef(null);
|
|
9538
9687
|
const handleOutsidePress = (_e) => {
|
|
@@ -9540,192 +9689,23 @@ const SelectSingle = function(props) {
|
|
|
9540
9689
|
closeMenu();
|
|
9541
9690
|
};
|
|
9542
9691
|
const { ref: wrapperDivRef, environment } = useDownshiftEnvironment$1();
|
|
9543
|
-
const
|
|
9544
|
-
|
|
9545
|
-
|
|
9692
|
+
const { orderedItems: allItemsOrderedByGroup } = useGroups({
|
|
9693
|
+
items: itemsProp,
|
|
9694
|
+
groupBy,
|
|
9695
|
+
groupToString
|
|
9696
|
+
});
|
|
9697
|
+
const { groups: searchedGroups, orderedItems: searchedItemsOrderedByGroup } = useGroups({
|
|
9546
9698
|
items,
|
|
9547
9699
|
groupBy,
|
|
9548
9700
|
groupToString
|
|
9549
9701
|
});
|
|
9550
|
-
const
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
|
|
9557
|
-
selectedItem,
|
|
9558
|
-
selectItem,
|
|
9559
|
-
inputValue,
|
|
9560
|
-
closeMenu
|
|
9561
|
-
} = useSelect({
|
|
9562
|
-
...rest,
|
|
9563
|
-
items: orderedItems,
|
|
9564
|
-
itemToString,
|
|
9565
|
-
itemToKey,
|
|
9566
|
-
isOpen: open,
|
|
9567
|
-
initialIsOpen: open,
|
|
9568
|
-
environment: environmentProp ?? environment,
|
|
9569
|
-
// NOTE: Reducer needs to be pure, side-effects should be in event handlers
|
|
9570
|
-
stateReducer(state, { type, changes }) {
|
|
9571
|
-
switch (type) {
|
|
9572
|
-
case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:
|
|
9573
|
-
case useSelect.stateChangeTypes.ItemClick:
|
|
9574
|
-
return {
|
|
9575
|
-
...changes,
|
|
9576
|
-
isOpen: open != null ? open : forceCloseOnSelectItems.includes(changes.selectedItem) ? false : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
9577
|
-
highlightedIndex: disableCloseOnSelectItem ? state.highlightedIndex : changes.highlightedIndex
|
|
9578
|
-
};
|
|
9579
|
-
default:
|
|
9580
|
-
return changes;
|
|
9581
|
-
}
|
|
9582
|
-
},
|
|
9583
|
-
onSelectedItemChange(changes) {
|
|
9584
|
-
const { selectedItem: selectedItem2 } = changes;
|
|
9585
|
-
if (onChange != null)
|
|
9586
|
-
onChange(selectedItem2 != null ? selectedItem2 : null);
|
|
9587
|
-
},
|
|
9588
|
-
isItemDisabled(item) {
|
|
9589
|
-
if (isDisabled || isReadOnly) {
|
|
9590
|
-
return !!isDisabled || !!isReadOnly;
|
|
9591
|
-
}
|
|
9592
|
-
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
9593
|
-
return true;
|
|
9594
|
-
}
|
|
9595
|
-
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
9596
|
-
return true;
|
|
9597
|
-
}
|
|
9598
|
-
if (disabledItems.includes(item)) {
|
|
9599
|
-
return true;
|
|
9600
|
-
}
|
|
9601
|
-
return false;
|
|
9602
|
-
}
|
|
9603
|
-
});
|
|
9604
|
-
useEffect(() => {
|
|
9605
|
-
setIsDisabled(disabled);
|
|
9606
|
-
}, [disabled]);
|
|
9607
|
-
useEffect(() => {
|
|
9608
|
-
setIsReadOnly(readOnly);
|
|
9609
|
-
}, [readOnly]);
|
|
9610
|
-
return /* @__PURE__ */ jsx(
|
|
9611
|
-
ComboboxContext.Provider,
|
|
9612
|
-
{
|
|
9613
|
-
value: {
|
|
9614
|
-
multiple: false,
|
|
9615
|
-
select: true,
|
|
9616
|
-
disableClearSelection,
|
|
9617
|
-
items: orderedItems,
|
|
9618
|
-
itemToString,
|
|
9619
|
-
itemToKey,
|
|
9620
|
-
isOpen,
|
|
9621
|
-
getLabelProps,
|
|
9622
|
-
getToggleButtonProps,
|
|
9623
|
-
getMenuProps,
|
|
9624
|
-
getItemProps,
|
|
9625
|
-
highlightedIndex,
|
|
9626
|
-
selectedItem,
|
|
9627
|
-
selectedItems: [],
|
|
9628
|
-
disabledItems,
|
|
9629
|
-
setDisabledItems,
|
|
9630
|
-
setForceCloseOnSelectItems,
|
|
9631
|
-
setForceClearInputValueOnSelectItems,
|
|
9632
|
-
selectItem,
|
|
9633
|
-
inputValue,
|
|
9634
|
-
isDisabled,
|
|
9635
|
-
isReadOnly,
|
|
9636
|
-
setIsReadOnly,
|
|
9637
|
-
setIsDisabled,
|
|
9638
|
-
hasDisabledPopover,
|
|
9639
|
-
setHasDisabledPopover,
|
|
9640
|
-
hasEmpty,
|
|
9641
|
-
setHasEmpty,
|
|
9642
|
-
loading,
|
|
9643
|
-
referenceRef,
|
|
9644
|
-
contentRef,
|
|
9645
|
-
closeMenu,
|
|
9646
|
-
groups,
|
|
9647
|
-
groupBy,
|
|
9648
|
-
groupToString
|
|
9649
|
-
},
|
|
9650
|
-
children: /* @__PURE__ */ jsx(
|
|
9651
|
-
"div",
|
|
9652
|
-
{
|
|
9653
|
-
className: ComboboxClassNames,
|
|
9654
|
-
"data-anv": "combobox",
|
|
9655
|
-
style: { ...style, ...layoutStyles },
|
|
9656
|
-
ref: wrapperDivRef,
|
|
9657
|
-
children: /* @__PURE__ */ jsx(
|
|
9658
|
-
Popover,
|
|
9659
|
-
{
|
|
9660
|
-
open: isOpen,
|
|
9661
|
-
noPadding: true,
|
|
9662
|
-
disableCaret: true,
|
|
9663
|
-
fitScreen: true,
|
|
9664
|
-
disableFlipFallback: true,
|
|
9665
|
-
placement: "bottom-start",
|
|
9666
|
-
matchReferenceWidth: !disableMatchReferenceWidth,
|
|
9667
|
-
disableCloseOnClickOutside,
|
|
9668
|
-
onOutsidePress: handleOutsidePress,
|
|
9669
|
-
minHeight: minPopoverHeight,
|
|
9670
|
-
children
|
|
9671
|
-
}
|
|
9672
|
-
)
|
|
9673
|
-
}
|
|
9674
|
-
)
|
|
9675
|
-
}
|
|
9676
|
-
);
|
|
9677
|
-
};
|
|
9678
|
-
const SelectMultiple = function(props) {
|
|
9679
|
-
const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
|
|
9680
|
-
const {
|
|
9681
|
-
className,
|
|
9682
|
-
style,
|
|
9683
|
-
children,
|
|
9684
|
-
open,
|
|
9685
|
-
items,
|
|
9686
|
-
itemToString: itemToStringProp,
|
|
9687
|
-
itemToKey: itemToKeyProp,
|
|
9688
|
-
onChange,
|
|
9689
|
-
onSelectedItemsChange,
|
|
9690
|
-
onStateChange,
|
|
9691
|
-
disableCloseOnClickOutside = false,
|
|
9692
|
-
disableMatchReferenceWidth = false,
|
|
9693
|
-
disableCloseOnSelectItem = false,
|
|
9694
|
-
loading = false,
|
|
9695
|
-
minPopoverHeight,
|
|
9696
|
-
root,
|
|
9697
|
-
disabled,
|
|
9698
|
-
readOnly,
|
|
9699
|
-
stateReducer: _,
|
|
9700
|
-
initialSelectedItems,
|
|
9701
|
-
initialActiveIndex,
|
|
9702
|
-
defaultSelectedItems,
|
|
9703
|
-
defaultActiveIndex,
|
|
9704
|
-
activeIndex: activeIndexProp,
|
|
9705
|
-
selectedItems: selectedItemsProp,
|
|
9706
|
-
environment: environmentProp,
|
|
9707
|
-
groupBy,
|
|
9708
|
-
groupToString,
|
|
9709
|
-
...rest
|
|
9710
|
-
} = componentProps;
|
|
9711
|
-
const ComboboxClassNames = cx(styles["combobox"], className);
|
|
9712
|
-
const [hasDisabledPopover, setHasDisabledPopover] = useState(false);
|
|
9713
|
-
const [hasEmpty, setHasEmpty] = useState(false);
|
|
9714
|
-
const [disabledItems, setDisabledItems] = useState([]);
|
|
9715
|
-
const [forceCloseOnSelectItems, setForceCloseOnSelectItems] = useState([]);
|
|
9716
|
-
const [, setForceClearInputValueOnSelectItems] = useState([]);
|
|
9717
|
-
const [isReadOnly, setIsReadOnly] = useState(readOnly);
|
|
9718
|
-
const [isDisabled, setIsDisabled] = useState(disabled);
|
|
9719
|
-
const referenceRef = useRef(null);
|
|
9720
|
-
const contentRef = useRef(null);
|
|
9721
|
-
const handleOutsidePress = (_e) => {
|
|
9722
|
-
if (disableCloseOnClickOutside) return;
|
|
9723
|
-
closeMenu();
|
|
9724
|
-
};
|
|
9725
|
-
const { ref: wrapperDivRef, environment } = useDownshiftEnvironment$1();
|
|
9726
|
-
const itemToString = itemToStringProp ?? defaultItemToString$1;
|
|
9727
|
-
const itemToKey = itemToKeyProp ?? defaultItemToKey$1;
|
|
9728
|
-
const { groups, orderedItems } = useGroups({ items, groupBy, groupToString });
|
|
9702
|
+
const showAddNew = hasAddNew && !hasExactMatch;
|
|
9703
|
+
const combinedItems = useMemo(
|
|
9704
|
+
() => showAddNew ? [...items, ADD_NEW$1] : searchedItemsOrderedByGroup,
|
|
9705
|
+
[items, searchedItemsOrderedByGroup, showAddNew]
|
|
9706
|
+
);
|
|
9707
|
+
const itemToString = itemToStringProp ?? defaultItemToString$1;
|
|
9708
|
+
const itemToKey = itemToKeyProp ?? defaultItemToKey$1;
|
|
9729
9709
|
const {
|
|
9730
9710
|
getSelectedItemProps,
|
|
9731
9711
|
getDropdownProps,
|
|
@@ -9758,7 +9738,15 @@ const SelectMultiple = function(props) {
|
|
|
9758
9738
|
return changes;
|
|
9759
9739
|
}
|
|
9760
9740
|
},
|
|
9761
|
-
onStateChange
|
|
9741
|
+
onStateChange(changes) {
|
|
9742
|
+
const { type } = changes;
|
|
9743
|
+
switch (type) {
|
|
9744
|
+
case useMultipleSelection.stateChangeTypes.FunctionReset:
|
|
9745
|
+
storedSetInputValue?.("");
|
|
9746
|
+
break;
|
|
9747
|
+
}
|
|
9748
|
+
onStateChange?.(changes);
|
|
9749
|
+
},
|
|
9762
9750
|
onSelectedItemsChange(changes) {
|
|
9763
9751
|
const { selectedItems: selectedItems2 } = changes;
|
|
9764
9752
|
if (onChange != null) onChange(selectedItems2);
|
|
@@ -9768,17 +9756,19 @@ const SelectMultiple = function(props) {
|
|
|
9768
9756
|
const {
|
|
9769
9757
|
isOpen,
|
|
9770
9758
|
getLabelProps,
|
|
9759
|
+
getInputProps,
|
|
9771
9760
|
getToggleButtonProps,
|
|
9772
9761
|
getMenuProps,
|
|
9773
9762
|
getItemProps,
|
|
9774
9763
|
highlightedIndex,
|
|
9775
9764
|
selectedItem,
|
|
9776
9765
|
selectItem,
|
|
9766
|
+
setInputValue,
|
|
9777
9767
|
inputValue,
|
|
9778
9768
|
closeMenu
|
|
9779
|
-
} =
|
|
9769
|
+
} = useCombobox({
|
|
9780
9770
|
...rest,
|
|
9781
|
-
items:
|
|
9771
|
+
items: combinedItems,
|
|
9782
9772
|
itemToString,
|
|
9783
9773
|
itemToKey,
|
|
9784
9774
|
selectedItem: null,
|
|
@@ -9788,452 +9778,231 @@ const SelectMultiple = function(props) {
|
|
|
9788
9778
|
// NOTE: Reducer needs to be pure, side-effects should be in event handlers
|
|
9789
9779
|
stateReducer(state, { type, changes }) {
|
|
9790
9780
|
switch (type) {
|
|
9791
|
-
|
|
9792
|
-
case
|
|
9781
|
+
// keep Combobox open onBlur, will call close using Popover's onOutsidePress
|
|
9782
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
9793
9783
|
return {
|
|
9794
9784
|
...changes,
|
|
9795
|
-
|
|
9796
|
-
|
|
9785
|
+
inputValue: state.inputValue,
|
|
9786
|
+
selectedItem: null,
|
|
9787
|
+
isOpen: open != null ? open : true,
|
|
9788
|
+
highlightedIndex: state.highlightedIndex
|
|
9797
9789
|
};
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
|
|
9802
|
-
|
|
9803
|
-
|
|
9804
|
-
|
|
9805
|
-
|
|
9806
|
-
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
}
|
|
9817
|
-
}
|
|
9818
|
-
|
|
9819
|
-
|
|
9820
|
-
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
9827
|
-
return true;
|
|
9828
|
-
}
|
|
9829
|
-
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
9830
|
-
return true;
|
|
9831
|
-
}
|
|
9832
|
-
if (disabledItems.includes(item)) {
|
|
9833
|
-
return true;
|
|
9834
|
-
}
|
|
9835
|
-
return false;
|
|
9836
|
-
}
|
|
9837
|
-
});
|
|
9838
|
-
useEffect(() => {
|
|
9839
|
-
setIsDisabled(disabled);
|
|
9840
|
-
}, [disabled]);
|
|
9841
|
-
useEffect(() => {
|
|
9842
|
-
setIsReadOnly(readOnly);
|
|
9843
|
-
}, [readOnly]);
|
|
9844
|
-
return /* @__PURE__ */ jsx(
|
|
9845
|
-
ComboboxContext.Provider,
|
|
9846
|
-
{
|
|
9847
|
-
value: {
|
|
9848
|
-
multiple: true,
|
|
9849
|
-
select: true,
|
|
9850
|
-
items: orderedItems,
|
|
9851
|
-
itemToString,
|
|
9852
|
-
itemToKey,
|
|
9853
|
-
isOpen,
|
|
9854
|
-
getLabelProps,
|
|
9855
|
-
getToggleButtonProps,
|
|
9856
|
-
getMenuProps,
|
|
9857
|
-
getItemProps,
|
|
9858
|
-
highlightedIndex,
|
|
9859
|
-
selectedItem,
|
|
9860
|
-
selectedItems,
|
|
9861
|
-
disabledItems,
|
|
9862
|
-
setDisabledItems,
|
|
9863
|
-
setForceCloseOnSelectItems,
|
|
9864
|
-
setForceClearInputValueOnSelectItems,
|
|
9865
|
-
getSelectedItemProps,
|
|
9866
|
-
getDropdownProps,
|
|
9867
|
-
reset,
|
|
9868
|
-
addSelectedItem,
|
|
9869
|
-
removeSelectedItem,
|
|
9870
|
-
setSelectedItems,
|
|
9871
|
-
selectItem,
|
|
9872
|
-
inputValue,
|
|
9873
|
-
isDisabled,
|
|
9874
|
-
isReadOnly,
|
|
9875
|
-
setIsReadOnly,
|
|
9876
|
-
setIsDisabled,
|
|
9877
|
-
hasDisabledPopover,
|
|
9878
|
-
setHasDisabledPopover,
|
|
9879
|
-
hasEmpty,
|
|
9880
|
-
setHasEmpty,
|
|
9881
|
-
loading,
|
|
9882
|
-
referenceRef,
|
|
9883
|
-
contentRef,
|
|
9884
|
-
closeMenu,
|
|
9885
|
-
groupBy,
|
|
9886
|
-
groupToString,
|
|
9887
|
-
groups
|
|
9888
|
-
},
|
|
9889
|
-
children: /* @__PURE__ */ jsx(
|
|
9890
|
-
"div",
|
|
9891
|
-
{
|
|
9892
|
-
className: ComboboxClassNames,
|
|
9893
|
-
"data-anv": "combobox",
|
|
9894
|
-
style: { ...style, ...layoutStyles },
|
|
9895
|
-
ref: wrapperDivRef,
|
|
9896
|
-
children: /* @__PURE__ */ jsx(
|
|
9897
|
-
Popover,
|
|
9898
|
-
{
|
|
9899
|
-
open: !isDisabled && isOpen,
|
|
9900
|
-
noPadding: true,
|
|
9901
|
-
disableCaret: true,
|
|
9902
|
-
fitScreen: true,
|
|
9903
|
-
disableFlipFallback: true,
|
|
9904
|
-
placement: "bottom-start",
|
|
9905
|
-
matchReferenceWidth: !disableMatchReferenceWidth,
|
|
9906
|
-
disableCloseOnClickOutside,
|
|
9907
|
-
onOutsidePress: handleOutsidePress,
|
|
9908
|
-
minHeight: minPopoverHeight,
|
|
9909
|
-
children
|
|
9910
|
-
}
|
|
9911
|
-
)
|
|
9912
|
-
}
|
|
9913
|
-
)
|
|
9914
|
-
}
|
|
9915
|
-
);
|
|
9916
|
-
};
|
|
9917
|
-
const ComboboxElement$1 = function(props) {
|
|
9918
|
-
if (!supportsPopover()) {
|
|
9919
|
-
if (isMultiple(props)) {
|
|
9920
|
-
return /* @__PURE__ */ jsx(ComboboxLegacyMultiple, { ...props });
|
|
9921
|
-
} else {
|
|
9922
|
-
return /* @__PURE__ */ jsx(ComboboxLegacySingle, { ...props });
|
|
9923
|
-
}
|
|
9924
|
-
}
|
|
9925
|
-
if (isMultiple(props)) {
|
|
9926
|
-
return /* @__PURE__ */ jsx(ComboboxMultiple, { ...props });
|
|
9927
|
-
} else {
|
|
9928
|
-
return /* @__PURE__ */ jsx(ComboboxSingle, { ...props });
|
|
9929
|
-
}
|
|
9930
|
-
};
|
|
9931
|
-
const ComboboxSelect$1 = function(props) {
|
|
9932
|
-
if (!supportsPopover()) {
|
|
9933
|
-
if (isMultiple(props)) {
|
|
9934
|
-
return /* @__PURE__ */ jsx(SelectLegacyMultiple, { ...props });
|
|
9935
|
-
} else {
|
|
9936
|
-
return /* @__PURE__ */ jsx(SelectLegacySingle, { ...props });
|
|
9937
|
-
}
|
|
9938
|
-
}
|
|
9939
|
-
if (isMultiple(props)) {
|
|
9940
|
-
return /* @__PURE__ */ jsx(SelectMultiple, { ...props });
|
|
9941
|
-
} else {
|
|
9942
|
-
return /* @__PURE__ */ jsx(SelectSingle, { ...props });
|
|
9943
|
-
}
|
|
9944
|
-
};
|
|
9945
|
-
const Combobox$1 = Object.assign(ComboboxElement$1, {
|
|
9946
|
-
Select: ComboboxSelect$1,
|
|
9947
|
-
SearchField: ComboboxSearchField$1,
|
|
9948
|
-
SelectTrigger: ComboboxSelectTrigger$1,
|
|
9949
|
-
Content: ComboboxContent$1,
|
|
9950
|
-
List: ComboboxList$1,
|
|
9951
|
-
Item: ComboboxItem$1,
|
|
9952
|
-
ItemAddNew: ComboboxItemAddNew$1,
|
|
9953
|
-
Empty: ComboboxEmpty$1
|
|
9954
|
-
});
|
|
9955
|
-
|
|
9956
|
-
const SCROLL_THRESHOLD = 0.64;
|
|
9957
|
-
function useInfiniteCombobox({
|
|
9958
|
-
query,
|
|
9959
|
-
queryInitialItems,
|
|
9960
|
-
initialItems = [],
|
|
9961
|
-
initialPage = 0,
|
|
9962
|
-
initialLoading = false,
|
|
9963
|
-
initialInputValue,
|
|
9964
|
-
defaultInputValue,
|
|
9965
|
-
initialSelectedItem,
|
|
9966
|
-
defaultSelectedItem,
|
|
9967
|
-
initialSelectedItems,
|
|
9968
|
-
defaultSelectedItems,
|
|
9969
|
-
updateOnInputValueChange = true,
|
|
9970
|
-
updateOnSelectedItemChange = true,
|
|
9971
|
-
updateOnSelectedItemsChange = true,
|
|
9972
|
-
queryOnFirstRender = false,
|
|
9973
|
-
shouldTriggerQuery: shouldTriggerQueryProp
|
|
9974
|
-
}) {
|
|
9975
|
-
const [items, setItems] = useState(initialItems);
|
|
9976
|
-
const deferredItems = useDeferredValue(items);
|
|
9977
|
-
const [page, setPage] = useState(initialPage);
|
|
9978
|
-
const [loading, setLoading] = useState(initialLoading);
|
|
9979
|
-
const deferredLoading = useDeferredValue(loading);
|
|
9980
|
-
const [inputValue, setInputValue] = useState(
|
|
9981
|
-
initialInputValue ?? defaultInputValue ?? ""
|
|
9982
|
-
);
|
|
9983
|
-
const [selectedItem, setSelectedItem] = useState(
|
|
9984
|
-
initialSelectedItem ?? defaultSelectedItem ?? null
|
|
9985
|
-
);
|
|
9986
|
-
const [selectedItems, setSelectedItems] = useState(
|
|
9987
|
-
initialSelectedItems ?? defaultSelectedItems ?? []
|
|
9988
|
-
);
|
|
9989
|
-
const scrollerRef = useRef(null);
|
|
9990
|
-
const defaultShouldTriggerQuery = (element) => {
|
|
9991
|
-
const totalScrollHeight = element.scrollHeight - element.clientHeight;
|
|
9992
|
-
return element.scrollTop / totalScrollHeight > SCROLL_THRESHOLD;
|
|
9993
|
-
};
|
|
9994
|
-
const [triggerQueryCount, setTriggerQueryCount] = useState(0);
|
|
9995
|
-
const triggerQueryCountRef = useRef(0);
|
|
9996
|
-
const triggerQuery = () => {
|
|
9997
|
-
setTriggerQueryCount((x) => x + 1);
|
|
9998
|
-
triggerQueryCountRef.current += 1;
|
|
9999
|
-
};
|
|
10000
|
-
const [done, setDone] = useState(false);
|
|
10001
|
-
const firstRenderRef = useRef(true);
|
|
10002
|
-
const scrollTimeoutRef = useRef(false);
|
|
10003
|
-
const loadingRef = useRef(false);
|
|
10004
|
-
const setLoadingStateAndRef = (isLoading) => {
|
|
10005
|
-
setLoading(isLoading);
|
|
10006
|
-
loadingRef.current = isLoading;
|
|
10007
|
-
};
|
|
10008
|
-
const queryRetryCountRef = useRef(0);
|
|
10009
|
-
useEffect(() => {
|
|
10010
|
-
if (firstRenderRef.current && queryInitialItems) {
|
|
10011
|
-
setItems(queryInitialItems());
|
|
10012
|
-
}
|
|
10013
|
-
if (firstRenderRef.current && !queryOnFirstRender) {
|
|
10014
|
-
firstRenderRef.current = false;
|
|
10015
|
-
return;
|
|
10016
|
-
}
|
|
10017
|
-
setLoadingStateAndRef(true);
|
|
10018
|
-
const timeoutID = setTimeout(() => {
|
|
10019
|
-
if (triggerQueryCount < triggerQueryCountRef.current) return;
|
|
10020
|
-
query({
|
|
10021
|
-
page,
|
|
10022
|
-
inputValue,
|
|
10023
|
-
selectedItem,
|
|
10024
|
-
selectedItems
|
|
10025
|
-
}).then((res) => {
|
|
10026
|
-
queryRetryCountRef.current = 0;
|
|
10027
|
-
if (triggerQueryCount < triggerQueryCountRef.current) return;
|
|
10028
|
-
setLoadingStateAndRef(false);
|
|
10029
|
-
setPage((x) => x + 1);
|
|
10030
|
-
if (res == null || page > 0 && res.length === 0) {
|
|
10031
|
-
setDone(true);
|
|
10032
|
-
} else if (page === 0) {
|
|
10033
|
-
setItems(() => [...res]);
|
|
10034
|
-
} else {
|
|
10035
|
-
setItems((prevItems) => [...prevItems, ...res]);
|
|
10036
|
-
}
|
|
10037
|
-
}).catch(() => {
|
|
10038
|
-
queryRetryCountRef.current += 1;
|
|
10039
|
-
if (queryRetryCountRef.current > 7) {
|
|
10040
|
-
queryRetryCountRef.current = 0;
|
|
10041
|
-
return;
|
|
10042
|
-
} else {
|
|
10043
|
-
setTimeout(
|
|
10044
|
-
() => {
|
|
10045
|
-
triggerQuery();
|
|
10046
|
-
},
|
|
10047
|
-
2 ** queryRetryCountRef.current * 160
|
|
10048
|
-
);
|
|
10049
|
-
}
|
|
10050
|
-
});
|
|
10051
|
-
}, 160);
|
|
10052
|
-
return () => {
|
|
10053
|
-
clearTimeout(timeoutID);
|
|
10054
|
-
};
|
|
10055
|
-
}, [triggerQueryCount]);
|
|
10056
|
-
useLayoutEffect(() => {
|
|
10057
|
-
setTimeout(() => {
|
|
10058
|
-
if (scrollerRef.current && scrollerRef.current.scrollHeight > 0 && scrollerRef.current.clientHeight > 0 && scrollerRef.current.scrollHeight <= scrollerRef.current.clientHeight) {
|
|
10059
|
-
triggerQuery();
|
|
9790
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
9791
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
9792
|
+
if (changes.selectedItem === ADD_NEW$1) {
|
|
9793
|
+
const stateInputValue = state.inputValue;
|
|
9794
|
+
setTimeout(() => {
|
|
9795
|
+
onSelectItemAddNew?.(stateInputValue);
|
|
9796
|
+
}, 250);
|
|
9797
|
+
return {
|
|
9798
|
+
...changes,
|
|
9799
|
+
selectedItem: state.selectedItem,
|
|
9800
|
+
inputValue: ""
|
|
9801
|
+
};
|
|
9802
|
+
} else {
|
|
9803
|
+
return {
|
|
9804
|
+
...changes,
|
|
9805
|
+
isOpen: open != null ? open : disableCloseOnSelectItem ? true : changes.isOpen,
|
|
9806
|
+
highlightedIndex: disableCloseOnSelectItem ? disableClearInputValueOnSelectItem || !state.inputValue ? state.highlightedIndex : 0 : changes.highlightedIndex,
|
|
9807
|
+
inputValue: disableClearInputValueOnSelectItem ? state.inputValue : ""
|
|
9808
|
+
};
|
|
9809
|
+
}
|
|
9810
|
+
// prevent this from closing the popover by default
|
|
9811
|
+
case useCombobox.stateChangeTypes.InputClick:
|
|
9812
|
+
return { ...changes, isOpen: open != null ? open : true };
|
|
9813
|
+
// prevent this from clearing the input value by default
|
|
9814
|
+
case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:
|
|
9815
|
+
return { ...changes, inputValue: state.inputValue };
|
|
9816
|
+
default:
|
|
9817
|
+
return changes;
|
|
10060
9818
|
}
|
|
10061
|
-
},
|
|
10062
|
-
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
|
|
9819
|
+
},
|
|
9820
|
+
onStateChange(changes) {
|
|
9821
|
+
const { type, selectedItem: newSelectedItem } = changes;
|
|
9822
|
+
switch (type) {
|
|
9823
|
+
case useCombobox.stateChangeTypes.InputKeyDownEnter:
|
|
9824
|
+
case useCombobox.stateChangeTypes.ItemClick:
|
|
9825
|
+
case useCombobox.stateChangeTypes.InputBlur:
|
|
9826
|
+
if (newSelectedItem != null) {
|
|
9827
|
+
const itemAlreadySelected = selectedItems.some(
|
|
9828
|
+
(item) => itemToKey(item) === itemToKey(newSelectedItem)
|
|
9829
|
+
);
|
|
9830
|
+
if (itemAlreadySelected) {
|
|
9831
|
+
removeSelectedItem(newSelectedItem);
|
|
9832
|
+
} else {
|
|
9833
|
+
addSelectedItem(newSelectedItem);
|
|
9834
|
+
}
|
|
9835
|
+
}
|
|
9836
|
+
break;
|
|
10068
9837
|
}
|
|
10069
|
-
|
|
10070
|
-
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
9838
|
+
onStateChange?.(changes);
|
|
9839
|
+
},
|
|
9840
|
+
onInputValueChange: onInputValueChange ?? (({ inputValue: inputValue2, ...changes }) => {
|
|
9841
|
+
const { type, selectedItem: selectedItem2 } = changes;
|
|
9842
|
+
const inputValueMatchesSelectedItem = selectedItem2 != null && inputValue2 === itemToString(selectedItem2);
|
|
9843
|
+
const inputValueIsEmpty = inputValue2 == null || inputValue2 === "";
|
|
9844
|
+
if (type === useCombobox.stateChangeTypes.InputKeyDownEnter || type === useCombobox.stateChangeTypes.ItemClick) {
|
|
9845
|
+
setItems(allItemsOrderedByGroup);
|
|
9846
|
+
setHasExactMatch(true);
|
|
9847
|
+
} else if (!inputValueMatchesSelectedItem && !inputValueIsEmpty && !disableFilter) {
|
|
9848
|
+
setItems(
|
|
9849
|
+
matchSorter(allItemsOrderedByGroup, inputValue2, filterOptions)
|
|
9850
|
+
);
|
|
9851
|
+
setHasExactMatch(
|
|
9852
|
+
matchSorter(allItemsOrderedByGroup, inputValue2, {
|
|
9853
|
+
...filterOptions,
|
|
9854
|
+
threshold: matchSorter.rankings.EQUAL
|
|
9855
|
+
}).length > 0
|
|
9856
|
+
);
|
|
9857
|
+
} else {
|
|
9858
|
+
setItems(allItemsOrderedByGroup);
|
|
9859
|
+
setHasExactMatch(true);
|
|
10074
9860
|
}
|
|
10075
|
-
|
|
10076
|
-
|
|
9861
|
+
}),
|
|
9862
|
+
onIsOpenChange({ isOpen: isOpen2 }) {
|
|
9863
|
+
if (isOpen2 === false) {
|
|
9864
|
+
setTimeout(() => {
|
|
9865
|
+
setInputValue("");
|
|
9866
|
+
setItems(allItemsOrderedByGroup);
|
|
9867
|
+
}, 200);
|
|
10077
9868
|
}
|
|
10078
|
-
|
|
10079
|
-
|
|
9869
|
+
},
|
|
9870
|
+
isItemDisabled(item) {
|
|
9871
|
+
if (isDisabled || isReadOnly) {
|
|
9872
|
+
return !!isDisabled || !!isReadOnly;
|
|
10080
9873
|
}
|
|
10081
|
-
if (
|
|
10082
|
-
|
|
10083
|
-
setDone(false);
|
|
10084
|
-
triggerQuery();
|
|
9874
|
+
if (item && item instanceof Object && "disabled" in item && item.disabled) {
|
|
9875
|
+
return true;
|
|
10085
9876
|
}
|
|
10086
|
-
|
|
10087
|
-
|
|
10088
|
-
isEmpty,
|
|
10089
|
-
updateOnInputValueChange,
|
|
10090
|
-
updateOnSelectedItemsChange,
|
|
10091
|
-
updateOnSelectedItemChange
|
|
10092
|
-
]
|
|
10093
|
-
);
|
|
10094
|
-
const onScroll = useCallback(
|
|
10095
|
-
(e) => {
|
|
10096
|
-
const element = e.currentTarget;
|
|
10097
|
-
if (!scrollTimeoutRef.current && !loadingRef.current) {
|
|
10098
|
-
setTimeout(() => {
|
|
10099
|
-
const shouldTriggerQuery = shouldTriggerQueryProp ?? defaultShouldTriggerQuery;
|
|
10100
|
-
if (shouldTriggerQuery(element) && !done) {
|
|
10101
|
-
triggerQuery();
|
|
10102
|
-
}
|
|
10103
|
-
scrollTimeoutRef.current = false;
|
|
10104
|
-
}, 40);
|
|
10105
|
-
scrollTimeoutRef.current = true;
|
|
9877
|
+
if (item && item instanceof Object && "readOnly" in item && item.readOnly) {
|
|
9878
|
+
return true;
|
|
10106
9879
|
}
|
|
10107
|
-
|
|
10108
|
-
|
|
10109
|
-
|
|
10110
|
-
|
|
10111
|
-
comboboxProps: {
|
|
10112
|
-
items: deferredItems,
|
|
10113
|
-
loading: deferredLoading,
|
|
10114
|
-
initialInputValue,
|
|
10115
|
-
defaultInputValue,
|
|
10116
|
-
initialSelectedItem,
|
|
10117
|
-
defaultSelectedItem,
|
|
10118
|
-
initialSelectedItems,
|
|
10119
|
-
defaultSelectedItems,
|
|
10120
|
-
disableFilter: true,
|
|
10121
|
-
// assume the query will return a filtered/sorted list
|
|
10122
|
-
onStateChange
|
|
10123
|
-
},
|
|
10124
|
-
contentProps: {
|
|
10125
|
-
onScroll,
|
|
10126
|
-
scrollerRef
|
|
9880
|
+
if (disabledItems.includes(item)) {
|
|
9881
|
+
return true;
|
|
9882
|
+
}
|
|
9883
|
+
return false;
|
|
10127
9884
|
}
|
|
10128
|
-
};
|
|
10129
|
-
}
|
|
10130
|
-
|
|
10131
|
-
const ComboboxElement = function(props) {
|
|
10132
|
-
return /* @__PURE__ */ jsx(Combobox$1, { ...props });
|
|
10133
|
-
};
|
|
10134
|
-
const ComboboxSelect = function(props) {
|
|
10135
|
-
return /* @__PURE__ */ jsx(ComboboxSelect$1, { ...props });
|
|
10136
|
-
};
|
|
10137
|
-
const ComboboxContent = function(props) {
|
|
10138
|
-
return /* @__PURE__ */ jsx(Combobox$1.Content, { ...props });
|
|
10139
|
-
};
|
|
10140
|
-
const ComboboxSearchField = function({
|
|
10141
|
-
prefix: prefixProp,
|
|
10142
|
-
...props
|
|
10143
|
-
}) {
|
|
10144
|
-
const data = {
|
|
10145
|
-
label: childrenToString(props.label),
|
|
10146
|
-
size: props.size,
|
|
10147
|
-
required: props.required,
|
|
10148
|
-
moreInfo: props.moreInfo,
|
|
10149
|
-
openMoreInfo: props.openMoreInfo,
|
|
10150
|
-
description: childrenToString(props.description),
|
|
10151
|
-
hint: props.hint,
|
|
10152
|
-
labelProps: props.labelProps
|
|
10153
|
-
};
|
|
10154
|
-
const trackingId = useTrackingId({
|
|
10155
|
-
name: "ComboboxSearchField",
|
|
10156
|
-
data,
|
|
10157
|
-
hasOverride: !!props["data-tracking-id"]
|
|
10158
9885
|
});
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
|
|
10163
|
-
|
|
9886
|
+
storedSetInputValue = setInputValue;
|
|
9887
|
+
const firstRenderRef = useRef(true);
|
|
9888
|
+
useEffect(() => {
|
|
9889
|
+
if (firstRenderRef.current === true) {
|
|
9890
|
+
firstRenderRef.current = false;
|
|
10164
9891
|
}
|
|
10165
|
-
)
|
|
9892
|
+
}, []);
|
|
9893
|
+
useEffect(() => {
|
|
9894
|
+
setIsDisabled(disabled);
|
|
9895
|
+
}, [disabled]);
|
|
9896
|
+
useEffect(() => {
|
|
9897
|
+
setIsReadOnly(readOnly);
|
|
9898
|
+
}, [readOnly]);
|
|
9899
|
+
useEffect(() => {
|
|
9900
|
+
if (firstRenderRef.current) return;
|
|
9901
|
+
const inputValueIsEmpty = inputValue == null || inputValue === "";
|
|
9902
|
+
if (!inputValueIsEmpty && !disableFilter) {
|
|
9903
|
+
setItems(matchSorter(itemsProp, inputValue, filterOptions));
|
|
9904
|
+
setHasExactMatch(
|
|
9905
|
+
matchSorter(itemsProp, inputValue, {
|
|
9906
|
+
...filterOptions,
|
|
9907
|
+
threshold: matchSorter.rankings.EQUAL
|
|
9908
|
+
}).length > 0
|
|
9909
|
+
);
|
|
9910
|
+
} else {
|
|
9911
|
+
setItems(itemsProp);
|
|
9912
|
+
setHasExactMatch(true);
|
|
9913
|
+
}
|
|
9914
|
+
}, [itemsProp]);
|
|
10166
9915
|
return /* @__PURE__ */ jsx(
|
|
10167
|
-
|
|
9916
|
+
ComboboxContext.Provider,
|
|
10168
9917
|
{
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
9918
|
+
value: {
|
|
9919
|
+
multiple: true,
|
|
9920
|
+
select: false,
|
|
9921
|
+
items: searchedItemsOrderedByGroup,
|
|
9922
|
+
itemToString,
|
|
9923
|
+
itemToKey,
|
|
9924
|
+
isOpen,
|
|
9925
|
+
getLabelProps,
|
|
9926
|
+
getInputProps,
|
|
9927
|
+
getToggleButtonProps,
|
|
9928
|
+
getMenuProps,
|
|
9929
|
+
getItemProps,
|
|
9930
|
+
highlightedIndex,
|
|
9931
|
+
selectedItem,
|
|
9932
|
+
selectedItems,
|
|
9933
|
+
disabledItems,
|
|
9934
|
+
setDisabledItems,
|
|
9935
|
+
getSelectedItemProps,
|
|
9936
|
+
getDropdownProps,
|
|
9937
|
+
reset,
|
|
9938
|
+
addSelectedItem,
|
|
9939
|
+
removeSelectedItem,
|
|
9940
|
+
setSelectedItems,
|
|
9941
|
+
selectItem,
|
|
9942
|
+
inputValue,
|
|
9943
|
+
isDisabled,
|
|
9944
|
+
isReadOnly,
|
|
9945
|
+
setIsReadOnly,
|
|
9946
|
+
setIsDisabled,
|
|
9947
|
+
hasDisabledPopover,
|
|
9948
|
+
setHasDisabledPopover,
|
|
9949
|
+
hasEmpty,
|
|
9950
|
+
setHasEmpty,
|
|
9951
|
+
hasAddNew,
|
|
9952
|
+
setHasAddNew,
|
|
9953
|
+
onSelectItemAddNew,
|
|
9954
|
+
setOnSelectItemAddNew,
|
|
9955
|
+
hasExactMatch,
|
|
9956
|
+
setHasExactMatch,
|
|
9957
|
+
loading,
|
|
9958
|
+
referenceRef,
|
|
9959
|
+
contentRef,
|
|
9960
|
+
closeMenu,
|
|
9961
|
+
groupBy,
|
|
9962
|
+
groupToString,
|
|
9963
|
+
groups: searchedGroups
|
|
9964
|
+
},
|
|
9965
|
+
children: /* @__PURE__ */ jsx(
|
|
9966
|
+
"div",
|
|
9967
|
+
{
|
|
9968
|
+
className: ComboboxClassNames,
|
|
9969
|
+
"data-anv": "combobox",
|
|
9970
|
+
style: { ...style, ...layoutStyles },
|
|
9971
|
+
ref: wrapperDivRef,
|
|
9972
|
+
children: /* @__PURE__ */ jsx(
|
|
9973
|
+
Popover,
|
|
9974
|
+
{
|
|
9975
|
+
open: !isDisabled && isOpen,
|
|
9976
|
+
noPadding: true,
|
|
9977
|
+
disableCaret: true,
|
|
9978
|
+
fitScreen: true,
|
|
9979
|
+
disableFlipFallback: true,
|
|
9980
|
+
placement: "bottom-start",
|
|
9981
|
+
matchReferenceWidth: !disableMatchReferenceWidth,
|
|
9982
|
+
disableCloseOnClickOutside,
|
|
9983
|
+
onOutsidePress: handleOutsidePress,
|
|
9984
|
+
minHeight: minPopoverHeight,
|
|
9985
|
+
children
|
|
9986
|
+
}
|
|
9987
|
+
)
|
|
9988
|
+
}
|
|
9989
|
+
)
|
|
10172
9990
|
}
|
|
10173
9991
|
);
|
|
10174
9992
|
};
|
|
10175
|
-
const
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
})
|
|
10179
|
-
|
|
10180
|
-
|
|
10181
|
-
size: props.size,
|
|
10182
|
-
required: props.required,
|
|
10183
|
-
moreInfo: props.moreInfo,
|
|
10184
|
-
openMoreInfo: props.openMoreInfo,
|
|
10185
|
-
description: childrenToString(props.description),
|
|
10186
|
-
hint: props.hint,
|
|
10187
|
-
labelProps: props.labelProps
|
|
10188
|
-
};
|
|
10189
|
-
const trackingId = useTrackingId({
|
|
10190
|
-
name: "ComboboxSearchField",
|
|
10191
|
-
data,
|
|
10192
|
-
hasOverride: !!props["data-tracking-id"]
|
|
10193
|
-
});
|
|
10194
|
-
const prefix = prefixProp == null || typeof prefixProp === "string" ? prefixProp : "icon" in prefixProp ? /* @__PURE__ */ jsx(Icon$2, { ...prefixProp.icon }) : "avatar" in prefixProp ? /* @__PURE__ */ jsx(
|
|
10195
|
-
Avatar,
|
|
10196
|
-
{
|
|
10197
|
-
...prefixProp.avatar,
|
|
10198
|
-
size: props.size === "small" ? "small" : "medium"
|
|
10199
|
-
}
|
|
10200
|
-
) : prefixProp;
|
|
10201
|
-
return /* @__PURE__ */ jsx(
|
|
10202
|
-
Combobox$1.SelectTrigger,
|
|
10203
|
-
{
|
|
10204
|
-
"data-tracking-id": trackingId,
|
|
10205
|
-
...props,
|
|
10206
|
-
prefix
|
|
9993
|
+
const ComboboxElement = function(props) {
|
|
9994
|
+
if (!supportsPopover()) {
|
|
9995
|
+
if (isMultiple(props)) {
|
|
9996
|
+
return /* @__PURE__ */ jsx(ComboboxLegacyMultiple, { ...props });
|
|
9997
|
+
} else {
|
|
9998
|
+
return /* @__PURE__ */ jsx(ComboboxLegacySingle, { ...props });
|
|
10207
9999
|
}
|
|
10208
|
-
|
|
10209
|
-
|
|
10210
|
-
|
|
10211
|
-
|
|
10212
|
-
};
|
|
10213
|
-
|
|
10214
|
-
const data = {
|
|
10215
|
-
item: props.item
|
|
10216
|
-
};
|
|
10217
|
-
const trackingId = useTrackingId({
|
|
10218
|
-
name: "ComboboxItem",
|
|
10219
|
-
data,
|
|
10220
|
-
hasOverride: !!props["data-tracking-id"]
|
|
10221
|
-
});
|
|
10222
|
-
return /* @__PURE__ */ jsx(Combobox$1.Item, { "data-tracking-id": trackingId, ...props });
|
|
10223
|
-
};
|
|
10224
|
-
const ComboboxItemAddNew = function(props) {
|
|
10225
|
-
const data = {
|
|
10226
|
-
item: "add-new"
|
|
10227
|
-
};
|
|
10228
|
-
const trackingId = useTrackingId({
|
|
10229
|
-
name: "ComboboxItemAddNew",
|
|
10230
|
-
data,
|
|
10231
|
-
hasOverride: !!props["data-tracking-id"]
|
|
10232
|
-
});
|
|
10233
|
-
return /* @__PURE__ */ jsx(Combobox$1.ItemAddNew, { "data-tracking-id": trackingId, ...props });
|
|
10234
|
-
};
|
|
10235
|
-
const ComboboxEmpty = function(props) {
|
|
10236
|
-
return /* @__PURE__ */ jsx(Combobox$1.Empty, { ...props });
|
|
10000
|
+
}
|
|
10001
|
+
if (isMultiple(props)) {
|
|
10002
|
+
return /* @__PURE__ */ jsx(ComboboxMultiple, { ...props });
|
|
10003
|
+
} else {
|
|
10004
|
+
return /* @__PURE__ */ jsx(ComboboxSingle, { ...props });
|
|
10005
|
+
}
|
|
10237
10006
|
};
|
|
10238
10007
|
const Combobox = Object.assign(ComboboxElement, {
|
|
10239
10008
|
/**
|
|
@@ -10408,5 +10177,180 @@ const Combobox = Object.assign(ComboboxElement, {
|
|
|
10408
10177
|
Empty: ComboboxEmpty
|
|
10409
10178
|
});
|
|
10410
10179
|
|
|
10411
|
-
|
|
10412
|
-
|
|
10180
|
+
const SCROLL_THRESHOLD = 0.64;
|
|
10181
|
+
function useInfiniteCombobox({
|
|
10182
|
+
query,
|
|
10183
|
+
queryInitialItems,
|
|
10184
|
+
initialItems = [],
|
|
10185
|
+
initialPage = 0,
|
|
10186
|
+
initialLoading = false,
|
|
10187
|
+
initialInputValue,
|
|
10188
|
+
defaultInputValue,
|
|
10189
|
+
initialSelectedItem,
|
|
10190
|
+
defaultSelectedItem,
|
|
10191
|
+
initialSelectedItems,
|
|
10192
|
+
defaultSelectedItems,
|
|
10193
|
+
updateOnInputValueChange = true,
|
|
10194
|
+
updateOnSelectedItemChange = true,
|
|
10195
|
+
updateOnSelectedItemsChange = true,
|
|
10196
|
+
queryOnFirstRender = false,
|
|
10197
|
+
shouldTriggerQuery: shouldTriggerQueryProp
|
|
10198
|
+
}) {
|
|
10199
|
+
const [items, setItems] = useState(initialItems);
|
|
10200
|
+
const deferredItems = useDeferredValue(items);
|
|
10201
|
+
const [page, setPage] = useState(initialPage);
|
|
10202
|
+
const [loading, setLoading] = useState(initialLoading);
|
|
10203
|
+
const deferredLoading = useDeferredValue(loading);
|
|
10204
|
+
const [inputValue, setInputValue] = useState(
|
|
10205
|
+
initialInputValue ?? defaultInputValue ?? ""
|
|
10206
|
+
);
|
|
10207
|
+
const [selectedItem, setSelectedItem] = useState(
|
|
10208
|
+
initialSelectedItem ?? defaultSelectedItem ?? null
|
|
10209
|
+
);
|
|
10210
|
+
const [selectedItems, setSelectedItems] = useState(
|
|
10211
|
+
initialSelectedItems ?? defaultSelectedItems ?? []
|
|
10212
|
+
);
|
|
10213
|
+
const scrollerRef = useRef(null);
|
|
10214
|
+
const defaultShouldTriggerQuery = (element) => {
|
|
10215
|
+
const totalScrollHeight = element.scrollHeight - element.clientHeight;
|
|
10216
|
+
return element.scrollTop / totalScrollHeight > SCROLL_THRESHOLD;
|
|
10217
|
+
};
|
|
10218
|
+
const [triggerQueryCount, setTriggerQueryCount] = useState(0);
|
|
10219
|
+
const triggerQueryCountRef = useRef(0);
|
|
10220
|
+
const triggerQuery = () => {
|
|
10221
|
+
setTriggerQueryCount((x) => x + 1);
|
|
10222
|
+
triggerQueryCountRef.current += 1;
|
|
10223
|
+
};
|
|
10224
|
+
const [done, setDone] = useState(false);
|
|
10225
|
+
const firstRenderRef = useRef(true);
|
|
10226
|
+
const scrollTimeoutRef = useRef(false);
|
|
10227
|
+
const loadingRef = useRef(false);
|
|
10228
|
+
const setLoadingStateAndRef = (isLoading) => {
|
|
10229
|
+
setLoading(isLoading);
|
|
10230
|
+
loadingRef.current = isLoading;
|
|
10231
|
+
};
|
|
10232
|
+
const queryRetryCountRef = useRef(0);
|
|
10233
|
+
useEffect(() => {
|
|
10234
|
+
if (firstRenderRef.current && queryInitialItems) {
|
|
10235
|
+
setItems(queryInitialItems());
|
|
10236
|
+
}
|
|
10237
|
+
if (firstRenderRef.current && !queryOnFirstRender) {
|
|
10238
|
+
firstRenderRef.current = false;
|
|
10239
|
+
return;
|
|
10240
|
+
}
|
|
10241
|
+
setLoadingStateAndRef(true);
|
|
10242
|
+
const timeoutID = setTimeout(() => {
|
|
10243
|
+
if (triggerQueryCount < triggerQueryCountRef.current) return;
|
|
10244
|
+
query({
|
|
10245
|
+
page,
|
|
10246
|
+
inputValue,
|
|
10247
|
+
selectedItem,
|
|
10248
|
+
selectedItems
|
|
10249
|
+
}).then((res) => {
|
|
10250
|
+
queryRetryCountRef.current = 0;
|
|
10251
|
+
if (triggerQueryCount < triggerQueryCountRef.current) return;
|
|
10252
|
+
setLoadingStateAndRef(false);
|
|
10253
|
+
setPage((x) => x + 1);
|
|
10254
|
+
if (res == null || page > 0 && res.length === 0) {
|
|
10255
|
+
setDone(true);
|
|
10256
|
+
} else if (page === 0) {
|
|
10257
|
+
setItems(() => [...res]);
|
|
10258
|
+
} else {
|
|
10259
|
+
setItems((prevItems) => [...prevItems, ...res]);
|
|
10260
|
+
}
|
|
10261
|
+
}).catch(() => {
|
|
10262
|
+
queryRetryCountRef.current += 1;
|
|
10263
|
+
if (queryRetryCountRef.current > 7) {
|
|
10264
|
+
queryRetryCountRef.current = 0;
|
|
10265
|
+
return;
|
|
10266
|
+
} else {
|
|
10267
|
+
setTimeout(
|
|
10268
|
+
() => {
|
|
10269
|
+
triggerQuery();
|
|
10270
|
+
},
|
|
10271
|
+
2 ** queryRetryCountRef.current * 160
|
|
10272
|
+
);
|
|
10273
|
+
}
|
|
10274
|
+
});
|
|
10275
|
+
}, 160);
|
|
10276
|
+
return () => {
|
|
10277
|
+
clearTimeout(timeoutID);
|
|
10278
|
+
};
|
|
10279
|
+
}, [triggerQueryCount]);
|
|
10280
|
+
useLayoutEffect(() => {
|
|
10281
|
+
setTimeout(() => {
|
|
10282
|
+
if (scrollerRef.current && scrollerRef.current.scrollHeight > 0 && scrollerRef.current.clientHeight > 0 && scrollerRef.current.scrollHeight <= scrollerRef.current.clientHeight) {
|
|
10283
|
+
triggerQuery();
|
|
10284
|
+
}
|
|
10285
|
+
}, 160);
|
|
10286
|
+
}, [items]);
|
|
10287
|
+
const isEmpty = items.length === 0 && page === 0;
|
|
10288
|
+
const onStateChange = useCallback(
|
|
10289
|
+
(changes) => {
|
|
10290
|
+
if (isEmpty && "isOpen" in changes && changes.isOpen === true) {
|
|
10291
|
+
triggerQuery();
|
|
10292
|
+
}
|
|
10293
|
+
const inputValueShouldUpdate = updateOnInputValueChange && "inputValue" in changes;
|
|
10294
|
+
const selectedItemsShouldUpdate = updateOnSelectedItemsChange && "selectedItems" in changes && changes.selectedItems;
|
|
10295
|
+
const selectedItemShouldUpdate = updateOnSelectedItemChange && "selectedItem" in changes && changes.selectedItem !== void 0;
|
|
10296
|
+
if (inputValueShouldUpdate) {
|
|
10297
|
+
setInputValue(changes.inputValue ?? "");
|
|
10298
|
+
}
|
|
10299
|
+
if (selectedItemsShouldUpdate) {
|
|
10300
|
+
setSelectedItems(changes.selectedItems ?? []);
|
|
10301
|
+
}
|
|
10302
|
+
if (selectedItemShouldUpdate) {
|
|
10303
|
+
setSelectedItem(changes.selectedItem);
|
|
10304
|
+
}
|
|
10305
|
+
if (inputValueShouldUpdate || selectedItemsShouldUpdate || selectedItemShouldUpdate) {
|
|
10306
|
+
setPage(0);
|
|
10307
|
+
setDone(false);
|
|
10308
|
+
triggerQuery();
|
|
10309
|
+
}
|
|
10310
|
+
},
|
|
10311
|
+
[
|
|
10312
|
+
isEmpty,
|
|
10313
|
+
updateOnInputValueChange,
|
|
10314
|
+
updateOnSelectedItemsChange,
|
|
10315
|
+
updateOnSelectedItemChange
|
|
10316
|
+
]
|
|
10317
|
+
);
|
|
10318
|
+
const onScroll = useCallback(
|
|
10319
|
+
(e) => {
|
|
10320
|
+
const element = e.currentTarget;
|
|
10321
|
+
if (!scrollTimeoutRef.current && !loadingRef.current) {
|
|
10322
|
+
setTimeout(() => {
|
|
10323
|
+
const shouldTriggerQuery = shouldTriggerQueryProp ?? defaultShouldTriggerQuery;
|
|
10324
|
+
if (shouldTriggerQuery(element) && !done) {
|
|
10325
|
+
triggerQuery();
|
|
10326
|
+
}
|
|
10327
|
+
scrollTimeoutRef.current = false;
|
|
10328
|
+
}, 40);
|
|
10329
|
+
scrollTimeoutRef.current = true;
|
|
10330
|
+
}
|
|
10331
|
+
},
|
|
10332
|
+
[done, shouldTriggerQueryProp]
|
|
10333
|
+
);
|
|
10334
|
+
return {
|
|
10335
|
+
comboboxProps: {
|
|
10336
|
+
items: deferredItems,
|
|
10337
|
+
loading: deferredLoading,
|
|
10338
|
+
initialInputValue,
|
|
10339
|
+
defaultInputValue,
|
|
10340
|
+
initialSelectedItem,
|
|
10341
|
+
defaultSelectedItem,
|
|
10342
|
+
initialSelectedItems,
|
|
10343
|
+
defaultSelectedItems,
|
|
10344
|
+
disableFilter: true,
|
|
10345
|
+
// assume the query will return a filtered/sorted list
|
|
10346
|
+
onStateChange
|
|
10347
|
+
},
|
|
10348
|
+
contentProps: {
|
|
10349
|
+
onScroll,
|
|
10350
|
+
scrollerRef
|
|
10351
|
+
}
|
|
10352
|
+
};
|
|
10353
|
+
}
|
|
10354
|
+
|
|
10355
|
+
export { Combobox as C, ComboboxElement as a, ComboboxSelect as b, ComboboxContent as c, ComboboxList as d, ComboboxItem as e, ComboboxItemAddNew as f, ComboboxSearchField as g, ComboboxSelectTrigger as h, ComboboxEmpty as i, useInfiniteCombobox as u };
|
|
10356
|
+
//# sourceMappingURL=useInfiniteCombobox-BN2uGhBh.js.map
|