@servicetitan/anvil2 1.37.2 → 1.39.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 +41 -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-BT6eeZDr-CSY_7I1M.js} +9 -9
- package/dist/{Calendar-Bn00Dnc--DcCNi1xz.js.map → Calendar-BT6eeZDr-CSY_7I1M.js.map} +1 -1
- package/dist/Calendar-CIWOPMcu.js +130 -0
- package/dist/Calendar-CIWOPMcu.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-CRurfeRE-BR_NXfh6.js → Checkbox-BNrjUtHs-CfExXZer.js} +6 -5
- package/dist/Checkbox-BNrjUtHs-CfExXZer.js.map +1 -0
- package/dist/{Checkbox-BIlp8xmW.js → Checkbox-ic-HmakR.js} +25 -2
- package/dist/Checkbox-ic-HmakR.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-DR7O7aaZ.js} +187 -24
- package/dist/Combobox-DR7O7aaZ.js.map +1 -0
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-D-eVP6xh.js → DateField-CYT6udu8.js} +18 -13
- package/dist/DateField-CYT6udu8.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/{DaysOfTheWeek-Dz-aZ-LW.js → DaysOfTheWeek-DbjM8UPz.js} +7 -7
- package/dist/DaysOfTheWeek-DbjM8UPz.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-BmeXBcs-.js} +125 -4
- package/dist/Dialog-BmeXBcs-.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-8jQ-jaiv.js +142 -0
- package/dist/Drawer-8jQ-jaiv.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-Js4e1ezw-DZ6YDx24.js → FieldMessage-Bobp105T-DYhStLY4.js} +5 -5
- package/dist/FieldMessage-Bobp105T-DYhStLY4.js.map +1 -0
- package/dist/FieldMessage-Bobp105T.css +32 -0
- package/dist/{FieldMessage-CERWyhwG.js → FieldMessage-DkJ0K5s-.js} +2 -2
- package/dist/FieldMessage-DkJ0K5s-.js.map +1 -0
- 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-h7k80qls-DHPFHTvI.js +46 -0
- package/dist/Helper-h7k80qls-DHPFHTvI.js.map +1 -0
- package/dist/{FieldMessage-Js4e1ezw.css → Helper-h7k80qls.css} +8 -9
- 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-CiHg25XE-DXRWDeku.js +231 -0
- package/dist/InputMask-CiHg25XE-DXRWDeku.js.map +1 -0
- package/dist/{InputMask-CeqX68uX.js → InputMask-DH14Bp7r.js} +3 -2
- package/dist/InputMask-DH14Bp7r.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-HBQy0Qmv.js} +87 -47
- package/dist/ListView-HBQy0Qmv.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-CijOsL76.js} +60 -10
- package/dist/Menu-CijOsL76.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-CdkxWab-.js} +131 -15
- package/dist/Page-CdkxWab-.js.map +1 -0
- package/dist/Page.js +1 -1
- package/dist/Popover-CCcd-JhF.js +135 -0
- package/dist/Popover-CCcd-JhF.js.map +1 -0
- package/dist/{Popover-CpyYXmal-I-E-B4u8.js → Popover-CVCAWhdO-dI3x1kfe.js} +80 -8
- package/dist/Popover-CVCAWhdO-dI3x1kfe.js.map +1 -0
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-B25Wxpaf.js → ProgressBar-BEDtxKDv.js} +3 -2
- package/dist/ProgressBar-BEDtxKDv.js.map +1 -0
- package/dist/{ProgressBar-CeClhdcf-Dcft7ZjO.js → ProgressBar-CZhkKwaS-BppwbCSh.js} +184 -106
- package/dist/ProgressBar-CZhkKwaS-BppwbCSh.js.map +1 -0
- package/dist/ProgressBar-CZhkKwaS.css +671 -0
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BlMDLvPw-DUeywcYR.js → Radio-DiBn0-hf-CCkWosaL.js} +25 -5
- package/dist/Radio-DiBn0-hf-CCkWosaL.js.map +1 -0
- package/dist/Radio-Sj9M1KAg.js +66 -0
- package/dist/Radio-Sj9M1KAg.js.map +1 -0
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-D3z4LjJg.js → SearchField-BQY7LHe2.js} +7 -6
- package/dist/SearchField-BQY7LHe2.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-CY8IVFDT-lXO3-mQ_.js} +70 -21
- package/dist/SelectCard-CY8IVFDT-lXO3-mQ_.js.map +1 -0
- package/dist/SelectCard.js +1 -1
- package/dist/SelectCardGroup-DLt9z9b8.js +49 -0
- package/dist/SelectCardGroup-DLt9z9b8.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-DAQFzi-X.js} +20 -10
- package/dist/Switch-DAQFzi-X.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-Bp1q4hMI-2jGZG2k2.js → TextField-C5KbQxoU-DGLAOhCu.js} +9 -10
- package/dist/TextField-C5KbQxoU-DGLAOhCu.js.map +1 -0
- package/dist/{TextField-Ds9EKvSs.js → TextField-DUohb_Y6.js} +3 -2
- package/dist/{TextField-Ds9EKvSs.js.map → TextField-DUohb_Y6.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-CMELRfU8.js → Textarea-HGQXwvO1.js} +10 -10
- package/dist/Textarea-HGQXwvO1.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-28Uv31qc.js} +183 -14
- package/dist/Toolbar-28Uv31qc.js.map +1 -0
- package/dist/Toolbar.css +1 -11
- package/dist/Toolbar.js +1 -1
- package/dist/Tooltip-ZUko7Bl3.js +73 -0
- package/dist/Tooltip-ZUko7Bl3.js.map +1 -0
- package/dist/Tooltip.js +1 -1
- package/dist/assets/css-utils/a2-border.css +53 -0
- package/dist/assets/css-utils/a2-color.css +235 -0
- package/dist/assets/css-utils/a2-font.css +49 -0
- package/dist/assets/css-utils/a2-spacing.css +483 -0
- package/dist/assets/css-utils/a2-utils.css +785 -0
- 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-DjypuZMf.js} +3 -3
- package/dist/toast-DjypuZMf.js.map +1 -0
- package/dist/token/core/css-utils/a2-border.css +53 -0
- package/dist/token/core/css-utils/a2-color.css +235 -0
- package/dist/token/core/css-utils/a2-font.css +49 -0
- package/dist/token/core/css-utils/a2-spacing.css +483 -0
- package/dist/token/core/css-utils/a2-utils.css +785 -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 +4 -3
- 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/FieldMessage-Js4e1ezw-DZ6YDx24.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-BT6eeZDr.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/{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-CVCAWhdO.css} +0 -0
- /package/dist/{Radio-BlMDLvPw.css → Radio-DiBn0-hf.css} +0 -0
- /package/dist/{SelectCard-D26y01WZ.css → SelectCard-CY8IVFDT.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
package/dist/ProgressBar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { P as ProgressBar, P as default } from './ProgressBar-
|
|
1
|
+
export { P as ProgressBar, P as default } from './ProgressBar-BEDtxKDv.js';
|
|
2
2
|
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -2,12 +2,13 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { forwardRef, useState, useId } from 'react';
|
|
4
4
|
import { c as cx } from './index-tZvMCc77.js';
|
|
5
|
-
import { I as Icon } from './Icon-
|
|
5
|
+
import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
|
|
6
6
|
import { S as SrOnly } from './SrOnly-BsKDHetF-B93X65F1.js';
|
|
7
|
-
import { L as Label
|
|
8
|
-
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-
|
|
7
|
+
import { L as Label } from './ProgressBar-CZhkKwaS-BppwbCSh.js';
|
|
8
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
|
|
9
|
+
import { H as Helper } from './Helper-h7k80qls-DHPFHTvI.js';
|
|
9
10
|
|
|
10
|
-
import './Radio-
|
|
11
|
+
import './Radio-DiBn0-hf.css';const SvgRadioButtonUnchecked = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }));
|
|
11
12
|
|
|
12
13
|
const SvgRadioButtonChecked = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }), /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 12, r: 5 }));
|
|
13
14
|
|
|
@@ -190,9 +191,28 @@ const RadioElement = forwardRef((props, ref) => {
|
|
|
190
191
|
] });
|
|
191
192
|
});
|
|
192
193
|
const Radio = Object.assign(RadioElement, {
|
|
194
|
+
/**
|
|
195
|
+
* RadioGroup component for grouping related radio options.
|
|
196
|
+
*
|
|
197
|
+
* Features:
|
|
198
|
+
* - Groups multiple radio options together
|
|
199
|
+
* - Legend support for group labeling
|
|
200
|
+
* - Required field indication
|
|
201
|
+
* - Accessibility support with proper fieldset semantics
|
|
202
|
+
* - Layout utility props for positioning and spacing
|
|
203
|
+
* - Focus and blur event handling
|
|
204
|
+
* - More info support for additional context
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* <Radio.Group legend="Choose your preference" required>
|
|
208
|
+
* <Radio label="Option A" value="a" />
|
|
209
|
+
* <Radio label="Option B" value="b" />
|
|
210
|
+
* <Radio label="Option C" value="c" />
|
|
211
|
+
* </Radio.Group>
|
|
212
|
+
*/
|
|
193
213
|
Group: RadioGroup
|
|
194
214
|
});
|
|
195
215
|
RadioElement.displayName = "RadioElement";
|
|
196
216
|
|
|
197
217
|
export { RadioGroup as R, Radio as a };
|
|
198
|
-
//# sourceMappingURL=Radio-
|
|
218
|
+
//# sourceMappingURL=Radio-DiBn0-hf-CCkWosaL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio-DiBn0-hf-CCkWosaL.js","sources":["../../hammer-icon/mdi/two-tone/radio_button_unchecked.svg","../../hammer-icon/mdi/two-tone/radio_button_checked.svg","../../hammer-react/dist/Radio-DiBn0-hf.js"],"sourcesContent":["import * as React from \"react\";\nconst SvgRadioButtonUnchecked = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" }));\nexport default SvgRadioButtonUnchecked;\n","import * as React from \"react\";\nconst SvgRadioButtonChecked = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\" }), /* @__PURE__ */ React.createElement(\"circle\", { cx: 12, cy: 12, r: 5 }));\nexport default SvgRadioButtonChecked;\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useId } from 'react';\nimport cx from 'classnames';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport Radio_outline from '@servicetitan/hammer-icon/mdi/two-tone/radio_button_unchecked.svg';\nimport Radio_checked from '@servicetitan/hammer-icon/mdi/two-tone/radio_button_checked.svg';\nimport { S as SrOnly } from './SrOnly-BsKDHetF.js';\nimport { L as Label } from './ProgressBar-CZhkKwaS.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\nimport { H as Helper } from './Helper-h7k80qls.js';\n\nimport './Radio.css';const radio = \"_radio_1r8vp_2\";\nconst wrapper = \"_wrapper_1r8vp_30\";\nconst legend = \"_legend_1r8vp_86\";\nconst children = \"_children_1r8vp_98\";\nconst error = \"_error_1r8vp_109\";\nconst styles = {\n\tradio: radio,\n\t\"radio-group\": \"_radio-group_1r8vp_15\",\n\twrapper: wrapper,\n\t\"focus-label\": \"_focus-label_1r8vp_44\",\n\t\"icon-wrapper\": \"_icon-wrapper_1r8vp_50\",\n\tlegend: legend,\n\tchildren: children,\n\t\"helper-wrapper\": \"_helper-wrapper_1r8vp_104\",\n\terror: error,\n\t\"icon-unchecked\": \"_icon-unchecked_1r8vp_152\",\n\t\"icon-checked\": \"_icon-checked_1r8vp_153\",\n\t\"sr-only\": \"_sr-only_1r8vp_200\"\n};\n\nconst RadioGroup = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n children,\n legend,\n moreInfo,\n onBlur,\n onFocus,\n required,\n style,\n ...rest\n } = componentProps;\n const RadioGroupClassNames = cx(styles[\"radio-group\"], className);\n const [openInfo, setOpenInfo] = useState(false);\n const styleCombined = {\n ...style,\n ...layoutStyles,\n alignItems: layoutStyles?.alignItems ?? (layoutStyles?.flexDirection === \"row\" ? \"center\" : void 0)\n };\n const focusHandler = (e) => {\n onFocus?.(e);\n setOpenInfo(true);\n };\n const blurHandler = (e) => {\n onBlur?.(e);\n setOpenInfo(false);\n };\n return /* @__PURE__ */ jsxs(\n \"fieldset\",\n {\n role: \"radiogroup\",\n \"data-anv\": \"radio-group\",\n className: RadioGroupClassNames,\n \"aria-required\": required,\n style: styleCombined,\n ref,\n onFocus: focusHandler,\n onBlur: blurHandler,\n ...rest,\n children: [\n /* @__PURE__ */ jsxs(\"legend\", { className: styles[\"legend\"], children: [\n legend,\n required && \", required\",\n moreInfo && /* @__PURE__ */ jsx(SrOnly, { children: moreInfo })\n ] }),\n /* @__PURE__ */ jsx(\n Label,\n {\n \"aria-hidden\": true,\n moreInfo,\n required,\n openMoreInfo: openInfo,\n children: legend\n }\n ),\n /* @__PURE__ */ jsx(\n \"div\",\n {\n className: styles[\"children\"],\n style: {\n flexDirection: layoutStyles?.flexDirection,\n gap: layoutStyles?.gap\n },\n children\n }\n )\n ]\n }\n );\n }\n);\nRadioGroup.displayName = \"RadioGroup\";\n\nconst RadioElement = forwardRef((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n checked,\n defaultChecked,\n value,\n icons,\n error,\n label,\n onChange,\n style,\n description,\n hideRadio = false,\n ...rest\n } = componentProps;\n const {\n checked: checkedIcon = Radio_checked,\n unchecked: uncheckedIcon = Radio_outline\n } = { ...icons };\n const onChangeHandler = (e) => {\n onChange?.(e, { value, checked: e.target.checked });\n };\n const helperUid = useId();\n const wrapperClassNames = cx(\n styles[\"wrapper\"],\n { [styles[\"focus\"]]: hideRadio },\n className\n );\n const radioClassNames = cx(styles[\"radio\"], {\n [styles[\"error\"]]: error\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n return /* @__PURE__ */ jsxs(\"div\", { className: wrapperClassNames, style: styleCombined, \"data-anv\": \"radio\", children: [\n /* @__PURE__ */ jsxs(\"label\", { className: radioClassNames, children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"radio\",\n \"aria-checked\": checked ?? defaultChecked,\n checked,\n defaultChecked,\n value,\n onChange: onChangeHandler,\n \"aria-describedby\": helperUid,\n ref,\n ...rest\n }\n ),\n /* @__PURE__ */ jsxs(\n \"span\",\n {\n className: cx(styles[\"icon-wrapper\"], {\n [styles[\"sr-only\"]]: hideRadio\n }),\n children: [\n /* @__PURE__ */ jsx(\n Icon,\n {\n size: \"large\",\n svg: uncheckedIcon,\n className: cx([styles[\"icon-unchecked\"]])\n }\n ),\n /* @__PURE__ */ jsx(\n Icon,\n {\n size: \"large\",\n svg: checkedIcon,\n className: cx([styles[\"icon-checked\"]])\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ jsx(\"span\", { className: cx({ [styles[\"focus-label\"]]: hideRadio }), children: label })\n ] }),\n description ? /* @__PURE__ */ jsx(\"div\", { className: styles[\"helper-wrapper\"], children: /* @__PURE__ */ jsx(Helper, { id: helperUid, description }) }) : null\n ] });\n});\nconst Radio = Object.assign(RadioElement, {\n /**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n *\n * @example\n * <Radio.Group legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </Radio.Group>\n */\n Group: RadioGroup\n});\nRadioElement.displayName = \"RadioElement\";\n\nexport { Radio as R, RadioGroup as a };\n//# sourceMappingURL=Radio-DiBn0-hf.js.map\n"],"names":["Radio_checked","Radio_outline"],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { useTrackingId } from './useTrackingId.js';
|
|
4
|
+
import { R as RadioGroup$1, a as Radio$1 } from './Radio-DiBn0-hf-CCkWosaL.js';
|
|
5
|
+
import { c as childrenToString } from './childrenToString-Bz9MqbHb-Bz9MqbHb.js';
|
|
6
|
+
|
|
7
|
+
const RadioElement = forwardRef(
|
|
8
|
+
(props, ref) => {
|
|
9
|
+
const data = {
|
|
10
|
+
label: childrenToString(props.label),
|
|
11
|
+
ariaLabel: props["aria-label"],
|
|
12
|
+
ariaLabelledBy: props["aria-labelledby"],
|
|
13
|
+
name: props.name,
|
|
14
|
+
value: props.value
|
|
15
|
+
};
|
|
16
|
+
const trackingId = useTrackingId({
|
|
17
|
+
name: "Radio",
|
|
18
|
+
data,
|
|
19
|
+
hasOverride: !!props["data-tracking-id"]
|
|
20
|
+
});
|
|
21
|
+
return /* @__PURE__ */ jsx(Radio$1, { ref, "data-tracking-id": trackingId, ...props });
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
RadioElement.displayName = Radio$1.displayName;
|
|
25
|
+
const RadioGroup = forwardRef(
|
|
26
|
+
(props, ref) => {
|
|
27
|
+
return /* @__PURE__ */ jsx(RadioGroup$1, { ref, ...props });
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
RadioGroup.displayName = RadioGroup$1.displayName;
|
|
31
|
+
const Radio = Object.assign(RadioElement, {
|
|
32
|
+
/**
|
|
33
|
+
* RadioGroup component for grouping related radio options.
|
|
34
|
+
*
|
|
35
|
+
* Features:
|
|
36
|
+
* - Groups multiple radio options together
|
|
37
|
+
* - Legend support for group labeling
|
|
38
|
+
* - Required field indication
|
|
39
|
+
* - Accessibility support with proper fieldset semantics
|
|
40
|
+
* - Layout utility props for positioning and spacing
|
|
41
|
+
* - Focus and blur event handling
|
|
42
|
+
* - More info support for additional context
|
|
43
|
+
* - Automatic alignment based on flex direction
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* <RadioGroup legend="Choose your preference" required>
|
|
47
|
+
* <Radio label="Option A" value="a" />
|
|
48
|
+
* <Radio label="Option B" value="b" />
|
|
49
|
+
* <Radio label="Option C" value="c" />
|
|
50
|
+
* </RadioGroup>
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* <RadioGroup
|
|
54
|
+
* legend="Horizontal layout"
|
|
55
|
+
* flexDirection="row"
|
|
56
|
+
* gap="4"
|
|
57
|
+
* >
|
|
58
|
+
* <Radio label="Yes" value="yes" />
|
|
59
|
+
* <Radio label="No" value="no" />
|
|
60
|
+
* </RadioGroup>
|
|
61
|
+
*/
|
|
62
|
+
Group: RadioGroup
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
export { Radio as R, RadioGroup as a };
|
|
66
|
+
//# sourceMappingURL=Radio-Sj9M1KAg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Radio-Sj9M1KAg.js","sources":["../src/components/Radio/Radio.tsx"],"sourcesContent":["import {\n RadioProps as CoreRadioProps,\n Radio as CoreRadio,\n RadioGroup as CoreRadioGroup,\n RadioGroupProps as CoreRadioGroupProps,\n childrenToString,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the Radio component\n * @property {boolean} [checked] - Controlled state\n * @property {boolean} [defaultChecked] - Uncontrolled state\n * @property {Function} [onChange] - Callback when radio is changed\n * @property {ReactElement | string} [label] - Label for Radio\n * @property {boolean} [error] - Error state for the radio\n * @property {object} [icons] - Icon overrides for checked and unchecked states\n * @property {string} [description] - Description text to display below the radio\n * @property {string} [aria-label] - Accessible label for the radio\n * @property {string} [aria-labelledby] - ID of element that labels the radio\n * @property {string} [name] - Name attribute for the radio\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type RadioProps = Omit<CoreRadioProps, \"hideRadio\"> & DataTrackingId;\n\n/**\n * Props for the RadioGroup component\n * @property {string | ReactElement} [legend] - Legend for the fieldset\n * @property {boolean} [required] - Required flag for label\n * @property {string} [moreInfo] - Additional information for the group\n */\nexport type RadioGroupProps = CoreRadioGroupProps;\n\nconst RadioElement = forwardRef(\n (props: RadioProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n label: childrenToString(props.label),\n ariaLabel: props[\"aria-label\"],\n ariaLabelledBy: props[\"aria-labelledby\"],\n name: props.name,\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"Radio\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return <CoreRadio ref={ref} data-tracking-id={trackingId} {...props} />;\n },\n);\n\nRadioElement.displayName = CoreRadio.displayName;\n\n/**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n * - Automatic alignment based on flex direction\n *\n * @example\n * <RadioGroup legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </RadioGroup>\n *\n * @example\n * <RadioGroup\n * legend=\"Horizontal layout\"\n * flexDirection=\"row\"\n * gap=\"4\"\n * >\n * <Radio label=\"Yes\" value=\"yes\" />\n * <Radio label=\"No\" value=\"no\" />\n * </RadioGroup>\n */\nexport const RadioGroup = forwardRef(\n (props: CoreRadioGroupProps, ref: Ref<HTMLFieldSetElement>) => {\n return <CoreRadioGroup ref={ref} {...props} />;\n },\n);\nRadioGroup.displayName = CoreRadioGroup.displayName;\n\n/**\n * Radio component for single selection from a group of options.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Customizable icons for checked and unchecked states\n * - Error state with visual indicators\n * - Description text support\n * - Accessibility support with proper ARIA attributes\n * - Layout utility props for positioning and spacing\n * - Flexible labeling options\n * - Group support via Radio.Group\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Radio\n * label=\"Option 1\"\n * value=\"option1\"\n * checked={selectedValue === \"option1\"}\n * onChange={(e, state) => setSelectedValue(state?.value)}\n * />\n *\n * @example\n * <Radio\n * label=\"Custom styled option\"\n * value=\"custom\"\n * icons={{\n * checked: CustomCheckedIcon,\n * unchecked: CustomUncheckedIcon\n * }}\n * description=\"This option has custom styling\"\n * />\n *\n * @example\n * <Radio.Group legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </Radio.Group>\n */\nexport const Radio = Object.assign(RadioElement, {\n /**\n * RadioGroup component for grouping related radio options.\n *\n * Features:\n * - Groups multiple radio options together\n * - Legend support for group labeling\n * - Required field indication\n * - Accessibility support with proper fieldset semantics\n * - Layout utility props for positioning and spacing\n * - Focus and blur event handling\n * - More info support for additional context\n * - Automatic alignment based on flex direction\n *\n * @example\n * <RadioGroup legend=\"Choose your preference\" required>\n * <Radio label=\"Option A\" value=\"a\" />\n * <Radio label=\"Option B\" value=\"b\" />\n * <Radio label=\"Option C\" value=\"c\" />\n * </RadioGroup>\n *\n * @example\n * <RadioGroup\n * legend=\"Horizontal layout\"\n * flexDirection=\"row\"\n * gap=\"4\"\n * >\n * <Radio label=\"Yes\" value=\"yes\" />\n * <Radio label=\"No\" value=\"no\" />\n * </RadioGroup>\n */\n Group: RadioGroup,\n});\n"],"names":["CoreRadio","CoreRadioGroup"],"mappings":";;;;;;AAoCA,MAAM,YAAe,GAAA,UAAA;AAAA,EACnB,CAAC,OAAmB,GAA+B,KAAA;AACjD,IAAA,MAAM,IAAO,GAAA;AAAA,MACX,KAAA,EAAO,gBAAiB,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MACnC,SAAA,EAAW,MAAM,YAAY,CAAA;AAAA,MAC7B,cAAA,EAAgB,MAAM,iBAAiB,CAAA;AAAA,MACvC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,OAAO,KAAM,CAAA;AAAA,KACf;AAEA,IAAA,MAAM,aAAa,aAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,OAAA;AAAA,MACN,IAAA;AAAA,MACA,WAAa,EAAA,CAAC,CAAC,KAAA,CAAM,kBAAkB;AAAA,KACxC,CAAA;AACD,IAAA,2BAAQA,OAAU,EAAA,EAAA,GAAA,EAAU,kBAAkB,EAAA,UAAA,EAAa,GAAG,KAAO,EAAA,CAAA;AAAA;AAEzE,CAAA;AAEA,YAAA,CAAa,cAAcA,OAAU,CAAA,WAAA;AAgC9B,MAAM,UAAa,GAAA,UAAA;AAAA,EACxB,CAAC,OAA4B,GAAkC,KAAA;AAC7D,IAAA,uBAAQ,GAAA,CAAAC,YAAA,EAAA,EAAe,GAAW,EAAA,GAAG,KAAO,EAAA,CAAA;AAAA;AAEhD;AACA,UAAA,CAAW,cAAcA,YAAe,CAAA,WAAA;AA0C3B,MAAA,KAAA,GAAQ,MAAO,CAAA,MAAA,CAAO,YAAc,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+B/C,KAAO,EAAA;AACT,CAAC;;;;"}
|
package/dist/Radio.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { R as Radio, a as RadioGroup, R as default } from './Radio-
|
|
1
|
+
export { R as Radio, a as RadioGroup, R as default } from './Radio-Sj9M1KAg.js';
|
|
2
2
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -3,12 +3,12 @@ import { useTrackingId } from './useTrackingId.js';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { forwardRef, useState, useId, useRef, useEffect } from 'react';
|
|
5
5
|
import { c as cx } from './index-tZvMCc77.js';
|
|
6
|
-
import { u as useMergeRefs } from './floating-ui.react-
|
|
6
|
+
import { u as useMergeRefs } from './floating-ui.react-BFNinq1w.js';
|
|
7
7
|
import { t as textfieldStyles } from './TextField.module-ChLlwuT--ChLlwuT-.js';
|
|
8
8
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
9
9
|
import { S as SrOnly } from './SrOnly-BsKDHetF-B93X65F1.js';
|
|
10
|
-
import { I as Icon } from './Icon-
|
|
11
|
-
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-
|
|
10
|
+
import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
|
|
11
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v-CZNrcQT-.js';
|
|
12
12
|
|
|
13
13
|
import './SearchField.css';const SvgSearch = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }));
|
|
14
14
|
|
|
@@ -109,7 +109,7 @@ const SearchField$1 = forwardRef(
|
|
|
109
109
|
type: "search",
|
|
110
110
|
autoComplete,
|
|
111
111
|
disabled,
|
|
112
|
-
"aria-
|
|
112
|
+
"aria-labelledby": placeholderUid,
|
|
113
113
|
...rest
|
|
114
114
|
}
|
|
115
115
|
),
|
|
@@ -130,7 +130,7 @@ const SearchField$1 = forwardRef(
|
|
|
130
130
|
]
|
|
131
131
|
}
|
|
132
132
|
),
|
|
133
|
-
/* @__PURE__ */ jsx(SrOnly, {
|
|
133
|
+
/* @__PURE__ */ jsx(SrOnly, { id: placeholderUid, children: placeholder })
|
|
134
134
|
]
|
|
135
135
|
}
|
|
136
136
|
);
|
|
@@ -154,6 +154,7 @@ const SearchField = forwardRef(
|
|
|
154
154
|
return /* @__PURE__ */ jsx(SearchField$1, { ref, "data-tracking-id": trackingId, ...props });
|
|
155
155
|
}
|
|
156
156
|
);
|
|
157
|
+
SearchField.displayName = SearchField$1.displayName;
|
|
157
158
|
|
|
158
159
|
export { SearchField as S };
|
|
159
|
-
//# sourceMappingURL=SearchField-
|
|
160
|
+
//# sourceMappingURL=SearchField-BQY7LHe2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchField-BQY7LHe2.js","sources":["../../hammer-icon/mdi/round/search.svg","../../hammer-react/dist/SearchField-D-FNLgqh.js","../src/components/SearchField/SearchField.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgSearch = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" }));\nexport default SvgSearch;\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, useState, useId, useRef, useEffect } from 'react';\nimport cx from 'classnames';\nimport { useMergeRefs } from '@floating-ui/react';\nimport { t as textfieldStyles } from './TextField.module-ChLlwuT-.js';\nimport Close from '@servicetitan/hammer-icon/mdi/round/close.svg';\nimport Search from '@servicetitan/hammer-icon/mdi/round/search.svg';\nimport { S as SrOnly } from './SrOnly-BsKDHetF.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-DWACCL8v.js';\n\nimport './SearchField.css';const searchfield = \"_searchfield_1s8tg_2\";\nconst clear = \"_clear_1s8tg_10\";\nconst styles = {\n\tsearchfield: searchfield,\n\t\"input-wrapper\": \"_input-wrapper_1s8tg_7\",\n\tclear: clear};\n\nconst SearchField = forwardRef(\n function SearchField2(props, ref) {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n className,\n size,\n onChange,\n onClear,\n id: idProp,\n disabled,\n style,\n value,\n placeholder = \"Search...\",\n autoComplete = \"off\",\n ...rest\n } = componentProps;\n const [hasValue, setHasValue] = useState(\n rest.defaultValue || value ? true : false\n );\n const placeholderUid = useId();\n const inputRef = useRef(null);\n const styleCombined = { ...style, ...layoutStyles };\n const handleOnChange = (e) => {\n if (e.target.value) {\n setHasValue(true);\n } else {\n setHasValue(false);\n }\n onChange?.(e);\n };\n useEffect(() => {\n if (typeof value === \"undefined\") return;\n if (value === \"\" || !value) {\n setHasValue(false);\n } else {\n setHasValue(true);\n }\n }, [value]);\n const handleClear = () => {\n if (!inputRef.current) return;\n if (disabled || rest.readOnly) return;\n onClear?.();\n if (value) {\n return;\n }\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n \"value\"\n )?.set;\n nativeInputValueSetter?.call(inputRef.current, \"\");\n inputRef.current.dispatchEvent(new Event(\"input\", { bubbles: true }));\n setHasValue(false);\n };\n return /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(\n textfieldStyles[\"textfield\"],\n styles[\"searchfield\"],\n className\n ),\n \"data-anv\": \"SearchField\",\n style: styleCombined,\n children: [\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cx(\n textfieldStyles[\"input-wrapper\"],\n styles[\"input-wrapper\"],\n {\n [textfieldStyles[\"small\"]]: size === \"small\",\n [textfieldStyles[\"large\"]]: size === \"large\"\n }\n ),\n role: \"presentation\",\n onClick: () => inputRef.current?.focus(),\n children: [\n /* @__PURE__ */ jsx(\"div\", { \"aria-hidden\": true, className: textfieldStyles[\"prefix\"], children: /* @__PURE__ */ jsx(Icon, { \"aria-label\": \"search\", svg: Search }) }),\n /* @__PURE__ */ jsx(\n \"input\",\n {\n className: cx(textfieldStyles[\"input\"]),\n ref: useMergeRefs([ref, inputRef]),\n onChange: handleOnChange,\n placeholder,\n value,\n type: \"search\",\n autoComplete,\n disabled,\n \"aria-labelledby\": placeholderUid,\n ...rest\n }\n ),\n /* @__PURE__ */ jsx(\n Icon,\n {\n \"aria-label\": \"cancel\",\n svg: Close,\n role: \"button\",\n onClick: handleClear,\n className: styles[\"clear\"],\n \"aria-disabled\": disabled,\n style: {\n visibility: hasValue ? \"visible\" : \"hidden\"\n }\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ jsx(SrOnly, { id: placeholderUid, children: placeholder })\n ]\n }\n );\n }\n);\n\nexport { SearchField as S };\n//# sourceMappingURL=SearchField-D-FNLgqh.js.map\n","import {\n SearchField as CoreSearchField,\n type SearchFieldProps as CoreSearchFieldProps,\n} from \"@servicetitan/hammer-react\";\nimport { useTrackingId } from \"../../hooks/useTrackingId\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\nimport { forwardRef, Ref } from \"react\";\n\n/**\n * Props for the SearchField component\n * @property {string} [size] - Size of the search field (small, medium, large)\n * @property {Function} [onClear] - Callback when the clear button is clicked\n * @extends DataTrackingId\n */\nexport type SearchFieldProps = CoreSearchFieldProps & DataTrackingId;\n\n/**\n * SearchField component for text input with search functionality.\n *\n * Features:\n * - Search icon prefix for visual clarity\n * - Clear button that appears when input has value\n * - Multiple size variants (small, medium, large)\n * - Controlled and uncontrolled modes\n * - Disabled and read-only states\n * - Accessibility support with proper ARIA attributes\n * - Layout utility props for positioning and spacing\n * - Automatic value detection for clear button visibility\n * - Search-specific input type and autocomplete settings\n * - Screen reader support with placeholder announcements\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SearchField\n * placeholder=\"Search users...\"\n * onChange={(e) => setSearchTerm(e.target.value)}\n * onClear={() => setSearchTerm(\"\")}\n * />\n *\n * @example\n * <SearchField\n * size=\"large\"\n * value={searchValue}\n * onChange={(e) => setSearchValue(e.target.value)}\n * disabled={isLoading}\n * />\n */\nexport const SearchField = forwardRef(\n (props: SearchFieldProps, ref: Ref<HTMLInputElement>) => {\n const data = {\n value: props.value,\n defaultValue: props.defaultValue,\n disabled: props.disabled,\n readOnly: props.readOnly,\n size: props.size,\n };\n\n const trackingId = useTrackingId({\n name: \"SearchField\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreSearchField ref={ref} data-tracking-id={trackingId} {...props} />\n );\n },\n);\nSearchField.displayName = CoreSearchField.displayName;\n"],"names":["SearchField","Search","Close","CoreSearchField"],"mappings":"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"}
|
package/dist/SearchField.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S as SearchField } from './SearchField-
|
|
1
|
+
export { S as SearchField } from './SearchField-BQY7LHe2.js';
|
|
2
2
|
//# sourceMappingURL=SearchField.js.map
|
|
@@ -5,7 +5,7 @@ import { m as motion } from './proxy-CreWmH-e.js';
|
|
|
5
5
|
import { u as useReducedMotion } from './use-reduced-motion-znCm41qB.js';
|
|
6
6
|
import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
|
|
7
7
|
import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
|
|
8
|
-
import { I as Icon } from './Icon-
|
|
8
|
+
import { I as Icon } from './Icon-B6HmlQiR-BxQkO3X5.js';
|
|
9
9
|
import { D as Duration } from './primitive-BoyEHaOo.js';
|
|
10
10
|
import { useTrackingId } from './useTrackingId.js';
|
|
11
11
|
|
|
@@ -123,6 +123,22 @@ const SegmentedControlElement$1 = forwardRef((props, ref) => {
|
|
|
123
123
|
});
|
|
124
124
|
SegmentedControlElement$1.displayName = "SegmentedControl";
|
|
125
125
|
const SegmentedControl$1 = Object.assign(SegmentedControlElement$1, {
|
|
126
|
+
/**
|
|
127
|
+
* SegmentedControlSegment component for individual segments within a segmented control.
|
|
128
|
+
*
|
|
129
|
+
* Features:
|
|
130
|
+
* - Individual segment with radio input
|
|
131
|
+
* - Optional icon support
|
|
132
|
+
* - Animated selection indicator
|
|
133
|
+
* - Accessibility support with proper ARIA attributes
|
|
134
|
+
* - Context integration with parent SegmentedControl
|
|
135
|
+
* - Motion animations with reduced motion support
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* <SegmentedControl.Segment value="option1" icon={Icon1}>
|
|
139
|
+
* Option 1
|
|
140
|
+
* </SegmentedControl.Segment>
|
|
141
|
+
*/
|
|
126
142
|
Segment: SegmentedControlSegment$1
|
|
127
143
|
});
|
|
128
144
|
|
|
@@ -146,6 +162,7 @@ const SegmentedControlElement = forwardRef(
|
|
|
146
162
|
);
|
|
147
163
|
}
|
|
148
164
|
);
|
|
165
|
+
SegmentedControlElement.displayName = SegmentedControl$1.displayName;
|
|
149
166
|
const SegmentedControlSegment = forwardRef(
|
|
150
167
|
(props, ref) => {
|
|
151
168
|
const data = {
|
|
@@ -166,9 +183,31 @@ const SegmentedControlSegment = forwardRef(
|
|
|
166
183
|
);
|
|
167
184
|
}
|
|
168
185
|
);
|
|
186
|
+
SegmentedControlSegment.displayName = SegmentedControlSegment$1.displayName;
|
|
169
187
|
const SegmentedControl = Object.assign(SegmentedControlElement, {
|
|
188
|
+
/**
|
|
189
|
+
* SegmentedControlSegment component for individual segments within a segmented control.
|
|
190
|
+
*
|
|
191
|
+
* Features:
|
|
192
|
+
* - Individual segment with radio input
|
|
193
|
+
* - Optional icon support
|
|
194
|
+
* - Animated selection indicator
|
|
195
|
+
* - Accessibility support with proper ARIA attributes
|
|
196
|
+
* - Context integration with parent SegmentedControl
|
|
197
|
+
* - Motion animations with reduced motion support
|
|
198
|
+
* - Icon-only mode when no children provided
|
|
199
|
+
* - Automatic tracking ID generation for analytics
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* <SegmentedControl.Segment value="option1" icon={Icon1}>
|
|
203
|
+
* Option 1
|
|
204
|
+
* </SegmentedControl.Segment>
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* <SegmentedControl.Segment value="icon-only" icon={IconOnly} />
|
|
208
|
+
*/
|
|
170
209
|
Segment: SegmentedControlSegment
|
|
171
210
|
});
|
|
172
211
|
|
|
173
212
|
export { SegmentedControl as S, SegmentedControlSegment as a };
|
|
174
|
-
//# sourceMappingURL=SegmentedControl-
|
|
213
|
+
//# sourceMappingURL=SegmentedControl-DKMQuf7s.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl-DKMQuf7s.js","sources":["../../hammer-react/dist/SegmentedControl-CaAD848n.js","../src/components/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import { jsx, Fragment, jsxs } from 'react/jsx-runtime';\nimport { forwardRef, useContext, useRef, createContext, useId } from 'react';\nimport cx from 'classnames';\nimport { useReducedMotion, motion } from '/home/runner/work/hammer/hammer/node_modules/.pnpm/motion@12.4.10_@emotion+is-prop-valid@1.3.1_react-dom@18.2.0_react@18.2.0__react@18.2.0/node_modules/motion/dist/es/motion/lib/react.mjs';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { I as Icon } from './Icon-B6HmlQiR.js';\nimport { core } from '@servicetitan/hammer-token';\n\nimport './SegmentedControl.css';const legend = \"_legend_1jy4v_3\";\nconst children = \"_children_1jy4v_4\";\nconst segment = \"_segment_1jy4v_2\";\nconst fill = \"_fill_1jy4v_80\";\nconst small = \"_small_1jy4v_83\";\nconst medium = \"_medium_1jy4v_92\";\nconst styles = {\n\t\"segmented-control\": \"_segmented-control_1jy4v_2\",\n\tlegend: legend,\n\tchildren: children,\n\t\"select-indicator\": \"_select-indicator_1jy4v_5\",\n\tsegment: segment,\n\tfill: fill,\n\tsmall: small,\n\t\"icon-only\": \"_icon-only_1jy4v_89\",\n\tmedium: medium\n};\n\nconst SegmentedControlSegment = forwardRef((props, ref) => {\n const { icon, value, children, className, ...rest } = props;\n const shouldReduceMotion = useReducedMotion();\n const { current, setCurrent, name } = useContext(SegmentedControlContext);\n const labelRef = useRef(null);\n const classNames = cx(styles.segment, className, {\n [styles[\"icon-only\"]]: icon && !children\n });\n return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(\n \"label\",\n {\n className: classNames,\n ref: useMergeRefs([labelRef, ref]),\n \"data-anv\": \"segmented-control-segment\",\n ...rest,\n children: [\n /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"radio\",\n name,\n value,\n onChange: () => setCurrent?.(value),\n checked: current === value,\n \"aria-checked\": current === value\n }\n ),\n icon ? /* @__PURE__ */ jsx(Icon, { svg: icon, \"aria-hidden\": true }) : null,\n children,\n current === value && /* @__PURE__ */ jsx(\n motion.span,\n {\n layoutId: name,\n className: styles[\"select-indicator\"],\n transition: {\n duration: shouldReduceMotion ? 0 : +core.primitive.Duration.value.replace(\"ms\", \"\") / 1e3\n }\n }\n )\n ]\n }\n ) });\n});\nSegmentedControlSegment.displayName = \"SegmentedControlSegment\";\n\nconst SegmentedControlContext = createContext({});\nconst SegmentedControlElement = forwardRef((props, ref) => {\n const {\n className,\n onClick,\n onChange,\n children,\n size = \"medium\",\n defaultSelected,\n selected,\n name,\n fill,\n ...rest\n } = props;\n const [current, setCurrent] = useOptionallyControlledState({\n controlledValue: selected,\n defaultValue: defaultSelected,\n onChange\n });\n const segmentedControlRef = useRef(null);\n const SegmentedControlClassNames = cx(\n styles[\"segmented-control\"],\n styles[size],\n className,\n {\n [styles.fill]: fill\n }\n );\n const uid = useId();\n return /* @__PURE__ */ jsx(\n motion.div,\n {\n transition: { duration: 0 },\n layout: true,\n role: \"radiogroup\",\n className: SegmentedControlClassNames,\n \"data-anv\": \"segmented-control\",\n ref: useMergeRefs([segmentedControlRef, ref]),\n ...rest,\n children: /* @__PURE__ */ jsx(\n SegmentedControlContext.Provider,\n {\n value: { current, setCurrent, name: name ?? uid },\n children\n }\n )\n }\n );\n});\nSegmentedControlElement.displayName = \"SegmentedControl\";\nconst SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n */\n Segment: SegmentedControlSegment\n});\n\nexport { SegmentedControl as S, SegmentedControlSegment as a };\n//# sourceMappingURL=SegmentedControl-CaAD848n.js.map\n","import {\n SegmentedControlProps as CoreSegmentedControlProps,\n SegmentedControl as CoreSegmentedControl,\n SegmentedControlSegmentProps as CoreSegmentedControlSegmentProps,\n SegmentedControlSegment as CoreSegmentedControlSegment,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\nimport { useTrackingId } from \"../../hooks\";\nimport { DataTrackingId } from \"../../types/DataTrackingId\";\n\n/**\n * Props for the SegmentedControl component\n * @property {string} [size] - Size of the segment (small, medium)\n * @property {boolean} [fill] - Whether to fill available width\n * @property {string} [name] - Name attribute for radio inputs\n * @property {Function} [onChange] - Callback when segment is changed\n * @property {string} [selected] - Selected segment (controlled mode)\n * @property {string} [defaultSelected] - Initial selection (uncontrolled mode)\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlProps = CoreSegmentedControlProps & DataTrackingId;\n\n/**\n * Props for the SegmentedControlSegment component\n * @property {string} value - Value of the segment\n * @property {object} [icon] - Optional icon to display in the segment\n * @property {string} [data-tracking-id] - Custom tracking ID for analytics\n * @extends DataTrackingId\n */\nexport type SegmentedControlSegmentProps = CoreSegmentedControlSegmentProps &\n DataTrackingId;\n\nconst SegmentedControlElement = forwardRef(\n (props: SegmentedControlProps, ref: Ref<HTMLDivElement>) => {\n const data = {\n name: props.name,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControl\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n return (\n <CoreSegmentedControl\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\nSegmentedControlElement.displayName = CoreSegmentedControl.displayName;\n\n/**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\nexport const SegmentedControlSegment = forwardRef(\n (props: SegmentedControlSegmentProps, ref: Ref<HTMLLabelElement>) => {\n const data = {\n value: props.value,\n };\n\n const trackingId = useTrackingId({\n name: \"SegmentedControlSegment\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n return (\n <CoreSegmentedControlSegment\n ref={ref}\n data-tracking-id={trackingId}\n {...props}\n />\n );\n },\n);\nSegmentedControlSegment.displayName = CoreSegmentedControlSegment.displayName;\n\n/**\n * SegmentedControl component for selecting one option from a group of related choices.\n *\n * Features:\n * - Supports both controlled and uncontrolled modes\n * - Multiple size variants (small, medium)\n * - Optional fill width mode\n * - Smooth animations with motion\n * - Accessibility support with proper radio group semantics\n * - Layout utility props for positioning and spacing\n * - Context-based state management\n * - Auto-generated or custom name attributes\n * - Segment support via SegmentedControl.Segment\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl\n * selected={selectedValue}\n * onChange={setSelectedValue}\n * size=\"medium\"\n * >\n * <SegmentedControl.Segment value=\"option1\">Option 1</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option2\">Option 2</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"option3\">Option 3</SegmentedControl.Segment>\n * </SegmentedControl>\n *\n * @example\n * <SegmentedControl\n * defaultSelected=\"small\"\n * size=\"small\"\n * fill\n * >\n * <SegmentedControl.Segment value=\"small\" icon={SmallIcon}>Small</SegmentedControl.Segment>\n * <SegmentedControl.Segment value=\"large\" icon={LargeIcon}>Large</SegmentedControl.Segment>\n * </SegmentedControl>\n */\nexport const SegmentedControl = Object.assign(SegmentedControlElement, {\n /**\n * SegmentedControlSegment component for individual segments within a segmented control.\n *\n * Features:\n * - Individual segment with radio input\n * - Optional icon support\n * - Animated selection indicator\n * - Accessibility support with proper ARIA attributes\n * - Context integration with parent SegmentedControl\n * - Motion animations with reduced motion support\n * - Icon-only mode when no children provided\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <SegmentedControl.Segment value=\"option1\" icon={Icon1}>\n * Option 1\n * </SegmentedControl.Segment>\n *\n * @example\n * <SegmentedControl.Segment value=\"icon-only\" icon={IconOnly} />\n */\n Segment: SegmentedControlSegment,\n});\n"],"names":["SegmentedControlSegment","core.primitive.Duration","SegmentedControlElement","SegmentedControl","CoreSegmentedControl","CoreSegmentedControlSegment"],"mappings":"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"}
|
package/dist/SegmentedControl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-
|
|
1
|
+
export { S as SegmentedControl, a as SegmentedControlSegment, S as default } from './SegmentedControl-DKMQuf7s.js';
|
|
2
2
|
//# sourceMappingURL=SegmentedControl.js.map
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { forwardRef, useState, useId, createContext, useContext, useLayoutEffect } from 'react';
|
|
3
|
+
import { C as Card } from './Card-ZknG-yim-7W6rYSFV.js';
|
|
4
|
+
import { R as RadioGroup, a as Radio } from './Radio-DiBn0-hf-CCkWosaL.js';
|
|
4
5
|
import { c as cx } from './index-tZvMCc77.js';
|
|
5
|
-
import { C as CheckboxGroup, a as Checkbox } from './Checkbox-
|
|
6
|
-
import {
|
|
6
|
+
import { C as CheckboxGroup, a as Checkbox } from './Checkbox-BNrjUtHs-CfExXZer.js';
|
|
7
|
+
import { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh-DAv5LXXh.js';
|
|
7
8
|
|
|
8
|
-
import './SelectCard-
|
|
9
|
+
import './SelectCard-CY8IVFDT.css';const styles = {
|
|
9
10
|
"select-card": "_select-card_17kzl_1",
|
|
10
11
|
"select-card--disabled": "_select-card--disabled_17kzl_22",
|
|
11
12
|
"select-card--errored": "_select-card--errored_17kzl_26",
|
|
@@ -20,13 +21,19 @@ const SelectCardProvider = ({
|
|
|
20
21
|
}) => {
|
|
21
22
|
const [selection, setSelection] = useState(/* @__PURE__ */ new Set());
|
|
22
23
|
const radioName = useId();
|
|
23
|
-
const handleChange = (e, state) => {
|
|
24
|
+
const handleChange = (e, state, options) => {
|
|
24
25
|
if (!state || !state.id) {
|
|
25
|
-
|
|
26
|
+
if (!options?.internal) {
|
|
27
|
+
onChange(e, state);
|
|
28
|
+
}
|
|
26
29
|
return;
|
|
27
30
|
}
|
|
28
31
|
if (selectionMode === "single") {
|
|
29
|
-
|
|
32
|
+
if (state.checked) {
|
|
33
|
+
setSelection(/* @__PURE__ */ new Set([state.id]));
|
|
34
|
+
} else {
|
|
35
|
+
setSelection(/* @__PURE__ */ new Set());
|
|
36
|
+
}
|
|
30
37
|
} else {
|
|
31
38
|
if (state.checked) {
|
|
32
39
|
setSelection(selection.add(state.id));
|
|
@@ -35,7 +42,9 @@ const SelectCardProvider = ({
|
|
|
35
42
|
setSelection(selection);
|
|
36
43
|
}
|
|
37
44
|
}
|
|
38
|
-
|
|
45
|
+
if (!options?.internal) {
|
|
46
|
+
onChange(e, state);
|
|
47
|
+
}
|
|
39
48
|
};
|
|
40
49
|
const context = {
|
|
41
50
|
selectionMode,
|
|
@@ -47,7 +56,7 @@ const SelectCardProvider = ({
|
|
|
47
56
|
};
|
|
48
57
|
const useSelectCardContext = () => useContext(SelectCardContext);
|
|
49
58
|
|
|
50
|
-
const SelectCardGroup = forwardRef((props,
|
|
59
|
+
const SelectCardGroup = forwardRef((props, _ref) => {
|
|
51
60
|
const {
|
|
52
61
|
ariaLabelledBy,
|
|
53
62
|
children,
|
|
@@ -87,9 +96,9 @@ const SelectCardElement = forwardRef(
|
|
|
87
96
|
const {
|
|
88
97
|
checkboxProps,
|
|
89
98
|
children,
|
|
90
|
-
checked,
|
|
99
|
+
checked: checkedProp,
|
|
91
100
|
className,
|
|
92
|
-
defaultChecked,
|
|
101
|
+
defaultChecked: defaultCheckedProp,
|
|
93
102
|
disabled,
|
|
94
103
|
errored,
|
|
95
104
|
radioProps,
|
|
@@ -97,27 +106,41 @@ const SelectCardElement = forwardRef(
|
|
|
97
106
|
id,
|
|
98
107
|
...rest
|
|
99
108
|
} = props;
|
|
100
|
-
const [
|
|
101
|
-
|
|
102
|
-
|
|
109
|
+
const [checked, setChecked] = useOptionallyControlledState({
|
|
110
|
+
controlledValue: checkedProp,
|
|
111
|
+
defaultValue: defaultCheckedProp || false,
|
|
112
|
+
onChange
|
|
113
|
+
});
|
|
103
114
|
const context = useSelectCardContext();
|
|
115
|
+
const [_, setForceRenderCount] = useState(0);
|
|
116
|
+
useLayoutEffect(() => {
|
|
117
|
+
if (defaultCheckedProp) {
|
|
118
|
+
context?.onChange(
|
|
119
|
+
void 0,
|
|
120
|
+
{
|
|
121
|
+
id,
|
|
122
|
+
checked: defaultCheckedProp
|
|
123
|
+
},
|
|
124
|
+
{ internal: true }
|
|
125
|
+
);
|
|
126
|
+
setForceRenderCount((prev) => prev + 1);
|
|
127
|
+
}
|
|
128
|
+
}, []);
|
|
104
129
|
const handleChange = (event) => {
|
|
105
130
|
const newChecked = event ? event.target.checked : false;
|
|
106
|
-
|
|
131
|
+
setChecked(newChecked);
|
|
107
132
|
context?.onChange(event, {
|
|
108
133
|
id,
|
|
109
134
|
checked: newChecked
|
|
110
135
|
});
|
|
111
|
-
if (checked === void 0) {
|
|
112
|
-
setContextFreeIsChecked(newChecked);
|
|
113
|
-
}
|
|
114
136
|
};
|
|
115
|
-
const isChecked = context ? context.selection.has(id) : checked
|
|
137
|
+
const isChecked = context ? context.selection.has(id) : checked;
|
|
116
138
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
117
139
|
(!context || context?.selectionMode === "multiple") && /* @__PURE__ */ jsx(
|
|
118
140
|
Checkbox,
|
|
119
141
|
{
|
|
120
142
|
...checkboxProps,
|
|
143
|
+
defaultChecked: defaultCheckedProp,
|
|
121
144
|
onChange: handleChange,
|
|
122
145
|
disabled,
|
|
123
146
|
ref,
|
|
@@ -142,6 +165,7 @@ const SelectCardElement = forwardRef(
|
|
|
142
165
|
Radio,
|
|
143
166
|
{
|
|
144
167
|
...radioProps,
|
|
168
|
+
defaultChecked: defaultCheckedProp,
|
|
145
169
|
onChange: handleChange,
|
|
146
170
|
disabled,
|
|
147
171
|
ref,
|
|
@@ -168,8 +192,33 @@ const SelectCardElement = forwardRef(
|
|
|
168
192
|
);
|
|
169
193
|
SelectCardElement.displayName = "SelectCard";
|
|
170
194
|
const SelectCard = Object.assign(SelectCardElement, {
|
|
195
|
+
/**
|
|
196
|
+
* SelectCardGroup component for managing groups of selectable cards.
|
|
197
|
+
*
|
|
198
|
+
* Features:
|
|
199
|
+
* - Manages selection state for multiple SelectCard components
|
|
200
|
+
* - Supports both single and multiple selection modes
|
|
201
|
+
* - Provides proper accessibility with legends and ARIA labels
|
|
202
|
+
* - Handles required field validation
|
|
203
|
+
* - Automatic radio button grouping for single selection
|
|
204
|
+
* - Context provider for child SelectCard components
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* <SelectCard.Group
|
|
208
|
+
* legend="Choose your plan"
|
|
209
|
+
* selectionMode="single"
|
|
210
|
+
* onChange={(e, state) => console.log('Selection changed:', state)}
|
|
211
|
+
* >
|
|
212
|
+
* <SelectCard id="basic" onChange={() => {}}>
|
|
213
|
+
* <Text variant="headline" size="small">Basic Plan</Text>
|
|
214
|
+
* </SelectCard>
|
|
215
|
+
* <SelectCard id="premium" onChange={() => {}}>
|
|
216
|
+
* <Text variant="headline" size="small">Premium Plan</Text>
|
|
217
|
+
* </SelectCard>
|
|
218
|
+
* </SelectCard.Group>
|
|
219
|
+
*/
|
|
171
220
|
Group: SelectCardGroup
|
|
172
221
|
});
|
|
173
222
|
|
|
174
223
|
export { SelectCardGroup as S, SelectCard as a };
|
|
175
|
-
//# sourceMappingURL=SelectCard-
|
|
224
|
+
//# sourceMappingURL=SelectCard-CY8IVFDT-lXO3-mQ_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectCard-CY8IVFDT-lXO3-mQ_.js","sources":["../../hammer-react/dist/SelectCard-CY8IVFDT.js"],"sourcesContent":["import { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { useContext, useState, useId, createContext, forwardRef, useLayoutEffect } from 'react';\nimport { C as Card } from './Card-ZknG-yim.js';\nimport { a as RadioGroup, R as Radio } from './Radio-DiBn0-hf.js';\nimport cx from 'classnames';\nimport { a as CheckboxGroup, C as Checkbox } from './Checkbox-BNrjUtHs.js';\nimport { u as useOptionallyControlledState } from './useOptionallyControlledState-DAv5LXXh.js';\n\nimport './SelectCard.css';const styles = {\n\t\"select-card\": \"_select-card_17kzl_1\",\n\t\"select-card--disabled\": \"_select-card--disabled_17kzl_22\",\n\t\"select-card--errored\": \"_select-card--errored_17kzl_26\",\n\t\"select-card--selected\": \"_select-card--selected_17kzl_29\"\n};\n\nconst SelectCardContext = createContext(null);\nconst SelectCardProvider = ({\n children,\n onChange,\n selectionMode\n}) => {\n const [selection, setSelection] = useState(/* @__PURE__ */ new Set());\n const radioName = useId();\n const handleChange = (e, state, options) => {\n if (!state || !state.id) {\n if (!options?.internal) {\n onChange(e, state);\n }\n return;\n }\n if (selectionMode === \"single\") {\n if (state.checked) {\n setSelection(/* @__PURE__ */ new Set([state.id]));\n } else {\n setSelection(/* @__PURE__ */ new Set());\n }\n } else {\n if (state.checked) {\n setSelection(selection.add(state.id));\n } else {\n selection.delete(state.id);\n setSelection(selection);\n }\n }\n if (!options?.internal) {\n onChange(e, state);\n }\n };\n const context = {\n selectionMode,\n onChange: handleChange,\n radioName,\n selection\n };\n return /* @__PURE__ */ jsx(SelectCardContext.Provider, { value: context, children });\n};\nconst useSelectCardContext = () => useContext(SelectCardContext);\n\nconst SelectCardGroup = forwardRef((props, _ref) => {\n const {\n ariaLabelledBy,\n children,\n legend,\n onChange,\n required = false,\n selectionMode,\n ...rest\n } = props;\n return /* @__PURE__ */ jsxs(SelectCardProvider, { onChange, selectionMode, children: [\n selectionMode === \"multiple\" && /* @__PURE__ */ jsx(\n CheckboxGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n ),\n selectionMode === \"single\" && /* @__PURE__ */ jsx(\n RadioGroup,\n {\n \"aria-labelledby\": ariaLabelledBy,\n legend,\n required,\n ...rest,\n children\n }\n )\n ] });\n});\nSelectCardGroup.displayName = \"SelectCardGroup\";\n\nconst SelectCardElement = forwardRef(\n (props, ref) => {\n const {\n checkboxProps,\n children,\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n errored,\n radioProps,\n onChange,\n id,\n ...rest\n } = props;\n const [checked, setChecked] = useOptionallyControlledState({\n controlledValue: checkedProp,\n defaultValue: defaultCheckedProp || false,\n onChange\n });\n const context = useSelectCardContext();\n const [_, setForceRenderCount] = useState(0);\n useLayoutEffect(() => {\n if (defaultCheckedProp) {\n context?.onChange(\n void 0,\n {\n id,\n checked: defaultCheckedProp\n },\n { internal: true }\n );\n setForceRenderCount((prev) => prev + 1);\n }\n }, []);\n const handleChange = (event) => {\n const newChecked = event ? event.target.checked : false;\n setChecked(newChecked);\n context?.onChange(event, {\n id,\n checked: newChecked\n });\n };\n const isChecked = context ? context.selection.has(id) : checked;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n (!context || context?.selectionMode === \"multiple\") && /* @__PURE__ */ jsx(\n Checkbox,\n {\n ...checkboxProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(\n styles[\"select-card\"],\n isChecked && !errored && styles[\"select-card--selected\"],\n errored && styles[\"select-card--errored\"],\n disabled && styles[\"select-card--disabled\"],\n className ?? \"\"\n ),\n children\n }\n ),\n hideCheckbox: true\n }\n ),\n context?.selectionMode === \"single\" && /* @__PURE__ */ jsx(\n Radio,\n {\n ...radioProps,\n defaultChecked: defaultCheckedProp,\n onChange: handleChange,\n disabled,\n ref,\n name: context.radioName,\n label: /* @__PURE__ */ jsx(\n Card,\n {\n ...rest,\n className: cx(\n styles[\"select-card\"],\n isChecked && !errored && styles[\"select-card--selected\"],\n errored && styles[\"select-card--errored\"],\n disabled && styles[\"select-card--disabled\"],\n className ?? \"\"\n ),\n children\n }\n ),\n hideRadio: true\n }\n )\n ] });\n }\n);\nSelectCardElement.displayName = \"SelectCard\";\nconst SelectCard = Object.assign(SelectCardElement, {\n /**\n * SelectCardGroup component for managing groups of selectable cards.\n *\n * Features:\n * - Manages selection state for multiple SelectCard components\n * - Supports both single and multiple selection modes\n * - Provides proper accessibility with legends and ARIA labels\n * - Handles required field validation\n * - Automatic radio button grouping for single selection\n * - Context provider for child SelectCard components\n *\n * @example\n * <SelectCard.Group\n * legend=\"Choose your plan\"\n * selectionMode=\"single\"\n * onChange={(e, state) => console.log('Selection changed:', state)}\n * >\n * <SelectCard id=\"basic\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Basic Plan</Text>\n * </SelectCard>\n * <SelectCard id=\"premium\" onChange={() => {}}>\n * <Text variant=\"headline\" size=\"small\">Premium Plan</Text>\n * </SelectCard>\n * </SelectCard.Group>\n */\n Group: SelectCardGroup\n});\n\nexport { SelectCard as S, SelectCardGroup as a };\n//# sourceMappingURL=SelectCard-CY8IVFDT.js.map\n"],"names":[],"mappings":"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"}
|
package/dist/SelectCard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-
|
|
1
|
+
export { S as SelectCard, b as SelectCardElement, a as SelectCardGroup, S as default } from './SelectCardGroup-DLt9z9b8.js';
|
|
2
2
|
//# sourceMappingURL=SelectCard.js.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { S as SelectCardGroup$1, a as SelectCard$1 } from './SelectCard-CY8IVFDT-lXO3-mQ_.js';
|
|
4
|
+
|
|
5
|
+
const SelectCardElement = forwardRef(
|
|
6
|
+
(props, ref) => {
|
|
7
|
+
return /* @__PURE__ */ jsx(SelectCard$1, { ref, ...props });
|
|
8
|
+
}
|
|
9
|
+
);
|
|
10
|
+
SelectCardElement.displayName = SelectCard$1.displayName;
|
|
11
|
+
const SelectCard = Object.assign(SelectCardElement, {
|
|
12
|
+
/**
|
|
13
|
+
* SelectCardGroup component for managing groups of selectable cards.
|
|
14
|
+
*
|
|
15
|
+
* Features:
|
|
16
|
+
* - Manages selection state for multiple SelectCard components
|
|
17
|
+
* - Supports both single and multiple selection modes
|
|
18
|
+
* - Provides proper accessibility with legends and ARIA labels
|
|
19
|
+
* - Handles required field validation
|
|
20
|
+
* - Automatic radio button grouping for single selection
|
|
21
|
+
* - Context provider for child SelectCard components
|
|
22
|
+
* - Automatic tracking ID generation for analytics
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <SelectCard.Group
|
|
26
|
+
* legend="Choose your plan"
|
|
27
|
+
* selectionMode="single"
|
|
28
|
+
* onChange={(e, state) => console.log('Selection changed:', state)}
|
|
29
|
+
* >
|
|
30
|
+
* <SelectCard id="basic" onChange={() => {}}>
|
|
31
|
+
* <Text variant="headline" size="small">Basic Plan</Text>
|
|
32
|
+
* </SelectCard>
|
|
33
|
+
* <SelectCard id="premium" onChange={() => {}}>
|
|
34
|
+
* <Text variant="headline" size="small">Premium Plan</Text>
|
|
35
|
+
* </SelectCard>
|
|
36
|
+
* </SelectCard.Group>
|
|
37
|
+
*/
|
|
38
|
+
Group: SelectCardGroup$1
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const SelectCardGroup = forwardRef(
|
|
42
|
+
(props, ref) => {
|
|
43
|
+
return /* @__PURE__ */ jsx(SelectCardGroup$1, { ref, ...props });
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
SelectCardGroup.displayName = SelectCardGroup$1.displayName;
|
|
47
|
+
|
|
48
|
+
export { SelectCard as S, SelectCardGroup as a, SelectCardElement as b };
|
|
49
|
+
//# sourceMappingURL=SelectCardGroup-DLt9z9b8.js.map
|