@servicetitan/anvil2 1.37.2 → 1.38.0
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 +21 -0
- package/dist/{Alert-DMk5bG5T-kR7Uzp64.js → Alert-C3WoRkeN-D_6Yf63F.js} +5 -5
- package/dist/{Alert-DMk5bG5T-kR7Uzp64.js.map → Alert-C3WoRkeN-D_6Yf63F.js.map} +1 -1
- package/dist/{Alert-BsFFiu7g.js → Alert-DipY5OlC.js} +3 -2
- package/dist/Alert-DipY5OlC.js.map +1 -0
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-BawOyXV3.js → Announcement-ButSjdLn.js} +5 -4
- package/dist/Announcement-ButSjdLn.js.map +1 -0
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-DJ4lYJVW.js → AnvilProvider-Lh8YtV03.js} +2 -2
- package/dist/{AnvilProvider-DJ4lYJVW.js.map → AnvilProvider-Lh8YtV03.js.map} +1 -1
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-C2IfIAxL-BUio7c00.js → Avatar-B20IdOEO-Di14brYV.js} +23 -4
- package/dist/Avatar-B20IdOEO-Di14brYV.js.map +1 -0
- package/dist/Avatar-hNOToS9S.js +42 -0
- package/dist/Avatar-hNOToS9S.js.map +1 -0
- package/dist/Avatar.js +1 -1
- package/dist/{Badge-Bko3Cw3L.js → Badge-7aZfE-LH.js} +3 -2
- package/dist/{Badge-Bko3Cw3L.js.map → Badge-7aZfE-LH.js.map} +1 -1
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-BP5QXVje.js → Breadcrumbs-DJbCkSeD.js} +35 -5
- package/dist/Breadcrumbs-DJbCkSeD.js.map +1 -0
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-C-QpfgfF-CRBE7KiD.js → Button-BaHFf1AT-BQy-PFB5.js} +3 -3
- package/dist/{Button-C-QpfgfF-CRBE7KiD.js.map → Button-BaHFf1AT-BQy-PFB5.js.map} +1 -1
- package/dist/{Button-NTFmgcbr.js → Button-DMQKV2sV.js} +4 -3
- package/dist/Button-DMQKV2sV.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/{ButtonCompound-Dp5J4W81-BkZ68L4-.js → ButtonCompound-Cs2A5X-Z-Dl3InVab.js} +2 -2
- package/dist/{ButtonCompound-Dp5J4W81-BkZ68L4-.js.map → ButtonCompound-Cs2A5X-Z-Dl3InVab.js.map} +1 -1
- package/dist/{ButtonCompound-DlgIyoB9.js → ButtonCompound-DGuF0zzT.js} +3 -2
- package/dist/ButtonCompound-DGuF0zzT.js.map +1 -0
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-CSaxjhI2-KLVGwWjE.js → ButtonLink-5qlX0uZx-b9H7MGhk.js} +6 -4
- package/dist/ButtonLink-5qlX0uZx-b9H7MGhk.js.map +1 -0
- package/dist/{ButtonLink-B_uUWBLY.js → ButtonLink-B0NJuVk5.js} +4 -3
- package/dist/ButtonLink-B0NJuVk5.js.map +1 -0
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-CvXIngRd-BiWpOOWr.js → ButtonToggle-Bm4KRl3o-B1-LbfjY.js} +3 -3
- package/dist/{ButtonToggle-CvXIngRd-BiWpOOWr.js.map → ButtonToggle-Bm4KRl3o-B1-LbfjY.js.map} +1 -1
- package/dist/{ButtonToggle-D3tcTRq9.js → ButtonToggle-CKVyEODc.js} +3 -2
- package/dist/ButtonToggle-CKVyEODc.js.map +1 -0
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-Bn00Dnc--DcCNi1xz.js → Calendar-CohGSWFp-DFYJkf7Y.js} +9 -9
- package/dist/{Calendar-Bn00Dnc--DcCNi1xz.js.map → Calendar-CohGSWFp-DFYJkf7Y.js.map} +1 -1
- package/dist/Calendar-jl0s6W7p.js +130 -0
- package/dist/Calendar-jl0s6W7p.js.map +1 -0
- package/dist/Calendar.js +1 -1
- package/dist/{Card-DgxiRqS_.js → Card-U2IJPk8B.js} +3 -2
- package/dist/Card-U2IJPk8B.js.map +1 -0
- package/dist/{Card-BNT0qpxt-OPUNKZW6.js → Card-ZknG-yim-7W6rYSFV.js} +3 -3
- package/dist/{Card-BNT0qpxt-OPUNKZW6.js.map → Card-ZknG-yim-7W6rYSFV.js.map} +1 -1
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-BIlp8xmW.js → Checkbox-DbDwtefR.js} +25 -2
- package/dist/Checkbox-DbDwtefR.js.map +1 -0
- package/dist/{Checkbox-CRurfeRE-BR_NXfh6.js → Checkbox-TIcImbEx-EgjesTNn.js} +6 -5
- package/dist/Checkbox-TIcImbEx-EgjesTNn.js.map +1 -0
- package/dist/Checkbox.js +1 -1
- package/dist/{Chip-BQ58RQ3v.js → Chip-BlLavyIK.js} +2 -2
- package/dist/Chip-BlLavyIK.js.map +1 -0
- package/dist/{Chip-DwiMFYBm-CIDM1d8e.js → Chip-_daV8CmM-CTke7zH4.js} +5 -5
- package/dist/{Chip-DwiMFYBm-CIDM1d8e.js.map → Chip-_daV8CmM-CTke7zH4.js.map} +1 -1
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-Dde7-7tv.js → Combobox-7ADxZKDE.js} +187 -24
- package/dist/Combobox-7ADxZKDE.js.map +1 -0
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-D-eVP6xh.js → DateField-CUO_26rh.js} +18 -13
- package/dist/DateField-CUO_26rh.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/{DaysOfTheWeek-Dz-aZ-LW.js → DaysOfTheWeek-CEKoAJSv.js} +7 -7
- package/dist/DaysOfTheWeek-CEKoAJSv.js.map +1 -0
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-ChZdA5Yo.js → Details-DVg0EOkv.js} +51 -3
- package/dist/Details-DVg0EOkv.js.map +1 -0
- package/dist/Details.js +1 -1
- package/dist/{Dialog-DJhN8QWP.js → Dialog-D6zpW-GE.js} +125 -4
- package/dist/Dialog-D6zpW-GE.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/{Divider-Crum3dyV.js → Divider-CN36wX4s.js} +3 -2
- package/dist/Divider-CN36wX4s.js.map +1 -0
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/{DndSort-Dy_D1EnT.js → DndSort-Cl0FCNQm.js} +6 -6
- package/dist/{DndSort-Dy_D1EnT.js.map → DndSort-Cl0FCNQm.js.map} +1 -1
- package/dist/DndSort.js +1 -1
- package/dist/Drawer-qb7Q0BAm.js +142 -0
- package/dist/Drawer-qb7Q0BAm.js.map +1 -0
- package/dist/Drawer.js +1 -1
- package/dist/{EditCard-BNwoKJ_6.js → EditCard-C0hD1VPA.js} +7 -6
- package/dist/EditCard-C0hD1VPA.js.map +1 -0
- package/dist/EditCard.js +1 -1
- package/dist/{FieldMessage-CERWyhwG.js → FieldMessage-Cg3zcgk5.js} +2 -2
- package/dist/FieldMessage-Cg3zcgk5.js.map +1 -0
- package/dist/{FieldMessage-Js4e1ezw-DZ6YDx24.js → FieldMessage-ChFXWVDb-loVSCnCM.js} +3 -3
- package/dist/{FieldMessage-Js4e1ezw-DZ6YDx24.js.map → FieldMessage-ChFXWVDb-loVSCnCM.js.map} +1 -1
- package/dist/FieldMessage.js +1 -1
- package/dist/{Flex-EX9xObMl-BPBQ7nb5.js → Flex-CiK7uNUu-BfxHG4L0.js} +3 -3
- package/dist/{Flex-EX9xObMl-BPBQ7nb5.js.map → Flex-CiK7uNUu-BfxHG4L0.js.map} +1 -1
- package/dist/{Flex-DT1l-wJc.js → Flex-Ln6PmaDl.js} +3 -2
- package/dist/Flex-Ln6PmaDl.js.map +1 -0
- package/dist/Flex.js +1 -1
- package/dist/Grid-CMcDeSYT.js +33 -0
- package/dist/Grid-CMcDeSYT.js.map +1 -0
- package/dist/{Grid-BmNHm7Fa.js → Grid-DFAd8mTe.js} +2 -2
- package/dist/{Grid-BmNHm7Fa.js.map → Grid-DFAd8mTe.js.map} +1 -1
- package/dist/Grid.js +1 -1
- package/dist/{HammerProvider-BEJW4XcH-BBKdl0zs.js → HammerProvider-CYP98rq3-Dd9GVIyP.js} +3 -3
- package/dist/{HammerProvider-BEJW4XcH-BBKdl0zs.js.map → HammerProvider-CYP98rq3-Dd9GVIyP.js.map} +1 -1
- package/dist/Helper-C9sHaTrI-C5fAsK6i.js +46 -0
- package/dist/Helper-C9sHaTrI-C5fAsK6i.js.map +1 -0
- package/dist/Helper-C9sHaTrI.css +21 -0
- package/dist/{Icon-BrdmZw1i-CG-LzgEz.js → Icon-B6HmlQiR-BxQkO3X5.js} +3 -3
- package/dist/{Icon-BrdmZw1i-CG-LzgEz.js.map → Icon-B6HmlQiR-BxQkO3X5.js.map} +1 -1
- package/dist/{Icon-CcUV8glf.js → Icon-BgKqBmlj.js} +3 -2
- package/dist/Icon-BgKqBmlj.js.map +1 -0
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-CeqX68uX.js → InputMask-DKPqOpHs.js} +3 -2
- package/dist/InputMask-DKPqOpHs.js.map +1 -0
- package/dist/InputMask-kJ-hlK0O-Ctwa0U7r.js +231 -0
- package/dist/InputMask-kJ-hlK0O-Ctwa0U7r.js.map +1 -0
- package/dist/InputMask.js +1 -1
- package/dist/Layout-CUUb2PVr.js.map +1 -1
- package/dist/{Link-K3nk4QAp.js → Link-DZa0wmkA.js} +3 -3
- package/dist/Link-DZa0wmkA.js.map +1 -0
- package/dist/{Link-CVN5Mwtx-B08PO1ef.js → Link-Dqp_XXl_-Bv20l_tY.js} +4 -4
- package/dist/{Link-CVN5Mwtx-B08PO1ef.js.map → Link-Dqp_XXl_-Bv20l_tY.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/{ListView-zlg5FlKW.js → ListView-0xHc5wT6.js} +87 -47
- package/dist/ListView-0xHc5wT6.js.map +1 -0
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-DLlT8qbJ-BvhkfmIf.js → Listbox-BvJLSAVO-Br5k6fmq.js} +51 -10
- package/dist/Listbox-BvJLSAVO-Br5k6fmq.js.map +1 -0
- package/dist/Listbox-dVARiucB.js +67 -0
- package/dist/Listbox-dVARiucB.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/{LocalizationProvider-FkvhW-le-DPTpcI0N.js → LocalizationProvider-VtRAfGBT-Bo8XuFoE.js} +2 -2
- package/dist/{LocalizationProvider-FkvhW-le-DPTpcI0N.js.map → LocalizationProvider-VtRAfGBT-Bo8XuFoE.js.map} +1 -1
- package/dist/LocalizationProvider.js +1 -1
- package/dist/{Menu-BjzTwENs.js → Menu-BAuADOyt.js} +60 -10
- package/dist/Menu-BAuADOyt.js.map +1 -0
- package/dist/Menu.js +1 -1
- package/dist/{Overflow-vc1mxjUD.js → Overflow-B6rIOkAI.js} +27 -2
- package/dist/Overflow-B6rIOkAI.js.map +1 -0
- package/dist/{Overflow-ENfRRD_5-DLHLZ02e.js → Overflow-BrXwlYpn-CtqaiNgb.js} +25 -4
- package/dist/Overflow-BrXwlYpn-CtqaiNgb.js.map +1 -0
- package/dist/Overflow.js +1 -1
- package/dist/{Page-CSM-a2UE.js → Page-CtwsyE3i.js} +131 -15
- package/dist/Page-CtwsyE3i.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/Popover-Bnkwq99S.js +135 -0
- package/dist/Popover-Bnkwq99S.js.map +1 -0
- package/dist/{Popover-CpyYXmal-I-E-B4u8.js → Popover-VztF0YHt-ci3tYiye.js} +80 -8
- package/dist/Popover-VztF0YHt-ci3tYiye.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-B25Wxpaf.js → ProgressBar-BotOFymw.js} +3 -2
- package/dist/ProgressBar-BotOFymw.js.map +1 -0
- package/dist/{ProgressBar-CeClhdcf-Dcft7ZjO.js → ProgressBar-Cfi5zZRy-BpESsdh_.js} +164 -99
- package/dist/ProgressBar-Cfi5zZRy-BpESsdh_.js.map +1 -0
- package/dist/ProgressBar-Cfi5zZRy.css +671 -0
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BlMDLvPw-DUeywcYR.js → Radio-7U7IBI58-BDhdZJoC.js} +25 -5
- package/dist/Radio-7U7IBI58-BDhdZJoC.js.map +1 -0
- package/dist/Radio-D4rRt1a6.js +66 -0
- package/dist/Radio-D4rRt1a6.js.map +1 -0
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-D3z4LjJg.js → SearchField-Bz4HPxCQ.js} +5 -4
- package/dist/SearchField-Bz4HPxCQ.js.map +1 -0
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-D_ADGpVy.js → SegmentedControl-DKMQuf7s.js} +41 -2
- package/dist/SegmentedControl-DKMQuf7s.js.map +1 -0
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-D26y01WZ-BWN9G09J.js → SelectCard-B5EqtxOK-CpCgVjV8.js} +46 -17
- package/dist/SelectCard-B5EqtxOK-CpCgVjV8.js.map +1 -0
- package/dist/SelectCard.js +1 -1
- package/dist/SelectCardGroup-DsHZgCqA.js +49 -0
- package/dist/SelectCardGroup-DsHZgCqA.js.map +1 -0
- package/dist/{SideNav-C7wc1_JK.js → SideNav-DEoGpeqJ.js} +130 -10
- package/dist/SideNav-DEoGpeqJ.js.map +1 -0
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton-COxTdwjO.js +398 -0
- package/dist/Skeleton-COxTdwjO.js.map +1 -0
- package/dist/Skeleton.js +1 -1
- package/dist/{Spinner-Bc5-_6pK.js → Spinner-C1r3COiQ.js} +2 -1
- package/dist/Spinner-C1r3COiQ.js.map +1 -0
- package/dist/Spinner.js +1 -1
- package/dist/SrOnly-C_I8eH4C.js.map +1 -1
- package/dist/{Stepper-Bp0w8eRW.js → Stepper-CwIV7ZiT.js} +281 -6
- package/dist/Stepper-CwIV7ZiT.js.map +1 -0
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-BbHIwrGc.js → Switch-Dd9tJFmG.js} +20 -10
- package/dist/Switch-Dd9tJFmG.js.map +1 -0
- package/dist/Switch.css +23 -24
- package/dist/Switch.js +1 -1
- package/dist/{Tab-DcOQTX5Z.js → Tab-BSC7e4rM.js} +127 -10
- package/dist/Tab-BSC7e4rM.js.map +1 -0
- package/dist/Tab.js +1 -1
- package/dist/{Text-BDYfD8j4.js → Text-B91g6xKn.js} +3 -2
- package/dist/Text-B91g6xKn.js.map +1 -0
- package/dist/{Text-CN_-FF7J-Dzoy8A70.js → Text-DCvcLCvf-DlmnnjTR.js} +3 -3
- package/dist/{Text-CN_-FF7J-Dzoy8A70.js.map → Text-DCvcLCvf-DlmnnjTR.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-Ds9EKvSs.js → TextField-BYyyw3m2.js} +3 -2
- package/dist/{TextField-Ds9EKvSs.js.map → TextField-BYyyw3m2.js.map} +1 -1
- package/dist/{TextField-Bp1q4hMI-2jGZG2k2.js → TextField-CGJtMoil-CJqYM83o.js} +4 -3
- package/dist/TextField-CGJtMoil-CJqYM83o.js.map +1 -0
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-CMELRfU8.js → Textarea-AczEXhHB.js} +5 -3
- package/dist/Textarea-AczEXhHB.js.map +1 -0
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-D2x18Y1l.js → ThemeProvider-BKave7Ha.js} +2 -2
- package/dist/{ThemeProvider-D2x18Y1l.js.map → ThemeProvider-BKave7Ha.js.map} +1 -1
- package/dist/{ThemeProvider-BIeaAmWx-DVYOQ6bw.js → ThemeProvider-CR67FJg0-DYVRlJRA.js} +3 -3
- package/dist/{ThemeProvider-BIeaAmWx-DVYOQ6bw.js.map → ThemeProvider-CR67FJg0-DYVRlJRA.js.map} +1 -1
- package/dist/ThemeProvider.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-CYwR6GQG.js → Toolbar-Cu3u0TRX.js} +183 -14
- package/dist/Toolbar-Cu3u0TRX.js.map +1 -0
- package/dist/Toolbar.css +1 -11
- package/dist/Toolbar.js +1 -1
- package/dist/Tooltip-BL_bgvwA.js +73 -0
- package/dist/Tooltip-BL_bgvwA.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/assets/icons/st/insurance_work_queue.svg +1 -0
- package/dist/assets/icons/st/production_work_queue.svg +1 -0
- package/dist/assets/icons/st.ts +2 -0
- package/dist/components/Alert/Alert.d.ts +37 -0
- package/dist/components/Announcement/Announcement.d.ts +37 -0
- package/dist/components/Avatar/Avatar.d.ts +73 -0
- package/dist/components/Badge/Badge.d.ts +27 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +39 -0
- package/dist/components/Button/Button.d.ts +28 -0
- package/dist/components/ButtonCompound/ButtonCompound.d.ts +24 -0
- package/dist/components/ButtonLink/ButtonLink.d.ts +30 -0
- package/dist/components/ButtonToggle/ButtonToggle.d.ts +32 -0
- package/dist/components/Calendar/Calendar.d.ts +114 -0
- package/dist/components/Card/Card.d.ts +24 -0
- package/dist/components/Checkbox/Checkbox.d.ts +77 -0
- package/dist/components/Chip/Chip.d.ts +34 -0
- package/dist/components/Combobox/Combobox.d.ts +442 -2
- package/dist/components/DateField/DateField.d.ts +65 -0
- package/dist/components/DaysOfTheWeek/DaysOfTheWeek.d.ts +44 -6
- package/dist/components/Details/Details.d.ts +68 -0
- package/dist/components/Dialog/Dialog.d.ts +178 -0
- package/dist/components/Divider/Divider.d.ts +24 -0
- package/dist/components/Drawer/Drawer.d.ts +200 -0
- package/dist/components/EditCard/EditCard.d.ts +50 -0
- package/dist/components/FieldMessage/FieldMessage.d.ts +31 -0
- package/dist/components/Flex/Flex.d.ts +48 -0
- package/dist/components/Grid/Grid.d.ts +74 -0
- package/dist/components/Icon/Icon.d.ts +39 -0
- package/dist/components/InputMask/InputMask.d.ts +57 -0
- package/dist/components/Layout/Layout.d.ts +131 -0
- package/dist/components/Link/Link.d.ts +47 -0
- package/dist/components/ListView/ListView.d.ts +85 -0
- package/dist/components/Listbox/Listbox.d.ts +124 -0
- package/dist/components/Menu/Menu.d.ts +85 -1
- package/dist/components/Overflow/Overflow.d.ts +84 -0
- package/dist/components/Page/Page.d.ts +443 -0
- package/dist/components/Popover/Popover.d.ts +268 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +52 -0
- package/dist/components/Radio/Radio.d.ts +121 -0
- package/dist/components/SearchField/SearchField.d.ts +37 -0
- package/dist/components/SegmentedControl/SegmentedControl.d.ts +98 -0
- package/dist/components/SelectCard/SelectCard.d.ts +60 -0
- package/dist/components/SelectCard/SelectCardGroup.d.ts +37 -0
- package/dist/components/SideNav/SideNav.d.ts +192 -2
- package/dist/components/SideNav/SideNavProvider.d.ts +30 -0
- package/dist/components/Skeleton/Skeleton.d.ts +130 -0
- package/dist/components/Spinner/Spinner.d.ts +25 -0
- package/dist/components/SrOnly/SrOnly.d.ts +19 -0
- package/dist/components/Stepper/Stepper.d.ts +335 -0
- package/dist/components/Switch/Switch.d.ts +33 -0
- package/dist/components/Tab/Tab.d.ts +152 -0
- package/dist/components/Text/Text.d.ts +37 -0
- package/dist/components/Textarea/Textarea.d.ts +50 -0
- package/dist/components/Toast/Toaster.d.ts +43 -0
- package/dist/components/Toast/toast.d.ts +31 -0
- package/dist/components/Toolbar/Toolbar.d.ts +251 -0
- package/dist/components/Tooltip/Tooltip.d.ts +123 -0
- package/dist/{floating-ui.react-Domgunz0.js → floating-ui.react-BFNinq1w.js} +2 -2
- package/dist/{floating-ui.react-Domgunz0.js.map → floating-ui.react-BFNinq1w.js.map} +1 -1
- package/dist/hooks/useSize/index.d.ts +15 -0
- package/dist/hooks/useTrackingId/index.d.ts +19 -0
- package/dist/{index-CdSSO4ct-elKOdXPf.js → index-CKfiQx8n-4nziUo7G.js} +4 -4
- package/dist/{index-CdSSO4ct-elKOdXPf.js.map → index-CKfiQx8n-4nziUo7G.js.map} +1 -1
- package/dist/index.js +57 -57
- package/dist/{toast-C-6NdR43.js → toast-B39L6vJ0.js} +3 -3
- package/dist/toast-B39L6vJ0.js.map +1 -0
- package/dist/{useLayoutPropsUtil-GT5myWCm-Clw_nEze.js → useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js} +6 -4
- package/dist/useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js.map +1 -0
- package/dist/useLinkStyles.js +1 -1
- package/dist/useSize.js.map +1 -1
- package/dist/{useSwipe-DIUHs7T5-DIUHs7T5.js → useSwipe-CULmVQEk-CULmVQEk.js} +2 -2
- package/dist/useSwipe-CULmVQEk-CULmVQEk.js.map +1 -0
- package/dist/useSwipe.js +1 -1
- package/dist/useTrackingId.js.map +1 -1
- package/package.json +3 -2
- package/dist/Alert-BsFFiu7g.js.map +0 -1
- package/dist/Announcement-BawOyXV3.js.map +0 -1
- package/dist/Avatar-C2IfIAxL-BUio7c00.js.map +0 -1
- package/dist/Avatar-DYCN2A_l.js +0 -20
- package/dist/Avatar-DYCN2A_l.js.map +0 -1
- package/dist/Breadcrumbs-BP5QXVje.js.map +0 -1
- package/dist/Button-NTFmgcbr.js.map +0 -1
- package/dist/Button2.css +0 -8
- package/dist/ButtonCompound-DlgIyoB9.js.map +0 -1
- package/dist/ButtonLink-B_uUWBLY.js.map +0 -1
- package/dist/ButtonLink-CSaxjhI2-KLVGwWjE.js.map +0 -1
- package/dist/ButtonLink.css +0 -10
- package/dist/ButtonToggle-D3tcTRq9.js.map +0 -1
- package/dist/Calendar-B4MO-Uhv.js +0 -57
- package/dist/Calendar-B4MO-Uhv.js.map +0 -1
- package/dist/Card-DgxiRqS_.js.map +0 -1
- package/dist/Checkbox-BIlp8xmW.js.map +0 -1
- package/dist/Checkbox-CRurfeRE-BR_NXfh6.js.map +0 -1
- package/dist/Chip-BQ58RQ3v.js.map +0 -1
- package/dist/Combobox-Dde7-7tv.js.map +0 -1
- package/dist/DateField-D-eVP6xh.js.map +0 -1
- package/dist/DaysOfTheWeek-Dz-aZ-LW.js.map +0 -1
- package/dist/Details-ChZdA5Yo.js.map +0 -1
- package/dist/Dialog-DJhN8QWP.js.map +0 -1
- package/dist/Divider-Crum3dyV.js.map +0 -1
- package/dist/Drawer-BFfakO8h.js +0 -66
- package/dist/Drawer-BFfakO8h.js.map +0 -1
- package/dist/EditCard-BNwoKJ_6.js.map +0 -1
- package/dist/FieldMessage-CERWyhwG.js.map +0 -1
- package/dist/Flex-DT1l-wJc.js.map +0 -1
- package/dist/Grid-h9VbEjJe.js +0 -14
- package/dist/Grid-h9VbEjJe.js.map +0 -1
- package/dist/Icon-CcUV8glf.js.map +0 -1
- package/dist/InputMask-CeqX68uX.js.map +0 -1
- package/dist/InputMask-DfpkWGmY-D8QEut94.js +0 -323
- package/dist/InputMask-DfpkWGmY-D8QEut94.js.map +0 -1
- package/dist/Link-K3nk4QAp.js.map +0 -1
- package/dist/ListView-zlg5FlKW.js.map +0 -1
- package/dist/Listbox-36Mda5DS.js +0 -37
- package/dist/Listbox-36Mda5DS.js.map +0 -1
- package/dist/Listbox-DLlT8qbJ-BvhkfmIf.js.map +0 -1
- package/dist/Menu-BjzTwENs.js.map +0 -1
- package/dist/Overflow-ENfRRD_5-DLHLZ02e.js.map +0 -1
- package/dist/Overflow-vc1mxjUD.js.map +0 -1
- package/dist/Page-CSM-a2UE.js.map +0 -1
- package/dist/Popover-CpyYXmal-I-E-B4u8.js.map +0 -1
- package/dist/Popover-a81z9wSj.js +0 -56
- package/dist/Popover-a81z9wSj.js.map +0 -1
- package/dist/ProgressBar-B25Wxpaf.js.map +0 -1
- package/dist/ProgressBar-CeClhdcf-Dcft7ZjO.js.map +0 -1
- package/dist/ProgressBar-CeClhdcf.css +0 -666
- package/dist/Radio-BlMDLvPw-DUeywcYR.js.map +0 -1
- package/dist/Radio-D3CqAXiM.js +0 -34
- package/dist/Radio-D3CqAXiM.js.map +0 -1
- package/dist/SearchField-D3z4LjJg.js.map +0 -1
- package/dist/SegmentedControl-D_ADGpVy.js.map +0 -1
- package/dist/SelectCard-D26y01WZ-BWN9G09J.js.map +0 -1
- package/dist/SelectCardGroup-DxA6P-Q7.js +0 -21
- package/dist/SelectCardGroup-DxA6P-Q7.js.map +0 -1
- package/dist/SideNav-C7wc1_JK.js.map +0 -1
- package/dist/Skeleton-CdzDKQi4.js +0 -215
- package/dist/Skeleton-CdzDKQi4.js.map +0 -1
- package/dist/Spinner-Bc5-_6pK.js.map +0 -1
- package/dist/Stepper-Bp0w8eRW.js.map +0 -1
- package/dist/Switch-BbHIwrGc.js.map +0 -1
- package/dist/Tab-DcOQTX5Z.js.map +0 -1
- package/dist/Text-BDYfD8j4.js.map +0 -1
- package/dist/TextField-Bp1q4hMI-2jGZG2k2.js.map +0 -1
- package/dist/Textarea-CMELRfU8.js.map +0 -1
- package/dist/Toolbar-CYwR6GQG.js.map +0 -1
- package/dist/Tooltip-C-UNrFz3.js +0 -34
- package/dist/Tooltip-C-UNrFz3.js.map +0 -1
- package/dist/toast-C-6NdR43.js.map +0 -1
- package/dist/useLayoutPropsUtil-GT5myWCm-Clw_nEze.js.map +0 -1
- package/dist/useSwipe-DIUHs7T5-DIUHs7T5.js.map +0 -1
- /package/dist/{Alert-DMk5bG5T.css → Alert-C3WoRkeN.css} +0 -0
- /package/dist/{Avatar-C2IfIAxL.css → Avatar-B20IdOEO.css} +0 -0
- /package/dist/{Calendar-Bn00Dnc-.css → Calendar-CohGSWFp.css} +0 -0
- /package/dist/{Card-BNT0qpxt.css → Card-ZknG-yim.css} +0 -0
- /package/dist/{Chip-DwiMFYBm.css → Chip-_daV8CmM.css} +0 -0
- /package/dist/{FieldMessage-Js4e1ezw.css → FieldMessage-ChFXWVDb.css} +0 -0
- /package/dist/{Flex-EX9xObMl.css → Flex-CiK7uNUu.css} +0 -0
- /package/dist/{Icon-BrdmZw1i.css → Icon-B6HmlQiR.css} +0 -0
- /package/dist/{Link-CVN5Mwtx.css → Link-Dqp_XXl_.css} +0 -0
- /package/dist/{Overflow-ENfRRD_5.css → Overflow-BrXwlYpn.css} +0 -0
- /package/dist/{Popover-CpyYXmal.css → Popover-VztF0YHt.css} +0 -0
- /package/dist/{Radio-BlMDLvPw.css → Radio-7U7IBI58.css} +0 -0
- /package/dist/{SelectCard-D26y01WZ.css → SelectCard-B5EqtxOK.css} +0 -0
- /package/dist/{Text-CN_-FF7J.css → Text-DCvcLCvf.css} +0 -0
- /package/dist/{ThemeProvider-BIeaAmWx.css → ThemeProvider-CR67FJg0.css} +0 -0
- /package/dist/{index-CdSSO4ct.css → index-CKfiQx8n.css} +0 -0
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useRef, useState, useEffect, isValidElement, cloneElement } from 'react';
|
|
3
|
-
import { T as TextField } from './TextField-Bp1q4hMI-2jGZG2k2.js';
|
|
4
|
-
import { u as useMergeRefs } from './floating-ui.react-Domgunz0.js';
|
|
5
|
-
|
|
6
|
-
const InputMask = forwardRef(
|
|
7
|
-
({
|
|
8
|
-
children,
|
|
9
|
-
mask,
|
|
10
|
-
defaultMaskCharacter = "_",
|
|
11
|
-
value,
|
|
12
|
-
defaultValue,
|
|
13
|
-
onChange,
|
|
14
|
-
inputProps,
|
|
15
|
-
customMaskHandler
|
|
16
|
-
}, ref) => {
|
|
17
|
-
const lastCursorPos = useRef(0);
|
|
18
|
-
const [internalValue, _setInternalValue] = useState(
|
|
19
|
-
defaultValue || value || ""
|
|
20
|
-
);
|
|
21
|
-
const valueRef = useRef("");
|
|
22
|
-
const controlled = typeof value === "string";
|
|
23
|
-
const setInternalValue = (val) => {
|
|
24
|
-
valueRef.current = applyMask(val);
|
|
25
|
-
_setInternalValue(valueRef.current);
|
|
26
|
-
requestAnimationFrame(() => {
|
|
27
|
-
inputRef.current?.setSelectionRange(
|
|
28
|
-
lastCursorPos.current,
|
|
29
|
-
lastCursorPos.current
|
|
30
|
-
);
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
const currentValue = value ?? internalValue;
|
|
34
|
-
const [fixedCharacters, setFixedCharacters] = useState([]);
|
|
35
|
-
const inputRef = useRef(null);
|
|
36
|
-
const passInRef = useMergeRefs([inputRef, ref]);
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
if (defaultValue) {
|
|
39
|
-
setInternalValue(defaultValue);
|
|
40
|
-
} else if (value) {
|
|
41
|
-
setInternalValue(value);
|
|
42
|
-
requestAnimationFrame(() => {
|
|
43
|
-
inputRef.current?.setSelectionRange(
|
|
44
|
-
lastCursorPos.current,
|
|
45
|
-
lastCursorPos.current
|
|
46
|
-
);
|
|
47
|
-
});
|
|
48
|
-
} else {
|
|
49
|
-
setInternalValue("");
|
|
50
|
-
}
|
|
51
|
-
}, [defaultValue, value]);
|
|
52
|
-
useEffect(() => {
|
|
53
|
-
if (value && defaultValue) {
|
|
54
|
-
console.warn(
|
|
55
|
-
"Warning: InputMask contains both 'value' and 'defaultValue' props. Input elements should not switch from uncontrolled to controlled or vice versa. Decide between using a controlled or uncontrolled input element and remove one of these props."
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}, [value, defaultValue]);
|
|
59
|
-
const handleInputChange = (e) => {
|
|
60
|
-
e.preventDefault();
|
|
61
|
-
e.stopPropagation();
|
|
62
|
-
if (controlled) {
|
|
63
|
-
const newVal = applyMask(value);
|
|
64
|
-
if (e.target.value !== newVal) {
|
|
65
|
-
e.target.value = newVal;
|
|
66
|
-
onChange?.({ ...e, target: { ...e.target, value: newVal } });
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (!controlled && e.target.value !== internalValue) {
|
|
70
|
-
e.target.value = internalValue;
|
|
71
|
-
}
|
|
72
|
-
onChange?.({ ...e, target: { ...e.target, value: internalValue } });
|
|
73
|
-
};
|
|
74
|
-
const applyMask = (value2) => {
|
|
75
|
-
let maskedValue = "";
|
|
76
|
-
for (let i = 0; i < mask.length; i++) {
|
|
77
|
-
const maskChar = mask[i];
|
|
78
|
-
const inputChar = value2[i];
|
|
79
|
-
if (isAcceptableChar(inputChar, maskChar)) {
|
|
80
|
-
maskedValue += inputChar;
|
|
81
|
-
} else if (["9", "a", "*"].includes(maskChar)) {
|
|
82
|
-
maskedValue += defaultMaskCharacter;
|
|
83
|
-
} else {
|
|
84
|
-
maskedValue += maskChar;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return maskedValue;
|
|
88
|
-
};
|
|
89
|
-
useEffect(() => {
|
|
90
|
-
const fixed = [];
|
|
91
|
-
const maskChars = ["a", "9", "*"];
|
|
92
|
-
mask.split("").forEach((char) => {
|
|
93
|
-
if (!maskChars.includes(char) && !fixed.includes(char)) {
|
|
94
|
-
fixed.push(char);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
setFixedCharacters(fixed);
|
|
98
|
-
}, [mask]);
|
|
99
|
-
useEffect(() => {
|
|
100
|
-
if (inputRef.current && inputRef.current.value !== currentValue) {
|
|
101
|
-
inputRef.current.value = currentValue;
|
|
102
|
-
}
|
|
103
|
-
}, [inputRef]);
|
|
104
|
-
const getCursorPos = (currentIndex, nextIndex, lastKey) => {
|
|
105
|
-
if (currentIndex === void 0 || nextIndex === void 0) {
|
|
106
|
-
const cursorPosition = internalValue.indexOf(defaultMaskCharacter);
|
|
107
|
-
if (cursorPosition > -1) {
|
|
108
|
-
lastCursorPos.current = cursorPosition;
|
|
109
|
-
!controlled && requestAnimationFrame(() => {
|
|
110
|
-
inputRef.current?.setSelectionRange(
|
|
111
|
-
cursorPosition,
|
|
112
|
-
cursorPosition
|
|
113
|
-
);
|
|
114
|
-
});
|
|
115
|
-
return;
|
|
116
|
-
} else {
|
|
117
|
-
lastCursorPos.current = internalValue.length;
|
|
118
|
-
!controlled && requestAnimationFrame(() => {
|
|
119
|
-
inputRef.current?.setSelectionRange(
|
|
120
|
-
internalValue.length,
|
|
121
|
-
internalValue.length
|
|
122
|
-
);
|
|
123
|
-
lastCursorPos.current = internalValue.length;
|
|
124
|
-
});
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (controlled) {
|
|
129
|
-
requestAnimationFrame(() => {
|
|
130
|
-
inputRef.current?.setSelectionRange(currentIndex, currentIndex);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
if (lastKey === "Backspace") {
|
|
134
|
-
for (let i = nextIndex; i >= 1; i--) {
|
|
135
|
-
if (
|
|
136
|
-
// Skip any position that is fixed.
|
|
137
|
-
!fixedCharacters.includes(mask[i - 1]) && internalValue[i - 1] !== defaultMaskCharacter
|
|
138
|
-
) {
|
|
139
|
-
!controlled && requestAnimationFrame(() => {
|
|
140
|
-
inputRef.current?.setSelectionRange(i, i);
|
|
141
|
-
});
|
|
142
|
-
lastCursorPos.current = i;
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
requestAnimationFrame(() => {
|
|
147
|
-
inputRef.current?.setSelectionRange(0, 0);
|
|
148
|
-
});
|
|
149
|
-
lastCursorPos.current = 0;
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
for (let i = nextIndex; i < mask.length; i++) {
|
|
153
|
-
if (!fixedCharacters.includes(mask[i])) {
|
|
154
|
-
!controlled && requestAnimationFrame(() => {
|
|
155
|
-
inputRef.current?.setSelectionRange(i, i);
|
|
156
|
-
});
|
|
157
|
-
lastCursorPos.current = i;
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
lastCursorPos.current = internalValue.length;
|
|
162
|
-
return;
|
|
163
|
-
};
|
|
164
|
-
const onInputClick = (e) => {
|
|
165
|
-
e.preventDefault();
|
|
166
|
-
e.stopPropagation();
|
|
167
|
-
inputProps?.onClick?.(e);
|
|
168
|
-
};
|
|
169
|
-
const onInputBlur = (e) => {
|
|
170
|
-
e.preventDefault();
|
|
171
|
-
e.stopPropagation();
|
|
172
|
-
inputProps?.onBlur?.(e);
|
|
173
|
-
};
|
|
174
|
-
const onInputFocus = (e) => {
|
|
175
|
-
e.preventDefault();
|
|
176
|
-
e.stopPropagation();
|
|
177
|
-
getCursorPos();
|
|
178
|
-
requestAnimationFrame(() => {
|
|
179
|
-
inputRef.current?.setSelectionRange(
|
|
180
|
-
lastCursorPos.current,
|
|
181
|
-
lastCursorPos.current
|
|
182
|
-
);
|
|
183
|
-
});
|
|
184
|
-
inputProps?.onFocus?.(e);
|
|
185
|
-
};
|
|
186
|
-
const isAcceptableChar = (char, maskChar) => {
|
|
187
|
-
if (maskChar === "9") {
|
|
188
|
-
return /\d/.test(char);
|
|
189
|
-
}
|
|
190
|
-
if (maskChar === "a") {
|
|
191
|
-
return /[a-zA-Z]/.test(char);
|
|
192
|
-
}
|
|
193
|
-
if (maskChar === "*") {
|
|
194
|
-
return /[a-zA-Z0-9]/.test(char);
|
|
195
|
-
}
|
|
196
|
-
return false;
|
|
197
|
-
};
|
|
198
|
-
const applyCustomMaskHandler = (key) => {
|
|
199
|
-
if (!customMaskHandler?.length) return false;
|
|
200
|
-
for (const item of customMaskHandler) {
|
|
201
|
-
const { matchPattern, startPosition, endPosition } = item.match;
|
|
202
|
-
if (typeof inputRef.current?.selectionStart === "number" && endPosition !== inputRef.current?.selectionStart + 1)
|
|
203
|
-
continue;
|
|
204
|
-
const substring = valueRef.current.substring(startPosition, endPosition - 1) + key;
|
|
205
|
-
if (matchPattern.test(substring)) {
|
|
206
|
-
const { applyPattern, caretOffset } = item.apply;
|
|
207
|
-
const newValue = substring.replace(matchPattern, applyPattern);
|
|
208
|
-
setInternalValue(
|
|
209
|
-
valueRef.current.substring(0, startPosition) + newValue + valueRef.current.substring(endPosition)
|
|
210
|
-
);
|
|
211
|
-
lastCursorPos.current += caretOffset;
|
|
212
|
-
if (!controlled) {
|
|
213
|
-
requestAnimationFrame(() => {
|
|
214
|
-
inputRef.current?.setSelectionRange(
|
|
215
|
-
lastCursorPos.current,
|
|
216
|
-
lastCursorPos.current
|
|
217
|
-
);
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
return true;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return false;
|
|
224
|
-
};
|
|
225
|
-
const handleKeyDown = (e) => {
|
|
226
|
-
let indexStart = inputRef.current?.selectionStart || 0;
|
|
227
|
-
let indexEnd = inputRef.current?.selectionEnd || 0;
|
|
228
|
-
if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === "v") {
|
|
229
|
-
inputProps?.onKeyDown?.(e);
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
if (e.key === "Backspace") {
|
|
233
|
-
if (indexStart === indexEnd) {
|
|
234
|
-
setInternalValue(
|
|
235
|
-
valueRef.current.substring(0, indexStart - 1) + " " + valueRef.current.substring(indexEnd)
|
|
236
|
-
);
|
|
237
|
-
getCursorPos(indexStart, indexStart - 1, e.key);
|
|
238
|
-
} else {
|
|
239
|
-
setInternalValue(
|
|
240
|
-
valueRef.current.substring(0, indexStart) + " ".repeat(indexEnd - indexStart) + valueRef.current.substring(indexEnd)
|
|
241
|
-
);
|
|
242
|
-
getCursorPos(indexStart, indexStart + 1, e.key);
|
|
243
|
-
}
|
|
244
|
-
} else if (e.key === "Delete") {
|
|
245
|
-
if (indexStart === indexEnd) {
|
|
246
|
-
setInternalValue(
|
|
247
|
-
valueRef.current.substring(0, indexStart) + " " + valueRef.current.substring(indexEnd + 1)
|
|
248
|
-
);
|
|
249
|
-
getCursorPos(indexStart, indexEnd, e.key);
|
|
250
|
-
} else {
|
|
251
|
-
setInternalValue(
|
|
252
|
-
valueRef.current.substring(0, indexStart) + " ".repeat(indexEnd - indexStart) + valueRef.current.substring(indexEnd)
|
|
253
|
-
);
|
|
254
|
-
getCursorPos(indexStart, indexEnd, e.key);
|
|
255
|
-
}
|
|
256
|
-
} else if (e.key.length === 1) {
|
|
257
|
-
const isApplied = applyCustomMaskHandler(e.key);
|
|
258
|
-
if (isApplied) {
|
|
259
|
-
inputProps?.onKeyDown?.(e);
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
if (indexStart === mask.length && lastCursorPos.current !== mask.length) {
|
|
263
|
-
indexStart = lastCursorPos.current;
|
|
264
|
-
indexEnd = lastCursorPos.current;
|
|
265
|
-
}
|
|
266
|
-
if (!isAcceptableChar(e.key, mask[indexStart]) && ["9", "a", "*"].includes(mask[indexStart])) {
|
|
267
|
-
requestAnimationFrame(() => {
|
|
268
|
-
inputRef.current?.setSelectionRange(indexStart, indexStart);
|
|
269
|
-
lastCursorPos.current = indexStart;
|
|
270
|
-
});
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
if (indexStart === indexEnd) {
|
|
274
|
-
setInternalValue(
|
|
275
|
-
valueRef.current.substring(0, indexStart) + e.key + valueRef.current.substring(indexEnd + 1)
|
|
276
|
-
);
|
|
277
|
-
getCursorPos(indexStart, indexStart + 1, e.key);
|
|
278
|
-
} else {
|
|
279
|
-
setInternalValue(
|
|
280
|
-
valueRef.current.substring(0, indexStart) + e.key + " ".repeat(indexEnd - indexStart - 1) + valueRef.current.substring(indexEnd)
|
|
281
|
-
);
|
|
282
|
-
getCursorPos(indexStart, indexStart + 1, e.key);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
inputProps?.onKeyDown?.(e);
|
|
286
|
-
};
|
|
287
|
-
const handlePaste = (e) => {
|
|
288
|
-
const indexStart = inputRef.current?.selectionStart || 0;
|
|
289
|
-
const indexEnd = inputRef.current?.selectionEnd || 0;
|
|
290
|
-
const pastedValue = e.clipboardData.getData("text");
|
|
291
|
-
if (indexStart === indexEnd || indexEnd - indexStart <= pastedValue.length) {
|
|
292
|
-
setInternalValue(
|
|
293
|
-
valueRef.current.substring(0, indexStart) + pastedValue + valueRef.current.substring(indexStart + pastedValue.length)
|
|
294
|
-
);
|
|
295
|
-
getCursorPos(indexStart + pastedValue.length);
|
|
296
|
-
return;
|
|
297
|
-
}
|
|
298
|
-
setInternalValue(
|
|
299
|
-
valueRef.current.substring(0, indexStart) + pastedValue + " ".repeat(indexEnd - indexStart - pastedValue.length) + valueRef.current.substring(indexEnd)
|
|
300
|
-
);
|
|
301
|
-
getCursorPos(indexEnd);
|
|
302
|
-
};
|
|
303
|
-
const mergedInputProps = {
|
|
304
|
-
...inputProps,
|
|
305
|
-
...children && isValidElement(children) ? children.props : {},
|
|
306
|
-
value: applyMask(currentValue),
|
|
307
|
-
onChange: handleInputChange,
|
|
308
|
-
onPaste: handlePaste,
|
|
309
|
-
onClick: onInputClick,
|
|
310
|
-
onBlur: onInputBlur,
|
|
311
|
-
onFocus: onInputFocus,
|
|
312
|
-
onKeyDown: handleKeyDown,
|
|
313
|
-
ref: passInRef
|
|
314
|
-
};
|
|
315
|
-
return children && isValidElement(children) && children.type === "input" ? cloneElement(children, {
|
|
316
|
-
...mergedInputProps
|
|
317
|
-
}) : /* @__PURE__ */ jsx(TextField, { ...mergedInputProps });
|
|
318
|
-
}
|
|
319
|
-
);
|
|
320
|
-
InputMask.displayName = "InputMask";
|
|
321
|
-
|
|
322
|
-
export { InputMask as I };
|
|
323
|
-
//# sourceMappingURL=InputMask-DfpkWGmY-D8QEut94.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InputMask-DfpkWGmY-D8QEut94.js","sources":["../../hammer-react/dist/InputMask-DfpkWGmY.js"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useState, useEffect, isValidElement, cloneElement } from 'react';\nimport { T as TextField } from './TextField-Bp1q4hMI.js';\nimport { useMergeRefs } from '@floating-ui/react';\n\nconst InputMask = forwardRef(\n ({\n children,\n mask,\n defaultMaskCharacter = \"_\",\n value,\n defaultValue,\n onChange,\n inputProps,\n customMaskHandler\n }, ref) => {\n const lastCursorPos = useRef(0);\n const [internalValue, _setInternalValue] = useState(\n defaultValue || value || \"\"\n );\n const valueRef = useRef(\"\");\n const controlled = typeof value === \"string\";\n const setInternalValue = (val) => {\n valueRef.current = applyMask(val);\n _setInternalValue(valueRef.current);\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n lastCursorPos.current,\n lastCursorPos.current\n );\n });\n };\n const currentValue = value ?? internalValue;\n const [fixedCharacters, setFixedCharacters] = useState([]);\n const inputRef = useRef(null);\n const passInRef = useMergeRefs([inputRef, ref]);\n useEffect(() => {\n if (defaultValue) {\n setInternalValue(defaultValue);\n } else if (value) {\n setInternalValue(value);\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n lastCursorPos.current,\n lastCursorPos.current\n );\n });\n } else {\n setInternalValue(\"\");\n }\n }, [defaultValue, value]);\n useEffect(() => {\n if (value && defaultValue) {\n console.warn(\n \"Warning: InputMask contains both 'value' and 'defaultValue' props. Input elements should not switch from uncontrolled to controlled or vice versa. Decide between using a controlled or uncontrolled input element and remove one of these props.\"\n );\n }\n }, [value, defaultValue]);\n const handleInputChange = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (controlled) {\n const newVal = applyMask(value);\n if (e.target.value !== newVal) {\n e.target.value = newVal;\n onChange?.({ ...e, target: { ...e.target, value: newVal } });\n }\n }\n if (!controlled && e.target.value !== internalValue) {\n e.target.value = internalValue;\n }\n onChange?.({ ...e, target: { ...e.target, value: internalValue } });\n };\n const applyMask = (value2) => {\n let maskedValue = \"\";\n for (let i = 0; i < mask.length; i++) {\n const maskChar = mask[i];\n const inputChar = value2[i];\n if (isAcceptableChar(inputChar, maskChar)) {\n maskedValue += inputChar;\n } else if ([\"9\", \"a\", \"*\"].includes(maskChar)) {\n maskedValue += defaultMaskCharacter;\n } else {\n maskedValue += maskChar;\n }\n }\n return maskedValue;\n };\n useEffect(() => {\n const fixed = [];\n const maskChars = [\"a\", \"9\", \"*\"];\n mask.split(\"\").forEach((char) => {\n if (!maskChars.includes(char) && !fixed.includes(char)) {\n fixed.push(char);\n }\n });\n setFixedCharacters(fixed);\n }, [mask]);\n useEffect(() => {\n if (inputRef.current && inputRef.current.value !== currentValue) {\n inputRef.current.value = currentValue;\n }\n }, [inputRef]);\n const getCursorPos = (currentIndex, nextIndex, lastKey) => {\n if (currentIndex === void 0 || nextIndex === void 0) {\n const cursorPosition = internalValue.indexOf(defaultMaskCharacter);\n if (cursorPosition > -1) {\n lastCursorPos.current = cursorPosition;\n !controlled && requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n cursorPosition,\n cursorPosition\n );\n });\n return;\n } else {\n lastCursorPos.current = internalValue.length;\n !controlled && requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n internalValue.length,\n internalValue.length\n );\n lastCursorPos.current = internalValue.length;\n });\n return;\n }\n }\n if (controlled) {\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(currentIndex, currentIndex);\n });\n }\n if (lastKey === \"Backspace\") {\n for (let i = nextIndex; i >= 1; i--) {\n if (\n // Skip any position that is fixed.\n !fixedCharacters.includes(mask[i - 1]) && internalValue[i - 1] !== defaultMaskCharacter\n ) {\n !controlled && requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(i, i);\n });\n lastCursorPos.current = i;\n return;\n }\n }\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(0, 0);\n });\n lastCursorPos.current = 0;\n return;\n }\n for (let i = nextIndex; i < mask.length; i++) {\n if (!fixedCharacters.includes(mask[i])) {\n !controlled && requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(i, i);\n });\n lastCursorPos.current = i;\n return;\n }\n }\n lastCursorPos.current = internalValue.length;\n return;\n };\n const onInputClick = (e) => {\n e.preventDefault();\n e.stopPropagation();\n inputProps?.onClick?.(e);\n };\n const onInputBlur = (e) => {\n e.preventDefault();\n e.stopPropagation();\n inputProps?.onBlur?.(e);\n };\n const onInputFocus = (e) => {\n e.preventDefault();\n e.stopPropagation();\n getCursorPos();\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n lastCursorPos.current,\n lastCursorPos.current\n );\n });\n inputProps?.onFocus?.(e);\n };\n const isAcceptableChar = (char, maskChar) => {\n if (maskChar === \"9\") {\n return /\\d/.test(char);\n }\n if (maskChar === \"a\") {\n return /[a-zA-Z]/.test(char);\n }\n if (maskChar === \"*\") {\n return /[a-zA-Z0-9]/.test(char);\n }\n return false;\n };\n const applyCustomMaskHandler = (key) => {\n if (!customMaskHandler?.length) return false;\n for (const item of customMaskHandler) {\n const { matchPattern, startPosition, endPosition } = item.match;\n if (typeof inputRef.current?.selectionStart === \"number\" && endPosition !== inputRef.current?.selectionStart + 1)\n continue;\n const substring = valueRef.current.substring(startPosition, endPosition - 1) + key;\n if (matchPattern.test(substring)) {\n const { applyPattern, caretOffset } = item.apply;\n const newValue = substring.replace(matchPattern, applyPattern);\n setInternalValue(\n valueRef.current.substring(0, startPosition) + newValue + valueRef.current.substring(endPosition)\n );\n lastCursorPos.current += caretOffset;\n if (!controlled) {\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(\n lastCursorPos.current,\n lastCursorPos.current\n );\n });\n }\n return true;\n }\n }\n return false;\n };\n const handleKeyDown = (e) => {\n let indexStart = inputRef.current?.selectionStart || 0;\n let indexEnd = inputRef.current?.selectionEnd || 0;\n if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === \"v\") {\n inputProps?.onKeyDown?.(e);\n return;\n }\n if (e.key === \"Backspace\") {\n if (indexStart === indexEnd) {\n setInternalValue(\n valueRef.current.substring(0, indexStart - 1) + \" \" + valueRef.current.substring(indexEnd)\n );\n getCursorPos(indexStart, indexStart - 1, e.key);\n } else {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + \" \".repeat(indexEnd - indexStart) + valueRef.current.substring(indexEnd)\n );\n getCursorPos(indexStart, indexStart + 1, e.key);\n }\n } else if (e.key === \"Delete\") {\n if (indexStart === indexEnd) {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + \" \" + valueRef.current.substring(indexEnd + 1)\n );\n getCursorPos(indexStart, indexEnd, e.key);\n } else {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + \" \".repeat(indexEnd - indexStart) + valueRef.current.substring(indexEnd)\n );\n getCursorPos(indexStart, indexEnd, e.key);\n }\n } else if (e.key.length === 1) {\n const isApplied = applyCustomMaskHandler(e.key);\n if (isApplied) {\n inputProps?.onKeyDown?.(e);\n return;\n }\n if (indexStart === mask.length && lastCursorPos.current !== mask.length) {\n indexStart = lastCursorPos.current;\n indexEnd = lastCursorPos.current;\n }\n if (!isAcceptableChar(e.key, mask[indexStart]) && [\"9\", \"a\", \"*\"].includes(mask[indexStart])) {\n requestAnimationFrame(() => {\n inputRef.current?.setSelectionRange(indexStart, indexStart);\n lastCursorPos.current = indexStart;\n });\n return;\n }\n if (indexStart === indexEnd) {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + e.key + valueRef.current.substring(indexEnd + 1)\n );\n getCursorPos(indexStart, indexStart + 1, e.key);\n } else {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + e.key + \" \".repeat(indexEnd - indexStart - 1) + valueRef.current.substring(indexEnd)\n );\n getCursorPos(indexStart, indexStart + 1, e.key);\n }\n }\n inputProps?.onKeyDown?.(e);\n };\n const handlePaste = (e) => {\n const indexStart = inputRef.current?.selectionStart || 0;\n const indexEnd = inputRef.current?.selectionEnd || 0;\n const pastedValue = e.clipboardData.getData(\"text\");\n if (indexStart === indexEnd || indexEnd - indexStart <= pastedValue.length) {\n setInternalValue(\n valueRef.current.substring(0, indexStart) + pastedValue + valueRef.current.substring(indexStart + pastedValue.length)\n );\n getCursorPos(indexStart + pastedValue.length);\n return;\n }\n setInternalValue(\n valueRef.current.substring(0, indexStart) + pastedValue + \" \".repeat(indexEnd - indexStart - pastedValue.length) + valueRef.current.substring(indexEnd)\n );\n getCursorPos(indexEnd);\n };\n const mergedInputProps = {\n ...inputProps,\n ...children && isValidElement(children) ? children.props : {},\n value: applyMask(currentValue),\n onChange: handleInputChange,\n onPaste: handlePaste,\n onClick: onInputClick,\n onBlur: onInputBlur,\n onFocus: onInputFocus,\n onKeyDown: handleKeyDown,\n ref: passInRef\n };\n return children && isValidElement(children) && children.type === \"input\" ? cloneElement(children, {\n ...mergedInputProps\n }) : /* @__PURE__ */ jsx(TextField, { ...mergedInputProps });\n }\n);\nInputMask.displayName = \"InputMask\";\n\nexport { InputMask as I };\n//# sourceMappingURL=InputMask-DfpkWGmY.js.map\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Link-K3nk4QAp.js","sources":["../src/components/Link/Link.tsx"],"sourcesContent":["import {\n LinkProps as CoreLinkProps,\n Link as CoreLink,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type LinkProps = Omit<CoreLinkProps, \"href\"> &\n DataTrackingId &\n (\n | {\n pathname?: never;\n search?: never;\n href?: CoreLinkProps[\"href\"];\n }\n | {\n pathname: string;\n search?: string;\n href?: never;\n }\n | {\n pathname?: never;\n search?: never;\n href?: never;\n }\n ) &\n (\n | {\n /**\n * @default \"primary\"\n */\n appearance?: \"primary\";\n quiet?: boolean;\n }\n | {\n appearance: \"secondary\";\n quiet?: false;\n }\n );\n\nexport const Link = forwardRef(\n (props: LinkProps, ref: Ref<HTMLAnchorElement>) => {\n const { onClick, pathname, children, search, ...rest } = props;\n const data = {\n appearance: props.appearance,\n quiet: props.quiet,\n children: childrenToString(children),\n };\n\n const handleClick = (\n ...args: Parameters<NonNullable<LinkProps[\"onClick\"]>>\n ) => {\n if (pathname) {\n const to = pathname + (search ?? \"\");\n args[0].preventDefault();\n history.pushState(null, \"\", to); // eslint-disable-line no-restricted-globals\n onClick?.(...args);\n } else {\n onClick?.(...args);\n }\n };\n\n const trackingId = useTrackingId({\n name: \"Link\",\n data,\n hasOverride: !!rest[\"data-tracking-id\"],\n });\n return (\n <CoreLink\n onClick={handleClick}\n ref={ref}\n data-tracking-id={trackingId}\n {...rest}\n >\n {children}\n </CoreLink>\n );\n },\n);\n\nLink.displayName = \"Link\";\n"],"names":["CoreLink"],"mappings":";;;;;;AA0CO,MAAM,IAAO,GAAA,UAAA;AAAA,EAClB,CAAC,OAAkB,GAAgC,KAAA;AACjD,IAAA,MAAM,EAAE,OAAS,EAAA,QAAA,EAAU,UAAU,MAAQ,EAAA,GAAG,MAAS,GAAA,KAAA;AACzD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,YAAY,KAAM,CAAA,UAAA;AAAA,MAClB,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,QAAA,EAAU,iBAAiB,QAAQ;AAAA,KACrC;AAEA,IAAM,MAAA,WAAA,GAAc,IACf,IACA,KAAA;AACH,MAAA,IAAI,QAAU,EAAA;AACZ,QAAM,MAAA,EAAA,GAAK,YAAY,MAAU,IAAA,EAAA,CAAA;AACjC,QAAK,IAAA,CAAA,CAAC,EAAE,cAAe,EAAA;AACvB,QAAQ,OAAA,CAAA,SAAA,CAAU,IAAM,EAAA,EAAA,EAAI,EAAE,CAAA;AAC9B,QAAA,OAAA,GAAU,GAAG,IAAI,CAAA;AAAA,OACZ,MAAA;AACL,QAAA,OAAA,GAAU,GAAG,IAAI,CAAA;AAAA;AACnB,KACF;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,MAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,IAAA,CAAK,kBAAkB;AAAA,KACvC,CAAA;AACD,IACE,uBAAA,GAAA;AAAA,MAACA,MAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,WAAA;AAAA,QACT,GAAA;AAAA,QACA,kBAAkB,EAAA,UAAA;AAAA,QACjB,GAAG,IAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA;AAGN;AAEA,IAAA,CAAK,WAAc,GAAA,MAAA;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListView-zlg5FlKW.js","sources":["../../hammer-react/dist/ListView-afYiz5ji.js","../src/components/ListView/ListView.tsx"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useRef, useId, useState, useEffect, createContext, useContext } from 'react';\nimport cx from 'classnames';\nimport { s as styles } from './ListView.module-MVsNF0X0.js';\nimport { q as getActiveElement } from './ProgressBar-CeClhdcf.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-GT5myWCm.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { C as Checkbox } from './Checkbox-CRurfeRE.js';\n\nfunction mapOrder(array, order, key) {\n array.sort(function(a, b) {\n const A = a[key], B = b[key];\n if (order.indexOf(A) > order.indexOf(B)) {\n return 1;\n } else {\n return -1;\n }\n });\n return array;\n}\n\nconst listViewKeyboardNavigation = (e, options, focusedItem, setFocusedItem, parent, currentFocusId) => {\n if (!options) return;\n let activeElement;\n switch (e.code) {\n case \"Enter\":\n case \"Space\":\n options[focusedItem.row].focusables[focusedItem.col].click();\n activeElement = getActiveElement(document);\n if (!activeElement) break;\n activeElement.click();\n e.preventDefault();\n break;\n case \"ArrowDown\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.row === options.length - 1) {\n options[0].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(options[0].focusables[focusedItem.col].id);\n setFocusedItem((prev) => {\n return { ...prev, row: 0 };\n });\n break;\n }\n options[focusedItem.row + 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row + 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: focusedItem.row + 1 };\n });\n break;\n case \"ArrowUp\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.row === 0) {\n options[options.length - 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[options.length - 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: options.length - 1 };\n });\n break;\n }\n options[focusedItem.row - 1].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row - 1].focusables[focusedItem.col].id\n );\n setFocusedItem((prev) => {\n return { ...prev, row: focusedItem.row - 1 };\n });\n break;\n case \"ArrowRight\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.col === options[focusedItem.row].focusables.length - 1) {\n options[focusedItem.row].focusables[0].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(options[focusedItem.row].focusables[0].id);\n setFocusedItem((prev) => {\n return {\n ...prev,\n col: 0\n };\n });\n break;\n }\n options[focusedItem.row].focusables[focusedItem.col + 1].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row].focusables[focusedItem.col + 1].id\n );\n setFocusedItem((prev) => {\n return { ...prev, col: focusedItem.col + 1 };\n });\n break;\n case \"ArrowLeft\":\n parent?.focus();\n options[focusedItem.row].focusables[focusedItem.col].removeAttribute(\n \"data-interactive\"\n );\n if (focusedItem.col === 0) {\n options[focusedItem.row].focusables[options[focusedItem.row].focusables.length - 1].setAttribute(\"data-interactive\", \"focus-visible\");\n currentFocusId(\n options[focusedItem.row].focusables[options[focusedItem.row].focusables.length - 1].id\n );\n setFocusedItem((prev) => {\n return {\n ...prev,\n col: options[focusedItem.row].focusables.length - 1\n };\n });\n break;\n }\n options[focusedItem.row].focusables[focusedItem.col - 1].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n currentFocusId(\n options[focusedItem.row].focusables[focusedItem.col - 1].id\n );\n setFocusedItem((prev) => {\n return { ...prev, col: focusedItem.col - 1 };\n });\n break;\n }\n};\n\nconst ListViewOption = forwardRef(\n (props, ref) => {\n const {\n className,\n children,\n onClick,\n onKeyDown,\n onKeyUp,\n onBlur,\n onChange,\n style,\n disabled: disabledProp,\n id,\n ...remainingProps\n } = props;\n const optionRef = useRef(null);\n const mergedRef = useMergeRefs([ref, optionRef]);\n const itemRef = useRef();\n const cellRef = useRef(null);\n const rowId = useId();\n const [isSelected, setIsSelected] = useState(false);\n const { selectedItems, setSelectedItems, controlled } = useListView();\n const disabled = \"item\" in remainingProps ? disabledProp || remainingProps.item.disabled : disabledProp;\n useEffect(() => {\n const focusables = optionRef.current?.querySelectorAll(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [tabindex='0']:not(:disabled):not([aria-disabled='true'])\"\n );\n focusables?.forEach((item, i) => {\n item.setAttribute(\"tabindex\", \"-1\");\n if (item.hasAttribute(\"id\")) return;\n item.setAttribute(\"id\", `${rowId}-${i}`);\n });\n }, [rowId]);\n useEffect(() => {\n if (\"item\" in remainingProps) {\n const isPartOfSelectedItems = selectedItems.some((item) => {\n return item.label === remainingProps.item.label;\n });\n setIsSelected(isPartOfSelectedItems);\n } else {\n const isPartOfSelectedItems = selectedItems.includes(\n remainingProps.label\n );\n setIsSelected(isPartOfSelectedItems);\n }\n }, [controlled, remainingProps, selectedItems]);\n const onChangeHandler = (e) => {\n onChange?.(e, { checked: isSelected });\n };\n const onClickHandler = () => {\n if (controlled) return;\n updateSelectedItems();\n };\n function updateSelectedItems() {\n if (\"item\" in remainingProps) {\n const isPartOfSelectedItems = selectedItems.some((item) => {\n return item.label === remainingProps.item.label;\n });\n if (isPartOfSelectedItems) {\n setSelectedItems(\n (prev) => prev.filter(\n (item) => item?.label !== remainingProps.item.label\n )\n );\n setIsSelected(false);\n } else {\n setSelectedItems((prev) => [...prev, remainingProps.item]);\n setIsSelected(true);\n }\n } else {\n const isPartOfSelectedItems = selectedItems.some((item) => {\n return item === remainingProps.label;\n });\n if (isPartOfSelectedItems) {\n setSelectedItems(\n (prev) => prev.filter((item) => item !== remainingProps.label)\n );\n setIsSelected(false);\n } else {\n setSelectedItems((prev) => [...prev, remainingProps.label]);\n setIsSelected(true);\n }\n }\n }\n if (\"item\" in remainingProps) {\n itemRef.current = remainingProps.item;\n const { item, ...rest } = remainingProps;\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx([styles[\"listview-option\"]], className),\n \"data-anv\": \"listview-option\",\n style,\n ref: mergedRef,\n \"aria-disabled\": disabled,\n \"aria-selected\": isSelected,\n \"aria-label\": item.label,\n role: \"row\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: styles[\"cell\"], ref: cellRef, role: \"gridcell\", children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n disabled,\n checked: isSelected,\n \"aria-label\": item.label,\n onChange: onChangeHandler,\n onClick: onClickHandler\n }\n ) }),\n children\n ]\n }\n );\n }\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx([styles[\"listview-option\"]], className),\n \"data-anv\": \"listview-option\",\n style,\n ref: mergedRef,\n \"aria-disabled\": disabled,\n \"aria-selected\": isSelected,\n \"aria-label\": \"label\" in props ? props.label : \"Select\",\n role: \"row\",\n ...remainingProps,\n children: [\n /* @__PURE__ */ jsx(\"div\", { className: styles[\"cell\"], ref: cellRef, role: \"gridcell\", children: /* @__PURE__ */ jsx(\n Checkbox,\n {\n disabled,\n checked: isSelected,\n \"aria-label\": \"label\" in props ? props.label : \"Select\",\n onChange: onChangeHandler,\n onClick: onClickHandler\n }\n ) }),\n children\n ]\n }\n );\n }\n);\nListViewOption.displayName = \"ListViewOption\";\n\nconst ListViewOptionCell = forwardRef((props, ref) => {\n const { ...rest } = props;\n return /* @__PURE__ */ jsx(\"div\", { role: \"gridcell\", \"data-anv\": \"listview-option-cell\", ...rest, ref });\n});\nListViewOptionCell.displayName = \"ListViewOptionCell\";\n\nconst ListViewContext = createContext(null);\nconst getFocusables = (el) => {\n return el.querySelectorAll(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [tabindex='0']:not(:disabled):not([aria-disabled='true'])\"\n );\n};\nconst ListViewElement = function(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n onSelectionChange,\n className,\n selected,\n defaultSelected,\n style,\n onKeyDown,\n ...remainingProps\n } = componentProps;\n const ListViewRef = useRef(null);\n const isFocusVisible = useRef(true);\n const combinedRef = useMergeRefs([ref, ListViewRef]);\n const [options, setOptions] = useState();\n const [currentActive, setCurrentActive] = useState();\n const [selectedItems, setSelectedItems] = useState(\n selected ?? defaultSelected ?? []\n );\n const [focusedItem, setFocusedItem] = useState({\n row: 0,\n col: 0\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const onFocusHandler = (e) => {\n if (!isFocusVisible.current) return;\n if (!options) return;\n options[focusedItem.row].focusables[focusedItem.col].setAttribute(\n \"data-interactive\",\n \"focus-visible\"\n );\n return;\n };\n const onBlurHandler = () => {\n if (!options) return;\n options[focusedItem.row].focusables[focusedItem.col]?.removeAttribute(\n \"data-interactive\"\n );\n return;\n };\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (!options) return;\n isFocusVisible.current = true;\n listViewKeyboardNavigation(\n e,\n options,\n focusedItem,\n setFocusedItem,\n ListViewRef.current,\n (id) => setCurrentActive(id)\n );\n };\n const onMouseDownHandler = (e) => {\n isFocusVisible.current = false;\n if (options && ListViewRef.current) {\n options[focusedItem.row].focusables[focusedItem.col]?.removeAttribute(\n \"data-interactive\"\n );\n const closestFocusable = e.target.closest(\n \"button:not(:disabled):not([aria-disabled='true']), input:not(:disabled):not([aria-disabled='true']), [data-anv='checkbox']\"\n );\n const optionRow = e.target.closest(\n '[data-anv=\"listview-option\"]'\n );\n if (!optionRow || optionRow.ariaDisabled) return;\n const row = options.findIndex((option) => option.node === optionRow);\n if (!closestFocusable) {\n options[row].focusables[0].click();\n return;\n }\n const col = Array.prototype.indexOf.call(\n options[row].focusables,\n closestFocusable?.getAttribute(\"data-anv\") === \"checkbox\" ? closestFocusable.children[0] : closestFocusable\n );\n setFocusedItem({ row, col });\n }\n };\n useEffect(() => {\n if (!ListViewRef.current) return;\n const optionArr = ListViewRef.current.querySelectorAll(\n \"div[data-anv='listview-option']:not([aria-disabled='true'])\"\n );\n const makeTree = Array.from(optionArr).map((option) => {\n const childFocusables = getFocusables(option);\n return {\n node: option,\n focusables: childFocusables\n };\n });\n setOptions(makeTree);\n }, [props.children]);\n const prevSelectedItems = useRef();\n useEffect(() => {\n if (!options) return;\n const compareArr = options.map((option) => option.node.ariaLabel);\n const orderedSelectedItems = mapOrder(selectedItems, compareArr, \"label\");\n if (JSON.stringify(prevSelectedItems.current) === JSON.stringify(orderedSelectedItems))\n return;\n onSelectionChange?.(orderedSelectedItems);\n prevSelectedItems.current = orderedSelectedItems;\n }, [onSelectionChange, options, selectedItems]);\n useEffect(() => {\n if (!selected) return;\n const filterDuplicates = selected.reduce(\n (acc, current) => {\n const isDup = acc.find((item) => item.label === current.label);\n if (!isDup) {\n return acc.concat([current]);\n } else {\n return acc;\n }\n },\n []\n );\n if (!options) return;\n const compareArr = options.map((option) => option.node.ariaLabel);\n const orderedSelected = mapOrder(filterDuplicates, compareArr, \"label\");\n if (JSON.stringify(prevSelectedItems.current) === JSON.stringify(orderedSelected))\n return;\n onSelectionChange?.(orderedSelected);\n setSelectedItems(orderedSelected);\n prevSelectedItems.current = orderedSelected;\n }, [onSelectionChange, options, selected]);\n const ListViewClassNames = cx([styles[\"listview\"]], className);\n if (\"items\" in remainingProps) {\n const { children: children2, items, ...rest2 } = remainingProps;\n return /* @__PURE__ */ jsx(\n ListViewContext.Provider,\n {\n value: {\n options,\n onSelectionChange,\n selectedItems,\n setSelectedItems,\n items,\n controlled: !!selected\n },\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: combinedRef,\n className: ListViewClassNames,\n style: styleCombined,\n \"data-anv\": \"listview\",\n role: \"grid\",\n \"aria-multiselectable\": \"true\",\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onKeyDown: onKeyDownHandler,\n onMouseDown: onMouseDownHandler,\n \"aria-activedescendant\": currentActive,\n tabIndex: 0,\n ...rest2,\n children: children2?.({\n items: items.map((item) => {\n return item;\n })\n })\n }\n )\n }\n );\n }\n const { children, ...rest } = remainingProps;\n return /* @__PURE__ */ jsx(\n ListViewContext.Provider,\n {\n value: {\n options,\n onSelectionChange,\n selectedItems,\n setSelectedItems,\n controlled: !!selected\n },\n children: /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: combinedRef,\n className: ListViewClassNames,\n style: styleCombined,\n \"data-anv\": \"listview\",\n role: \"grid\",\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onKeyDown: onKeyDownHandler,\n onMouseDown: onMouseDownHandler,\n \"aria-activedescendant\": currentActive,\n tabIndex: 0,\n ...rest,\n children\n }\n )\n }\n );\n};\nfunction useListView() {\n const context = useContext(ListViewContext);\n if (context == null) {\n throw new Error(\"useListView must be wrapped in <ListView />\");\n }\n return context;\n}\nListViewElement.displayName = \"ListView\";\nconst ListView = Object.assign(\n forwardRef(ListViewElement),\n {\n Option: ListViewOption,\n OptionCell: ListViewOptionCell\n }\n);\n\nexport { ListView as L, ListViewOption as a, ListViewOptionCell as b };\n//# sourceMappingURL=ListView-afYiz5ji.js.map\n","import {\n ListViewProps as CoreListViewProps,\n ListView as CoreListView,\n ListViewOption as CoreListViewOption,\n ListViewOptionCell as CoreListViewOptionCell,\n ListViewOptionProps as CoreListViewOptionProps,\n} from \"@servicetitan/hammer-react\";\nimport { ComponentPropsWithoutRef, ForwardedRef, Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type ListViewProps<T> = CoreListViewProps<T>;\nexport type ListViewOptionProps = CoreListViewOptionProps & DataTrackingId;\n\nconst ListViewElement = function <T>(\n props: ListViewProps<T>,\n ref: ForwardedRef<HTMLUListElement>,\n) {\n return <CoreListView ref={ref} {...props} />;\n};\n\nexport const ListViewOption = forwardRef(\n (props: ListViewOptionProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n label: \"item\" in props ? props.item?.label : props.label,\n };\n\n const trackingId = useTrackingId({\n name: \"ListViewOption\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreListViewOption ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\n\nexport const ListViewOptionCell = forwardRef(\n (props: ComponentPropsWithoutRef<\"div\">, ref: Ref<HTMLDivElement>) => {\n return <CoreListViewOptionCell ref={ref} {...props} />;\n },\n);\n\nexport const ListView = Object.assign(\n forwardRef(ListViewElement) as <T>(\n props: ListViewProps<T> & { ref?: React.ForwardedRef<HTMLUListElement> },\n ) => ReturnType<typeof ListViewElement>,\n {\n Option: ListViewOption,\n OptionCell: ListViewOptionCell,\n },\n);\n"],"names":["ListViewOption","ListViewOptionCell","ListViewElement","ListView","CoreListView","CoreListViewOption","CoreListViewOptionCell"],"mappings":"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"}
|
package/dist/Listbox-36Mda5DS.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { useTrackingId } from './useTrackingId.js';
|
|
4
|
-
import { L as ListboxOption$1, a as ListboxOptionGroup$1, b as Listbox$1 } from './Listbox-DLlT8qbJ-BvhkfmIf.js';
|
|
5
|
-
|
|
6
|
-
const ListboxElement = function(props, ref) {
|
|
7
|
-
return /* @__PURE__ */ jsx(Listbox$1, { ref, ...props });
|
|
8
|
-
};
|
|
9
|
-
const ListboxOption = forwardRef(
|
|
10
|
-
(props, ref) => {
|
|
11
|
-
const data = {
|
|
12
|
-
value: props.value,
|
|
13
|
-
label: "item" in props ? props.item?.label : props.label
|
|
14
|
-
};
|
|
15
|
-
const trackingId = useTrackingId({
|
|
16
|
-
name: "ListboxOption",
|
|
17
|
-
data,
|
|
18
|
-
hasOverride: !!props["data-tracking-id"]
|
|
19
|
-
});
|
|
20
|
-
return /* @__PURE__ */ jsx(ListboxOption$1, { ref, "data-tracking-id": trackingId, ...props });
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
const ListboxOptionGroup = forwardRef(
|
|
24
|
-
(props, ref) => {
|
|
25
|
-
return /* @__PURE__ */ jsx(ListboxOptionGroup$1, { ref, ...props });
|
|
26
|
-
}
|
|
27
|
-
);
|
|
28
|
-
const Listbox = Object.assign(
|
|
29
|
-
forwardRef(ListboxElement),
|
|
30
|
-
{
|
|
31
|
-
Option: ListboxOption,
|
|
32
|
-
OptionGroup: ListboxOptionGroup
|
|
33
|
-
}
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
export { Listbox as L, ListboxOption as a, ListboxOptionGroup as b };
|
|
37
|
-
//# sourceMappingURL=Listbox-36Mda5DS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Listbox-36Mda5DS.js","sources":["../src/components/Listbox/Listbox.tsx"],"sourcesContent":["import {\n ListboxProps as CoreListboxProps,\n Listbox as CoreListbox,\n ListboxOption as CoreListboxOption,\n ListboxOptionProps as CoreListboxOptionProps,\n ListboxOptionGroup as CoreListboxOptionGroup,\n ListboxOptionGroupProps as CoreListboxOptionGroupProps,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef, ForwardedRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\nexport type ListboxProps<T> = CoreListboxProps<T>;\nexport type ListboxOptionProps = CoreListboxOptionProps & DataTrackingId;\nexport type ListboxOptionGroupProps = CoreListboxOptionGroupProps;\n\nconst ListboxElement = function <T>(\n props: ListboxProps<T>,\n ref: ForwardedRef<HTMLUListElement>,\n) {\n return <CoreListbox ref={ref} {...props} />;\n};\n\nexport const ListboxOption = forwardRef(\n (props: ListboxOptionProps, ref: Ref<HTMLLIElement>) => {\n const data = {\n value: props.value,\n label: \"item\" in props ? props.item?.label : props.label,\n };\n\n const trackingId = useTrackingId({\n name: \"ListboxOption\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreListboxOption ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nexport const ListboxOptionGroup = forwardRef(\n (props: ListboxOptionGroupProps, ref: Ref<HTMLDivElement>) => {\n return <CoreListboxOptionGroup ref={ref} {...props} />;\n },\n);\n\nexport const Listbox = Object.assign(\n forwardRef(ListboxElement) as <T>(\n props: ListboxProps<T> & { ref?: React.ForwardedRef<HTMLUListElement> },\n ) => ReturnType<typeof ListboxElement>,\n {\n Option: ListboxOption,\n OptionGroup: ListboxOptionGroup,\n },\n);\n"],"names":["CoreListbox","CoreListboxOption","CoreListboxOptionGroup"],"mappings":";;;;;AAgBA,MAAM,cAAA,GAAiB,SACrB,KAAA,EACA,GACA,EAAA;AACA,EAAA,uBAAQ,GAAA,CAAAA,SAAA,EAAA,EAAY,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAC3C,CAAA;AAEO,MAAM,aAAgB,GAAA,UAAA;AAAA,EAC3B,CAAC,OAA2B,GAA4B,KAAA;AACtD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,OAAO,KAAM,CAAA,KAAA;AAAA,MACb,OAAO,MAAU,IAAA,KAAA,GAAQ,KAAM,CAAA,IAAA,EAAM,QAAQ,KAAM,CAAA;AAAA,KACrD;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,eAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AAED,IAAA,2BACGC,eAAkB,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAG5E;AACO,MAAM,kBAAqB,GAAA,UAAA;AAAA,EAChC,CAAC,OAAgC,GAA6B,KAAA;AAC5D,IAAA,uBAAQ,GAAA,CAAAC,oBAAA,EAAA,EAAuB,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAExD;AAEO,MAAM,UAAU,MAAO,CAAA,MAAA;AAAA,EAC5B,WAAW,cAAc,CAAA;AAAA,EAGzB;AAAA,IACE,MAAQ,EAAA,aAAA;AAAA,IACR,WAAa,EAAA;AAAA;AAEjB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Listbox-DLlT8qbJ-BvhkfmIf.js","sources":["../../hammer-react/dist/useTypeAhead-D_x_x3nw.js","../../hammer-react/dist/Listbox-DLlT8qbJ.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useTypeAhead = (timeout = 750) => {\n const [typeAhead, setTypeAhead] = useState(\"\");\n useEffect(() => {\n const timer = setTimeout(() => setTypeAhead(\"\"), timeout);\n return () => clearTimeout(timer);\n }, [typeAhead, timeout]);\n const updateTypeAhead = (char) => setTypeAhead((prev) => prev + char);\n return [typeAhead, updateTypeAhead];\n};\n\nexport { useTypeAhead as u };\n//# sourceMappingURL=useTypeAhead-D_x_x3nw.js.map\n","import { jsx, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, createContext, useContext, useRef, useState, useEffect, useMemo } from 'react';\nimport cx from 'classnames';\nimport { s as styles } from './Listbox.module-DcBE8Zmo.js';\nimport { u as useTypeAhead } from './useTypeAhead-D_x_x3nw.js';\nimport { T as Text } from './Text-CN_-FF7J.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-GT5myWCm.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { I as Icon } from './Icon-BrdmZw1i.js';\nimport { F as Flex } from './Flex-EX9xObMl.js';\nimport Check from '@servicetitan/hammer-icon/mdi/round/check.svg';\n\nconst ListboxOptionGroupContext = createContext({});\nconst ListboxOptionGroup = forwardRef((props, ref) => {\n const { className, children, disabled, label, ...rest } = props;\n const optionGroupCx = cx(styles[\"option-group\"], className);\n const labelCx = cx(styles[\"label\"], {\n [styles[\"disabled\"]]: disabled\n });\n return /* @__PURE__ */ jsx(ListboxOptionGroupContext.Provider, { value: { disabled }, children: /* @__PURE__ */ jsxs(\n \"div\",\n {\n \"data-anv\": \"listbox-option-group\",\n className: optionGroupCx,\n ref,\n ...rest,\n children: [\n /* @__PURE__ */ jsx(Text, { variant: \"eyebrow\", className: labelCx, children: label }),\n children\n ]\n }\n ) });\n});\nListboxOptionGroup.displayName = \"ListboxOptionGroup\";\n\nconst ListboxOption = forwardRef(\n (props, ref) => {\n const {\n className,\n children,\n disabled: disabledProp,\n onClick,\n label: labelProp,\n item,\n value,\n alignItems,\n justifyItems,\n alignContent,\n justifyContent,\n placeItems,\n placeContent,\n ...rest\n } = props;\n const {\n setCurrentFocus,\n currentFocus,\n selected,\n setSelected,\n selectionMode,\n onSelectionChange,\n controlled\n } = useListbox();\n const ListboxOptionClassNames = cx(styles[\"option\"], className, {});\n const label = labelProp || item?.label || \"\";\n const { disabled: groupDisabled } = useContext(ListboxOptionGroupContext);\n const disabled = groupDisabled || disabledProp || item?.disabled || false;\n const isSelected = () => {\n if (selectionMode === \"single\") {\n if (item) {\n return selected?.label === label;\n }\n return selected === label;\n }\n if (selectionMode === \"multiple\") {\n const selectedItems = Array.isArray(selected) ? selected : selected ? [selected] : [];\n if (item) {\n return selectedItems.some(\n (selectedItem) => selectedItem.label === label\n );\n }\n return selectedItems.includes(label);\n }\n return false;\n };\n const onClickHandler = (e) => {\n if (disabled) return;\n onClick?.(e);\n setCurrentFocus?.(label);\n if (selectionMode === \"single\") {\n if (!item && selected === label || item && selected?.label === label) {\n !controlled && setSelected?.(void 0);\n onSelectionChange?.(void 0);\n return;\n }\n if (item) {\n !controlled && setSelected?.(item);\n onSelectionChange?.(item);\n return;\n }\n if (!item) {\n !controlled && setSelected?.(label);\n onSelectionChange?.(label);\n return;\n }\n }\n if (selectionMode === \"multiple\") {\n const selectedItems = Array.isArray(selected) ? selected : selected ? [selected] : [];\n if (item && selectedItems.some((selectedItem) => selectedItem.label === label)) {\n const selectedItemsWithItemRemoved = selectedItems.filter(\n (selectedItem) => selectedItem.label !== label\n );\n setSelected?.(selectedItemsWithItemRemoved);\n onSelectionChange?.(selectedItemsWithItemRemoved);\n return;\n }\n if (!item && selectedItems.includes(label)) {\n const selectedItemsWithItemRemoved = selectedItems.filter(\n (selectedItem) => selectedItem !== label\n );\n setSelected?.(selectedItemsWithItemRemoved);\n onSelectionChange?.(selectedItemsWithItemRemoved);\n return;\n }\n if (item) {\n const selectedItemsWithItemAdded = [...selectedItems, item];\n setSelected?.(selectedItemsWithItemAdded);\n onSelectionChange?.(selectedItemsWithItemAdded);\n return;\n }\n if (!item) {\n const selectedItemsWithItemAdded = [...selectedItems, label];\n setSelected?.(selectedItemsWithItemAdded);\n onSelectionChange?.(selectedItemsWithItemAdded);\n return;\n }\n }\n };\n return /* @__PURE__ */ jsxs(\n \"li\",\n {\n className: ListboxOptionClassNames,\n \"data-anv\": \"listbox-option\",\n role: \"option\",\n \"aria-disabled\": disabled,\n \"data-focused\": currentFocus === label,\n \"aria-selected\": isSelected(),\n id: label,\n onClick: onClickHandler,\n ref,\n value: value ?? label,\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n Flex,\n {\n className: styles[\"children\"],\n grow: 1,\n shrink: 1,\n alignItems,\n justifyItems,\n alignContent,\n justifyContent,\n placeItems,\n placeContent,\n children\n }\n ),\n /* @__PURE__ */ jsx(\n Icon,\n {\n \"aria-hidden\": true,\n svg: Check,\n inherit: true,\n className: styles[\"Icon\"],\n style: { opacity: isSelected() ? 1 : 0 }\n }\n )\n ]\n }\n );\n }\n);\nListboxOption.displayName = \"ListboxOption\";\n\nconst scrollToOption = (node) => {\n node?.scrollIntoView({\n block: \"nearest\",\n inline: \"center\"\n });\n};\nconst onListboxKeyDown = (e, context) => {\n const {\n options,\n currentFocus,\n selectionMode,\n onSelectionChange,\n selected,\n setSelected,\n items,\n controlled\n } = context;\n if (!options) return;\n const currentNode = Array.from(options).find(\n (node) => node.id === currentFocus\n );\n const currentIndex = Array.from(options).indexOf(currentNode);\n switch (e.code) {\n case \"ArrowDown\":\n e.preventDefault();\n currentIndex === options.length - 1 ? goTo(options[0], 0, context) : goTo(options[currentIndex + 1], currentIndex + 1, context);\n break;\n case \"ArrowUp\":\n e.preventDefault();\n currentIndex === 0 ? goTo(options[options.length - 1], options.length - 1, context) : goTo(options[currentIndex - 1], currentIndex - 1, context);\n break;\n case \"Home\":\n e.preventDefault();\n goTo(options[0], 0, context);\n break;\n case \"End\":\n e.preventDefault();\n goTo(options[options.length - 1], options.length - 1, context);\n break;\n case \"Enter\":\n case \"Space\":\n e.preventDefault();\n if (!currentFocus) return;\n if (controlled) return;\n if (selectionMode === \"single\") {\n if (typeof selected === \"object\" ? selected.label === currentFocus : selected === currentFocus) {\n setSelected?.(void 0);\n onSelectionChange?.(void 0);\n return;\n }\n if (items) {\n const enabledItems = items.filter((item) => !item?.disabled);\n setSelected?.(enabledItems[currentIndex]);\n onSelectionChange?.(enabledItems[currentIndex]);\n return;\n }\n if (!items) {\n setSelected?.(currentFocus);\n onSelectionChange?.(currentFocus);\n return;\n }\n }\n if (selectionMode === \"multiple\") {\n const selectedItems = Array.isArray(selected) ? selected : [selected];\n if (items) {\n const focusedItem = items.find(\n (item) => item.label === currentFocus\n );\n if (selectedItems.includes(focusedItem)) {\n const selectedItemsWithItemRemoved = selectedItems.filter(\n (selectedItem) => selectedItem !== focusedItem\n );\n setSelected?.(selectedItemsWithItemRemoved);\n onSelectionChange?.(selectedItemsWithItemRemoved);\n return;\n } else {\n const selectedItemsWithItemAdded = [...selectedItems, focusedItem];\n setSelected?.(selectedItemsWithItemAdded);\n onSelectionChange?.(selectedItemsWithItemAdded);\n return;\n }\n }\n if (!items) {\n if (selectedItems.includes(currentFocus)) {\n setSelected?.(\n selectedItems.filter((item) => item !== currentFocus)\n );\n onSelectionChange?.(\n selectedItems.filter((item) => item !== currentFocus)\n );\n return;\n }\n setSelected?.([...selectedItems, currentFocus]);\n onSelectionChange?.([...selectedItems, currentFocus]);\n }\n }\n break;\n }\n};\nconst goTo = (option, index, context) => {\n const {\n setCurrentFocus,\n setSelected,\n selectionMode,\n disableAutoSelectOnFocus,\n onSelectionChange,\n items,\n controlled\n } = context;\n scrollToOption(option);\n if (disableAutoSelectOnFocus || selectionMode === \"multiple\") {\n setCurrentFocus(option?.id);\n return;\n }\n setCurrentFocus(option?.id);\n if (controlled) return;\n if (items) {\n const enabledItems = items.filter((item) => !item?.disabled);\n setSelected(enabledItems[index]);\n onSelectionChange?.(enabledItems[index]);\n } else {\n setSelected(option?.id);\n onSelectionChange?.(option?.id);\n }\n};\n\nconst ListboxContext = createContext(\n null\n);\nconst ListboxElement = function(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n selectionMode = \"single\",\n items,\n children,\n onKeyDown,\n onFocus,\n onSelectionChange,\n selected: selectedProp,\n defaultSelected,\n disableAutoSelectOnFocus,\n style,\n ...rest\n } = componentProps;\n const listboxRef = useRef(null);\n const [selected, setSelected] = useState(\n selectedProp || defaultSelected\n );\n const [options, setOptions] = useState();\n const [typeAhead, updateTypeAhead] = useTypeAhead();\n const [currentFocus, setCurrentFocus] = useState(\n Array.isArray(selected) ? typeof selected[0] === \"object\" ? selected[0].label : selected[0] : typeof selected === \"object\" ? selected?.label : selected\n );\n const ListboxClassNames = cx(styles[\"listbox\"], className, {});\n const controlled = selectedProp !== void 0;\n useEffect(() => {\n if (listboxRef.current) {\n setOptions(\n listboxRef.current.querySelectorAll(\n \"[role=option]:not([aria-disabled='true'])\"\n )\n );\n }\n }, [items, listboxRef, selectionMode]);\n useEffect(() => {\n if (\"selected\" in componentProps) {\n setSelected(selectedProp);\n }\n }, [selectedProp]);\n useEffect(() => {\n if (!typeAhead.length) {\n return;\n }\n const lowerTypeAhead = typeAhead.toLowerCase();\n const nodes = options && Array.from(options).filter(\n (node2) => node2.innerText.toLowerCase().startsWith(lowerTypeAhead)\n );\n if (!nodes?.length) {\n return;\n }\n let node = nodes[0];\n if (lowerTypeAhead.length === 1 && nodes.length > 1) {\n const focusIndex = currentFocus ? nodes.map((node2) => node2.id).indexOf(currentFocus) : -1;\n if (focusIndex > -1) {\n let nextFocusIndex = focusIndex + 1;\n if (nextFocusIndex === nodes.length) {\n nextFocusIndex = 0;\n }\n node = nodes[nextFocusIndex];\n }\n }\n setCurrentFocus(node.id);\n scrollToOption(node);\n if (controlled) return;\n if (selectionMode === \"single\") {\n if (items) {\n if (disableAutoSelectOnFocus) {\n const focusedItem = items.find(\n (item) => item.label === currentFocus\n );\n setSelected?.(focusedItem);\n onSelectionChange?.(focusedItem);\n }\n return;\n }\n if (!items) {\n if (disableAutoSelectOnFocus) {\n setSelected(node.id);\n onSelectionChange?.(node.id);\n }\n return;\n }\n }\n }, [typeAhead]);\n const onKeyDownHandler = (e) => {\n onKeyDown?.(e);\n if (new RegExp(/^[a-zA-Z0-9]$/i).test(e.key)) {\n e.preventDefault();\n e.stopPropagation();\n updateTypeAhead(e.key);\n return;\n }\n onListboxKeyDown(e, {\n setCurrentFocus,\n currentFocus,\n setSelected,\n selected,\n selectionMode,\n options,\n onSelectionChange,\n disableAutoSelectOnFocus: !!disableAutoSelectOnFocus,\n items\n });\n };\n const onFocusHandler = (e) => {\n onFocus?.(e);\n if (!options) return;\n if (selectionMode === \"single\") {\n const currentFocusExists = Array.from(options).some(\n (item) => item.id === currentFocus\n );\n if (currentFocus && currentFocusExists) return;\n if (!items) {\n if (currentFocusExists) {\n setCurrentFocus(selected);\n return;\n }\n setCurrentFocus(options[0].id);\n return;\n }\n if (currentFocusExists) {\n setCurrentFocus(selected?.label);\n return;\n }\n setCurrentFocus(items?.[0].label);\n return;\n }\n if (selectionMode === \"multiple\") {\n const selectedArr = Array.isArray(selected) ? selected : [selected];\n const currentFocusExists = Array.from(options).some(\n (item) => item.id === currentFocus\n );\n if (currentFocus && currentFocusExists) return;\n if (!items) {\n console.log({ currentFocus, currentFocusExists });\n if (currentFocusExists) {\n setCurrentFocus(selectedArr[0].label);\n return;\n }\n setCurrentFocus(options[0].id);\n return;\n }\n if (currentFocusExists) {\n setCurrentFocus(selectedArr[0]?.label);\n return;\n }\n setCurrentFocus(items?.[0].label);\n return;\n }\n setCurrentFocus(options[0].id);\n };\n const mergeRef = useMergeRefs([ref, listboxRef]);\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const value = useMemo(\n () => ({\n setCurrentFocus,\n currentFocus,\n setSelected,\n selected,\n selectionMode,\n items,\n options,\n onSelectionChange,\n disableAutoSelectOnFocus: !!disableAutoSelectOnFocus,\n controlled\n }),\n [\n currentFocus,\n disableAutoSelectOnFocus,\n onSelectionChange,\n options,\n selected,\n selectionMode,\n items,\n controlled\n ]\n );\n return /* @__PURE__ */ jsx(ListboxContext.Provider, { value, children: /* @__PURE__ */ jsx(\n \"ul\",\n {\n tabIndex: 0,\n role: \"listbox\",\n style: styleCombined,\n \"aria-multiselectable\": selectionMode === \"multiple\" ? \"true\" : \"false\",\n \"aria-activedescendant\": currentFocus,\n className: ListboxClassNames,\n \"data-anv\": \"listbox\",\n onKeyDown: onKeyDownHandler,\n onFocus: onFocusHandler,\n ...rest,\n ref: mergeRef,\n children: items ? children?.({ items }) : children\n }\n ) });\n};\nconst useListbox = () => {\n const context = useContext(ListboxContext);\n if (context == null) {\n throw new Error(\"useListbox must be wrapped in <Listbox />\");\n }\n return context;\n};\nListboxElement.displayName = \"Listbox\";\nconst Listbox = Object.assign(\n forwardRef(ListboxElement),\n {\n Option: ListboxOption,\n OptionGroup: ListboxOptionGroup\n }\n);\n\nexport { Listbox as L, ListboxOption as a, ListboxOptionGroup as b };\n//# sourceMappingURL=Listbox-DLlT8qbJ.js.map\n"],"names":["Check"],"mappings":"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"}
|