@servicetitan/anvil2 2.9.1 → 3.0.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 +71 -0
- package/dist/{AiMark-DR-w6Nbm.js → AiMark-B1-M3ZgP.js} +26 -25
- package/dist/{AiMark-DR-w6Nbm.js.map → AiMark-B1-M3ZgP.js.map} +1 -1
- package/dist/AiMark.css +246 -256
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-Dj61Bq8h.js → Alert-DmbqtMg_.js} +20 -31
- package/dist/Alert-DmbqtMg_.js.map +1 -0
- package/dist/Alert.css +72 -90
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-B9zm-_1S.js → Announcement-_C5g2Lzm.js} +14 -14
- package/dist/{Announcement-B9zm-_1S.js.map → Announcement-_C5g2Lzm.js.map} +1 -1
- package/dist/Announcement.css +108 -97
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-DUPYyMc7.js → AnvilProvider-JXEbeQjR.js} +13 -8
- package/dist/AnvilProvider-JXEbeQjR.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-BckUfs1N.js → Avatar-B4hRHku9.js} +23 -23
- package/dist/Avatar-B4hRHku9.js.map +1 -0
- package/dist/{Avatar-ChybzixS.js → Avatar-NbFc4Ovc.js} +2 -2
- package/dist/{Avatar-ChybzixS.js.map → Avatar-NbFc4Ovc.js.map} +1 -1
- package/dist/Avatar.css +116 -177
- package/dist/Avatar.js +2 -2
- package/dist/{Badge-C2W7Dls9.js → Badge-C_wTvtnB.js} +7 -7
- package/dist/{Badge-C2W7Dls9.js.map → Badge-C_wTvtnB.js.map} +1 -1
- package/dist/Badge.css +42 -50
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-ojgYVZwe.js → Breadcrumbs-CYmciJ1D.js} +7 -7
- package/dist/{Breadcrumbs-ojgYVZwe.js.map → Breadcrumbs-CYmciJ1D.js.map} +1 -1
- package/dist/Breadcrumbs.css +37 -45
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-BdrrhBTI.js → Button-Bnt8XUI7.js} +13 -10
- package/dist/{Button-BdrrhBTI.js.map → Button-Bnt8XUI7.js.map} +1 -1
- package/dist/Button.css +274 -335
- package/dist/Button.js +1 -1
- package/dist/Button.module-DsGhJYRw.js +23 -0
- package/dist/Button.module-DsGhJYRw.js.map +1 -0
- package/dist/{ButtonCompound-Cmw3cgMY.js → ButtonCompound-DsrK7G3q.js} +11 -4
- package/dist/ButtonCompound-DsrK7G3q.js.map +1 -0
- package/dist/ButtonCompound.css +25 -0
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-BJKTJER8.js → ButtonLink-j3h_wRNi.js} +9 -6
- package/dist/ButtonLink-j3h_wRNi.js.map +1 -0
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-DaFQ3DBG.js → ButtonToggle-Ct9_5bhC.js} +7 -4
- package/dist/ButtonToggle-Ct9_5bhC.js.map +1 -0
- package/dist/ButtonToggle.css +109 -0
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-Cka4unyi.js → Calendar-BAbAagIx.js} +2 -2
- package/dist/{Calendar-Cka4unyi.js.map → Calendar-BAbAagIx.js.map} +1 -1
- package/dist/{Calendar-Dxl9QnfP.js → Calendar-CaCMa_jq.js} +38 -35
- package/dist/Calendar-CaCMa_jq.js.map +1 -0
- package/dist/Calendar.css +250 -301
- package/dist/Calendar.js +2 -2
- package/dist/{Card-wz71dEVA.js → Card-DSFuXUGk.js} +11 -11
- package/dist/{Card-wz71dEVA.js.map → Card-DSFuXUGk.js.map} +1 -1
- package/dist/Card.css +51 -65
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-B-XTVPbX.js → Checkbox-BSAS8-DM.js} +28 -39
- package/dist/Checkbox-BSAS8-DM.js.map +1 -0
- package/dist/{Checkbox-Cw1-KFvq.js → Checkbox-Ckl8EFpF.js} +2 -2
- package/dist/{Checkbox-Cw1-KFvq.js.map → Checkbox-Ckl8EFpF.js.map} +1 -1
- package/dist/Checkbox.css +237 -271
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.module-TYMeYIxw.js +28 -0
- package/dist/Checkbox.module-TYMeYIxw.js.map +1 -0
- package/dist/{Chip-Ce0WGKAc.js → Chip-CR5i8mQW.js} +31 -23
- package/dist/Chip-CR5i8mQW.js.map +1 -0
- package/dist/Chip.css +191 -206
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-CNQUROyr.js → Combobox-BffGTugd.js} +59 -72
- package/dist/Combobox-BffGTugd.js.map +1 -0
- package/dist/Combobox.css +158 -176
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-JRxu2yTP.js → DataTable-D9Xj1nq5.js} +73 -72
- package/dist/{DataTable-JRxu2yTP.js.map → DataTable-D9Xj1nq5.js.map} +1 -1
- package/dist/DataTable.css +593 -780
- package/dist/{DateFieldRange-D2hnF50O.js → DateFieldRange-DPTC3EZz.js} +6 -6
- package/dist/{DateFieldRange-D2hnF50O.js.map → DateFieldRange-DPTC3EZz.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BuaB7RDr.js → DateFieldSingle-w1G-zd9G.js} +6 -6
- package/dist/{DateFieldSingle-BuaB7RDr.js.map → DateFieldSingle-w1G-zd9G.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DLeMEutt.js → DateFieldYearless-DHNVc7Sd.js} +7 -7
- package/dist/{DateFieldYearless-DLeMEutt.js.map → DateFieldYearless-DHNVc7Sd.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-BfPuYKKC.js → DateFieldYearlessRange-C5ktVUgG.js} +10 -10
- package/dist/{DateFieldYearlessRange-BfPuYKKC.js.map → DateFieldYearlessRange-C5ktVUgG.js.map} +1 -1
- package/dist/DateFieldYearlessRange.css +11 -19
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-BW1T8sTU.js → DaysOfTheWeek-BubWkBZ0.js} +10 -10
- package/dist/{DaysOfTheWeek-BW1T8sTU.js.map → DaysOfTheWeek-BubWkBZ0.js.map} +1 -1
- package/dist/DaysOfTheWeek.css +19 -27
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-CZOIpNP_.js → Details-DYRJcLWL.js} +10 -10
- package/dist/{Details-CZOIpNP_.js.map → Details-DYRJcLWL.js.map} +1 -1
- package/dist/Details.css +134 -138
- package/dist/Details.js +1 -1
- package/dist/{Dialog-Cewu2pd_.js → Dialog-DGmF6qx3.js} +27 -26
- package/dist/Dialog-DGmF6qx3.js.map +1 -0
- package/dist/Dialog.css +108 -143
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-Czz4Wpse.js → DialogCancelButton-CbtQcf2J.js} +2 -2
- package/dist/{DialogCancelButton-Czz4Wpse.js.map → DialogCancelButton-CbtQcf2J.js.map} +1 -1
- package/dist/{Divider-B1UoK8ho.js → Divider-Ds3WKsKa.js} +19 -19
- package/dist/{Divider-B1UoK8ho.js.map → Divider-Ds3WKsKa.js.map} +1 -1
- package/dist/Divider.css +93 -169
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/DndSort.css +18 -34
- package/dist/DndSort.js +10 -10
- package/dist/{Drawer-Cb5asXWf.js → Drawer-iewBy1DW.js} +24 -25
- package/dist/{Drawer-Cb5asXWf.js.map → Drawer-iewBy1DW.js.map} +1 -1
- package/dist/Drawer.css +109 -144
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.css +117 -131
- package/dist/DrillDown.js +1 -1
- package/dist/DrillDown.module-D1Bf9_yP.js +27 -0
- package/dist/{DrillDown.module-C8VOhzaF.js.map → DrillDown.module-D1Bf9_yP.js.map} +1 -1
- package/dist/{EditCard-DlJE3LXN.js → EditCard-D7-Ye7R0.js} +21 -20
- package/dist/{EditCard-DlJE3LXN.js.map → EditCard-D7-Ye7R0.js.map} +1 -1
- package/dist/EditCard.css +71 -65
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-HO2VP-4B.js → FieldLabel-DZWu5dMp.js} +17 -17
- package/dist/{FieldLabel-HO2VP-4B.js.map → FieldLabel-DZWu5dMp.js.map} +1 -1
- package/dist/FieldLabel.css +66 -102
- package/dist/FieldLabel.js +1 -1
- package/dist/FieldMessage-DzxfodaI.js +81 -0
- package/dist/FieldMessage-DzxfodaI.js.map +1 -0
- package/dist/FieldMessage.css +20 -29
- package/dist/FieldMessage.js +1 -1
- package/dist/{Flex-WyyZm1bf.js → Flex-DOUtHiPi.js} +4 -4
- package/dist/{Flex-WyyZm1bf.js.map → Flex-DOUtHiPi.js.map} +1 -1
- package/dist/Flex.css +25 -28
- package/dist/Flex.js +1 -1
- package/dist/{Grid-DeYIx5k4.js → Grid-B1VVssDD.js} +5 -5
- package/dist/{Grid-DeYIx5k4.js.map → Grid-B1VVssDD.js.map} +1 -1
- package/dist/Grid.css +37 -54
- package/dist/Grid.js +1 -1
- package/dist/{Helper-B_FIOlhy.js → Helper-DtDeaYTn.js} +8 -10
- package/dist/Helper-DtDeaYTn.js.map +1 -0
- package/dist/Helper.css +4 -16
- package/dist/{Icon-DuIlne4x.js → Icon-BMMbp40n.js} +7 -7
- package/dist/{Icon-DuIlne4x.js.map → Icon-BMMbp40n.js.map} +1 -1
- package/dist/Icon.css +42 -48
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-CLLTehFI.js → InputMask-EwEJlW-t.js} +3 -3
- package/dist/{InputMask-CLLTehFI.js.map → InputMask-EwEJlW-t.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-GTYbR6Xy.js → InteractiveCard-CnW0m_F-.js} +7 -7
- package/dist/{InteractiveCard-GTYbR6Xy.js.map → InteractiveCard-CnW0m_F-.js.map} +1 -1
- package/dist/InteractiveCard.css +56 -57
- package/dist/InteractiveCard.js +1 -1
- package/dist/{Layout-CISAxILX.js → Layout-C2Q2hyLG.js} +80 -80
- package/dist/{Layout-CISAxILX.js.map → Layout-C2Q2hyLG.js.map} +1 -1
- package/dist/Layout.css +260 -324
- package/dist/Layout.js +1 -1
- package/dist/{Link-jTvzyXca.js → Link-BUgivkGS.js} +8 -8
- package/dist/{Link-jTvzyXca.js.map → Link-BUgivkGS.js.map} +1 -1
- package/dist/Link.css +48 -65
- package/dist/Link.js +1 -1
- package/dist/Link.module-DJc0cOlg.js +12 -0
- package/dist/Link.module-DJc0cOlg.js.map +1 -0
- package/dist/{LinkButton-DGyHR1E7.js → LinkButton-CuHSdGdj.js} +7 -16
- package/dist/LinkButton-CuHSdGdj.js.map +1 -0
- package/dist/LinkButton.js +1 -1
- package/dist/{List--KhCpjZn.js → List-BXyHWQ9e.js} +8 -8
- package/dist/{List--KhCpjZn.js.map → List-BXyHWQ9e.js.map} +1 -1
- package/dist/List.css +39 -58
- package/dist/List.js +1 -1
- package/dist/{ListView-CPi-qG2w.js → ListView-DBO9Bl1H.js} +4 -4
- package/dist/{ListView-CPi-qG2w.js.map → ListView-DBO9Bl1H.js.map} +1 -1
- package/dist/ListView.css +108 -120
- package/dist/ListView.js +1 -1
- package/dist/ListView.module-CRk9NfLG.js +9 -0
- package/dist/ListView.module-CRk9NfLG.js.map +1 -0
- package/dist/{Listbox-Bp4hqIpH.js → Listbox-DDlxpVu9.js} +7 -7
- package/dist/{Listbox-Bp4hqIpH.js.map → Listbox-DDlxpVu9.js.map} +1 -1
- package/dist/Listbox.css +102 -143
- package/dist/Listbox.js +1 -1
- package/dist/Listbox.module-CfpLm9pS.js +18 -0
- package/dist/Listbox.module-CfpLm9pS.js.map +1 -0
- package/dist/{LocalizationProvider-DWCyga_d.js → LocalizationProvider-CO8fQGqs.js} +2 -2
- package/dist/{LocalizationProvider-DWCyga_d.js.map → LocalizationProvider-CO8fQGqs.js.map} +1 -1
- package/dist/LocalizationProvider.js +1 -1
- package/dist/{Menu-CCavGohP.js → Menu-wpTyUDac.js} +10 -10
- package/dist/{Menu-CCavGohP.js.map → Menu-wpTyUDac.js.map} +1 -1
- package/dist/Menu.css +135 -137
- package/dist/Menu.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-ChZCW4M9.js → MultiSelectFieldSync-DZ3tm7zt.js} +34 -33
- package/dist/MultiSelectFieldSync-DZ3tm7zt.js.map +1 -0
- package/dist/MultiSelectFieldSync.css +263 -257
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-7C1wW4oO.js → MultiSelectMenuSync-dgO9SmHi.js} +4 -4
- package/dist/{MultiSelectMenuSync-7C1wW4oO.js.map → MultiSelectMenuSync-dgO9SmHi.js.map} +1 -1
- package/dist/{NumberField-CZSTHBeO.js → NumberField-DJbdyatF.js} +15 -12
- package/dist/{NumberField-CZSTHBeO.js.map → NumberField-DJbdyatF.js.map} +1 -1
- package/dist/NumberField.css +34 -49
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.css +143 -164
- package/dist/Overflow.js +44 -42
- package/dist/Overflow.js.map +1 -1
- package/dist/{Page-BHdvTlfE.js → Page-Be1Blwme.js} +65 -65
- package/dist/Page-Be1Blwme.js.map +1 -0
- package/dist/Page.css +384 -404
- package/dist/Page.js +1 -1
- package/dist/{Pagination-B5jqHYG3.js → Pagination-USDJM5vi.js} +29 -34
- package/dist/{Pagination-B5jqHYG3.js.map → Pagination-USDJM5vi.js.map} +1 -1
- package/dist/Pagination.css +63 -117
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BbqTZw-1.js → Popover-CyB7yzSf.js} +7 -7
- package/dist/{Popover-BbqTZw-1.js.map → Popover-CyB7yzSf.js.map} +1 -1
- package/dist/Popover.css +84 -97
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-CZcxkdX6.js → ProgressBar-DSrjgLTx.js} +15 -15
- package/dist/{ProgressBar-CZcxkdX6.js.map → ProgressBar-DSrjgLTx.js.map} +1 -1
- package/dist/ProgressBar.css +59 -81
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BFr8AdHc.js → Radio-CQaXJ72d.js} +2 -2
- package/dist/{Radio-BFr8AdHc.js.map → Radio-CQaXJ72d.js.map} +1 -1
- package/dist/{Radio-DJZVMCv0.js → Radio-DO4UhbBE.js} +45 -48
- package/dist/Radio-DO4UhbBE.js.map +1 -0
- package/dist/Radio.css +233 -229
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-im7AHGYo.js → SearchField-CsRGYZx3.js} +9 -11
- package/dist/{SearchField-im7AHGYo.js.map → SearchField-CsRGYZx3.js.map} +1 -1
- package/dist/SearchField.css +22 -39
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-B9NWUF7s.js → SegmentedControl-Chhqyyra.js} +15 -16
- package/dist/SegmentedControl-Chhqyyra.js.map +1 -0
- package/dist/SegmentedControl.css +103 -122
- package/dist/SegmentedControl.js +1 -1
- package/dist/SelectCard-CtXwY8FZ.js +351 -0
- package/dist/SelectCard-CtXwY8FZ.js.map +1 -0
- package/dist/SelectCard.css +135 -82
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-kEBS8L4l.js → SelectFieldLabel-DLT5dKbx.js} +3 -3
- package/dist/{SelectFieldLabel-kEBS8L4l.js.map → SelectFieldLabel-DLT5dKbx.js.map} +1 -1
- package/dist/{SelectFieldSync-o1Cp9UYC.js → SelectFieldSync-C44hPeeS.js} +9 -8
- package/dist/SelectFieldSync-C44hPeeS.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DXrwecFt.js → SelectMenuSync-V97oN85V.js} +4 -4
- package/dist/{SelectMenuSync-DXrwecFt.js.map → SelectMenuSync-V97oN85V.js.map} +1 -1
- package/dist/{SelectOptions-Dy2OWqxn.js → SelectOptions-CDoo4AUu.js} +2 -2
- package/dist/{SelectOptions-Dy2OWqxn.js.map → SelectOptions-CDoo4AUu.js.map} +1 -1
- package/dist/{SelectTrigger-DhKYzEAr.js → SelectTrigger-BWN3Tx43.js} +5 -5
- package/dist/{SelectTrigger-DhKYzEAr.js.map → SelectTrigger-BWN3Tx43.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Ni8WqeUx.js → SelectTriggerBase-Do7lQ5rw.js} +8 -7
- package/dist/{SelectTriggerBase-Ni8WqeUx.js.map → SelectTriggerBase-Do7lQ5rw.js.map} +1 -1
- package/dist/SelectTriggerBase.css +231 -305
- package/dist/SelectTriggerBase.module-DKF1FQnc.js +37 -0
- package/dist/SelectTriggerBase.module-DKF1FQnc.js.map +1 -0
- package/dist/{SideNav-CrxYExjh.js → SideNav-CZRVOSbt.js} +19 -14
- package/dist/SideNav-CZRVOSbt.js.map +1 -0
- package/dist/SideNav.css +126 -294
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.css +57 -65
- package/dist/Skeleton.js +16 -16
- package/dist/Skeleton.js.map +1 -1
- package/dist/{Spinner-BqmcE2pb.js → Spinner-lPMo68yW.js} +16 -17
- package/dist/Spinner-lPMo68yW.js.map +1 -0
- package/dist/Spinner.css +33 -43
- package/dist/Spinner.js +1 -1
- package/dist/{SrOnly-eUpYGpAT.js → SrOnly-pnf8ajnh.js} +2 -2
- package/dist/{SrOnly-eUpYGpAT.js.map → SrOnly-pnf8ajnh.js.map} +1 -1
- package/dist/SrOnly.css +12 -14
- package/dist/SrOnly.js +1 -1
- package/dist/StatusIcon-BwULopyH.js +57 -0
- package/dist/StatusIcon-BwULopyH.js.map +1 -0
- package/dist/StatusIcon.css +32 -0
- package/dist/{Stepper-Dt2xAXth.js → Stepper-CYY64NU1.js} +16 -16
- package/dist/{Stepper-Dt2xAXth.js.map → Stepper-CYY64NU1.js.map} +1 -1
- package/dist/Stepper.css +180 -239
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-C84MBChG.js → Switch-DeBu4Ucg.js} +17 -13
- package/dist/{Switch-C84MBChG.js.map → Switch-DeBu4Ucg.js.map} +1 -1
- package/dist/Switch.css +109 -125
- package/dist/Switch.js +1 -1
- package/dist/{Tab-BZpTCG0i.js → Tab-CewPzmuK.js} +20 -34
- package/dist/Tab-CewPzmuK.js.map +1 -0
- package/dist/Tab.css +232 -194
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-WiS8UZkY.js → Text-J5YtSSXY.js} +15 -38
- package/dist/Text-J5YtSSXY.js.map +1 -0
- package/dist/Text.css +101 -142
- package/dist/Text.js +1 -1
- package/dist/Text.module-BXrY87ui.js +23 -0
- package/dist/Text.module-BXrY87ui.js.map +1 -0
- package/dist/{TextField-Bul_uln5.js → TextField-CRDTnuUN.js} +7 -7
- package/dist/{TextField-Bul_uln5.js.map → TextField-CRDTnuUN.js.map} +1 -1
- package/dist/{TextField-OznkTx4e.js → TextField-YlMkDHp-.js} +2 -2
- package/dist/{TextField-OznkTx4e.js.map → TextField-YlMkDHp-.js.map} +1 -1
- package/dist/TextField.css +156 -148
- package/dist/TextField.js +1 -1
- package/dist/TextField.module-MRVo1X9H.js +23 -0
- package/dist/TextField.module-MRVo1X9H.js.map +1 -0
- package/dist/{Textarea-CCYLsJ1x.js → Textarea-CxXmr_Gx.js} +16 -13
- package/dist/{Textarea-CCYLsJ1x.js.map → Textarea-CxXmr_Gx.js.map} +1 -1
- package/dist/Textarea.css +71 -81
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-CaYW3RuA.js → ThemeProvider-D4KdGCaP.js} +11 -9
- package/dist/ThemeProvider-D4KdGCaP.js.map +1 -0
- package/dist/ThemeProvider.css +586 -516
- package/dist/ThemeProvider.js +1 -1
- package/dist/{TimeField-BPvPbD8H.js → TimeField-DTg0CE5L.js} +7 -7
- package/dist/{TimeField-BPvPbD8H.js.map → TimeField-DTg0CE5L.js.map} +1 -1
- package/dist/TimeField.css +5 -8
- package/dist/TimeField.js +1 -1
- package/dist/{TimezoneMessage-Cnsl4cHT.js → TimezoneMessage-BrKB_psP.js} +2 -2
- package/dist/{TimezoneMessage-Cnsl4cHT.js.map → TimezoneMessage-BrKB_psP.js.map} +1 -1
- package/dist/TimezoneMessage.css +5 -5
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-DYJm06Vb.js → Toaster-Bq42x6Gx.js} +35 -34
- package/dist/Toaster-Bq42x6Gx.js.map +1 -0
- package/dist/{Toaster-CIaIvwH6.js → Toaster-Dly3rfva.js} +2 -2
- package/dist/{Toaster-CIaIvwH6.js.map → Toaster-Dly3rfva.js.map} +1 -1
- package/dist/Toaster.css +210 -242
- package/dist/{Toolbar-ByyI7SqG.js → Toolbar-C1_etxss.js} +42 -42
- package/dist/{Toolbar-ByyI7SqG.js.map → Toolbar-C1_etxss.js.map} +1 -1
- package/dist/Toolbar.css +121 -202
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-C1PBRnJv.js → Tooltip-BlStOXN3.js} +8 -8
- package/dist/{Tooltip-C1PBRnJv.js.map → Tooltip-BlStOXN3.js.map} +1 -1
- package/dist/Tooltip.css +46 -58
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-C_twiQW5.js → YearlessDateInputWithPicker-DyytWt0x.js} +14 -16
- package/dist/{YearlessDateInputWithPicker-C_twiQW5.js.map → YearlessDateInputWithPicker-DyytWt0x.js.map} +1 -1
- package/dist/YearlessDateInputWithPicker.css +110 -196
- package/dist/assets/css-utils/a2-border.css +47 -45
- package/dist/assets/css-utils/a2-color.css +443 -227
- package/dist/assets/css-utils/a2-font.css +0 -2
- package/dist/assets/css-utils/a2-spacing.css +476 -478
- package/dist/assets/css-utils/a2-utils.css +992 -772
- package/dist/assets/css-utils/border.css +47 -45
- package/dist/assets/css-utils/color.css +443 -227
- package/dist/assets/css-utils/font.css +0 -2
- package/dist/assets/css-utils/spacing.css +476 -478
- package/dist/assets/css-utils/utils.css +992 -772
- package/dist/beta.js +10 -10
- package/dist/{indeterminate_check_box-B4zobNlt.js → check_box-0U1tbEAd.js} +2 -4
- package/dist/check_box-0U1tbEAd.js.map +1 -0
- package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
- package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
- package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
- package/dist/components/NumberField/NumberField.d.ts +1 -1
- package/dist/components/Page/Page.d.ts +2 -2
- package/dist/components/SearchField/internal/SearchField.d.ts +1 -1
- package/dist/components/Stepper/Stepper.d.ts +1 -1
- package/dist/components/Stepper/StepperStep.d.ts +1 -1
- package/dist/components/Tab/Tab.d.ts +1 -1
- package/dist/components/Tab/TabButton.d.ts +1 -1
- package/dist/indeterminate_check_box-jjLG4UY6.js +6 -0
- package/dist/indeterminate_check_box-jjLG4UY6.js.map +1 -0
- package/dist/{index-D6ag_WQW.js → index-ByMdotWU.js} +18 -18
- package/dist/{index-D6ag_WQW.js.map → index-ByMdotWU.js.map} +1 -1
- package/dist/index.css +98 -126
- package/dist/index.js +85 -82
- package/dist/index.js.map +1 -1
- package/dist/index2.css +57 -74
- package/dist/internal/components/StatusIcon/StatusIcon.d.ts +5 -5
- package/dist/internal/hooks/useSelectOrchestration.d.ts +1 -1
- package/dist/primitive-DXlHdTFb.js +1056 -0
- package/dist/primitive-DXlHdTFb.js.map +1 -0
- package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
- package/dist/{stripInlineMarkdown-Cg1qlNwL.js → stripInlineMarkdown-BWbMy7r_.js} +2 -2
- package/dist/{stripInlineMarkdown-Cg1qlNwL.js.map → stripInlineMarkdown-BWbMy7r_.js.map} +1 -1
- package/dist/{syncFilterUtils-UR5Vgqkh.js → syncFilterUtils-BLcRXQfd.js} +49 -49
- package/dist/syncFilterUtils-BLcRXQfd.js.map +1 -0
- package/dist/syncFilterUtils.css +189 -217
- package/dist/token/core/component-variables.scss +1088 -131
- package/dist/token/core/component.d.ts +558 -0
- package/dist/token/core/component.js +6685 -249
- package/dist/token/core/component.scss +557 -69
- package/dist/token/core/css-utils/a2-border.css +47 -45
- package/dist/token/core/css-utils/a2-color.css +443 -227
- package/dist/token/core/css-utils/a2-font.css +0 -2
- package/dist/token/core/css-utils/a2-spacing.css +476 -478
- package/dist/token/core/css-utils/a2-utils.css +992 -772
- package/dist/token/core/css-utils/border.css +47 -45
- package/dist/token/core/css-utils/color.css +443 -227
- package/dist/token/core/css-utils/font.css +0 -2
- package/dist/token/core/css-utils/spacing.css +476 -478
- package/dist/token/core/css-utils/utils.css +992 -772
- package/dist/token/core/index.d.ts +6 -0
- package/dist/token/core/index.js +1 -1
- package/dist/token/core/primitive-variables.scss +148 -65
- package/dist/token/core/primitive.d.ts +209 -0
- package/dist/token/core/primitive.js +779 -61
- package/dist/token/core/primitive.scss +207 -124
- package/dist/token/core/semantic-variables.scss +363 -245
- package/dist/token/core/semantic.d.ts +221 -0
- package/dist/token/core/semantic.js +1592 -347
- package/dist/token/core/semantic.scss +219 -140
- package/dist/token.js +9076 -833
- package/dist/token.js.map +1 -1
- package/dist/{useBreakpoint-okJ64T1D.js → useBreakpoint-CeaUyHxh.js} +2 -2
- package/dist/{useBreakpoint-okJ64T1D.js.map → useBreakpoint-CeaUyHxh.js.map} +1 -1
- package/dist/useBreakpoint.js +1 -1
- package/dist/{useDrillDownContext-BssSasVB.js → useDrillDownContext-iUvoTget.js} +2 -2
- package/dist/{useDrillDownContext-BssSasVB.js.map → useDrillDownContext-iUvoTget.js.map} +1 -1
- package/dist/{useDrilldown-D6VZNSCX.js → useDrilldown-D5WWJRU2.js} +7 -7
- package/dist/{useDrilldown-D6VZNSCX.js.map → useDrilldown-D5WWJRU2.js.map} +1 -1
- package/dist/{useLayoutPropsUtil-DMDdfIah.js → useLayoutPropsUtil-CB_zHDbW.js} +3 -3
- package/dist/{useLayoutPropsUtil-DMDdfIah.js.map → useLayoutPropsUtil-CB_zHDbW.js.map} +1 -1
- package/dist/{useToggleSelection-BBdrIVWs.js → useToggleSelection-D_2qS0P1.js} +2 -2
- package/dist/{useToggleSelection-BBdrIVWs.js.map → useToggleSelection-D_2qS0P1.js.map} +1 -1
- package/package.json +2 -2
- package/dist/Alert-Dj61Bq8h.js.map +0 -1
- package/dist/AnvilProvider-DUPYyMc7.js.map +0 -1
- package/dist/Avatar-BckUfs1N.js.map +0 -1
- package/dist/Button.module-wCtFYGVD.js +0 -26
- package/dist/Button.module-wCtFYGVD.js.map +0 -1
- package/dist/ButtonCompound-Cmw3cgMY.js.map +0 -1
- package/dist/ButtonLink-BJKTJER8.js.map +0 -1
- package/dist/ButtonToggle-DaFQ3DBG.js.map +0 -1
- package/dist/Calendar-Dxl9QnfP.js.map +0 -1
- package/dist/Checkbox-B-XTVPbX.js.map +0 -1
- package/dist/Checkbox.module-EkRZO48Y.js +0 -28
- package/dist/Checkbox.module-EkRZO48Y.js.map +0 -1
- package/dist/Chip-Ce0WGKAc.js.map +0 -1
- package/dist/Combobox-CNQUROyr.js.map +0 -1
- package/dist/Dialog-Cewu2pd_.js.map +0 -1
- package/dist/DrillDown.module-C8VOhzaF.js +0 -27
- package/dist/FieldMessage-COHqUdj5.js +0 -132
- package/dist/FieldMessage-COHqUdj5.js.map +0 -1
- package/dist/Helper-B_FIOlhy.js.map +0 -1
- package/dist/Link.module-CZt9wvuD.js +0 -12
- package/dist/Link.module-CZt9wvuD.js.map +0 -1
- package/dist/LinkButton-DGyHR1E7.js.map +0 -1
- package/dist/LinkButton.css +0 -5
- package/dist/ListView.module-BilDg12y.js +0 -9
- package/dist/ListView.module-BilDg12y.js.map +0 -1
- package/dist/Listbox.module-HAXMOKvC.js +0 -18
- package/dist/Listbox.module-HAXMOKvC.js.map +0 -1
- package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +0 -1
- package/dist/Page-BHdvTlfE.js.map +0 -1
- package/dist/Radio-DJZVMCv0.js.map +0 -1
- package/dist/SegmentedControl-B9NWUF7s.js.map +0 -1
- package/dist/SelectCard-DVcWJRbX.js +0 -352
- package/dist/SelectCard-DVcWJRbX.js.map +0 -1
- package/dist/SelectFieldSync-o1Cp9UYC.js.map +0 -1
- package/dist/SelectTriggerBase.module-CKoq6qzX.js +0 -38
- package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +0 -1
- package/dist/SideNav-CrxYExjh.js.map +0 -1
- package/dist/Spinner-BqmcE2pb.js.map +0 -1
- package/dist/Tab-BZpTCG0i.js.map +0 -1
- package/dist/Text-WiS8UZkY.js.map +0 -1
- package/dist/TextField.module-BP-hDP5m.js +0 -22
- package/dist/TextField.module-BP-hDP5m.js.map +0 -1
- package/dist/ThemeProvider-CaYW3RuA.js.map +0 -1
- package/dist/Toaster-DYJm06Vb.js.map +0 -1
- package/dist/indeterminate_check_box-B4zobNlt.js.map +0 -1
- package/dist/primitive-C3RFDRA8.js +0 -255
- package/dist/primitive-C3RFDRA8.js.map +0 -1
- package/dist/syncFilterUtils-UR5Vgqkh.js.map +0 -1
- package/dist/token/core/raw.js +0 -234
package/dist/Divider.css
CHANGED
|
@@ -1,171 +1,95 @@
|
|
|
1
|
-
@layer starter, reset, base, state, application
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
.anvil2{@layer starter, reset, base, state, application;._container_klljw_1 {
|
|
2
|
+
--a2-mod-divider-border-color: var(--a2-divider-border-color, var(--a2-border-color-subdued, light-dark(var(--a2-color-neutral-80, #e6e6e6), var(--a2-color-neutral-700, #404040))));
|
|
3
|
+
--a2-mod-divider-spacing: 0;
|
|
4
|
+
all: unset;
|
|
5
|
+
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
6
|
+
font-size: 100%;
|
|
7
|
+
color: inherit;
|
|
8
|
+
margin: 0;
|
|
9
|
+
padding: 0;
|
|
10
|
+
border-style: none;
|
|
11
|
+
border-width: 0;
|
|
12
|
+
border-color: transparent;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
display: flex;
|
|
15
|
+
background-color: unset;
|
|
16
|
+
overflow: visible;
|
|
17
|
+
position: relative;
|
|
18
|
+
width: -webkit-fill-available;
|
|
19
|
+
width: -moz-available;
|
|
20
|
+
width: stretch;
|
|
21
|
+
}._divider_klljw_21 {
|
|
22
|
+
all: unset;
|
|
23
|
+
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
24
|
+
font-size: 100%;
|
|
25
|
+
color: inherit;
|
|
26
|
+
margin: 0;
|
|
27
|
+
padding: 0;
|
|
28
|
+
border-style: none;
|
|
29
|
+
border-width: 0;
|
|
30
|
+
border-color: transparent;
|
|
31
|
+
box-sizing: border-box;
|
|
32
|
+
display: inline-block;
|
|
33
|
+
flex: 1;
|
|
34
|
+
height: var(--a2-mod-divider-height, var(--a2-size-quarter, 0.0625rem));
|
|
35
|
+
min-width: var(--a2-size-4, 1rem);
|
|
36
|
+
text-align: center;
|
|
37
|
+
width: var(--a2-mod-divider-width, -webkit-fill-available);
|
|
38
|
+
width: var(--a2-mod-divider-width, -moz-available);
|
|
39
|
+
width: var(--a2-mod-divider-width, stretch);
|
|
40
|
+
}._content_klljw_40 {
|
|
41
|
+
background-color: inherit;
|
|
42
|
+
display: inline-flex;
|
|
43
|
+
font-size: var(--a2-typography-label-size-large, var(--a2-font-size-400, 1rem));
|
|
44
|
+
height: inherit;
|
|
45
|
+
padding-block: var(--a2-size-2, 0.5rem);
|
|
46
|
+
padding-inline: var(--a2-mod-divider-content-padding-start, var(--a2-size-2, 0.5rem)) var(--a2-mod-divider-content-padding-end, var(--a2-size-2, 0.5rem));
|
|
47
|
+
z-index: 1;
|
|
48
|
+
}._spacing-0_klljw_50 {
|
|
49
|
+
--a2-mod-divider-spacing: 0;
|
|
50
|
+
}._spacing-half_klljw_54 {
|
|
51
|
+
--a2-mod-divider-spacing: var(--a2-size-1, 0.25rem);
|
|
52
|
+
}._spacing-1_klljw_58,
|
|
53
|
+
._spacing-2_klljw_59 {
|
|
54
|
+
--a2-mod-divider-spacing: var(--a2-size-2, 0.5rem);
|
|
55
|
+
}._spacing-3_klljw_63 {
|
|
56
|
+
--a2-mod-divider-spacing: var(--a2-size-3, 0.75rem);
|
|
57
|
+
}._spacing-4_klljw_67 {
|
|
58
|
+
--a2-mod-divider-spacing: var(--a2-size-4, 1rem);
|
|
59
|
+
}._spacing-5_klljw_71 {
|
|
60
|
+
--a2-mod-divider-spacing: var(--a2-size-5, 1.25rem);
|
|
61
|
+
}._spacing-6_klljw_75 {
|
|
62
|
+
--a2-mod-divider-spacing: var(--a2-size-6, 1.5rem);
|
|
63
|
+
}._spacing-8_klljw_79 {
|
|
64
|
+
--a2-mod-divider-spacing: var(--a2-size-8, 2rem);
|
|
65
|
+
}._spacing-12_klljw_83 {
|
|
66
|
+
--a2-mod-divider-spacing: var(--a2-size-12, 3rem);
|
|
67
|
+
}._align-start_klljw_87 {
|
|
68
|
+
--a2-mod-divider-content-padding-start: 0;
|
|
69
|
+
}._align-end_klljw_91 {
|
|
70
|
+
--a2-mod-divider-content-padding-end: 0;
|
|
71
|
+
}._container_klljw_1:not(._vertical_klljw_95) {
|
|
72
|
+
align-items: center;
|
|
73
|
+
padding-block: var(--a2-mod-divider-spacing);
|
|
74
|
+
}._container_klljw_1:not(._vertical_klljw_95) ._divider_klljw_21 {
|
|
75
|
+
border-block-start: var(--a2-size-quarter, 0.0625rem) solid var(--a2-mod-divider-border-color);
|
|
76
|
+
}._vertical_klljw_95 {
|
|
77
|
+
flex-direction: column;
|
|
78
|
+
padding-inline: var(--a2-mod-divider-spacing);
|
|
79
|
+
width: var(--a2-size-quarter, 0.0625rem);
|
|
80
|
+
}._vertical_klljw_95 ._divider_klljw_21 {
|
|
81
|
+
--a2-mod-divider-height: 100%;
|
|
82
|
+
--a2-mod-divider-width: var(--a2-size-quarter, 0.0625rem);
|
|
83
|
+
border-inline-start: var(--a2-size-quarter, 0.0625rem) solid var(--a2-mod-divider-border-color);
|
|
84
|
+
}._vertical_klljw_95 ._content_klljw_40 {
|
|
85
|
+
padding-block: var(--a2-mod-divider-content-padding-start, var(--a2-size-2, 0.5rem)) var(--a2-mod-divider-content-padding-end, var(--a2-size-2, 0.5rem));
|
|
86
|
+
padding-inline: var(--a2-size-2, 0.5rem);
|
|
87
|
+
transform: translateX(-50%);
|
|
88
|
+
width: -moz-fit-content;
|
|
89
|
+
width: fit-content;
|
|
90
|
+
}._vertical_klljw_95._spacing-half_klljw_54 {
|
|
91
|
+
--a2-mod-divider-spacing: var(--a2-size-half, 0.125rem);
|
|
92
|
+
}._vertical_klljw_95._spacing-1_klljw_58 {
|
|
93
|
+
--a2-mod-divider-spacing: var(--a2-size-1, 0.25rem);
|
|
16
94
|
}
|
|
17
|
-
@layer base {
|
|
18
|
-
._container_1t0cy_2 {
|
|
19
|
-
background-color: unset;
|
|
20
|
-
width: -webkit-fill-available;
|
|
21
|
-
width: -moz-available;
|
|
22
|
-
width: stretch;
|
|
23
|
-
position: relative;
|
|
24
|
-
overflow: visible;
|
|
25
|
-
}
|
|
26
|
-
._container_1t0cy_2 ._divider_1t0cy_23 {
|
|
27
|
-
all: unset;
|
|
28
|
-
font-family: var(--font-family-base, "Nunito Sans", sans-serif);
|
|
29
|
-
font-size: 100%;
|
|
30
|
-
color: var(--foreground-color, #141414);
|
|
31
|
-
margin: 0;
|
|
32
|
-
padding: 0;
|
|
33
|
-
border-style: none;
|
|
34
|
-
border-width: 0;
|
|
35
|
-
border-color: transparent;
|
|
36
|
-
box-sizing: border-box;
|
|
37
|
-
display: inline-block;
|
|
38
|
-
flex: 1;
|
|
39
|
-
text-align: center;
|
|
40
|
-
height: 0.0625rem;
|
|
41
|
-
width: -webkit-fill-available;
|
|
42
|
-
width: -moz-available;
|
|
43
|
-
width: stretch;
|
|
44
|
-
min-width: 1rem;
|
|
45
|
-
}
|
|
46
|
-
._container_1t0cy_2 ._content_1t0cy_41 {
|
|
47
|
-
z-index: 1;
|
|
48
|
-
background-color: inherit;
|
|
49
|
-
height: inherit;
|
|
50
|
-
display: inline-flex;
|
|
51
|
-
font-size: 1rem;
|
|
52
|
-
padding-block: 0.5rem;
|
|
53
|
-
padding-inline: 0.5rem;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
@layer state {
|
|
57
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52) {
|
|
58
|
-
align-items: center;
|
|
59
|
-
}
|
|
60
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52) ._divider_1t0cy_23 {
|
|
61
|
-
border-block-start: 0.0625rem solid var(--border-color-subdued, #dfe0e1);
|
|
62
|
-
}
|
|
63
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._align-start_1t0cy_58 ._content_1t0cy_41 {
|
|
64
|
-
padding-inline-start: 0;
|
|
65
|
-
}
|
|
66
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._align-end_1t0cy_61 ._content_1t0cy_41 {
|
|
67
|
-
padding-inline-end: 0;
|
|
68
|
-
}
|
|
69
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-0_1t0cy_64 {
|
|
70
|
-
padding-block-start: 0;
|
|
71
|
-
padding-block-end: 0;
|
|
72
|
-
}
|
|
73
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-half_1t0cy_68 {
|
|
74
|
-
padding-block-start: 0.25rem;
|
|
75
|
-
padding-block-end: 0.25rem;
|
|
76
|
-
}
|
|
77
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-1_1t0cy_72 {
|
|
78
|
-
padding-block-start: 0.5rem;
|
|
79
|
-
padding-block-end: 0.5rem;
|
|
80
|
-
}
|
|
81
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-2_1t0cy_76 {
|
|
82
|
-
padding-block-start: 0.5rem;
|
|
83
|
-
padding-block-end: 0.5rem;
|
|
84
|
-
}
|
|
85
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-3_1t0cy_80 {
|
|
86
|
-
padding-block-start: 0.75rem;
|
|
87
|
-
padding-block-end: 0.75rem;
|
|
88
|
-
}
|
|
89
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-4_1t0cy_84 {
|
|
90
|
-
padding-block-start: 1rem;
|
|
91
|
-
padding-block-end: 1rem;
|
|
92
|
-
}
|
|
93
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-5_1t0cy_88 {
|
|
94
|
-
padding-block-start: 1.25rem;
|
|
95
|
-
padding-block-end: 1.25rem;
|
|
96
|
-
}
|
|
97
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-6_1t0cy_92 {
|
|
98
|
-
padding-block-start: 1.5rem;
|
|
99
|
-
padding-block-end: 1.5rem;
|
|
100
|
-
}
|
|
101
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-8_1t0cy_96 {
|
|
102
|
-
padding-block-start: 2rem;
|
|
103
|
-
padding-block-end: 2rem;
|
|
104
|
-
}
|
|
105
|
-
._container_1t0cy_2:not(._vertical_1t0cy_52)._spacing-12_1t0cy_100 {
|
|
106
|
-
padding-block-start: 3rem;
|
|
107
|
-
padding-block-end: 3rem;
|
|
108
|
-
}
|
|
109
|
-
._container_1t0cy_2._vertical_1t0cy_52 {
|
|
110
|
-
width: 0.0625rem;
|
|
111
|
-
flex-direction: column;
|
|
112
|
-
}
|
|
113
|
-
._container_1t0cy_2._vertical_1t0cy_52 ._divider_1t0cy_23 {
|
|
114
|
-
border-left: 0.0625rem solid var(--border-color-subdued, #dfe0e1);
|
|
115
|
-
}
|
|
116
|
-
._container_1t0cy_2._vertical_1t0cy_52._align-start_1t0cy_58 ._content_1t0cy_41 {
|
|
117
|
-
padding-block-start: 0;
|
|
118
|
-
}
|
|
119
|
-
._container_1t0cy_2._vertical_1t0cy_52._align-end_1t0cy_61 ._content_1t0cy_41 {
|
|
120
|
-
padding-block-end: 0;
|
|
121
|
-
}
|
|
122
|
-
._container_1t0cy_2._vertical_1t0cy_52 ._content_1t0cy_41 {
|
|
123
|
-
width: -moz-fit-content;
|
|
124
|
-
width: fit-content;
|
|
125
|
-
transform: translateX(-50%);
|
|
126
|
-
}
|
|
127
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-0_1t0cy_64 {
|
|
128
|
-
padding-inline-start: 0;
|
|
129
|
-
padding-inline-end: 0;
|
|
130
|
-
}
|
|
131
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-half_1t0cy_68 {
|
|
132
|
-
padding-inline-start: 0.125rem;
|
|
133
|
-
padding-inline-end: 0.125rem;
|
|
134
|
-
}
|
|
135
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-1_1t0cy_72 {
|
|
136
|
-
padding-inline-start: 0.25rem;
|
|
137
|
-
padding-inline-end: 0.25rem;
|
|
138
|
-
}
|
|
139
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-2_1t0cy_76 {
|
|
140
|
-
padding-inline-start: 0.5rem;
|
|
141
|
-
padding-inline-end: 0.5rem;
|
|
142
|
-
}
|
|
143
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-3_1t0cy_80 {
|
|
144
|
-
padding-inline-start: 0.75rem;
|
|
145
|
-
padding-inline-end: 0.75rem;
|
|
146
|
-
}
|
|
147
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-4_1t0cy_84 {
|
|
148
|
-
padding-inline-start: 1rem;
|
|
149
|
-
padding-inline-end: 1rem;
|
|
150
|
-
}
|
|
151
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-5_1t0cy_88 {
|
|
152
|
-
padding-inline-start: 1.25rem;
|
|
153
|
-
padding-inline-end: 1.25rem;
|
|
154
|
-
}
|
|
155
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-6_1t0cy_92 {
|
|
156
|
-
padding-inline-start: 1.5rem;
|
|
157
|
-
padding-inline-end: 1.5rem;
|
|
158
|
-
}
|
|
159
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-8_1t0cy_96 {
|
|
160
|
-
padding-inline-start: 2rem;
|
|
161
|
-
padding-inline-end: 2rem;
|
|
162
|
-
}
|
|
163
|
-
._container_1t0cy_2._vertical_1t0cy_52._spacing-12_1t0cy_100 {
|
|
164
|
-
padding-inline-start: 3rem;
|
|
165
|
-
padding-inline-end: 3rem;
|
|
166
|
-
}
|
|
167
|
-
._container_1t0cy_2._vertical_1t0cy_52 ._divider_1t0cy_23 {
|
|
168
|
-
height: 100%;
|
|
169
|
-
width: 0.0625rem;
|
|
170
|
-
}
|
|
171
95
|
}
|
package/dist/Divider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as Divider, D as default } from './Divider-
|
|
1
|
+
export { D as Divider, D as default } from './Divider-Ds3WKsKa.js';
|
|
2
2
|
//# sourceMappingURL=Divider.js.map
|
package/dist/Dnd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { D as Dnd } from './index-
|
|
1
|
+
export { D as Dnd } from './index-ByMdotWU.js';
|
|
2
2
|
//# sourceMappingURL=Dnd.js.map
|
package/dist/DndSort.css
CHANGED
|
@@ -1,36 +1,20 @@
|
|
|
1
|
-
@layer starter, reset, base, state, application
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
top: var(--padding);
|
|
20
|
-
}
|
|
21
|
-
._card-button-wrapper_kt9y0_20 {
|
|
22
|
-
width: 100%;
|
|
23
|
-
font-weight: unset;
|
|
24
|
-
border: none;
|
|
25
|
-
}
|
|
1
|
+
.anvil2{@layer starter, reset, base, state, application;/* Base */._card_1roww_2[data-anv=draggable-card] {
|
|
2
|
+
--a2-mod-dnd-handle-size: var(--a2-size-8, 2rem);
|
|
3
|
+
font-weight: normal;
|
|
4
|
+
line-height: normal;
|
|
5
|
+
min-height: calc(var(--a2-mod-dnd-handle-size) + var(--a2-mod-card-padding) * 2);
|
|
6
|
+
padding-inline-start: calc(var(--a2-mod-card-padding) + var(--a2-mod-dnd-handle-size) + var(--a2-mod-dnd-sort-drag-indicator-gap));
|
|
7
|
+
position: relative;
|
|
8
|
+
width: 100%;
|
|
9
|
+
}._card-handle_1roww_12 {
|
|
10
|
+
left: calc(var(--a2-mod-card-padding) - var(--a2-mod-dnd-sort-padding-drag-offset));
|
|
11
|
+
position: absolute;
|
|
12
|
+
top: var(--a2-mod-card-padding);
|
|
13
|
+
}._card-button-wrapper_1roww_18 {
|
|
14
|
+
--a2-mod-button-border-width: 0;
|
|
15
|
+
--a2-mod-button-width: 100%;
|
|
16
|
+
}/* State */._active_1roww_24 {
|
|
17
|
+
cursor: grabbing;
|
|
18
|
+
opacity: 0.4;
|
|
26
19
|
}
|
|
27
|
-
@layer state {
|
|
28
|
-
._card_kt9y0_4._active_kt9y0_10 {
|
|
29
|
-
cursor: grabbing;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
@layer application {
|
|
33
|
-
._card_kt9y0_4 {
|
|
34
|
-
line-height: normal !important;
|
|
35
|
-
}
|
|
36
20
|
}
|
package/dist/DndSort.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import React__default, { useLayoutEffect, useEffect, useRef, useMemo, useCallback, useState, memo, useReducer, createContext, useContext, forwardRef, cloneElement } from 'react';
|
|
3
3
|
import { unstable_batchedUpdates, createPortal } from 'react-dom';
|
|
4
|
-
import { s as styles, a as DndSortLine, b as DndHandleButton, c as DndHandle, D as Dnd } from './index-
|
|
4
|
+
import { s as styles, a as DndSortLine, b as DndHandleButton, c as DndHandle, D as Dnd } from './index-ByMdotWU.js';
|
|
5
5
|
import { c as cx } from './index-De1g9FRV.js';
|
|
6
6
|
import { D as DrawerContext } from './DrawerContext-BSpnzXVZ.js';
|
|
7
7
|
import { D as DialogContext } from './DialogContext-DBgtApl9.js';
|
|
8
|
-
import { B as ButtonCompound } from './ButtonCompound-
|
|
9
|
-
import { C as Card } from './Card-
|
|
10
|
-
import { F as Flex } from './Flex-
|
|
11
|
-
import { s as sizeToToken } from './useLayoutPropsUtil-
|
|
8
|
+
import { B as ButtonCompound } from './ButtonCompound-DsrK7G3q.js';
|
|
9
|
+
import { C as Card } from './Card-DSFuXUGk.js';
|
|
10
|
+
import { F as Flex } from './Flex-DOUtHiPi.js';
|
|
11
|
+
import { s as sizeToToken } from './useLayoutPropsUtil-CB_zHDbW.js';
|
|
12
12
|
|
|
13
13
|
import './DndSort.css';function useCombinedRefs() {
|
|
14
14
|
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -5365,13 +5365,13 @@ function DndSortItem({
|
|
|
5365
5365
|
);
|
|
5366
5366
|
}
|
|
5367
5367
|
|
|
5368
|
-
const card = "
|
|
5369
|
-
const active = "
|
|
5368
|
+
const card = "_card_1roww_2";
|
|
5369
|
+
const active = "_active_1roww_24";
|
|
5370
5370
|
const dndSortStyles = {
|
|
5371
5371
|
card: card,
|
|
5372
|
-
|
|
5373
|
-
"card-
|
|
5374
|
-
|
|
5372
|
+
"card-handle": "_card-handle_1roww_12",
|
|
5373
|
+
"card-button-wrapper": "_card-button-wrapper_1roww_18",
|
|
5374
|
+
active: active
|
|
5375
5375
|
};
|
|
5376
5376
|
|
|
5377
5377
|
function DndSortCard({
|
|
@@ -1,46 +1,45 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useContext, forwardRef, useState, useEffect, useRef, useId, useCallback, useLayoutEffect, useMemo } from 'react';
|
|
3
3
|
import { S as SvgClose } from './close-DZj38AEh.js';
|
|
4
|
-
import { T as Text } from './Text-
|
|
5
|
-
import { B as Button } from './Button-
|
|
4
|
+
import { T as Text } from './Text-J5YtSSXY.js';
|
|
5
|
+
import { B as Button } from './Button-Bnt8XUI7.js';
|
|
6
6
|
import { D as DrawerContext } from './DrawerContext-BSpnzXVZ.js';
|
|
7
7
|
import { c as childrenToString } from './childrenToString-Bz9MqbHb.js';
|
|
8
8
|
import { useTrackingId } from './useTrackingId.js';
|
|
9
9
|
import { c as cx } from './index-De1g9FRV.js';
|
|
10
10
|
import { u as useMergeRefs } from './useMergeRefs-Dfmtq9cI.js';
|
|
11
|
-
import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-
|
|
12
|
-
import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-
|
|
11
|
+
import { a as ToastProvider, b as ToasterPopover, c as ToasterContent } from './Toaster-Bq42x6Gx.js';
|
|
12
|
+
import { d as drillDownStyles, D as DrillDownContext } from './DrillDown.module-D1Bf9_yP.js';
|
|
13
13
|
import { u as useDrillDownContextState, a as useDialogTransitionStates, b as useKeyboardFocusables, c as useInitialFocus } from './useInitialFocus-BUxEDMEG.js';
|
|
14
14
|
import { r as registerLayer, u as unregisterLayer, a as useOnClickOutside } from './useOnClickOutside-Zw5vzxSq.js';
|
|
15
15
|
import { u as useDialogScrollLock } from './useDialogScrollLock-BW-aVboo.js';
|
|
16
16
|
|
|
17
|
-
import './Drawer.css';const drawer = "
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
const
|
|
17
|
+
import './Drawer.css';const drawer = "_drawer_s6o44_1";
|
|
18
|
+
const remove = "_remove_s6o44_39";
|
|
19
|
+
const small = "_small_s6o44_46";
|
|
20
|
+
const large = "_large_s6o44_50";
|
|
21
|
+
const xlarge = "_xlarge_s6o44_54";
|
|
22
|
+
const container = "_container_s6o44_58";
|
|
23
|
+
const header = "_header_s6o44_71";
|
|
24
|
+
const content = "_content_s6o44_95";
|
|
25
|
+
const sticky = "_sticky_s6o44_101";
|
|
26
|
+
const footer = "_footer_s6o44_112";
|
|
27
27
|
const styles = {
|
|
28
|
+
"close-drawer": "_close-drawer_s6o44_1",
|
|
29
|
+
"open-drawer": "_open-drawer_s6o44_1",
|
|
30
|
+
"open-backdrop": "_open-backdrop_s6o44_1",
|
|
31
|
+
"close-backdrop": "_close-backdrop_s6o44_1",
|
|
28
32
|
drawer: drawer,
|
|
29
|
-
"close-drawer": "_close-drawer_ce1vf_1",
|
|
30
|
-
"open-drawer": "_open-drawer_ce1vf_1",
|
|
31
|
-
"open-backdrop": "_open-backdrop_ce1vf_1",
|
|
32
|
-
container: container,
|
|
33
|
-
content: content,
|
|
34
|
-
header: header,
|
|
35
|
-
"close-container": "_close-container_ce1vf_63",
|
|
36
|
-
footer: footer,
|
|
37
33
|
remove: remove,
|
|
38
|
-
"close-backdrop": "_close-backdrop_ce1vf_1",
|
|
39
34
|
small: small,
|
|
40
35
|
large: large,
|
|
41
36
|
xlarge: xlarge,
|
|
37
|
+
container: container,
|
|
38
|
+
header: header,
|
|
39
|
+
"close-container": "_close-container_s6o44_87",
|
|
40
|
+
content: content,
|
|
42
41
|
sticky: sticky,
|
|
43
|
-
|
|
42
|
+
footer: footer
|
|
44
43
|
};
|
|
45
44
|
|
|
46
45
|
function useDrawerContext() {
|
|
@@ -439,4 +438,4 @@ const Drawer = Object.assign(
|
|
|
439
438
|
Drawer.displayName = "Drawer";
|
|
440
439
|
|
|
441
440
|
export { Drawer as D };
|
|
442
|
-
//# sourceMappingURL=Drawer-
|
|
441
|
+
//# sourceMappingURL=Drawer-iewBy1DW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer-Cb5asXWf.js","sources":["../src/components/Drawer/internal/useDrawerContext.ts","../src/components/Drawer/DrawerCancelButton.tsx","../src/components/Drawer/DrawerHeader.tsx","../src/components/Drawer/DrawerFooter.tsx","../src/components/Drawer/DrawerContent.tsx","../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { DrawerContext } from \"./DrawerContext\";\n\n/**\n * Hook to access the drawer context.\n *\n * @returns The drawer context containing close function and ref\n * @throws Error if used outside of a DrawerContextProvider\n */\nexport function useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\n \"useDrawerContext must be used within a DrawerContextProvider\",\n );\n }\n return context;\n}\n","import { MouseEvent, forwardRef } from \"react\";\nimport { Button, ButtonProps } from \"../Button\";\nimport { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerCancelButton component\n * @extends ButtonProps\n */\nexport type DrawerCancelButtonProps = ButtonProps & DataTrackingId;\n\n/**\n * A button component that automatically closes the drawer when clicked.\n *\n * Features:\n * - Automatically closes the drawer when clicked\n * - Extends Button component functionality\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard button props\n * - Proper focus management\n * - Can be used anywhere within the drawer context\n *\n * @example\n * <DrawerCancelButton appearance=\"ghost\" size=\"small\">\n * Cancel\n * </DrawerCancelButton>\n */\nexport const DrawerCancelButton = forwardRef<\n HTMLButtonElement,\n DrawerCancelButtonProps\n>((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const onClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n close();\n };\n return (\n <Button\n aria-label=\"Close drawer\"\n data-anv=\"drawer-cancel-button\"\n data-tracking-id={trackingId}\n onClick={onClickHandler}\n ref={ref}\n {...rest}\n />\n );\n});\n\nDrawerCancelButton.displayName = \"DrawerCancelButton\";\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport styles from \"./Drawer.module.scss\";\nimport { Text } from \"../Text\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport cx from \"classnames\";\nimport { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerHeader component\n * @extends ComponentPropsWithoutRef<\"header\">\n */\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId;\n\n/**\n * Header component for the drawer that displays a title and close button.\n *\n * Features:\n * - Displays the drawer title as a headline\n * - Includes an accessible close button\n * - Sticky positioning at the top of the drawer\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Automatic close functionality\n *\n * @example\n * <Drawer.Header>Settings</Drawer.Header>\n */\nexport const DrawerHeader = forwardRef<HTMLHeadElement, DrawerHeaderProps>(\n (props, ref) => {\n const { className, children } = props;\n const { headerRef } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerHeader\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const drawerHeaderClasses = cx(styles.header, className);\n\n return (\n <header\n className={drawerHeaderClasses}\n data-anv=\"drawer-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n >\n <Text variant=\"headline\" el=\"h1\">\n {children}\n </Text>\n <span className={styles[\"close-container\"]}>\n <DrawerCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close drawer\"\n data-anv=\"drawer-header-close-button\"\n icon={Close}\n />\n </span>\n </header>\n );\n },\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the DrawerFooter component\n * @extends ComponentPropsWithoutRef<\"footer\">\n */\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /**\n * When true, the footer will stick to the bottom of the drawer.\n * @default false\n */\n sticky?: boolean;\n};\n\n/**\n * Footer component for the drawer that displays action buttons and controls.\n *\n * Features:\n * - Flexible layout for action buttons and controls\n * - Optional sticky positioning at the bottom\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard footer element props\n * - Responsive design that adapts to content\n *\n * @example\n * <Drawer.Footer sticky>\n * <Button onClick={handleSave}>Save</Button>\n * <Button onClick={handleCancel}>Cancel</Button>\n * </Drawer.Footer>\n */\nexport const DrawerFooter = forwardRef<HTMLElement, DrawerFooterProps>(\n (props, ref) => {\n const { className, children, sticky = false, ...rest } = props;\n const drawerFooterClasses = cx(styles.footer, className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={drawerFooterClasses}\n data-anv=\"drawer-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerContent component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type DrawerContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /**\n * When true, the content will stick below the header during scroll.\n * @default false\n */\n sticky?: boolean;\n};\n\n/**\n * Content container for the drawer that holds the main content area.\n *\n * Features:\n * - Flexible content area with proper spacing\n * - Scrollable content when needed\n * - Optional sticky positioning below header\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard div element props\n * - Responsive design that adapts to content\n * - Proper focus management\n *\n * @example\n * // Basic content\n * <Drawer.Content>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Content>\n *\n * @example\n * // Sticky content (e.g., search field that remains visible while scrolling)\n * <Drawer.Content sticky>\n * <TextField placeholder=\"Filter results...\" />\n * </Drawer.Content>\n */\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDrawerContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"drawer-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n","import styles from \"./Drawer.module.scss\";\nimport {\n ComponentPropsWithoutRef,\n forwardRef,\n useRef,\n useId,\n useCallback,\n useEffect,\n SyntheticEvent,\n KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DrawerHeader } from \"./DrawerHeader\";\nimport { DrawerFooter } from \"./DrawerFooter\";\nimport { DrawerContent } from \"./DrawerContent\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport {\n OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { DrawerContext } from \"./internal/DrawerContext\";\nimport {\n DrillDownContext,\n DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useInitialFocus } from \"../Dialog/internal/useInitialFocus\";\n\n/**\n * Props for the Drawer component\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends DialogTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DrawerProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /**\n * The size of the drawer.\n * @default \"medium\"\n */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\" | \"xlarge\">;\n /**\n * Controls whether the drawer is open or closed.\n * @default false\n */\n open?: boolean;\n /**\n * Callback function called after the drawer is animated closed.\n */\n onClose?: () => void;\n /**\n * Callback when clicking outside the drawer\n */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /**\n * Enables scroll chaining behavior.\n * @link https://developer.mozilla.org/en-US/docs/Glossary/Scroll_chaining\n */\n enableScrollChaining?: boolean;\n /**\n * Given an array of focusable elements, return the initial focus target.\n * @param focusables - The focusable elements to pick from\n * @returns The initial focus target\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /**\n * Sets the default DrillDown index when used in an uncontrolled way\n */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /**\n * Callback to pass context to useDrillDown hook\n */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * A slide-out drawer component that provides a modal-like experience from the side of the screen.\n *\n * Features:\n * - Slide-in animation from the side of the screen\n * - Keyboard navigation with focus trapping\n * - Escape key and click outside to close\n * - Configurable size variants (medium, large)\n * - Built-in toast support for notifications\n * - Automatic scroll locking when open\n * - Accessible with proper ARIA attributes\n * - Compound component structure with Header, Footer, Content, and CancelButton\n * - Transition state callbacks for animation control\n * - Optional scroll chaining support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer open={isOpen} onClose={handleClose} size=\"medium\">\n * <Drawer.Header>Settings</Drawer.Header>\n * <Drawer.Content>Drawer content goes here</Drawer.Content>\n * <Drawer.Footer>\n * <Button onClick={handleSave}>Save</Button>\n * <Drawer.CancelButton>Cancel</Drawer.CancelButton>\n * </Drawer.Footer>\n * </Drawer>\n */\nexport const Drawer = Object.assign(\n forwardRef<HTMLDialogElement, DrawerProps>(function DrawerInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n // onCancel is destructured so that it is not passed to the dialog in ...rest\n onCancel,\n onKeyDown,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size = \"medium\",\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const classNames = cx([styles.drawer, drillDownStyles.drawer], className, {\n [styles.remove]: state === \"closing\",\n [styles[size]]: true,\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: false,\n });\n const firstFocusable = focusables?.[0];\n const lastFocusable = focusables?.[focusables.length - 1];\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n // Register/unregister with layer manager for proper stacking\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n // Cleanup when component unmounts\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n return (\n focusables.find(\n (focusable) => focusable.dataset.anv !== \"drawer-header-close-button\",\n ) || focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onCancelHandler = (e: SyntheticEvent<HTMLDialogElement>) => {\n e.preventDefault();\n\n if (disableCloseOnEscape) return;\n onClose?.();\n };\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === firstFocusable) {\n e.preventDefault();\n (lastFocusable as HTMLElement)?.focus();\n return;\n }\n if (e.target === lastFocusable && !e.shiftKey) {\n e.preventDefault();\n (firstFocusable as HTMLElement)?.focus();\n return;\n }\n }\n };\n\n const contextValue = useMemo(() => {\n return { close: () => onClose?.(), headerRef, state };\n }, [onClose, state]);\n\n return (\n // dialog element does seem to be interactive on MDN guideline\n <dialog\n className={classNames}\n data-anv=\"drawer\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={combinedRef}\n onCancel={onCancelHandler}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={isOpenOrOpening}>\n <ToasterPopover>\n <ToasterContent id=\"drawer-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DrawerContext.Provider value={contextValue}>\n <section\n ref={contentRef}\n className={styles.container}\n data-open={isOpenOrOpening}\n >\n {children}\n </section>\n </DrawerContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /**\n * Header component for the drawer that displays a title and close button.\n *\n * Features:\n * - Displays the drawer title as a headline\n * - Includes an accessible close button\n * - Sticky positioning at the top of the drawer\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Automatic close functionality\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer.Header>Settings</Drawer.Header>\n */\n Header: DrawerHeader,\n /**\n * Footer component for the drawer that displays action buttons and controls.\n *\n * Features:\n * - Flexible layout for action buttons and controls\n * - Optional sticky positioning at the bottom\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard footer element props\n * - Responsive design that adapts to content\n *\n * @example\n * <Drawer.Footer sticky>\n * <Button onClick={handleSave}>Save</Button>\n * <Drawer.CancelButton>Cancel</Drawer.CancelButton>\n * </Drawer.Footer>\n */\n Footer: DrawerFooter,\n /**\n * Content container for the drawer that holds the main content area.\n *\n * Features:\n * - Flexible content area with proper spacing\n * - Scrollable content when needed\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard div element props\n * - Responsive design that adapts to content\n * - Proper focus management\n *\n * @example\n * <Drawer.Content>\n * <p>This is the main content of the drawer.</p>\n * <p>It can contain any type of content.</p>\n * </Drawer.Content>\n */\n Content: DrawerContent,\n /**\n * A button component that automatically closes the drawer when clicked.\n *\n * Features:\n * - Automatically closes the drawer when clicked\n * - Extends Button component functionality\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard button props\n * - Proper focus management\n * - Can be used anywhere within the drawer context\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer.CancelButton appearance=\"ghost\" size=\"small\">\n * Cancel\n * </Drawer.CancelButton>\n */\n CancelButton: DrawerCancelButton,\n },\n);\nDrawer.displayName = \"Drawer\";\n"],"names":["Close","focusables"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Drawer-iewBy1DW.js","sources":["../src/components/Drawer/internal/useDrawerContext.ts","../src/components/Drawer/DrawerCancelButton.tsx","../src/components/Drawer/DrawerHeader.tsx","../src/components/Drawer/DrawerFooter.tsx","../src/components/Drawer/DrawerContent.tsx","../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useContext } from \"react\";\nimport { DrawerContext } from \"./DrawerContext\";\n\n/**\n * Hook to access the drawer context.\n *\n * @returns The drawer context containing close function and ref\n * @throws Error if used outside of a DrawerContextProvider\n */\nexport function useDrawerContext() {\n const context = useContext(DrawerContext);\n if (!context) {\n throw new Error(\n \"useDrawerContext must be used within a DrawerContextProvider\",\n );\n }\n return context;\n}\n","import { MouseEvent, forwardRef } from \"react\";\nimport { Button, ButtonProps } from \"../Button\";\nimport { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerCancelButton component\n * @extends ButtonProps\n */\nexport type DrawerCancelButtonProps = ButtonProps & DataTrackingId;\n\n/**\n * A button component that automatically closes the drawer when clicked.\n *\n * Features:\n * - Automatically closes the drawer when clicked\n * - Extends Button component functionality\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard button props\n * - Proper focus management\n * - Can be used anywhere within the drawer context\n *\n * @example\n * <DrawerCancelButton appearance=\"ghost\" size=\"small\">\n * Cancel\n * </DrawerCancelButton>\n */\nexport const DrawerCancelButton = forwardRef<\n HTMLButtonElement,\n DrawerCancelButtonProps\n>((props, ref) => {\n const { onClick, ...rest } = props;\n const { close } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n appearance: props.appearance,\n size: props.size,\n type: props.type,\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerCancelButton\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const onClickHandler = (e: MouseEvent<HTMLButtonElement>) => {\n onClick?.(e);\n close();\n };\n return (\n <Button\n aria-label=\"Close drawer\"\n data-anv=\"drawer-cancel-button\"\n data-tracking-id={trackingId}\n onClick={onClickHandler}\n ref={ref}\n {...rest}\n />\n );\n});\n\nDrawerCancelButton.displayName = \"DrawerCancelButton\";\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport Close from \"@servicetitan/hammer-icon/mdi/round/close.svg\";\nimport styles from \"./Drawer.module.scss\";\nimport { Text } from \"../Text\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport cx from \"classnames\";\nimport { DataTrackingId } from \"../../types\";\nimport { childrenToString } from \"../../internal/functions\";\nimport { useTrackingId, useMergeRefs } from \"../../hooks\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerHeader component\n * @extends ComponentPropsWithoutRef<\"header\">\n */\nexport type DrawerHeaderProps = ComponentPropsWithoutRef<\"header\"> &\n DataTrackingId;\n\n/**\n * Header component for the drawer that displays a title and close button.\n *\n * Features:\n * - Displays the drawer title as a headline\n * - Includes an accessible close button\n * - Sticky positioning at the top of the drawer\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Automatic close functionality\n *\n * @example\n * <Drawer.Header>Settings</Drawer.Header>\n */\nexport const DrawerHeader = forwardRef<HTMLHeadElement, DrawerHeaderProps>(\n (props, ref) => {\n const { className, children } = props;\n const { headerRef } = useDrawerContext();\n const data = {\n children: childrenToString(props.children),\n };\n\n const trackingId = useTrackingId({\n name: \"DrawerHeader\",\n data,\n hasOverride: !!props[\"data-tracking-id\"],\n });\n\n const drawerHeaderClasses = cx(styles.header, className);\n\n return (\n <header\n className={drawerHeaderClasses}\n data-anv=\"drawer-header\"\n data-tracking-id={trackingId}\n ref={useMergeRefs([ref, headerRef])}\n >\n <Text variant=\"headline\" el=\"h1\">\n {children}\n </Text>\n <span className={styles[\"close-container\"]}>\n <DrawerCancelButton\n className={styles[\"close-button\"]}\n size=\"small\"\n appearance=\"ghost\"\n aria-label=\"Close drawer\"\n data-anv=\"drawer-header-close-button\"\n icon={Close}\n />\n </span>\n </header>\n );\n },\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n","import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the DrawerFooter component\n * @extends ComponentPropsWithoutRef<\"footer\">\n */\nexport type DrawerFooterProps = ComponentPropsWithoutRef<\"footer\"> & {\n /**\n * When true, the footer will stick to the bottom of the drawer.\n * @default false\n */\n sticky?: boolean;\n};\n\n/**\n * Footer component for the drawer that displays action buttons and controls.\n *\n * Features:\n * - Flexible layout for action buttons and controls\n * - Optional sticky positioning at the bottom\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard footer element props\n * - Responsive design that adapts to content\n *\n * @example\n * <Drawer.Footer sticky>\n * <Button onClick={handleSave}>Save</Button>\n * <Button onClick={handleCancel}>Cancel</Button>\n * </Drawer.Footer>\n */\nexport const DrawerFooter = forwardRef<HTMLElement, DrawerFooterProps>(\n (props, ref) => {\n const { className, children, sticky = false, ...rest } = props;\n const drawerFooterClasses = cx(styles.footer, className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n return (\n <footer\n className={drawerFooterClasses}\n data-anv=\"drawer-footer\"\n ref={ref}\n {...rest}\n >\n {children}\n </footer>\n );\n },\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n","import {\n ComponentPropsWithoutRef,\n forwardRef,\n useEffect,\n useState,\n} from \"react\";\nimport styles from \"./Drawer.module.scss\";\nimport cx from \"classnames\";\nimport { useDrawerContext } from \"./internal/useDrawerContext\";\n\n/**\n * Props for the DrawerContent component\n * @extends ComponentPropsWithoutRef<\"div\">\n */\nexport type DrawerContentProps = ComponentPropsWithoutRef<\"div\"> & {\n /**\n * When true, the content will stick below the header during scroll.\n * @default false\n */\n sticky?: boolean;\n};\n\n/**\n * Content container for the drawer that holds the main content area.\n *\n * Features:\n * - Flexible content area with proper spacing\n * - Scrollable content when needed\n * - Optional sticky positioning below header\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard div element props\n * - Responsive design that adapts to content\n * - Proper focus management\n *\n * @example\n * // Basic content\n * <Drawer.Content>\n * <p>This is the main content of the drawer.</p>\n * </Drawer.Content>\n *\n * @example\n * // Sticky content (e.g., search field that remains visible while scrolling)\n * <Drawer.Content sticky>\n * <TextField placeholder=\"Filter results...\" />\n * </Drawer.Content>\n */\nexport const DrawerContent = forwardRef<HTMLDivElement, DrawerContentProps>(\n (props, ref) => {\n const { children, className, sticky = false, ...rest } = props;\n const { headerRef } = useDrawerContext();\n const [headerHeight, setHeaderHeight] = useState(0);\n\n useEffect(() => {\n const headerElement = headerRef?.current;\n if (!sticky || !headerElement) return;\n\n const updateHeight = () => {\n setHeaderHeight(headerElement.offsetHeight || 0);\n };\n\n updateHeight();\n const resizeObserver = new ResizeObserver(updateHeight);\n resizeObserver.observe(headerElement);\n\n return () => resizeObserver.disconnect();\n }, [sticky, headerRef]);\n\n const contentClassNames = cx(styles[\"content\"], className, {\n [styles[\"sticky\"]]: sticky,\n });\n\n const stickyStyle = sticky ? { top: `${headerHeight}px` } : undefined;\n\n return (\n <div\n className={contentClassNames}\n data-anv=\"drawer-content\"\n ref={ref}\n style={{ ...stickyStyle, ...rest.style }}\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n","import styles from \"./Drawer.module.scss\";\nimport {\n ComponentPropsWithoutRef,\n forwardRef,\n useRef,\n useId,\n useCallback,\n useEffect,\n SyntheticEvent,\n KeyboardEvent,\n useMemo,\n useLayoutEffect,\n} from \"react\";\nimport { DrawerHeader } from \"./DrawerHeader\";\nimport { DrawerFooter } from \"./DrawerFooter\";\nimport { DrawerContent } from \"./DrawerContent\";\nimport { DrawerCancelButton } from \"./DrawerCancelButton\";\nimport {\n OpenCloseTransitionStateEffects,\n useDialogScrollLock,\n useDialogTransitionStates,\n useKeyboardFocusables,\n useOnClickOutside,\n} from \"../../internal/hooks\";\nimport {\n FocusableElement,\n DisableCloseOnEscapeOrClickProps,\n Size,\n} from \"../../types\";\nimport { registerLayer, unregisterLayer } from \"../../internal/utils\";\nimport { useMergeRefs } from \"../../hooks\";\nimport cx from \"classnames\";\nimport { ToastProvider } from \"../Toast/internal/ToastProvider\";\nimport { ToasterPopover } from \"../Toast/internal/ToasterPopover\";\nimport { ToasterContent } from \"../Toast/internal/Toaster\";\nimport { DrawerContext } from \"./internal/DrawerContext\";\nimport {\n DrillDownContext,\n DrillDownContextProps,\n} from \"../DrillDown/internal/DrillDownContext\";\nimport { useDrillDownContextState } from \"../DrillDown/internal/useDrillDownContextState\";\nimport drillDownStyles from \"../DrillDown/DrillDown.module.scss\";\nimport { useInitialFocus } from \"../Dialog/internal/useInitialFocus\";\n\n/**\n * Props for the Drawer component\n * @extends ComponentPropsWithoutRef<\"dialog\">\n * @extends DialogTransitionStateEffects\n * @extends DisableCloseOnEscapeOrClickProps\n */\nexport type DrawerProps = ComponentPropsWithoutRef<\"dialog\"> &\n OpenCloseTransitionStateEffects &\n DisableCloseOnEscapeOrClickProps & {\n /**\n * The size of the drawer.\n * @default \"medium\"\n */\n size?: Extract<Size, \"small\" | \"medium\" | \"large\" | \"xlarge\">;\n /**\n * Controls whether the drawer is open or closed.\n * @default false\n */\n open?: boolean;\n /**\n * Callback function called after the drawer is animated closed.\n */\n onClose?: () => void;\n /**\n * Callback when clicking outside the drawer\n */\n onClickOutside?: (e: globalThis.MouseEvent) => void;\n /**\n * Enables scroll chaining behavior.\n * @link https://developer.mozilla.org/en-US/docs/Glossary/Scroll_chaining\n */\n enableScrollChaining?: boolean;\n /**\n * Given an array of focusable elements, return the initial focus target.\n * @param focusables - The focusable elements to pick from\n * @returns The initial focus target\n */\n initialFocusResolver?: (focusables: FocusableElement[]) => FocusableElement;\n /**\n * Sets the default DrillDown index when used in an uncontrolled way\n */\n defaultDrillDownIndex?: DrillDownContextProps[\"index\"];\n /**\n * Callback to pass context to useDrillDown hook\n */\n onDrillDownContextChange?: (context: DrillDownContextProps) => void;\n };\n\n/**\n * A slide-out drawer component that provides a modal-like experience from the side of the screen.\n *\n * Features:\n * - Slide-in animation from the side of the screen\n * - Keyboard navigation with focus trapping\n * - Escape key and click outside to close\n * - Configurable size variants (medium, large)\n * - Built-in toast support for notifications\n * - Automatic scroll locking when open\n * - Accessible with proper ARIA attributes\n * - Compound component structure with Header, Footer, Content, and CancelButton\n * - Transition state callbacks for animation control\n * - Optional scroll chaining support\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer open={isOpen} onClose={handleClose} size=\"medium\">\n * <Drawer.Header>Settings</Drawer.Header>\n * <Drawer.Content>Drawer content goes here</Drawer.Content>\n * <Drawer.Footer>\n * <Button onClick={handleSave}>Save</Button>\n * <Drawer.CancelButton>Cancel</Drawer.CancelButton>\n * </Drawer.Footer>\n * </Drawer>\n */\nexport const Drawer = Object.assign(\n forwardRef<HTMLDialogElement, DrawerProps>(function DrawerInner(props, ref) {\n const {\n className,\n open = false,\n children,\n onClose,\n // onCancel is destructured so that it is not passed to the dialog in ...rest\n onCancel,\n onKeyDown,\n disableCloseOnEscape = false,\n onClickOutside,\n disableCloseOnClickOutside = false,\n size = \"medium\",\n enableScrollChaining,\n onOpenAnimationStart,\n onOpenAnimationComplete,\n onCloseAnimationStart,\n onCloseAnimationComplete,\n initialFocusResolver,\n defaultDrillDownIndex,\n onDrillDownContextChange,\n ...rest\n } = props;\n\n const elRef = useRef<HTMLDialogElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const toasterRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLElement>(null);\n const combinedRef = useMergeRefs([elRef, ref]);\n\n const drillDownContextValue = useDrillDownContextState({\n defaultDrillDownIndex,\n });\n\n const id = useId();\n\n const { state, isOpenOrOpening } = useDialogTransitionStates(elRef, open, {\n onOpenAnimationStart: useCallback(() => {\n onOpenAnimationStart?.();\n }, [onOpenAnimationStart]),\n onOpenAnimationComplete: useCallback(() => {\n onOpenAnimationComplete?.();\n }, [onOpenAnimationComplete]),\n onCloseAnimationStart: useCallback(() => {\n onCloseAnimationStart?.();\n }, [onCloseAnimationStart]),\n onCloseAnimationComplete: useCallback(() => {\n onCloseAnimationComplete?.();\n }, [onCloseAnimationComplete]),\n });\n\n const previousOpenRef = useRef(open);\n\n useLayoutEffect(() => {\n if (open && !previousOpenRef.current) {\n drillDownContextValue.setHostTrigger?.(\n document.activeElement instanceof HTMLElement\n ? document.activeElement\n : null,\n );\n }\n }, [open, drillDownContextValue]);\n\n useEffect(() => {\n previousOpenRef.current = open;\n }, [open]);\n\n useEffect(() => {\n if (state === \"closing\") {\n drillDownContextValue.onHostClose?.();\n }\n }, [state, drillDownContextValue]);\n\n useEffect(() => {\n if (state === \"closed\") {\n drillDownContextValue.onHostClosed?.();\n }\n }, [state, drillDownContextValue]);\n\n const drillDownContextProviderValue = useMemo(\n () => ({\n ...drillDownContextValue,\n hostIsInteractive: state !== \"closing\" && state !== \"closed\",\n }),\n [drillDownContextValue, state],\n );\n\n useLayoutEffect(() => {\n onDrillDownContextChange?.(drillDownContextProviderValue);\n }, [drillDownContextProviderValue]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const classNames = cx([styles.drawer, drillDownStyles.drawer], className, {\n [styles.remove]: state === \"closing\",\n [styles[size]]: true,\n });\n\n const { focusables } = useKeyboardFocusables(contentRef, {\n observeChange: false,\n });\n const firstFocusable = focusables?.[0];\n const lastFocusable = focusables?.[focusables.length - 1];\n\n useDialogScrollLock({\n open: isOpenOrOpening,\n id,\n enableScrollChaining,\n elementRef: elRef,\n });\n\n // Register/unregister with layer manager for proper stacking\n useEffect(() => {\n if (open) {\n registerLayer(id);\n } else {\n unregisterLayer(id);\n }\n\n // Cleanup when component unmounts\n return () => {\n unregisterLayer(id);\n };\n }, [open, id]);\n\n const computeFocus = useCallback((focusables: FocusableElement[]) => {\n return (\n focusables.find(\n (focusable) => focusable.dataset.anv !== \"drawer-header-close-button\",\n ) || focusables[0]\n );\n }, []);\n\n useInitialFocus(elRef, {\n computeFocus: initialFocusResolver || computeFocus,\n });\n\n const onCancelHandler = (e: SyntheticEvent<HTMLDialogElement>) => {\n e.preventDefault();\n\n if (disableCloseOnEscape) return;\n onClose?.();\n };\n\n useOnClickOutside({\n onClickOutsideBegin: (e) => {\n if (!open) return;\n onClickOutside?.(e);\n },\n targets: [\n contentRef.current as HTMLElement,\n toasterRef.current as HTMLElement,\n ],\n onClickOutside: () => {\n if (disableCloseOnClickOutside || !open) return;\n onClose?.();\n },\n layerId: id,\n });\n\n const onKeyDownHandler = (e: KeyboardEvent<HTMLDialogElement>) => {\n onKeyDown?.(e);\n if (e.code === \"Tab\") {\n if (e.shiftKey && e.target === firstFocusable) {\n e.preventDefault();\n (lastFocusable as HTMLElement)?.focus();\n return;\n }\n if (e.target === lastFocusable && !e.shiftKey) {\n e.preventDefault();\n (firstFocusable as HTMLElement)?.focus();\n return;\n }\n }\n };\n\n const contextValue = useMemo(() => {\n return { close: () => onClose?.(), headerRef, state };\n }, [onClose, state]);\n\n return (\n // dialog element does seem to be interactive on MDN guideline\n <dialog\n className={classNames}\n data-anv=\"drawer\"\n data-anv-scroll-chaining={enableScrollChaining}\n data-anv-transition-state={state}\n ref={combinedRef}\n onCancel={onCancelHandler}\n onKeyDown={onKeyDownHandler}\n {...rest}\n >\n <ToastProvider isDialogToaster={isOpenOrOpening}>\n <ToasterPopover>\n <ToasterContent id=\"drawer-toaster\" ref={toasterRef} />\n </ToasterPopover>\n </ToastProvider>\n\n <DrillDownContext.Provider value={drillDownContextProviderValue}>\n <DrawerContext.Provider value={contextValue}>\n <section\n ref={contentRef}\n className={styles.container}\n data-open={isOpenOrOpening}\n >\n {children}\n </section>\n </DrawerContext.Provider>\n </DrillDownContext.Provider>\n </dialog>\n );\n }),\n {\n /**\n * Header component for the drawer that displays a title and close button.\n *\n * Features:\n * - Displays the drawer title as a headline\n * - Includes an accessible close button\n * - Sticky positioning at the top of the drawer\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Automatic close functionality\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer.Header>Settings</Drawer.Header>\n */\n Header: DrawerHeader,\n /**\n * Footer component for the drawer that displays action buttons and controls.\n *\n * Features:\n * - Flexible layout for action buttons and controls\n * - Optional sticky positioning at the bottom\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard footer element props\n * - Responsive design that adapts to content\n *\n * @example\n * <Drawer.Footer sticky>\n * <Button onClick={handleSave}>Save</Button>\n * <Drawer.CancelButton>Cancel</Drawer.CancelButton>\n * </Drawer.Footer>\n */\n Footer: DrawerFooter,\n /**\n * Content container for the drawer that holds the main content area.\n *\n * Features:\n * - Flexible content area with proper spacing\n * - Scrollable content when needed\n * - Proper semantic HTML structure\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard div element props\n * - Responsive design that adapts to content\n * - Proper focus management\n *\n * @example\n * <Drawer.Content>\n * <p>This is the main content of the drawer.</p>\n * <p>It can contain any type of content.</p>\n * </Drawer.Content>\n */\n Content: DrawerContent,\n /**\n * A button component that automatically closes the drawer when clicked.\n *\n * Features:\n * - Automatically closes the drawer when clicked\n * - Extends Button component functionality\n * - Accessible with proper ARIA attributes\n * - Consistent styling with the design system\n * - Supports all standard button props\n * - Proper focus management\n * - Can be used anywhere within the drawer context\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <Drawer.CancelButton appearance=\"ghost\" size=\"small\">\n * Cancel\n * </Drawer.CancelButton>\n */\n CancelButton: DrawerCancelButton,\n },\n);\nDrawer.displayName = \"Drawer\";\n"],"names":["Close","focusables"],"mappings":"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"}
|