@servicetitan/anvil2 1.46.11 → 1.47.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 +31 -0
- package/dist/{Alert-CPOBY6O5.js → Alert-BoJUAPue.js} +4 -4
- package/dist/{Alert-CPOBY6O5.js.map → Alert-BoJUAPue.js.map} +1 -1
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-BvzAEdx8.js → Announcement-DtMAQ0Xc.js} +4 -4
- package/dist/{Announcement-BvzAEdx8.js.map → Announcement-DtMAQ0Xc.js.map} +1 -1
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-DkHInQRh.js → AnvilProvider-BhQklhtR.js} +8 -20
- package/dist/AnvilProvider-BhQklhtR.js.map +1 -0
- package/dist/AnvilProvider.js +2 -1
- package/dist/AnvilProvider.js.map +1 -1
- package/dist/AnvilProviderContext-B5CU2cEi.js +18 -0
- package/dist/AnvilProviderContext-B5CU2cEi.js.map +1 -0
- package/dist/{Avatar-3d5Kv2CF.js → Avatar-BWw31pcL.js} +2 -2
- package/dist/{Avatar-3d5Kv2CF.js.map → Avatar-BWw31pcL.js.map} +1 -1
- package/dist/{Avatar-DJ3oJNsv.js → Avatar-C0FuFDK4.js} +2 -2
- package/dist/{Avatar-DJ3oJNsv.js.map → Avatar-C0FuFDK4.js.map} +1 -1
- package/dist/Avatar.js +2 -2
- package/dist/{Badge-DCA9mfc2.js → Badge-DniZR2GC.js} +2 -2
- package/dist/{Badge-DCA9mfc2.js.map → Badge-DniZR2GC.js.map} +1 -1
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-C4_PEolS.js → Breadcrumbs-0Yx3iLZ8.js} +5 -5
- package/dist/{Breadcrumbs-C4_PEolS.js.map → Breadcrumbs-0Yx3iLZ8.js.map} +1 -1
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-VNQQgZ45.js → Button-Bm-YMdkp.js} +5 -5
- package/dist/{Button-VNQQgZ45.js.map → Button-Bm-YMdkp.js.map} +1 -1
- package/dist/Button.js +1 -1
- package/dist/{ButtonCompound-BbPK-Xjj.js → ButtonCompound-BA95JQGP.js} +2 -2
- package/dist/{ButtonCompound-BbPK-Xjj.js.map → ButtonCompound-BA95JQGP.js.map} +1 -1
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-CqR1F5Wn.js → ButtonLink-BiFzqDml.js} +5 -5
- package/dist/{ButtonLink-CqR1F5Wn.js.map → ButtonLink-BiFzqDml.js.map} +1 -1
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-PCeSG-5D.js → ButtonToggle-BO9HLpIW.js} +3 -3
- package/dist/{ButtonToggle-PCeSG-5D.js.map → ButtonToggle-BO9HLpIW.js.map} +1 -1
- package/dist/ButtonToggle.js +1 -1
- package/dist/Calendar-B3YJQo6Y.js +10 -0
- package/dist/Calendar-B3YJQo6Y.js.map +1 -0
- package/dist/{Calendar-DaVJ96Hp.js → Calendar-BE9JCFwy.js} +5 -6
- package/dist/Calendar-BE9JCFwy.js.map +1 -0
- package/dist/Calendar.js +2 -2
- package/dist/{Card-vTYeSkxt.js → Card-TyKjI6d8.js} +2 -2
- package/dist/{Card-vTYeSkxt.js.map → Card-TyKjI6d8.js.map} +1 -1
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-Dv01A09v.js → Checkbox-Bib3kQcl.js} +5 -5
- package/dist/{Checkbox-Dv01A09v.js.map → Checkbox-Bib3kQcl.js.map} +1 -1
- package/dist/{Checkbox-B5VTqylq.js → Checkbox-DdDtsKg7.js} +2 -2
- package/dist/{Checkbox-B5VTqylq.js.map → Checkbox-DdDtsKg7.js.map} +1 -1
- package/dist/Checkbox.js +2 -2
- package/dist/{Chip-DLU13qe-.js → Chip-DRw9cu1_.js} +5 -7
- package/dist/Chip-DRw9cu1_.js.map +1 -0
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-C9-VQHxv.js → Combobox-BWGxdcGI.js} +442 -185
- package/dist/Combobox-BWGxdcGI.js.map +1 -0
- package/dist/Combobox.css +59 -28
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-B17y3l8v.js → DataTable-ApkEFfCX.js} +11 -11
- package/dist/{DataTable-B17y3l8v.js.map → DataTable-ApkEFfCX.js.map} +1 -1
- package/dist/{DateField-CKI7Zk4E.js → DateField-ynB9Nkku.js} +6 -6
- package/dist/{DateField-CKI7Zk4E.js.map → DateField-ynB9Nkku.js.map} +1 -1
- package/dist/DateField.js +1 -1
- package/dist/{DateFieldRange-DIycPI0Y.js → DateFieldRange-DwUXExjQ.js} +6 -6
- package/dist/{DateFieldRange-DIycPI0Y.js.map → DateFieldRange-DwUXExjQ.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BdkVUPvB.js → DateFieldSingle-ipxhv1fi.js} +6 -6
- package/dist/{DateFieldSingle-BdkVUPvB.js.map → DateFieldSingle-ipxhv1fi.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DvbW4vgm.js → DateFieldYearless-BH3Kdx-c.js} +2 -2
- package/dist/{DateFieldYearless-DvbW4vgm.js.map → DateFieldYearless-BH3Kdx-c.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DaysOfTheWeek-BcyYG7dD.js → DaysOfTheWeek-GHPO3u2J.js} +6 -6
- package/dist/{DaysOfTheWeek-BcyYG7dD.js.map → DaysOfTheWeek-GHPO3u2J.js.map} +1 -1
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-CF8DImjw.js → Details-clBN4oi5.js} +3 -3
- package/dist/{Details-CF8DImjw.js.map → Details-clBN4oi5.js.map} +1 -1
- package/dist/Details.js +1 -1
- package/dist/{Dialog-BLFx4TRs.js → Dialog-Drw33nrV.js} +20 -9
- package/dist/Dialog-Drw33nrV.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/{Divider-DJe8kLf2.js → Divider-Dx2AV2jM.js} +2 -2
- package/dist/{Divider-DJe8kLf2.js.map → Divider-Dx2AV2jM.js.map} +1 -1
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/DndSort.js +32 -28
- package/dist/DndSort.js.map +1 -1
- package/dist/{Drawer-DPM-jPb7.js → Drawer-BDShECnc.js} +22 -13
- package/dist/Drawer-BDShECnc.js.map +1 -0
- package/dist/Drawer.js +1 -1
- package/dist/{EditCard-CZzL0nx7.js → EditCard-1KcrWvsY.js} +6 -6
- package/dist/{EditCard-CZzL0nx7.js.map → EditCard-1KcrWvsY.js.map} +1 -1
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-C6XZKglC.js → FieldLabel-NOjvQkOa.js} +3 -3
- package/dist/{FieldLabel-C6XZKglC.js.map → FieldLabel-NOjvQkOa.js.map} +1 -1
- package/dist/FieldLabel.js +1 -1
- package/dist/{FieldMessage-B7uQ8vmr.js → FieldMessage-D0Z4yMMm.js} +2 -2
- package/dist/{FieldMessage-B7uQ8vmr.js.map → FieldMessage-D0Z4yMMm.js.map} +1 -1
- package/dist/FieldMessage.js +1 -1
- package/dist/{Flex-BdQMekvA.js → Flex-DdOpCJf2.js} +2 -2
- package/dist/{Flex-BdQMekvA.js.map → Flex-DdOpCJf2.js.map} +1 -1
- package/dist/Flex.js +1 -1
- package/dist/{Grid-MGUC698u.js → Grid-M1Gq9b-a.js} +2 -2
- package/dist/{Grid-MGUC698u.js.map → Grid-M1Gq9b-a.js.map} +1 -1
- package/dist/Grid.js +1 -1
- package/dist/{Helper-BkIDJqgA.js → Helper-BTXu4PCQ.js} +2 -2
- package/dist/{Helper-BkIDJqgA.js.map → Helper-BTXu4PCQ.js.map} +1 -1
- package/dist/{Icon-D8SPKeO4.js → Icon-CB-34pME.js} +2 -2
- package/dist/{Icon-D8SPKeO4.js.map → Icon-CB-34pME.js.map} +1 -1
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-DkNgXdFO.js → InputMask-D1Uushxa.js} +2 -2
- package/dist/{InputMask-DkNgXdFO.js.map → InputMask-D1Uushxa.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{Link-eRsLWPaQ.js → Link-BYvAKMcm.js} +3 -3
- package/dist/{Link-eRsLWPaQ.js.map → Link-BYvAKMcm.js.map} +1 -1
- package/dist/Link.js +1 -1
- package/dist/{LinkButton-2lXfrVoU.js → LinkButton-DFJqMz7w.js} +2 -2
- package/dist/{LinkButton-2lXfrVoU.js.map → LinkButton-DFJqMz7w.js.map} +1 -1
- package/dist/LinkButton.js +1 -1
- package/dist/{ListView-DYKwVASE.js → ListView-DG9YJ3DU.js} +3 -3
- package/dist/{ListView-DYKwVASE.js.map → ListView-DG9YJ3DU.js.map} +1 -1
- package/dist/ListView.js +1 -1
- package/dist/{Listbox-CWi30Cwg.js → Listbox-CMg3B6Nd.js} +11 -7
- package/dist/Listbox-CMg3B6Nd.js.map +1 -0
- package/dist/Listbox.js +1 -1
- package/dist/{LocalizationProvider-DEZyjW5d.js → LocalizationProvider-Dgx0sOZg.js} +2 -2
- package/dist/{LocalizationProvider-DEZyjW5d.js.map → LocalizationProvider-Dgx0sOZg.js.map} +1 -1
- package/dist/LocalizationProvider.js +1 -1
- package/dist/{Menu-D22YbM7y.js → Menu-WuNO2Rbu.js} +5 -5
- package/dist/{Menu-D22YbM7y.js.map → Menu-WuNO2Rbu.js.map} +1 -1
- package/dist/Menu.js +1 -1
- package/dist/{NumberField-B1hQ8jRn.js → NumberField-BUo30AOa.js} +8 -8
- package/dist/NumberField-BUo30AOa.js.map +1 -0
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.js +2 -2
- package/dist/Overflow.js.map +1 -1
- package/dist/{Page-DwBcDxi2.js → Page-BtkspWJj.js} +15 -15
- package/dist/{Page-DwBcDxi2.js.map → Page-BtkspWJj.js.map} +1 -1
- package/dist/Page.js +1 -1
- package/dist/{Pagination-B7uvkLb3.js → Pagination-D6y_imDK.js} +7 -7
- package/dist/{Pagination-B7uvkLb3.js.map → Pagination-D6y_imDK.js.map} +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BuhxFt5z.js → Popover-CSj2mv66.js} +5 -5
- package/dist/Popover-CSj2mv66.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{PortalProvider-9lXkQ0xY.js → PortalProvider-Pa5srbPi.js} +4 -6
- package/dist/PortalProvider-Pa5srbPi.js.map +1 -0
- package/dist/PortalProvider.js +2 -1
- package/dist/PortalProvider.js.map +1 -1
- package/dist/PortalProviderContext-B28f2L_g.js +8 -0
- package/dist/PortalProviderContext-B28f2L_g.js.map +1 -0
- package/dist/{ProgressBar-Bq8indkz.js → ProgressBar-BPIta_9F.js} +6 -6
- package/dist/{ProgressBar-Bq8indkz.js.map → ProgressBar-BPIta_9F.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-57ck6GTm.js → Radio-0WGmwHGs.js} +2 -2
- package/dist/{Radio-57ck6GTm.js.map → Radio-0WGmwHGs.js.map} +1 -1
- package/dist/Radio.js +2 -2
- package/dist/{RadioGroup-CcRLdoAl.js → RadioGroup-BARdP9VP.js} +5 -5
- package/dist/{RadioGroup-CcRLdoAl.js.map → RadioGroup-BARdP9VP.js.map} +1 -1
- package/dist/{SearchField-DqV9-0wR.js → SearchField-DTdrOWbb.js} +3 -3
- package/dist/{SearchField-DqV9-0wR.js.map → SearchField-DTdrOWbb.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-CLDdes8W.js → SegmentedControl-DVSlMI3w.js} +3 -3
- package/dist/{SegmentedControl-CLDdes8W.js.map → SegmentedControl-DVSlMI3w.js.map} +1 -1
- package/dist/SegmentedControl.js +1 -1
- package/dist/{SelectCard-dEhb5KAL.js → SelectCard-Db-CNnMe.js} +6 -5
- package/dist/SelectCard-Db-CNnMe.js.map +1 -0
- package/dist/SelectCard.js +1 -1
- package/dist/{SelectTrigger-A96aYNm-.js → SelectTrigger-CcCiccEp.js} +5 -5
- package/dist/{SelectTrigger-A96aYNm-.js.map → SelectTrigger-CcCiccEp.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-I4Qo37zM.js → SelectTriggerBase-DtLWrsm7.js} +21 -7
- package/dist/SelectTriggerBase-DtLWrsm7.js.map +1 -0
- package/dist/{SideNav-nqq5sAwz.js → SideNav-B-rd3esD.js} +50 -42
- package/dist/SideNav-B-rd3esD.js.map +1 -0
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.js +1 -1
- package/dist/Spinner-xEFwsq8_.js +127 -0
- package/dist/Spinner-xEFwsq8_.js.map +1 -0
- package/dist/Spinner.css +22 -19
- package/dist/Spinner.js +1 -1
- package/dist/{Stepper-DQ_Hm-AI.js → Stepper-CrqRl7BV.js} +5 -5
- package/dist/{Stepper-DQ_Hm-AI.js.map → Stepper-CrqRl7BV.js.map} +1 -1
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-C2ddZcr9.js → Switch-Dt8kun__.js} +5 -5
- package/dist/{Switch-C2ddZcr9.js.map → Switch-Dt8kun__.js.map} +1 -1
- package/dist/Switch.js +1 -1
- package/dist/{Tab-BQ5tMHlN.js → Tab-D8fMPPzs.js} +4 -4
- package/dist/{Tab-BQ5tMHlN.js.map → Tab-D8fMPPzs.js.map} +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-BqvcbXyp.js → Text-Bbi-LKog.js} +2 -2
- package/dist/{Text-BqvcbXyp.js.map → Text-Bbi-LKog.js.map} +1 -1
- package/dist/Text.js +1 -1
- package/dist/{TextField-DLIaLKT1.js → TextField-BNIVbKWT.js} +2 -2
- package/dist/{TextField-DLIaLKT1.js.map → TextField-BNIVbKWT.js.map} +1 -1
- package/dist/{TextField-CP5kL2j7.js → TextField-gFol8RuR.js} +6 -6
- package/dist/{TextField-CP5kL2j7.js.map → TextField-gFol8RuR.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-Kb-RF4rR.js → Textarea-Ddnqj2Qt.js} +4 -4
- package/dist/{Textarea-Kb-RF4rR.js.map → Textarea-Ddnqj2Qt.js.map} +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-7X1D1GxO.js → ThemeProvider-Bo2JRqGq.js} +2 -2
- package/dist/{ThemeProvider-7X1D1GxO.js.map → ThemeProvider-Bo2JRqGq.js.map} +1 -1
- package/dist/ThemeProvider.js +1 -1
- package/dist/{TimeField-6OSTzIYV.js → TimeField-Dc0CfW4e.js} +6 -6
- package/dist/{TimeField-6OSTzIYV.js.map → TimeField-Dc0CfW4e.js.map} +1 -1
- package/dist/TimeField.js +1 -1
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-BVM24YZG.js → Toaster-BGqW3sq1.js} +2 -2
- package/dist/{Toaster-BVM24YZG.js.map → Toaster-BGqW3sq1.js.map} +1 -1
- package/dist/{Toaster-Du0zf4b-.js → Toaster-DEV2FFN2.js} +4 -4
- package/dist/{Toaster-Du0zf4b-.js.map → Toaster-DEV2FFN2.js.map} +1 -1
- package/dist/{Toolbar-BGaVd-fy.js → Toolbar-DsBKx1eB.js} +21 -21
- package/dist/{Toolbar-BGaVd-fy.js.map → Toolbar-DsBKx1eB.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-Dp9gWa2P.js → Tooltip-CmsYVHVU.js} +4 -4
- package/dist/Tooltip-CmsYVHVU.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/TrackingProvider-Co4lyoI9.js +18 -0
- package/dist/TrackingProvider-Co4lyoI9.js.map +1 -0
- package/dist/TrackingProvider.js +2 -2
- package/dist/{TrackingProvider-BtSjkmpM.js → TrackingProviderContext-CrVA7KHv.js} +2 -15
- package/dist/TrackingProviderContext-CrVA7KHv.js.map +1 -0
- package/dist/beta.js +4 -4
- package/dist/components/Combobox/ComboboxContent.d.ts +2 -2
- package/dist/components/Combobox/ComboboxMockData.d.ts +1 -1
- package/dist/components/Combobox/ComboboxTypes.d.ts +10 -2
- package/dist/components/Combobox/internal/ComboboxGroupContext.d.ts +0 -1
- package/dist/components/Combobox/internal/ComboboxGroupList.d.ts +8 -0
- package/dist/components/Combobox/internal/ComboboxGroupProvider.d.ts +1 -0
- package/dist/components/Combobox/internal/ComboboxItemVisual.d.ts +12 -0
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacy.d.ts +2 -32
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyContent.d.ts +2 -2
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyMockData.d.ts +1 -1
- package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyUtils.d.ts +34 -1
- package/dist/components/Combobox/internal/ComboboxLegacy/index.d.ts +2 -1
- package/dist/components/Combobox/internal/ComboboxMockData.d.ts +1 -1
- package/dist/components/Combobox/internal/ComboboxSelectAll.d.ts +4 -0
- package/dist/components/Combobox/internal/ComboboxUtils.d.ts +2 -0
- package/dist/components/Combobox/internal/useCombobox.d.ts +7 -0
- package/dist/components/Dialog/Dialog.d.ts +19 -1
- package/dist/components/DndSort/internal/DndSortContext.d.ts +2 -9
- package/dist/components/DndSort/internal/DndSortContextProvider.d.ts +11 -0
- package/dist/components/DndSort/internal/DndSortZoneContext.d.ts +1 -12
- package/dist/components/DndSort/internal/DndSortZoneContextProvider.d.ts +13 -0
- package/dist/components/Drawer/Drawer.d.ts +13 -1
- package/dist/components/Popover/internal/PopoverLegacy/PopoverLegacyTrigger.d.ts +2 -2
- package/dist/components/SelectCard/SelectCardGroup.d.ts +1 -1
- package/dist/components/SelectCard/internal/SelectCardContext.d.ts +55 -0
- package/dist/components/SelectCard/internal/SelectCardProvider.d.ts +2 -54
- package/dist/components/SideNav/SideNav.d.ts +0 -32
- package/dist/components/SideNav/SideNavContext.d.ts +26 -0
- package/dist/components/SideNav/internal/SideNavContext.d.ts +20 -0
- package/dist/components/SideNav/internal/SideNavProvider.d.ts +0 -19
- package/dist/components/SideNav/internal/utils.d.ts +1 -1
- package/dist/components/SideNav/useSideNav.d.ts +6 -0
- package/dist/components/Spinner/Spinner.d.ts +10 -0
- package/dist/{index-DrM3iid4.js → index-CVqRZ_4L.js} +3 -3
- package/dist/{index-DrM3iid4.js.map → index-CVqRZ_4L.js.map} +1 -1
- package/dist/index.js +74 -72
- package/dist/index.js.map +1 -1
- package/dist/internal/hooks/useFocusWithin/useFocusWithin.d.ts +1 -1
- package/dist/internal/hooks/useOnClickOutside/useOnClickOutside.d.ts +6 -1
- package/dist/internal/utils/index.d.ts +1 -0
- package/dist/internal/utils/layerManager.d.ts +43 -0
- package/dist/{primitive-BoyEHaOo.js → primitive-BByug0kD.js} +2 -2
- package/dist/{primitive-BoyEHaOo.js.map → primitive-BByug0kD.js.map} +1 -1
- package/dist/providers/AnvilProvider/AnvilProvider.d.ts +1 -32
- package/dist/providers/AnvilProvider/AnvilProviderContext.d.ts +32 -0
- package/dist/providers/AnvilProvider/index.d.ts +2 -1
- package/dist/providers/PortalProvider/PortalProvider.d.ts +1 -9
- package/dist/providers/PortalProvider/PortalProviderContext.d.ts +9 -0
- package/dist/providers/PortalProvider/index.d.ts +2 -1
- package/dist/providers/TrackingProvider/TrackingProvider.d.ts +2 -12
- package/dist/providers/TrackingProvider/TrackingProviderContext.d.ts +13 -0
- package/dist/providers/TrackingProvider/index.d.ts +2 -1
- package/dist/providers/TrackingProvider/useTrackingContext.d.ts +1 -1
- package/dist/token.js +1 -1
- package/dist/types/props.d.ts +1 -1
- package/dist/useBreakpoint-6KK6MJ9g.js +55 -0
- package/dist/useBreakpoint-6KK6MJ9g.js.map +1 -0
- package/dist/useBreakpoint.js +1 -1
- package/dist/useFocusWithin-hi77jsrB.js.map +1 -1
- package/dist/useInfiniteCombobox-WcRgC9p6.js.map +1 -1
- package/dist/{useInitialFocus-CAFMgbJG.js → useInitialFocus-Cl_Txu7W.js} +2 -2
- package/dist/{useInitialFocus-CAFMgbJG.js.map → useInitialFocus-Cl_Txu7W.js.map} +1 -1
- package/dist/{useLayoutPropsUtil-DjD5IMh0.js → useLayoutPropsUtil-DLrhehwU.js} +3 -3
- package/dist/{useLayoutPropsUtil-DjD5IMh0.js.map → useLayoutPropsUtil-DLrhehwU.js.map} +1 -1
- package/dist/{useOnClickOutside-C5AZE_I6.js → useOnClickOutside-BDzuUjmY.js} +40 -7
- package/dist/useOnClickOutside-BDzuUjmY.js.map +1 -0
- package/dist/usePrefersColorScheme-_hT7dK7_.js.map +1 -1
- package/dist/{useTrackingContext-DRwDL8DE.js → useTrackingContext-C522P4sv.js} +2 -2
- package/dist/useTrackingContext-C522P4sv.js.map +1 -0
- package/dist/useTrackingId.js +1 -1
- package/dist/{utils-CEgTTa9_.js → utils-wis6GReX.js} +2 -2
- package/dist/{utils-CEgTTa9_.js.map → utils-wis6GReX.js.map} +1 -1
- package/package.json +2 -2
- package/dist/AnvilProvider-DkHInQRh.js.map +0 -1
- package/dist/Calendar-DaVJ96Hp.js.map +0 -1
- package/dist/Calendar-l4NbwEr5.js +0 -9
- package/dist/Calendar-l4NbwEr5.js.map +0 -1
- package/dist/Chip-DLU13qe-.js.map +0 -1
- package/dist/Combobox-C9-VQHxv.js.map +0 -1
- package/dist/Dialog-BLFx4TRs.js.map +0 -1
- package/dist/Drawer-DPM-jPb7.js.map +0 -1
- package/dist/Listbox-CWi30Cwg.js.map +0 -1
- package/dist/NumberField-B1hQ8jRn.js.map +0 -1
- package/dist/Popover-BuhxFt5z.js.map +0 -1
- package/dist/PortalProvider-9lXkQ0xY.js.map +0 -1
- package/dist/SelectCard-dEhb5KAL.js.map +0 -1
- package/dist/SelectTriggerBase-I4Qo37zM.js.map +0 -1
- package/dist/SideNav-nqq5sAwz.js.map +0 -1
- package/dist/Spinner-wmO8Epw0.js +0 -25
- package/dist/Spinner-wmO8Epw0.js.map +0 -1
- package/dist/Tooltip-Dp9gWa2P.js.map +0 -1
- package/dist/TrackingProvider-BtSjkmpM.js.map +0 -1
- package/dist/useBreakpoint-Cv5fnZxs.js +0 -50
- package/dist/useBreakpoint-Cv5fnZxs.js.map +0 -1
- package/dist/useOnClickOutside-C5AZE_I6.js.map +0 -1
- package/dist/useTrackingContext-DRwDL8DE.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip-Dp9gWa2P.js","sources":["../src/components/Tooltip/internal/TooltipLegacy/useTooltipLegacyContext.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacyContent.tsx","../src/components/Tooltip/internal/TooltipContext.ts","../src/components/Tooltip/internal/useTooltipContext.tsx","../src/components/Tooltip/TooltipContent.tsx","../src/components/Tooltip/internal/TooltipLegacy/useTooltipLegacy.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacyTrigger.tsx","../src/components/Tooltip/internal/TooltipLegacy/TooltipLegacy.tsx","../src/components/Tooltip/internal/isNonInteractiveTrigger.ts","../src/components/Tooltip/TooltipTrigger.tsx","../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { useTooltipLegacy } from \"./useTooltipLegacy\";\nimport { ThemeProviderContextProps } from \"../../../../providers\";\n\nexport type TooltipLegacyContextType =\n | (ReturnType<typeof useTooltipLegacy> & {\n theme?: ThemeProviderContextProps[\"theme\"];\n mode?: ThemeProviderContextProps[\"mode\"];\n })\n | null;\n\nexport const TooltipLegacyContext =\n createContext<TooltipLegacyContextType>(null);\n\nexport const useTooltipLegacyContext = () => {\n const context = useContext(TooltipLegacyContext);\n\n if (context == null) {\n throw new Error(\n \"TooltipLegacy components must be wrapped in <TooltipLegacy />\",\n );\n }\n\n return context;\n};\n","import {\n FloatingPortal,\n FloatingArrow,\n useDelayGroup,\n} from \"@floating-ui/react\";\nimport {\n ComponentPropsWithoutRef,\n MutableRefObject,\n forwardRef,\n useContext,\n useId,\n} from \"react\";\nimport { useTooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport styles from \"./TooltipLegacy.module.scss\";\nimport { useMergeRefs } from \"../../../../hooks\";\nimport { ThemeProvider } from \"../../../../providers\";\nimport cx from \"classnames\";\nimport { PortalProviderContext } from \"../../../../providers/PortalProvider\";\nimport { DialogContext } from \"../../../Dialog/internal/DialogContext\";\nimport { DrawerContext } from \"../../../Drawer/internal/DrawerContext\";\n\nexport type TooltipLegacyContentProps = ComponentPropsWithoutRef<\"div\">;\n\nexport const TooltipLegacyContent = forwardRef<\n HTMLDivElement,\n TooltipLegacyContentProps\n>(function TooltipLegacyContent({ style, className, ...props }, propRef) {\n const {\n context: floatingContext,\n theme,\n mode,\n root,\n ...context\n } = useTooltipLegacyContext();\n const { root: portalRoot } = useContext(PortalProviderContext);\n const dialogContext = useContext(DialogContext);\n const drawerContext = useContext(DrawerContext);\n\n const id = useId();\n\n useDelayGroup(floatingContext, { id });\n\n const ref = useMergeRefs([context.refs.setFloating, propRef]);\n\n if (!floatingContext.open) return null;\n\n const contentCx = cx(styles[\"content-legacy\"], className);\n\n return (\n <FloatingPortal\n root={\n root ??\n dialogContext?.ref?.current ??\n drawerContext?.ref?.current ??\n portalRoot ??\n (context.refs.reference as\n | MutableRefObject<HTMLElement | null>\n | null\n | undefined)\n }\n >\n <ThemeProvider theme={theme} mode={mode}>\n <div\n ref={ref}\n className={contentCx}\n data-anv=\"tooltip-content\"\n style={{\n ...context.floatingStyles,\n ...style,\n }}\n onBlur={() => context.setOpen(false)}\n {...context.getFloatingProps(props)}\n >\n <FloatingArrow\n ref={context.arrowRef}\n context={floatingContext}\n className={styles[\"arrow-legacy\"]}\n />\n {props.children}\n </div>\n </ThemeProvider>\n </FloatingPortal>\n );\n});\n","import {\n Dispatch,\n SetStateAction,\n CSSProperties,\n RefObject,\n createContext,\n} from \"react\";\nimport { Placement } from \"@floating-ui/react-dom\";\n\nimport { TooltipProps } from \"../Tooltip\";\n\n/**\n * Context props for the Tooltip component\n */\nexport type TooltipContextProps = {\n /**\n * Unique identifier for the tooltip\n */\n tooltipId: string;\n /**\n * Function to set the tooltip ID\n */\n setTooltipId: Dispatch<SetStateAction<string>>;\n /**\n * The trigger element reference\n */\n invoker?: HTMLElement;\n /**\n * Function to set the trigger element\n */\n setInvoker?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The tooltip content element reference\n */\n popover?: HTMLElement;\n /**\n * Function to set the tooltip content element\n */\n setTooltip?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The root node for the tooltip\n */\n rootNode?: HTMLElement;\n /**\n * Function to set the root node\n */\n setRootNode?: Dispatch<SetStateAction<HTMLElement | undefined>>;\n /**\n * The arrow element reference\n */\n arrowElement?: HTMLSpanElement;\n /**\n * Function to set the arrow element\n */\n setArrowElement?: Dispatch<SetStateAction<HTMLSpanElement | undefined>>;\n /**\n * Current open state of the tooltip\n */\n openState: boolean;\n /**\n * Function to set the open state\n */\n setOpenState: Dispatch<SetStateAction<boolean>>;\n /**\n * Inline styles for the tooltip\n */\n tooltipStyle?: CSSProperties;\n /**\n * Placement of the tooltip\n */\n placement?: Placement;\n /**\n * Function to open the tooltip\n */\n openTooltip: () => void;\n /**\n * Function to close the tooltip\n */\n closeTooltip: (replacementFn?: () => void) => void;\n /**\n * Whether the tooltip is controlled\n */\n controlled: boolean;\n /**\n * Whether to disable flip fallback\n */\n disableFlipFallback: TooltipProps[\"disableFlipFallback\"];\n /**\n * Reference to the arrow element\n */\n arrowRef: RefObject<HTMLSpanElement>;\n /**\n * Key for resetting the tooltip\n */\n resetKey: number;\n};\n\n/**\n * React context for sharing tooltip state and functions between components\n */\nexport const TooltipContext = createContext<TooltipContextProps | null>(null);\n","import { useRef, useContext, useLayoutEffect, KeyboardEvent } from \"react\";\n\nimport { TooltipContext } from \"./TooltipContext\";\n\nexport type dataStateType = \"open\" | \"closed\";\n\n/**\n * Custom hook for managing tooltip context and interactions.\n *\n * Features:\n * - Manages tooltip trigger and content refs\n * - Handles mouse and keyboard interactions\n * - Provides ARIA attributes for accessibility\n * - Manages controlled and uncontrolled states\n * - Handles tooltip positioning and visibility\n * - Provides event handlers for trigger and content\n * - Manages arrow element positioning\n *\n * @returns Object containing tooltip context, refs, and event handlers\n */\nexport function useTooltipContext() {\n const context = useContext(TooltipContext);\n const invokerRef = useRef<HTMLButtonElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n const arrowRef = useRef<HTMLSpanElement>(null);\n\n useLayoutEffect(() => {\n if (!invokerRef.current) return;\n context?.setInvoker?.(invokerRef.current);\n if (!context?.openState) return;\n context.openTooltip();\n }, [context, invokerRef]);\n\n useLayoutEffect(() => {\n if (!popoverRef.current) return;\n context?.setTooltip?.(popoverRef.current);\n context?.setRootNode?.(popoverRef.current.getRootNode() as HTMLElement);\n if (!arrowRef.current) return;\n context?.setArrowElement?.(arrowRef.current);\n }, [context, popoverRef]);\n\n const onMouseEnterHandler = () => {\n if (context?.controlled) return;\n context?.openTooltip();\n };\n const onMouseLeaveHandler = () => {\n if (context?.controlled) return;\n context?.closeTooltip();\n };\n\n const onFocusHandler = () => {\n if (context?.controlled) return;\n context?.openTooltip();\n };\n const onBlurHandler = () => {\n if (context?.controlled) return;\n context?.closeTooltip();\n };\n\n const onKeyDownHandler = (e: KeyboardEvent) => {\n if (!context?.openState) return;\n if (e.code === \"Escape\" && !context.controlled) {\n context?.closeTooltip();\n return;\n }\n };\n\n if (!context || !invokerRef || !popoverRef) return;\n return {\n invoker: {\n ref: invokerRef,\n element: context.invoker,\n onMouseEnter: onMouseEnterHandler,\n onMouseLeave: onMouseLeaveHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n \"aria-haspopup\": true,\n \"aria-details\": context.tooltipId,\n \"data-state\": context.openState ? \"open\" : (\"closed\" as dataStateType),\n \"aria-describedby\": context.tooltipId,\n },\n tooltip: {\n ref: popoverRef,\n element: context.popover,\n id: context.tooltipId,\n setId: context.setTooltipId,\n show: context.openTooltip,\n close: context.closeTooltip,\n style: context.tooltipStyle,\n arrowRef: arrowRef,\n key: context.resetKey,\n },\n setOpen: context.setOpenState,\n open: context.openState,\n controlled: context.controlled,\n placement: context.placement,\n disableFlipFallback: context.disableFlipFallback,\n };\n}\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n MouseEvent,\n KeyboardEvent,\n useLayoutEffect,\n useRef,\n FocusEvent,\n useContext,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { getKeyboardFocusableElements } from \"../../internal/functions\";\nimport { supportsPopover } from \"../../internal/functions\";\nimport { ThemeProvider } from \"../../providers\";\nimport { ThemeProviderContext } from \"../../providers/ThemeProvider/internal/ThemeProviderContext\";\nimport { useMergeRefs } from \"../../hooks\";\n\nimport { TooltipLegacyContent } from \"./internal/TooltipLegacy/TooltipLegacyContent\";\nimport { useTooltipContext } from \"./internal/useTooltipContext\";\n\nimport styles from \"./Tooltip.module.scss\";\n\n/**\n * Props for the TooltipContent component\n * @extends Omit<ComponentPropsWithoutRef<\"div\">, \"popover\">\n */\nexport type TooltipContentProps = Omit<\n ComponentPropsWithoutRef<\"div\">,\n \"popover\"\n>;\n\nconst TooltipContentElement = forwardRef<HTMLDivElement, TooltipContentProps>(\n function TooltipContent(props, ref) {\n const {\n children,\n className,\n style,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n onFocus,\n onBlur,\n id,\n ...rest\n } = props;\n const context = useTooltipContext();\n const { mode: currentMode } = useContext(ThemeProviderContext);\n const tooltipClassNames = cx(className, styles[\"content\"]);\n const childrenRef = useRef<HTMLDivElement>(null);\n const focusItems = useRef<Element[]>();\n const combinedStyles = {\n ...style,\n ...context?.tooltip.style,\n };\n\n // Determine the opposite mode for the tooltip\n const tooltipMode = currentMode === \"dark\" ? \"light\" : \"dark\";\n\n // TODO: getFocusableElement is not reliable\n // Need update!!!!! https://servicetitan.atlassian.net/browse/ANV-2605\n useLayoutEffect(() => {\n if (!childrenRef.current) return;\n const focusElements = getKeyboardFocusableElements(childrenRef.current);\n focusItems.current = focusElements;\n }, [childrenRef, children, context?.open]);\n\n useLayoutEffect(() => {\n if (id) {\n context?.tooltip.setId(id);\n }\n }, [id, context?.tooltip.setId, context?.tooltip]);\n\n const onMouseEnterHandler = (e: MouseEvent<HTMLDivElement>) => {\n onMouseEnter?.(e);\n if (context?.controlled) return;\n context?.tooltip.show();\n };\n const onMouseLeaveHandler = (e: MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(e);\n if (context?.controlled) return;\n context?.tooltip.close();\n };\n const onFocusHandler = (e: FocusEvent<HTMLDivElement>) => {\n onFocus?.(e);\n if (context?.controlled) return;\n context?.tooltip.show();\n };\n const onBlurHandler = (e: FocusEvent<HTMLDivElement>) => {\n onBlur?.(e);\n if (context?.controlled) return;\n context?.tooltip.close();\n };\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDivElement>) => {\n onKeyDown?.(e);\n if (!context?.open) return;\n if (e.code === \"Escape\") {\n context?.tooltip.close();\n }\n };\n\n const hasSimpleContent = typeof children === \"string\";\n const role = hasSimpleContent ? \"tooltip\" : \"region\";\n const tooltipWrapperRef = useMergeRefs([context?.tooltip.ref, ref]);\n\n return (\n <div\n popover={context?.controlled ? \"manual\" : \"auto\"}\n data-anv=\"tooltip-content\"\n className={tooltipClassNames}\n ref={tooltipWrapperRef}\n style={combinedStyles}\n onMouseEnter={onMouseEnterHandler}\n onMouseLeave={onMouseLeaveHandler}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n role={role}\n id={context?.tooltip.id}\n {...rest}\n >\n <div\n className={styles.scroller}\n role=\"presentation\"\n tabIndex={-1}\n ref={childrenRef}\n key={context?.tooltip.key}\n onKeyDown={onKeyDownHandler}\n >\n {hasSimpleContent ? (\n children\n ) : (\n <ThemeProvider mode={tooltipMode} data-anv=\"tooltip-content-theme\">\n {children}\n </ThemeProvider>\n )}\n </div>\n <span className={styles[\"arrow\"]} ref={context?.tooltip.arrowRef}>\n <svg aria-hidden=\"true\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\">\n <path stroke=\"none\" d=\"M0,0 H14 L7,7 Q7,7 7,7 Z\"></path>\n <clipPath id=\":r9:\">\n <rect x=\"0\" y=\"0\" width=\"14\" height=\"14\"></rect>\n </clipPath>\n </svg>\n </span>\n </div>\n );\n },\n);\n\n/**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\nexport const TooltipContent = forwardRef<HTMLDivElement, TooltipContentProps>(\n function TooltipContent(props, ref) {\n if (!supportsPopover())\n return <TooltipLegacyContent {...props} ref={ref} />;\n\n return <TooltipContentElement {...props} ref={ref} />;\n },\n);\n","import {\n useFloating,\n autoUpdate,\n offset,\n flip,\n shift,\n useHover,\n useFocus,\n useDismiss,\n useRole,\n useInteractions,\n limitShift,\n arrow,\n safePolygon,\n useDelayGroupContext,\n} from \"@floating-ui/react\";\nimport type { Placement } from \"@floating-ui/react\";\nimport { ReactNode, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useTooltipLegacyGroup } from \"../../../../providers/AnvilProvider/AnvilProvider\";\n\nexport type TooltipLegacyProps = {\n children?: ReactNode;\n defaultOpen?: boolean;\n open?: boolean;\n placement?: Placement;\n offset?: number;\n onOpenChange?: (open: boolean) => void;\n /**\n * Disables the shift of floating element\n * @internal\n */\n disableShift?: boolean;\n /**\n * Disables the flip of floating element\n * @internal\n */\n disableFlip?: boolean;\n fallbackPlacements?: Placement[];\n root?: HTMLElement | React.MutableRefObject<HTMLElement | null> | null;\n};\n\nexport function useTooltipLegacy({\n defaultOpen = false,\n offset: offsetProp = 5,\n open: controlledOpen,\n placement = \"top\",\n fallbackPlacements,\n disableFlip,\n disableShift,\n root,\n}: TooltipLegacyProps = {}) {\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\n const open = controlledOpen ?? uncontrolledOpen;\n const setOpen = setUncontrolledOpen;\n\n const { disableDelayGroup } = useTooltipLegacyGroup();\n\n useEffect(() => {\n if (!defaultOpen && !controlledOpen) {\n disableDelayGroup(true);\n }\n\n disableDelayGroup(false);\n }, [defaultOpen, controlledOpen, disableDelayGroup]);\n\n const arrowRef = useRef(null);\n const { delay } = useDelayGroupContext();\n\n const data = useFloating({\n placement,\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(offsetProp),\n flip({\n crossAxis: !disableFlip ? placement.includes(\"-\") : false,\n mainAxis: !disableFlip,\n fallbackAxisSideDirection: \"start\",\n fallbackPlacements,\n padding: 5,\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift,\n }),\n }),\n arrow({ element: arrowRef, padding: 5 }),\n ],\n });\n const context = data.context;\n\n const hover = useHover(context, {\n move: false,\n handleClose: safePolygon(),\n delay: delay,\n });\n const focus = useFocus(context, {});\n const dismiss = useDismiss(context);\n const role = useRole(context, { role: \"tooltip\" });\n\n const interactions = useInteractions([hover, focus, dismiss, role]);\n\n return useMemo(\n () => ({\n open,\n setOpen,\n arrowRef,\n root,\n ...interactions,\n ...data,\n }),\n [open, setOpen, interactions, data, root],\n );\n}\n","import { HTMLProps, ReactElement, cloneElement, forwardRef } from \"react\";\nimport { useTooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport styles from \"./TooltipLegacy.module.scss\";\nimport cx from \"classnames\";\nimport { useMergeRefs } from \"../../../../hooks\";\n\nexport type TooltipLegacyTriggerProps = HTMLProps<HTMLElement> & {\n children: ReactElement;\n};\nexport const TooltipLegacyTrigger = forwardRef<\n HTMLElement,\n TooltipLegacyTriggerProps\n>(function TooltipLegacyTrigger({ children, className, ...props }, propRef) {\n const context = useTooltipLegacyContext();\n const ref = useMergeRefs([context.refs.setReference, propRef]);\n const { \"aria-describedby\": ariaDescribedBy, ...restOfContextProps } =\n context.getReferenceProps(props);\n const child = cloneElement(children, {\n ref,\n \"aria-describedby\": ariaDescribedBy,\n });\n\n return (\n <span\n ref={ref}\n className={cx([styles[\"trigger-legacy\"]], className)}\n data-anv=\"tooltip-trigger\"\n // The user can style the trigger based on the state\n data-state={context.open ? \"open\" : \"closed\"}\n {...restOfContextProps}\n >\n {child}\n </span>\n );\n});\n","import { useContext, useMemo } from \"react\";\nimport { useTooltipLegacy, TooltipLegacyProps } from \"./useTooltipLegacy\";\nimport { TooltipLegacyContext } from \"./useTooltipLegacyContext\";\nimport { TooltipLegacyTrigger } from \"./TooltipLegacyTrigger\";\nimport { TooltipLegacyContent } from \"./TooltipLegacyContent\";\nimport { ThemeProviderContext } from \"../../../../providers/ThemeProvider/internal/ThemeProviderContext\";\n\nexport function TooltipLegacyElement({\n children,\n ...options\n}: TooltipLegacyProps) {\n // This can accept any props as options, e.g. `placement`,\n // or other positioning options.\n const tooltip = useTooltipLegacy(options);\n const { theme, mode } = useContext(ThemeProviderContext);\n\n const value = useMemo(\n () => ({ ...tooltip, theme, mode }),\n [mode, theme, tooltip],\n );\n return (\n <TooltipLegacyContext.Provider value={value}>\n {children}\n </TooltipLegacyContext.Provider>\n );\n}\n\nexport const TooltipLegacy = Object.assign(TooltipLegacyElement, {\n Trigger: TooltipLegacyTrigger,\n Content: TooltipLegacyContent,\n});\n","import { isValidElement } from \"react\";\n\nconst INTERACTIVE_ELEMENTS = [\"button\", \"a\", \"input\", \"textarea\", \"select\"];\n\nexport function isNonInteractiveElement(element: React.ReactElement) {\n if (!isValidElement(element)) return false;\n const type = element.type as string;\n return typeof type === \"string\" && !INTERACTIVE_ELEMENTS.includes(type);\n}\n","import {\n KeyboardEvent,\n FocusEvent,\n cloneElement,\n HTMLProps,\n forwardRef,\n ReactElement,\n isValidElement,\n useMemo,\n Fragment,\n useLayoutEffect,\n Ref,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport { childrenToString, supportsPopover } from \"../../internal/functions\";\nimport { DataTrackingId } from \"../../types\";\nimport { useMergeRefs, useTrackingId } from \"../../hooks\";\n\nimport { isNonInteractiveElement } from \"./internal/isNonInteractiveTrigger\";\nimport { TooltipLegacyTrigger } from \"./internal/TooltipLegacy/TooltipLegacyTrigger\";\nimport { useTooltipContext } from \"./internal/useTooltipContext\";\n\nimport styles from \"./Tooltip.module.scss\";\n\n/**\n * Props for the TooltipTrigger component\n * @extends HTMLProps<HTMLElement>\n */\nexport type TooltipTriggerProps = HTMLProps<HTMLElement> & {\n /**\n * The element that triggers the tooltip\n */\n children: ReactElement;\n} & DataTrackingId;\n\nconst TooltipTriggerElement = forwardRef<HTMLElement, TooltipTriggerProps>(\n function TooltipTrigger(props, propRef) {\n const { children, className, onKeyDown, onFocus, onBlur, ...rest } = props;\n const context = useTooltipContext();\n\n // verify if the child can accept a ref\n const childCanAcceptRef = useMemo(\n () =>\n isValidElement(children) &&\n children.type !== Fragment &&\n typeof children.type !== \"function\",\n [children],\n );\n\n const refs = useMergeRefs([\n (children as unknown as { ref: Ref<HTMLElement> })?.ref,\n context?.invoker.ref,\n ]);\n\n // either pass to cloned children, or a span if child doesn't accept a ref\n const childProps = useMemo(() => {\n const baseProps = {\n ref: refs,\n \"aria-haspopup\": context?.invoker[\"aria-haspopup\"],\n \"aria-details\": context?.invoker[\"aria-details\"],\n \"data-state\": context?.invoker[\"data-state\"],\n \"aria-describedby\": context?.invoker[\"aria-describedby\"],\n };\n\n if (isNonInteractiveElement(children)) {\n if (!(\"tabIndex\" in (children.props || {}))) {\n (baseProps as HTMLProps<HTMLElement>).tabIndex = 0;\n }\n if (!(\"role\" in (children.props || {}))) {\n (baseProps as HTMLProps<HTMLElement>).role = \"button\";\n }\n }\n\n return baseProps;\n }, [context?.invoker, refs, children]);\n\n const child = childCanAcceptRef ? (\n cloneElement(children as ReactElement, childProps)\n ) : (\n <span {...childProps}>{children}</span>\n );\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLElement>) => {\n onKeyDown?.(e);\n context?.invoker.onKeyDown(e);\n };\n\n const onFocusHandler = (e: FocusEvent<HTMLElement>) => {\n onFocus?.(e);\n context?.invoker.onFocus();\n };\n\n const onBlurHandler = (e: FocusEvent<HTMLElement>) => {\n onBlur?.(e);\n context?.invoker.onBlur();\n };\n\n useLayoutEffect(() => {\n const onMouseEnterHandler = () => {\n context?.invoker.onMouseEnter();\n };\n const onMouseLeaveHandler = () => {\n context?.invoker.onMouseLeave();\n };\n context?.invoker.ref.current?.addEventListener(\n \"mouseleave\",\n onMouseLeaveHandler,\n );\n context?.invoker.ref.current?.addEventListener(\n \"mouseenter\",\n onMouseEnterHandler,\n );\n return () => {\n context?.invoker.ref.current?.removeEventListener(\n \"mouseleave\",\n onMouseLeaveHandler,\n );\n context?.invoker.ref.current?.removeEventListener(\n \"mouseenter\",\n onMouseEnterHandler,\n );\n };\n }, [context?.invoker]);\n\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"TooltipTrigger\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n if (!supportsPopover()) return <TooltipLegacyTrigger {...props} />;\n\n return (\n <span\n className={cx([styles[\"trigger\"]], className)}\n data-anv=\"tooltip-trigger\"\n data-tracking-id={trackingId}\n ref={propRef}\n onKeyDown={onKeyDownHandler}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n role=\"presentation\"\n {...rest}\n >\n {child}\n </span>\n );\n },\n);\n\n/**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\nexport const TooltipTrigger = forwardRef<HTMLElement, TooltipTriggerProps>(\n function TooltipTrigger(props, propRef) {\n if (!supportsPopover())\n return <TooltipLegacyTrigger {...props} ref={propRef} />;\n\n return <TooltipTriggerElement {...props} ref={propRef} />;\n },\n);\n","import {\n ComponentPropsWithoutRef,\n useEffect,\n useId,\n useRef,\n useState,\n useMemo,\n useLayoutEffect,\n useCallback,\n} from \"react\";\nimport {\n Placement,\n UseFloatingOptions,\n arrow,\n flip,\n limitShift,\n offset,\n shift,\n computePosition,\n autoUpdate,\n} from \"@floating-ui/react\";\n\nimport {\n safeHidePopover,\n safeShowPopover,\n supportsPopover,\n} from \"../../internal/functions\";\n\nimport { TooltipContent } from \"./TooltipContent\";\nimport { TooltipContext, TooltipContextProps } from \"./internal/TooltipContext\";\nimport { TooltipLegacy } from \"./internal/TooltipLegacy/TooltipLegacy\";\nimport { TooltipTrigger } from \"./TooltipTrigger\";\n\n/**\n * Props for the Tooltip component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type TooltipProps = {\n /**\n * The content to be wrapped by the tooltip\n */\n children?: ComponentPropsWithoutRef<\"div\">[\"children\"];\n /**\n * Unique identifier for the tooltip\n */\n id?: ComponentPropsWithoutRef<\"div\">[\"id\"];\n /**\n * Disables the shift of floating element\n * @internal\n */\n disableShift?: boolean;\n /**\n * Disables the flip of floating element\n * @internal\n */\n disableFlip?: boolean;\n /**\n * Disables the flip cross-axis fallback of floating element\n * @internal\n */\n disableFlipFallback?: boolean;\n /**\n * Changes interaction to use hover\n */\n openOnHover?: boolean;\n /**\n * Changes height and positioning for select/combobox\n * @default top\n */\n placement?: Placement;\n /**\n * Controls the open state of the tooltip\n */\n open?: boolean;\n /**\n * Default open state of the tooltip\n * @default false\n */\n defaultOpen?: boolean;\n /**\n * Callback when open state changes\n */\n onOpenChange?: UseFloatingOptions[\"onOpenChange\"];\n /**\n * Delay before showing the tooltip\n * @default 100\n */\n delay?: number;\n /**\n * Offset distance from the trigger element\n * @default 5\n */\n offset?: number;\n /**\n * Fallback placement options\n */\n fallbackPlacements?: Placement[];\n /**\n * Root element for the tooltip\n * @deprecated to be removed on next major\n * This is not needed anymore as the Popover API is used.\n * Popover API uses top-layer for its popover content.\n */\n root?: HTMLElement | React.MutableRefObject<HTMLElement | null> | null;\n};\n\nconst TooltipElement = (props: TooltipProps) => {\n const {\n children,\n delay = 100,\n placement = \"top\",\n open,\n defaultOpen = false,\n disableShift,\n disableFlip,\n disableFlipFallback,\n id,\n offset: offsetProp = 5,\n fallbackPlacements,\n } = props;\n const uid = useId();\n const [invoker, setInvoker] =\n useState<TooltipContextProps[\"invoker\"]>(undefined);\n const [tooltip, setTooltip] =\n useState<TooltipContextProps[\"invoker\"]>(undefined);\n const [rootNode, setRootNode] = useState<TooltipContextProps[\"rootNode\"]>();\n const [arrowElement, setArrowElement] =\n useState<TooltipContextProps[\"arrowElement\"]>(undefined);\n const [openState, setOpenState] = useState<TooltipContextProps[\"openState\"]>(\n open ?? defaultOpen,\n );\n const arrowRef = useRef<HTMLSpanElement>(null);\n const [tooltipId, setTooltipId] = useState<TooltipContextProps[\"tooltipId\"]>(\n id ?? `tooltip-${uid.replace(/:/g, \"\")}`,\n );\n\n // TODO: Find a way to test these properly!\n // Stryker disable all : Currently relying on Chromatic test for all visuals\n /* istanbul ignore next */\n const updatePosition = useCallback(() => {\n if (!invoker || !tooltip) return;\n // disable position update when closing\n if (!openState) return;\n computePosition(invoker, tooltip, {\n placement: placement,\n middleware: [\n offset(offsetProp),\n flip({\n mainAxis: !disableFlip,\n crossAxis: false,\n fallbackAxisSideDirection: disableFlipFallback ? \"none\" : \"end\",\n fallbackPlacements,\n padding: 5,\n }),\n shift({\n padding: 5,\n mainAxis: !disableShift,\n crossAxis: false,\n limiter: limitShift({\n mainAxis: !disableShift,\n }),\n }),\n arrow({\n element: arrowElement ? arrowElement : null,\n padding: 5,\n }),\n ],\n }).then(({ x, y, placement, middlewareData }) => {\n const side = placement.split(\"-\")[0];\n\n const staticSide = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\",\n }[side];\n\n const arrowDeg = () => {\n if (staticSide === \"top\") return 180;\n if (staticSide === \"bottom\") return 0;\n if (staticSide === \"left\") return 90;\n return 270;\n };\n\n Object.assign(tooltip.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n if (middlewareData.arrow && arrowElement) {\n const { x, y } = middlewareData.arrow;\n Object.assign(arrowElement.style, {\n left: x != null ? `${x}px` : \"\",\n top: y != null ? `${y}px` : \"\",\n right: \"\",\n bottom: \"\",\n [staticSide as string]: `${-arrowElement.offsetWidth + 2}px`,\n transform: `rotate(${arrowDeg()}deg)`,\n });\n }\n });\n }, [\n invoker,\n tooltip,\n openState,\n placement,\n offsetProp,\n disableFlip,\n disableFlipFallback,\n fallbackPlacements,\n disableShift,\n arrowElement,\n ]);\n\n const resetKey = useRef(0);\n // Effect to add autoUpdate to eventListener\n // while the popover is opened\n useLayoutEffect(() => {\n if (!tooltip || !invoker) return;\n if (!openState) {\n resetKey.current += 1;\n return;\n }\n\n let requestID: number | null = null;\n const cleanup = autoUpdate(invoker, tooltip, () => {\n requestID = requestAnimationFrame(updatePosition);\n });\n\n return () => {\n if (requestID) cancelAnimationFrame(requestID);\n cleanup();\n };\n }, [invoker, tooltip, updatePosition, openState]);\n // Stryker restore all\n\n const isControlled = typeof open !== \"undefined\";\n const openTimeoutRef = useRef<number | NodeJS.Timeout | null>(null);\n const closeTimeoutRef = useRef<number | NodeJS.Timeout | null>(null);\n\n // Main function to open tooltip\n const openTooltip = useCallback(() => {\n clearTimeout(closeTimeoutRef.current as number | undefined);\n clearTimeout(openTimeoutRef.current as number | undefined);\n if (!tooltip || !rootNode?.querySelector(`#${tooltipId}`)) return;\n openTimeoutRef.current = setTimeout(() => {\n safeShowPopover(tooltip);\n setOpenState(true);\n }, delay);\n }, [tooltip, rootNode, tooltipId, delay]);\n\n // Main function to close tooltip\n const closeTooltip = useCallback(\n (fn?: () => void) => {\n clearTimeout(openTimeoutRef.current as number | undefined);\n clearTimeout(closeTimeoutRef.current as number | undefined);\n if (!tooltip || !openState) return;\n closeTimeoutRef.current = setTimeout(() => {\n fn?.();\n setOpenState(false);\n safeHidePopover(tooltip);\n }, 100);\n },\n [openState, tooltip],\n );\n\n useEffect(() => {\n return () => {\n clearTimeout(closeTimeoutRef.current as number | undefined);\n clearTimeout(openTimeoutRef.current as number | undefined);\n };\n }, []);\n\n // Updating openness for controlled\n const initialRender = useRef(true);\n useEffect(() => {\n if (initialRender.current === true) {\n if (openState) openTooltip();\n initialRender.current = false;\n return;\n }\n }, [openTooltip, openState, isControlled]);\n\n // Updating openness for controlled\n useEffect(() => {\n if (!isControlled) return;\n if (open) {\n openTooltip();\n } else {\n closeTooltip();\n }\n }, [closeTooltip, isControlled, open, openTooltip]);\n\n const value = useMemo(() => {\n updatePosition();\n return {\n tooltipId,\n setTooltipId,\n invoker,\n setInvoker,\n tooltip,\n setTooltip,\n arrowElement,\n setArrowElement,\n openTooltip,\n closeTooltip,\n placement,\n openState,\n setOpenState,\n disableFlipFallback,\n controlled: isControlled,\n arrowRef,\n resetKey: resetKey.current,\n rootNode,\n setRootNode,\n };\n }, [\n updatePosition,\n tooltipId,\n setTooltipId,\n invoker,\n tooltip,\n arrowElement,\n openTooltip,\n closeTooltip,\n placement,\n openState,\n disableFlipFallback,\n isControlled,\n rootNode,\n ]);\n\n if (!supportsPopover()) return <TooltipLegacy {...props} />;\n\n return (\n <TooltipContext.Provider value={value}>{children}</TooltipContext.Provider>\n );\n};\n\n/**\n * Tooltip component for displaying contextual information on hover or focus.\n *\n * Features:\n * - Displays contextual information when hovering over or focusing on elements\n * - Supports multiple placement options (top, bottom, left, right)\n * - Automatic positioning with fallback placements\n * - Accessible with proper ARIA roles and keyboard navigation\n * - Supports controlled and uncontrolled open states\n * - Configurable delay and offset settings\n * - Uses modern Popover API with fallback to legacy implementation\n * - Automatic arrow positioning and rotation\n * - Real-time position updates during scroll and resize\n *\n * @example\n * <Tooltip placement=\"top\" delay={200}>\n * <Tooltip.Trigger>\n * <Button>Hover me</Button>\n * </Tooltip.Trigger>\n * <Tooltip.Content>This is helpful information</Tooltip.Content>\n * </Tooltip>\n */\nexport const Tooltip = Object.assign(TooltipElement, {\n /**\n * TooltipTrigger component that wraps the element that triggers the tooltip.\n *\n * Features:\n * - Wraps any React element to make it a tooltip trigger\n * - Handles mouse and keyboard interactions\n * - Provides proper ARIA attributes for accessibility\n * - Supports all standard HTML element props\n * - Automatically clones child elements with proper refs\n * - Handles both focusable and non-focusable children\n * - Manages mouse enter/leave events for hover behavior\n *\n * @example\n * <Tooltip.Trigger>\n * <Button>Click me</Button>\n * </Tooltip.Trigger>\n */\n Trigger: TooltipTrigger,\n /**\n * TooltipContent component that displays the tooltip content.\n *\n * Features:\n * - Displays the tooltip content with proper positioning\n * - Includes an arrow pointing to the trigger element\n * - Supports keyboard navigation and escape key to close\n * - Handles mouse interactions for hover behavior\n * - Accessible with proper ARIA roles\n * - Supports all standard div element props\n * - Automatic focus management for keyboard navigation\n * - Real-time position updates\n * - Handles both string and complex content\n *\n * @example\n * <Tooltip.Content>\n * This tooltip provides helpful context\n * </Tooltip.Content>\n */\n Content: TooltipContent,\n});\n"],"names":["TooltipLegacyContent","styles","TooltipContent","arrow","TooltipLegacyTrigger","TooltipTrigger","placement","x","y"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TrackingProvider-BtSjkmpM.js","sources":["../src/providers/TrackingProvider/TrackingProvider.tsx"],"sourcesContent":["import { createContext, ReactNode, FC } from \"react\";\n\n// These are intentionally made explicit and static to ensure that the\n// identifier is always the same for a given data and type.\n// Note that we could instead parse the scope to use as dataKey.\nconst dataKey = new TextEncoder().encode(\"1234567890123456\");\nconst iv = new TextEncoder().encode(\"1234567890123456\");\n\nconst encrypt = async ({ data }: { data: string }) => {\n const encoder = new TextEncoder();\n const encodedData = encoder.encode(data);\n\n const cryptoKey = await crypto?.subtle?.importKey?.(\n \"raw\",\n dataKey,\n { name: \"AES-CBC\" },\n false,\n [\"encrypt\"],\n );\n\n const encrypted = await crypto?.subtle?.encrypt?.(\n { name: \"AES-CBC\", iv },\n cryptoKey,\n encodedData,\n );\n\n return btoa(String.fromCharCode(...new Uint8Array(encrypted)))\n .substring(0, 20)\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/, \"\");\n};\n\nconst getTrackingIdHelper = async (\n data: string,\n component: string,\n scope: string,\n) => {\n const encryption = await encrypt({ data });\n return `_${scope}_${component}_${encryption ?? \"\"}`;\n};\n\nexport interface TrackingProviderContextProps {\n scope: string;\n getTrackingId: (data: string, component: string) => Promise<string>;\n optOut: boolean;\n}\n\nexport interface TrackingProviderProps {\n children: ReactNode;\n scope: string;\n optOut?: boolean;\n}\n\nconst defaultContext: TrackingProviderContextProps = {\n scope: \"ST\",\n getTrackingId: (data: string, component: string) =>\n getTrackingIdHelper(data, component, \"ST\"),\n optOut: false,\n};\n\nexport const TrackingContext = createContext(defaultContext);\n\n// This works with the IdentifierContext to provide scope to the components.\n// This can also act as a gatekeeper to only give unique ids within the Provider, but this is not a currently implemented feature.\nexport const TrackingProvider: FC<TrackingProviderProps> = ({\n children,\n scope,\n optOut = false,\n}) => {\n const value = {\n scope,\n getTrackingId: (name: string, component: string) =>\n getTrackingIdHelper(name, component, scope),\n optOut,\n };\n\n return (\n <TrackingContext.Provider value={value}>\n {children}\n </TrackingContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;AAKA,MAAM,OAAA,GAAU,IAAI,WAAA,EAAY,CAAE,OAAO,kBAAkB,CAAA;AAC3D,MAAM,EAAA,GAAK,IAAI,WAAA,EAAY,CAAE,OAAO,kBAAkB,CAAA;AAEtD,MAAM,OAAA,GAAU,OAAO,EAAE,IAAA,EAAK,KAAwB;AACpD,EAAA,MAAM,OAAA,GAAU,IAAI,WAAA,EAAY;AAChC,EAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,MAAA,CAAO,IAAI,CAAA;AAEvC,EAAA,MAAM,SAAA,GAAY,MAAM,MAAA,EAAQ,MAAA,EAAQ,SAAA;AAAA,IACtC,KAAA;AAAA,IACA,OAAA;AAAA,IACA,EAAE,MAAM,SAAA,EAAU;AAAA,IAClB,KAAA;AAAA,IACA,CAAC,SAAS;AAAA,GACZ;AAEA,EAAA,MAAM,SAAA,GAAY,MAAM,MAAA,EAAQ,MAAA,EAAQ,OAAA;AAAA,IACtC,EAAE,IAAA,EAAM,SAAA,EAAW,EAAA,EAAG;AAAA,IACtB,SAAA;AAAA,IACA;AAAA,GACF;AAEA,EAAA,OAAO,IAAA,CAAK,MAAA,CAAO,YAAA,CAAa,GAAG,IAAI,WAAW,SAAS,CAAC,CAAC,CAAA,CAC1D,SAAA,CAAU,CAAA,EAAG,EAAE,CAAA,CACf,OAAA,CAAQ,KAAA,EAAO,GAAG,CAAA,CAClB,OAAA,CAAQ,OAAO,GAAG,CAAA,CAClB,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA;AACtB,CAAA;AAEA,MAAM,mBAAA,GAAsB,OAC1B,IAAA,EACA,SAAA,EACA,KAAA,KACG;AACH,EAAA,MAAM,UAAA,GAAa,MAAM,OAAA,CAAQ,EAAE,MAAM,CAAA;AACzC,EAAA,OAAO,IAAI,KAAK,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,EAAI,cAAc,EAAE,CAAA,CAAA;AACnD,CAAA;AAcA,MAAM,cAAA,GAA+C;AAAA,EACnD,KAAA,EAAO,IAAA;AAAA,EACP,eAAe,CAAC,IAAA,EAAc,cAC5B,mBAAA,CAAoB,IAAA,EAAM,WAAW,IAAI,CAAA;AAAA,EAC3C,MAAA,EAAQ;AACV,CAAA;AAEO,MAAM,eAAA,GAAkB,cAAc,cAAc;AAIpD,MAAM,mBAA8C,CAAC;AAAA,EAC1D,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA,GAAS;AACX,CAAA,KAAM;AACJ,EAAA,MAAM,KAAA,GAAQ;AAAA,IACZ,KAAA;AAAA,IACA,eAAe,CAAC,IAAA,EAAc,cAC5B,mBAAA,CAAoB,IAAA,EAAM,WAAW,KAAK,CAAA;AAAA,IAC5C;AAAA,GACF;AAEA,EAAA,uBACE,GAAA,CAAC,eAAA,CAAgB,QAAA,EAAhB,EAAyB,OACvB,QAAA,EACH,CAAA;AAEJ;;;;"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { useState, useEffect } from 'react';
|
|
2
|
-
import { B as BreakpointSm, a as BreakpointMd, b as BreakpointLg, c as BreakpointXl, d as BreakpointXxl } from './primitive-BoyEHaOo.js';
|
|
3
|
-
|
|
4
|
-
function breakpoint(name, min, max) {
|
|
5
|
-
if (globalThis.visualViewport == null) {
|
|
6
|
-
return void 0;
|
|
7
|
-
}
|
|
8
|
-
if ((min == null || globalThis.visualViewport?.width >= min) && (max == null || globalThis.visualViewport?.width < max)) {
|
|
9
|
-
return {
|
|
10
|
-
name,
|
|
11
|
-
min,
|
|
12
|
-
max,
|
|
13
|
-
orientation: globalThis.visualViewport?.height > globalThis.visualViewport?.width ? "portrait" : "landscape",
|
|
14
|
-
innerWidth: globalThis.visualViewport?.width,
|
|
15
|
-
innerHeight: globalThis.visualViewport?.height
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
return void 0;
|
|
19
|
-
}
|
|
20
|
-
const onResize = () => {
|
|
21
|
-
if (!BreakpointSm) return;
|
|
22
|
-
if (!BreakpointMd) return;
|
|
23
|
-
if (!BreakpointLg) return;
|
|
24
|
-
if (!BreakpointXl) return;
|
|
25
|
-
if (!BreakpointXxl) return;
|
|
26
|
-
const sm = parseInt(BreakpointSm.value);
|
|
27
|
-
const md = parseInt(BreakpointMd.value);
|
|
28
|
-
const lg = parseInt(BreakpointLg.value);
|
|
29
|
-
const xl = parseInt(BreakpointXl.value);
|
|
30
|
-
const xxl = parseInt(BreakpointXxl.value);
|
|
31
|
-
return breakpoint("xs", void 0, sm) ?? breakpoint("sm", sm, md) ?? breakpoint("md", md, lg) ?? breakpoint("lg", lg, xl) ?? breakpoint("xl", xl, xxl) ?? breakpoint("xxl", xxl, void 0);
|
|
32
|
-
};
|
|
33
|
-
const useBreakpoint = (props) => {
|
|
34
|
-
const [size, setSize] = useState(onResize());
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
if (props?.disable) return;
|
|
37
|
-
const updateSize = () => {
|
|
38
|
-
setSize(onResize());
|
|
39
|
-
};
|
|
40
|
-
globalThis.addEventListener("resize", updateSize);
|
|
41
|
-
return () => {
|
|
42
|
-
globalThis.removeEventListener("resize", updateSize);
|
|
43
|
-
};
|
|
44
|
-
}, []);
|
|
45
|
-
if (props?.disable) return;
|
|
46
|
-
return size;
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export { useBreakpoint as u };
|
|
50
|
-
//# sourceMappingURL=useBreakpoint-Cv5fnZxs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBreakpoint-Cv5fnZxs.js","sources":["../src/hooks/useBreakpoint/useBreakpoint.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { core } from \"@servicetitan/hammer-token\";\n\n/**\n * Return type for the useBreakpoint hook\n */\nexport type BreakpointReturnProps = {\n /**\n * The breakpoint name\n */\n name: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"xxl\";\n /**\n * Minimum width for this breakpoint\n */\n min: number | undefined;\n /**\n * Maximum width for this breakpoint\n */\n max: number | undefined;\n /**\n * Current device orientation\n */\n orientation: \"portrait\" | \"landscape\";\n /**\n * Current viewport width\n */\n innerWidth: number;\n /**\n * Current viewport height\n */\n innerHeight: number;\n};\n\n/**\n * Determines if the current viewport matches a specific breakpoint\n * @param name - The breakpoint name\n * @param min - Minimum width for this breakpoint\n * @param max - Maximum width for this breakpoint\n * @returns Breakpoint information if matched, undefined otherwise\n */\nfunction breakpoint(\n name: BreakpointReturnProps[\"name\"],\n min?: number,\n max?: number,\n): BreakpointReturnProps | undefined {\n if (globalThis.visualViewport == null) {\n return undefined;\n }\n\n if (\n (min == null || globalThis.visualViewport?.width >= min) &&\n (max == null || globalThis.visualViewport?.width < max)\n ) {\n return {\n name,\n min,\n max,\n orientation:\n globalThis.visualViewport?.height > globalThis.visualViewport?.width\n ? \"portrait\"\n : \"landscape\",\n innerWidth: globalThis.visualViewport?.width,\n innerHeight: globalThis.visualViewport?.height,\n } as const;\n }\n\n return undefined;\n}\n\n/**\n * Determines the current breakpoint based on viewport width and hammer-token breakpoint values.\n *\n * Features:\n * - Validates that all required hammer-token breakpoint values are available\n * - Uses cascade logic to determine the appropriate breakpoint\n * - Returns the first matching breakpoint in order of preference\n * - Handles edge cases where breakpoint values are missing\n * - Uses visualViewport API for accurate viewport measurements\n * - Supports all standard breakpoints (xs, sm, md, lg, xl, xxl)\n *\n * @returns Current breakpoint information or undefined if breakpoint values are unavailable\n */\nconst onResize = () => {\n if (!core.primitive?.BreakpointSm) return;\n if (!core.primitive?.BreakpointMd) return;\n if (!core.primitive?.BreakpointLg) return;\n if (!core.primitive?.BreakpointXl) return;\n if (!core.primitive?.BreakpointXxl) return;\n\n const sm = parseInt(core.primitive?.BreakpointSm.value);\n const md = parseInt(core.primitive?.BreakpointMd.value);\n const lg = parseInt(core.primitive?.BreakpointLg.value);\n const xl = parseInt(core.primitive?.BreakpointXl.value);\n const xxl = parseInt(core.primitive?.BreakpointXxl.value);\n\n return (\n breakpoint(\"xs\", undefined, sm) ??\n breakpoint(\"sm\", sm, md) ??\n breakpoint(\"md\", md, lg) ??\n breakpoint(\"lg\", lg, xl) ??\n breakpoint(\"xl\", xl, xxl) ??\n breakpoint(\"xxl\", xxl, undefined)\n );\n};\n\n/**\n * Custom hook for detecting current breakpoint and viewport information.\n *\n * Features:\n * - Detects current breakpoint based on viewport width\n * - Supports all standard breakpoints (xs, sm, md, lg, xl, xxl)\n * - Provides device orientation information\n * - Returns current viewport dimensions\n * - Uses hammer-token breakpoint values for consistency\n * - Listens for window resize events\n * - Supports optional disable functionality\n * - Uses visualViewport API for accurate measurements\n *\n * @param props - Optional configuration object\n * @param props.disable - Whether to disable the hook\n * @returns Current breakpoint information or undefined if disabled\n */\nexport const useBreakpoint = (props?: { disable?: boolean }) => {\n const [size, setSize] = useState(onResize());\n\n useEffect(() => {\n if (props?.disable) return;\n\n const updateSize = () => {\n setSize(onResize());\n };\n globalThis.addEventListener(\"resize\", updateSize);\n\n return () => {\n globalThis.removeEventListener(\"resize\", updateSize);\n };\n }, []);\n\n if (props?.disable) return;\n\n return size;\n};\n"],"names":["core.primitive?.BreakpointSm","core.primitive?.BreakpointMd","core.primitive?.BreakpointLg","core.primitive?.BreakpointXl","core.primitive?.BreakpointXxl"],"mappings":";;;AAwCA,SAAS,UAAA,CACP,IAAA,EACA,GAAA,EACA,GAAA,EACmC;AACnC,EAAA,IAAI,UAAA,CAAW,kBAAkB,IAAA,EAAM;AACrC,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,IAAA,CACG,GAAA,IAAO,IAAA,IAAQ,UAAA,CAAW,cAAA,EAAgB,KAAA,IAAS,GAAA,MACnD,GAAA,IAAO,IAAA,IAAQ,UAAA,CAAW,cAAA,EAAgB,KAAA,GAAQ,GAAA,CAAA,EACnD;AACA,IAAA,OAAO;AAAA,MACL,IAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,aACE,UAAA,CAAW,cAAA,EAAgB,SAAS,UAAA,CAAW,cAAA,EAAgB,QAC3D,UAAA,GACA,WAAA;AAAA,MACN,UAAA,EAAY,WAAW,cAAA,EAAgB,KAAA;AAAA,MACvC,WAAA,EAAa,WAAW,cAAA,EAAgB;AAAA,KAC1C;AAAA,EACF;AAEA,EAAA,OAAO,MAAA;AACT;AAeA,MAAM,WAAW,MAAM;AACrB,EAAA,IAAI,CAACA,YAAgB,EAAc;AACnC,EAAA,IAAI,CAACC,YAAgB,EAAc;AACnC,EAAA,IAAI,CAACC,YAAgB,EAAc;AACnC,EAAA,IAAI,CAACC,YAAgB,EAAc;AACnC,EAAA,IAAI,CAACC,aAAgB,EAAe;AAEpC,EAAA,MAAM,EAAA,GAAK,QAAA,CAASJ,aAA6B,KAAK,CAAA;AACtD,EAAA,MAAM,EAAA,GAAK,QAAA,CAASC,aAA6B,KAAK,CAAA;AACtD,EAAA,MAAM,EAAA,GAAK,QAAA,CAASC,aAA6B,KAAK,CAAA;AACtD,EAAA,MAAM,EAAA,GAAK,QAAA,CAASC,aAA6B,KAAK,CAAA;AACtD,EAAA,MAAM,GAAA,GAAM,QAAA,CAASC,cAA8B,KAAK,CAAA;AAExD,EAAA,OACE,UAAA,CAAW,IAAA,EAAM,MAAA,EAAW,EAAE,CAAA,IAC9B,UAAA,CAAW,IAAA,EAAM,EAAA,EAAI,EAAE,CAAA,IACvB,UAAA,CAAW,IAAA,EAAM,EAAA,EAAI,EAAE,CAAA,IACvB,UAAA,CAAW,IAAA,EAAM,EAAA,EAAI,EAAE,CAAA,IACvB,UAAA,CAAW,IAAA,EAAM,EAAA,EAAI,GAAG,CAAA,IACxB,UAAA,CAAW,KAAA,EAAO,GAAA,EAAK,MAAS,CAAA;AAEpC,CAAA;AAmBO,MAAM,aAAA,GAAgB,CAAC,KAAA,KAAkC;AAC9D,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,QAAA,CAAS,UAAU,CAAA;AAE3C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,OAAO,OAAA,EAAS;AAEpB,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,IACpB,CAAA;AACA,IAAA,UAAA,CAAW,gBAAA,CAAiB,UAAU,UAAU,CAAA;AAEhD,IAAA,OAAO,MAAM;AACX,MAAA,UAAA,CAAW,mBAAA,CAAoB,UAAU,UAAU,CAAA;AAAA,IACrD,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,OAAO,OAAA,EAAS;AAEpB,EAAA,OAAO,IAAA;AACT;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useOnClickOutside-C5AZE_I6.js","sources":["../src/internal/hooks/useOpenCloseTransitionStates/useOpenCloseTransitionStates.ts","../src/internal/hooks/useOnClickOutside/useOnClickOutside.ts"],"sourcesContent":["import { useEffect, useState, useRef, useCallback } from \"react\";\n\n/**\n * Possible states for open/close transitions\n */\nexport type OpenCloseTransitionStates =\n | \"opening\"\n | \"open\"\n | \"closing\"\n | \"closed\";\n\n/**\n * Effects configuration for open/close transition states\n * @property {() => void} [onOpenAnimationStart] - Callback when opening animation starts\n * @property {() => void} [onCloseAnimationStart] - Callback when closing animation starts\n * @property {() => void} [onOpenAnimationComplete] - Callback when opening animation completes\n * @property {() => void} [onCloseAnimationComplete] - Callback when closing animation completes\n * @property {number | (() => number)} [durationMs] - Duration of the animation in milliseconds (or a function that returns the duration)\n */\nexport type OpenCloseTransitionStateEffects = {\n /**\n * Callback when opening animation starts\n */\n onOpenAnimationStart?: () => void;\n /**\n * Callback when closing animation starts\n */\n onCloseAnimationStart?: () => void;\n /**\n * Callback when opening animation completes\n */\n onOpenAnimationComplete?: () => void;\n /**\n * Callback when closing animation completes\n */\n onCloseAnimationComplete?: () => void;\n};\n\nexport type OpenCloseTransitionState = {\n state: OpenCloseTransitionStates;\n beginClosing: () => void;\n isOpenOrOpening: boolean;\n isClosedOrClosing: boolean;\n};\n\nexport type OpenCloseTransitionStateOptions = {\n durationMs: number | (() => number);\n onOpenAnimationStart?: () => void;\n onCloseAnimationStart?: () => void;\n onOpenAnimationComplete?: () => void;\n onCloseAnimationComplete?: () => void;\n};\n\n/**\n * Custom hook for managing open/close transition states and animations.\n *\n * @param openProp - The open prop controlling visibility\n * @param options - Additional, optional options including callbacks for animation start, complete, and initialization\n * @returns Object containing state, control functions, and utility flags\n */\nexport const useOpenCloseTransitionStates = (\n openProp: boolean | undefined,\n options: OpenCloseTransitionStateOptions = {\n durationMs: 0,\n },\n): OpenCloseTransitionState => {\n const {\n onOpenAnimationStart,\n onCloseAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationComplete,\n durationMs,\n } = options;\n const prevOpenProp = useRef<boolean | undefined>(openProp);\n const [state, setState] = useState<OpenCloseTransitionStates>(\n openProp ? \"open\" : \"closed\",\n );\n\n // Handle open/close prop changes\n useEffect(() => {\n if (prevOpenProp.current && !openProp) {\n // previously open, now closed\n setState(\"closing\");\n } else if (!prevOpenProp.current && openProp) {\n // previously closed, now open\n setState(\"opening\");\n } else {\n // Note: Using \"opening\" here catches the case where the element is initially open, allowing callbacks and animations to run.\n setState(openProp ? \"opening\" : \"closed\");\n }\n prevOpenProp.current = openProp;\n }, [openProp]);\n\n // Handle opening/closing animations\n useEffect(() => {\n if (!durationMs) return;\n if (state === \"open\" || state === \"closed\") return;\n if (state === \"opening\") {\n onOpenAnimationStart?.();\n } else if (state === \"closing\") {\n onCloseAnimationStart?.();\n }\n const d: number =\n typeof durationMs === \"function\" ? durationMs() : durationMs;\n const timeout = setTimeout(() => {\n if (state === \"opening\") {\n setState(\"open\");\n onOpenAnimationComplete?.();\n } else if (state === \"closing\") {\n setState(\"closed\");\n onCloseAnimationComplete?.();\n }\n }, d);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [\n state,\n onOpenAnimationComplete,\n onCloseAnimationComplete,\n onOpenAnimationStart,\n onCloseAnimationStart,\n durationMs,\n ]);\n\n const beginClosing = useCallback(() => {\n setState(\"closing\");\n }, []);\n\n return {\n state,\n beginClosing,\n isOpenOrOpening: state === \"open\" || state === \"opening\",\n isClosedOrClosing: state === \"closed\" || state === \"closing\",\n };\n};\n","import { useEffect } from \"react\";\n\n/**\n * Props for the useOnClickOutside hook\n */\ntype UseOnClickOutsideProps = {\n /**\n * Callback when clicking outside targets\n */\n onOutsidePress?: (e: globalThis.MouseEvent) => void;\n /**\n * Callback when closing (after outside press)\n */\n onClose?: () => void;\n /**\n * Array of target elements to monitor\n */\n targets: (HTMLElement | undefined)[];\n /**\n * Whether to disable the useOnClickOutside hook\n */\n disable?: boolean;\n};\n\n/**\n * Custom hook for detecting clicks outside of specified target elements.\n *\n * Features:\n * - Detects clicks outside of multiple target elements\n * - Supports both mousedown and mouseup event handling\n * - Provides separate callbacks for outside press and close actions\n * - Handles SSR environments gracefully\n * - Automatically cleans up event listeners\n * - Uses composedPath for accurate event target detection\n * - Supports optional callbacks for flexible usage\n *\n * @param props - Configuration object containing targets and optional callbacks\n * @returns void\n */\nexport const useOnClickOutside = ({\n onOutsidePress,\n targets,\n onClose,\n disable,\n}: UseOnClickOutsideProps) => {\n useEffect(() => {\n if (disable || typeof document === \"undefined\") return;\n\n let isClosable = false;\n const onMouseDownHandler = (e: globalThis.MouseEvent) => {\n let isTarget = false;\n const path = e.composedPath();\n for (const el of targets) {\n if (el && path.includes(el)) {\n isTarget = true;\n break;\n }\n }\n\n if (!isTarget) {\n onOutsidePress?.(e);\n isClosable = true;\n }\n };\n const onMouseUpHandler = (e: globalThis.MouseEvent) => {\n if (!isClosable) return;\n let isTarget = false;\n const path = e.composedPath();\n for (const el of targets) {\n if (el && path.includes(el)) {\n isTarget = true;\n break;\n }\n }\n if (!isTarget) {\n onClose?.();\n }\n };\n\n document.addEventListener(\"mousedown\", onMouseDownHandler);\n document.addEventListener(\"mouseup\", onMouseUpHandler);\n return () => {\n document.removeEventListener(\"mousedown\", onMouseDownHandler);\n document.removeEventListener(\"mouseup\", onMouseUpHandler);\n };\n }, [onClose, onOutsidePress, targets, disable]);\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTrackingContext-DRwDL8DE.js","sources":["../src/providers/TrackingProvider/useTrackingContext.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { TrackingContext } from \"./TrackingProvider\";\n\nexport const useTrackingContext = () => {\n const context = useContext(TrackingContext);\n return context;\n};\n"],"names":[],"mappings":";;;AAGO,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,OAAA,GAAU,WAAW,eAAe,CAAA;AAC1C,EAAA,OAAO,OAAA;AACT;;;;"}
|