@tylertech/forge 3.0.0-next.1 → 3.0.0-next.3
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/custom-elements.json +758 -172
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/core/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/chunk.2R72ZTIK.js +7 -0
- package/dist/esm/chunks/{chunk.DT7MZR5Y.js.map → chunk.2R72ZTIK.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BJZ7RB5F.js → chunk.3CTKWBV2.js} +1 -1
- package/dist/esm/chunks/{chunk.BJZ7RB5F.js.map → chunk.3CTKWBV2.js.map} +1 -1
- package/dist/esm/chunks/chunk.3GZF7UI2.js +7 -0
- package/dist/esm/chunks/{chunk.O4FB4BV5.js → chunk.3OT44DTM.js} +2 -2
- package/dist/esm/chunks/{chunk.O4FB4BV5.js.map → chunk.3OT44DTM.js.map} +1 -1
- package/dist/esm/chunks/chunk.3QD73Z4F.js +7 -0
- package/dist/esm/chunks/{chunk.6OKJPSUE.js.map → chunk.3QD73Z4F.js.map} +1 -1
- package/dist/esm/chunks/{chunk.O73S5LF3.js → chunk.423SNVSH.js} +2 -2
- package/dist/esm/chunks/chunk.44IUAOBP.js +7 -0
- package/dist/esm/chunks/{chunk.YPZNIYQL.js.map → chunk.44IUAOBP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.N4PVZUJX.js → chunk.465MOF4A.js} +2 -2
- package/dist/esm/chunks/{chunk.N4PVZUJX.js.map → chunk.465MOF4A.js.map} +1 -1
- package/dist/esm/chunks/{chunk.AFLH5HUG.js → chunk.46LZNRRP.js} +2 -2
- package/dist/esm/chunks/{chunk.PALRSBSY.js → chunk.4B3BP62N.js} +2 -2
- package/dist/esm/chunks/{chunk.PALRSBSY.js.map → chunk.4B3BP62N.js.map} +1 -1
- package/dist/esm/chunks/{chunk.RYMPSU4J.js → chunk.4DJEZHRT.js} +2 -2
- package/dist/esm/chunks/{chunk.RYMPSU4J.js.map → chunk.4DJEZHRT.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BJE6O5ES.js → chunk.4RNNHXMU.js} +2 -2
- package/dist/esm/chunks/{chunk.BJE6O5ES.js.map → chunk.4RNNHXMU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.I5BAZWUF.js → chunk.4UHXQAOT.js} +2 -2
- package/dist/esm/chunks/{chunk.I5BAZWUF.js.map → chunk.4UHXQAOT.js.map} +1 -1
- package/dist/esm/chunks/{chunk.FRYLJWYL.js → chunk.4ZWV37ZJ.js} +2 -2
- package/dist/esm/chunks/{chunk.FRYLJWYL.js.map → chunk.4ZWV37ZJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BE7PZANN.js → chunk.55FCNVG5.js} +2 -2
- package/dist/esm/chunks/{chunk.BE7PZANN.js.map → chunk.55FCNVG5.js.map} +1 -1
- package/dist/esm/chunks/{chunk.5FPFRE4H.js → chunk.56D6S5XJ.js} +2 -2
- package/dist/esm/chunks/{chunk.5FPFRE4H.js.map → chunk.56D6S5XJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UT7QUGAO.js → chunk.5MPUISW3.js} +2 -2
- package/dist/esm/chunks/{chunk.NW7NV2A2.js → chunk.5XY7WBMA.js} +2 -2
- package/dist/esm/chunks/{chunk.NW7NV2A2.js.map → chunk.5XY7WBMA.js.map} +1 -1
- package/dist/esm/chunks/{chunk.Q7LFOS2I.js → chunk.6BBI2QGA.js} +2 -2
- package/dist/esm/chunks/{chunk.Q7LFOS2I.js.map → chunk.6BBI2QGA.js.map} +1 -1
- package/dist/esm/chunks/chunk.6DWTTNEC.js +7 -0
- package/dist/esm/chunks/{chunk.CKYHP5MC.js.map → chunk.6DWTTNEC.js.map} +1 -1
- package/dist/esm/chunks/{chunk.IUOBRBDZ.js → chunk.6HMCSEKV.js} +2 -2
- package/dist/esm/chunks/{chunk.XZ4WI7VK.js → chunk.6IWW463U.js} +2 -2
- package/dist/esm/chunks/{chunk.XZ4WI7VK.js.map → chunk.6IWW463U.js.map} +1 -1
- package/dist/esm/chunks/chunk.7IP3XTE3.js +7 -0
- package/dist/esm/chunks/{chunk.C7AN6FMW.js.map → chunk.7IP3XTE3.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KU5CXXGS.js → chunk.7KEUUHXY.js} +2 -2
- package/dist/esm/chunks/{chunk.WP4QOOIS.js → chunk.7VWG4IEN.js} +2 -2
- package/dist/esm/chunks/{chunk.ESR2NHOS.js → chunk.A2BJ47Q6.js} +2 -2
- package/dist/esm/chunks/{chunk.ESR2NHOS.js.map → chunk.A2BJ47Q6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.RE5X26QT.js → chunk.ADXALX5F.js} +124 -24
- package/dist/esm/chunks/{chunk.RE5X26QT.js.map → chunk.ADXALX5F.js.map} +1 -1
- package/dist/esm/chunks/chunk.BSKIHRND.js +7 -0
- package/dist/esm/chunks/{chunk.BTBHIIGI.js.map → chunk.BSKIHRND.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MSF55AA3.js → chunk.BSNL353K.js} +2 -2
- package/dist/esm/chunks/{chunk.MSF55AA3.js.map → chunk.BSNL353K.js.map} +1 -1
- package/dist/esm/chunks/chunk.BTTHTLD3.js +7 -0
- package/dist/esm/chunks/{chunk.ROR6JMAE.js.map → chunk.BTTHTLD3.js.map} +1 -1
- package/dist/esm/chunks/chunk.C66IQMR6.js +7 -0
- package/dist/esm/chunks/{chunk.ZFHPUAYX.js.map → chunk.C66IQMR6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.PN26D52V.js → chunk.CFDK4RCW.js} +1 -1
- package/dist/esm/chunks/{chunk.PN26D52V.js.map → chunk.CFDK4RCW.js.map} +1 -1
- package/dist/esm/chunks/{chunk.SSRQFKNH.js → chunk.CY7UCG25.js} +2 -2
- package/dist/esm/chunks/{chunk.SSRQFKNH.js.map → chunk.CY7UCG25.js.map} +1 -1
- package/dist/esm/chunks/{chunk.U6WGJELL.js → chunk.DMCBAYQX.js} +1 -1
- package/dist/esm/chunks/{chunk.U6WGJELL.js.map → chunk.DMCBAYQX.js.map} +1 -1
- package/dist/esm/chunks/{chunk.T76JYRPR.js → chunk.E5H7OQXZ.js} +2 -2
- package/dist/esm/chunks/{chunk.T76JYRPR.js.map → chunk.E5H7OQXZ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.EASEKF35.js} +2 -2
- package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.EASEKF35.js.map} +1 -1
- package/dist/esm/chunks/{chunk.WY7DECJD.js → chunk.ELENDYRJ.js} +2 -2
- package/dist/esm/chunks/{chunk.WY7DECJD.js.map → chunk.ELENDYRJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.LDN4HLF7.js → chunk.F6CILMKB.js} +2 -2
- package/dist/esm/chunks/{chunk.LDN4HLF7.js.map → chunk.F6CILMKB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.3KQL7VAZ.js → chunk.FDZSLGIW.js} +2 -2
- package/dist/esm/chunks/{chunk.3KQL7VAZ.js.map → chunk.FDZSLGIW.js.map} +1 -1
- package/dist/esm/chunks/chunk.FHW6LV4A.js +7 -0
- package/dist/esm/chunks/{chunk.V7WKXEZC.js.map → chunk.FHW6LV4A.js.map} +1 -1
- package/dist/esm/chunks/chunk.G3ZS3UHM.js +7 -0
- package/dist/esm/chunks/chunk.G3ZS3UHM.js.map +7 -0
- package/dist/esm/chunks/{chunk.ARJ3EVVO.js → chunk.G4IN6Y46.js} +2 -2
- package/dist/esm/chunks/{chunk.F2B24WLK.js → chunk.GFWFEBAH.js} +2 -2
- package/dist/esm/chunks/{chunk.F2B24WLK.js.map → chunk.GFWFEBAH.js.map} +1 -1
- package/dist/esm/chunks/chunk.GZ2QNJ5E.js +7 -0
- package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.GZ2QNJ5E.js.map} +1 -1
- package/dist/esm/chunks/{chunk.LYOQ2RGP.js → chunk.H4H75YUA.js} +2 -2
- package/dist/esm/chunks/{chunk.LYOQ2RGP.js.map → chunk.H4H75YUA.js.map} +1 -1
- package/dist/esm/chunks/chunk.H5MJBEK5.js +7 -0
- package/dist/esm/chunks/chunk.HHC5NEUF.js +7 -0
- package/dist/esm/chunks/{chunk.5WNKQTXX.js.map → chunk.HHC5NEUF.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CLM6MNKC.js → chunk.HNSUYOCY.js} +2 -2
- package/dist/esm/chunks/{chunk.CLM6MNKC.js.map → chunk.HNSUYOCY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.RBAVT3XQ.js → chunk.HVYK2OWE.js} +2 -2
- package/dist/esm/chunks/chunk.HZYRCFVC.js +7 -0
- package/dist/esm/chunks/{chunk.SAQVWOVK.js.map → chunk.HZYRCFVC.js.map} +2 -2
- package/dist/esm/chunks/{chunk.P3IA2WTO.js → chunk.I3MZQIAF.js} +2 -2
- package/dist/esm/chunks/{chunk.P3IA2WTO.js.map → chunk.I3MZQIAF.js.map} +1 -1
- package/dist/esm/chunks/chunk.I4347LUX.js +7 -0
- package/dist/esm/chunks/{chunk.MXTDW27J.js.map → chunk.I4347LUX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HBMNXZES.js → chunk.INRH62VL.js} +2 -2
- package/dist/esm/chunks/{chunk.HBMNXZES.js.map → chunk.INRH62VL.js.map} +1 -1
- package/dist/esm/chunks/{chunk.HV6SPRC4.js → chunk.IOYABCVW.js} +2 -2
- package/dist/esm/chunks/{chunk.HV6SPRC4.js.map → chunk.IOYABCVW.js.map} +1 -1
- package/dist/esm/chunks/chunk.JUIFPTRV.js +7 -0
- package/dist/esm/chunks/{chunk.G3ZTZ4AN.js.map → chunk.JUIFPTRV.js.map} +1 -1
- package/dist/esm/chunks/chunk.KFERUCAD.js +7 -0
- package/dist/esm/chunks/{chunk.4NI63FGK.js.map → chunk.KFERUCAD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.L6DKEDFM.js} +2 -2
- package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.L6DKEDFM.js.map} +1 -1
- package/dist/esm/chunks/{chunk.4DAIIJ37.js → chunk.LEVFMI2Q.js} +1 -1
- package/dist/esm/chunks/{chunk.4DAIIJ37.js.map → chunk.LEVFMI2Q.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KE6GOYAB.js → chunk.LHFZFVHB.js} +2 -2
- package/dist/esm/chunks/{chunk.KE6GOYAB.js.map → chunk.LHFZFVHB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.TR5YMNJJ.js → chunk.LQQIN7JE.js} +2 -2
- package/dist/esm/chunks/{chunk.TR5YMNJJ.js.map → chunk.LQQIN7JE.js.map} +1 -1
- package/dist/esm/chunks/{chunk.INCKI5IX.js → chunk.LSFIZAUF.js} +2 -2
- package/dist/esm/chunks/{chunk.INCKI5IX.js.map → chunk.LSFIZAUF.js.map} +1 -1
- package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
- package/dist/esm/chunks/chunk.MGLWXAZO.js +18 -0
- package/dist/esm/chunks/{chunk.YI4JTY4T.js.map → chunk.MGLWXAZO.js.map} +2 -2
- package/dist/esm/chunks/chunk.MLXGGGER.js +129 -0
- package/dist/esm/chunks/{chunk.ILRWZHH3.js.map → chunk.MLXGGGER.js.map} +1 -1
- package/dist/esm/chunks/chunk.MT3CYR5E.js +7 -0
- package/dist/esm/chunks/{chunk.Y5A7RQ5M.js.map → chunk.MT3CYR5E.js.map} +1 -1
- package/dist/esm/chunks/chunk.N64ASFPE.js +7 -0
- package/dist/esm/chunks/{chunk.RB5BTA5N.js.map → chunk.N64ASFPE.js.map} +1 -1
- package/dist/esm/chunks/chunk.NEMJIVPU.js +7 -0
- package/dist/esm/chunks/{chunk.4WPFFNLH.js.map → chunk.NEMJIVPU.js.map} +1 -1
- package/dist/esm/chunks/chunk.NRXPO3SY.js +7 -0
- package/dist/esm/chunks/{chunk.7A6MX6CS.js.map → chunk.NRXPO3SY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UF43SSFY.js → chunk.NTLWWOZJ.js} +2 -2
- package/dist/esm/chunks/{chunk.UF43SSFY.js.map → chunk.NTLWWOZJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.NVHTEFBA.js +33 -0
- package/dist/esm/chunks/{chunk.V4TCOZLK.js.map → chunk.NVHTEFBA.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KTGSZEAG.js → chunk.NVUMRW44.js} +1 -1
- package/dist/esm/chunks/{chunk.KTGSZEAG.js.map → chunk.NVUMRW44.js.map} +1 -1
- package/dist/esm/chunks/chunk.O4KZV4MX.js +7 -0
- package/dist/esm/chunks/{chunk.242YUZKU.js.map → chunk.O4KZV4MX.js.map} +1 -1
- package/dist/esm/chunks/{chunk.ZUNZKRRK.js → chunk.OAHA3QOH.js} +2 -2
- package/dist/esm/chunks/{chunk.2BNDXFI5.js → chunk.PJOH4JKH.js} +2 -2
- package/dist/esm/chunks/{chunk.2BNDXFI5.js.map → chunk.PJOH4JKH.js.map} +1 -1
- package/dist/esm/chunks/chunk.PKZYVWEG.js +7 -0
- package/dist/esm/chunks/chunk.PTQTIY7L.js +57 -0
- package/dist/esm/chunks/chunk.PTQTIY7L.js.map +7 -0
- package/dist/esm/chunks/{chunk.VAKNDCLP.js → chunk.Q56WQPYG.js} +76 -24
- package/dist/esm/chunks/{chunk.VAKNDCLP.js.map → chunk.Q56WQPYG.js.map} +1 -1
- package/dist/esm/chunks/chunk.QA3Z44IQ.js +7 -0
- package/dist/esm/chunks/{chunk.72AUOVCD.js.map → chunk.QA3Z44IQ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.Y4GKBJGI.js → chunk.QH2GB3PD.js} +2 -2
- package/dist/esm/chunks/{chunk.Y4GKBJGI.js.map → chunk.QH2GB3PD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.G45OZEIS.js → chunk.QUJL4A23.js} +2 -2
- package/dist/esm/chunks/{chunk.RG6CDWEX.js → chunk.QWKDOAOE.js} +2 -2
- package/dist/esm/chunks/{chunk.RG6CDWEX.js.map → chunk.QWKDOAOE.js.map} +1 -1
- package/dist/esm/chunks/chunk.R2E6CGZE.js +129 -0
- package/dist/esm/chunks/chunk.R2E6CGZE.js.map +7 -0
- package/dist/esm/chunks/chunk.R4B7JSSA.js +7 -0
- package/dist/esm/chunks/{chunk.4BEI55KI.js.map → chunk.R4B7JSSA.js.map} +1 -1
- package/dist/esm/chunks/chunk.RFLASSCI.js +7 -0
- package/dist/esm/chunks/{chunk.47A2CN5U.js.map → chunk.RFLASSCI.js.map} +1 -1
- package/dist/esm/chunks/chunk.RWPPN4XB.js +7 -0
- package/dist/esm/chunks/{chunk.M2QU3LUR.js.map → chunk.RWPPN4XB.js.map} +2 -2
- package/dist/esm/chunks/{chunk.H4Z4DHPA.js → chunk.RXBGYGVH.js} +2 -2
- package/dist/esm/chunks/{chunk.7UKA4E5A.js → chunk.S5EJVD5E.js} +2 -2
- package/dist/esm/chunks/{chunk.7UKA4E5A.js.map → chunk.S5EJVD5E.js.map} +1 -1
- package/dist/esm/chunks/{chunk.77Y3EABF.js → chunk.SCP23NBN.js} +2 -2
- package/dist/esm/chunks/{chunk.77Y3EABF.js.map → chunk.SCP23NBN.js.map} +1 -1
- package/dist/esm/chunks/{chunk.XQ2EQIDS.js → chunk.SCQVDO5I.js} +2 -2
- package/dist/esm/chunks/{chunk.XQ2EQIDS.js.map → chunk.SCQVDO5I.js.map} +1 -1
- package/dist/esm/chunks/chunk.T64UW37U.js +7 -0
- package/dist/esm/chunks/{chunk.JHBCYICS.js.map → chunk.T64UW37U.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MHOS3IHQ.js → chunk.T7KUZYQ3.js} +2 -2
- package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.T7KUZYQ3.js.map} +1 -1
- package/dist/esm/chunks/{chunk.VC2BG2RS.js → chunk.TG4ZRHKV.js} +2 -2
- package/dist/esm/chunks/{chunk.VC2BG2RS.js.map → chunk.TG4ZRHKV.js.map} +1 -1
- package/dist/esm/chunks/{chunk.G5MGGEFP.js → chunk.TKDMM2ZZ.js} +2 -2
- package/dist/esm/chunks/{chunk.HPDBSBQJ.js → chunk.TLRRYVSN.js} +124 -24
- package/dist/esm/chunks/{chunk.HPDBSBQJ.js.map → chunk.TLRRYVSN.js.map} +1 -1
- package/dist/esm/chunks/chunk.UHTQGET5.js +201 -0
- package/dist/esm/chunks/{chunk.4FSAAN6W.js.map → chunk.UHTQGET5.js.map} +1 -1
- package/dist/esm/chunks/{chunk.SXTTEIIH.js → chunk.UROMKMFI.js} +2 -2
- package/dist/esm/chunks/{chunk.SXTTEIIH.js.map → chunk.UROMKMFI.js.map} +1 -1
- package/dist/esm/chunks/{chunk.Y72NANFX.js → chunk.UUUF27IU.js} +2 -2
- package/dist/esm/chunks/{chunk.Y72NANFX.js.map → chunk.UUUF27IU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.DONAMICM.js → chunk.UV3WIHCM.js} +1 -1
- package/dist/esm/chunks/{chunk.DONAMICM.js.map → chunk.UV3WIHCM.js.map} +1 -1
- package/dist/esm/chunks/chunk.UVQIUEXO.js +7 -0
- package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.UVQIUEXO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.J6WCFQSS.js → chunk.UZENE2NC.js} +2 -2
- package/dist/esm/chunks/{chunk.J6WCFQSS.js.map → chunk.UZENE2NC.js.map} +1 -1
- package/dist/esm/chunks/chunk.VOGCDMLL.js +12 -0
- package/dist/esm/chunks/{chunk.K2C4W3CO.js → chunk.W6MDMZTN.js} +2 -2
- package/dist/esm/chunks/{chunk.Y66GSZJB.js → chunk.WDTA5G7R.js} +1 -1
- package/dist/esm/chunks/{chunk.Y66GSZJB.js.map → chunk.WDTA5G7R.js.map} +1 -1
- package/dist/esm/chunks/{chunk.XUW3GG46.js → chunk.XCNL2LI6.js} +2 -2
- package/dist/esm/chunks/{chunk.JEN6YP2Q.js → chunk.XGWGJFWC.js} +2 -2
- package/dist/esm/chunks/chunk.XIQFHO5R.js +7 -0
- package/dist/esm/chunks/{chunk.FVRSGKJD.js.map → chunk.XIQFHO5R.js.map} +2 -2
- package/dist/esm/chunks/chunk.XX5QEV5W.js +7 -0
- package/dist/esm/chunks/{chunk.44IJE5UL.js.map → chunk.XX5QEV5W.js.map} +1 -1
- package/dist/esm/chunks/chunk.YM6VAIY2.js +7 -0
- package/dist/esm/chunks/{chunk.7BOXIJAM.js → chunk.YMG4QDOY.js} +2 -2
- package/dist/esm/chunks/{chunk.7BOXIJAM.js.map → chunk.YMG4QDOY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MLV25D2G.js → chunk.YTOYNJMD.js} +2 -2
- package/dist/esm/chunks/{chunk.K6AFP52A.js → chunk.YYXEUR4Y.js} +2 -2
- package/dist/esm/chunks/{chunk.K6AFP52A.js.map → chunk.YYXEUR4Y.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UBD2DPQN.js → chunk.ZB54OC26.js} +2 -2
- package/dist/esm/chunks/{chunk.UBD2DPQN.js.map → chunk.ZB54OC26.js.map} +1 -1
- package/dist/esm/chunks/{chunk.X5LGVZGO.js → chunk.ZJXVI6A7.js} +2 -2
- package/dist/esm/chunks/{chunk.X5LGVZGO.js.map → chunk.ZJXVI6A7.js.map} +1 -1
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/delegates/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/mask/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/theme/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.d.ts +6 -13
- package/esm/circular-progress/circular-progress-adapter.js +25 -25
- package/esm/circular-progress/circular-progress-constants.d.ts +6 -2
- package/esm/circular-progress/circular-progress-constants.js +8 -3
- package/esm/circular-progress/circular-progress-foundation.d.ts +0 -8
- package/esm/circular-progress/circular-progress-foundation.js +9 -27
- package/esm/circular-progress/circular-progress.d.ts +24 -5
- package/esm/circular-progress/circular-progress.js +28 -16
- package/esm/core/base/base-component.d.ts +1 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/package.json +1 -2
- package/styles/circular-progress/_mixins.scss +13 -307
- package/styles/circular-progress/circular-progress.scss +8 -0
- package/styles/core/style-layer/circular-progress/_animations.scss +64 -0
- package/styles/core/style-layer/circular-progress/_core.scss +131 -0
- package/styles/core/style-layer/circular-progress/_variables.scss +14 -0
- package/styles/core/style-layer/circular-progress/index.scss +121 -0
- package/styles/core/style-layer/core/_config.scss +6 -0
- package/dist/esm/chunks/chunk.242YUZKU.js +0 -7
- package/dist/esm/chunks/chunk.2DXG2R3M.js +0 -73
- package/dist/esm/chunks/chunk.2DXG2R3M.js.map +0 -7
- package/dist/esm/chunks/chunk.44IJE5UL.js +0 -7
- package/dist/esm/chunks/chunk.47A2CN5U.js +0 -7
- package/dist/esm/chunks/chunk.4BEI55KI.js +0 -7
- package/dist/esm/chunks/chunk.4FSAAN6W.js +0 -29
- package/dist/esm/chunks/chunk.4NI63FGK.js +0 -7
- package/dist/esm/chunks/chunk.4WPFFNLH.js +0 -7
- package/dist/esm/chunks/chunk.5WNKQTXX.js +0 -7
- package/dist/esm/chunks/chunk.6OKJPSUE.js +0 -7
- package/dist/esm/chunks/chunk.72AUOVCD.js +0 -7
- package/dist/esm/chunks/chunk.7A6MX6CS.js +0 -7
- package/dist/esm/chunks/chunk.ABLKZXJ3.js +0 -12
- package/dist/esm/chunks/chunk.BTBHIIGI.js +0 -7
- package/dist/esm/chunks/chunk.C7AN6FMW.js +0 -7
- package/dist/esm/chunks/chunk.CKYHP5MC.js +0 -7
- package/dist/esm/chunks/chunk.DT7MZR5Y.js +0 -7
- package/dist/esm/chunks/chunk.DYNEJBYK.js +0 -7
- package/dist/esm/chunks/chunk.E6CYXNS2.js +0 -7
- package/dist/esm/chunks/chunk.EGRUD7S7.js +0 -7
- package/dist/esm/chunks/chunk.F3MP6AXF.js +0 -29
- package/dist/esm/chunks/chunk.F3MP6AXF.js.map +0 -7
- package/dist/esm/chunks/chunk.FVRSGKJD.js +0 -7
- package/dist/esm/chunks/chunk.G3ZTZ4AN.js +0 -7
- package/dist/esm/chunks/chunk.IGTXLDZS.js +0 -7
- package/dist/esm/chunks/chunk.ILRWZHH3.js +0 -29
- package/dist/esm/chunks/chunk.JHBCYICS.js +0 -7
- package/dist/esm/chunks/chunk.JHY2CKEH.js +0 -7
- package/dist/esm/chunks/chunk.M2QU3LUR.js +0 -7
- package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
- package/dist/esm/chunks/chunk.MXTDW27J.js +0 -7
- package/dist/esm/chunks/chunk.RB5BTA5N.js +0 -7
- package/dist/esm/chunks/chunk.ROR6JMAE.js +0 -7
- package/dist/esm/chunks/chunk.SAQVWOVK.js +0 -7
- package/dist/esm/chunks/chunk.TWZXQQQO.js +0 -29
- package/dist/esm/chunks/chunk.TWZXQQQO.js.map +0 -7
- package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
- package/dist/esm/chunks/chunk.V7WKXEZC.js +0 -7
- package/dist/esm/chunks/chunk.Y5A7RQ5M.js +0 -7
- package/dist/esm/chunks/chunk.YBEBD4CN.js +0 -7
- package/dist/esm/chunks/chunk.YI4JTY4T.js +0 -14
- package/dist/esm/chunks/chunk.YPZNIYQL.js +0 -7
- package/dist/esm/chunks/chunk.ZFHPUAYX.js +0 -7
- package/styles/circular-progress/_keyframes.scss +0 -185
- package/styles/circular-progress/_variables.scss +0 -50
- /package/dist/esm/chunks/{chunk.IGTXLDZS.js.map → chunk.3GZF7UI2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.423SNVSH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AFLH5HUG.js.map → chunk.46LZNRRP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UT7QUGAO.js.map → chunk.5MPUISW3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IUOBRBDZ.js.map → chunk.6HMCSEKV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KU5CXXGS.js.map → chunk.7KEUUHXY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WP4QOOIS.js.map → chunk.7VWG4IEN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ARJ3EVVO.js.map → chunk.G4IN6Y46.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JHY2CKEH.js.map → chunk.H5MJBEK5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RBAVT3XQ.js.map → chunk.HVYK2OWE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MCIQXNKY.js.map → chunk.M3QDAYD2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZUNZKRRK.js.map → chunk.OAHA3QOH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EGRUD7S7.js.map → chunk.PKZYVWEG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G45OZEIS.js.map → chunk.QUJL4A23.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H4Z4DHPA.js.map → chunk.RXBGYGVH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G5MGGEFP.js.map → chunk.TKDMM2ZZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ABLKZXJ3.js.map → chunk.VOGCDMLL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.K2C4W3CO.js.map → chunk.W6MDMZTN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XUW3GG46.js.map → chunk.XCNL2LI6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JEN6YP2Q.js.map → chunk.XGWGJFWC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DYNEJBYK.js.map → chunk.YM6VAIY2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MLV25D2G.js.map → chunk.YTOYNJMD.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as T}from"./chunk.QA3Z44IQ.js";import{c as L}from"./chunk.JUIFPTRV.js";import{a as D}from"./chunk.ADXALX5F.js";import{a as c,d as H}from"./chunk.GFWFEBAH.js";import{a as C}from"./chunk.LEVFMI2Q.js";import{a as w}from"./chunk.NRXPO3SY.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as S}from"./chunk.TKDMM2ZZ.js";import{a as x,b as B}from"./chunk.55FCNVG5.js";import{a as k,e as y,g}from"./chunk.QH2GB3PD.js";import{i as E,r as h,t as l}from"./chunk.CFDK4RCW.js";import{k as d}from"./chunk.J2M2MXP2.js";import{a as v,b as _,d as a}from"./chunk.M3QDAYD2.js";var p=`${B}bottom-sheet`,A={DRAGGING:"forge-bottom-sheet--dragging",FULLSCREEN:"forge-bottom-sheet--fullscreen",OPEN:"forge-bottom-sheet--open",SCROLLABLE:"forge-bottom-sheet--scrollable"},O={BACKDROP_CLOSE:"backdrop-close",ESCAPE_CLOSE:"escape-close",FULLSCREEN:"fullscreen",INITIAL_FOCUS:`${p}-focus`,OPEN:`${p}-open`,SHOW_BACKDROP:"show-backdrop"},N={BACKDROP:c.elementName,CONTAINER:".forge-bottom-sheet",CONTENT_BODY:"[forge-bottom-sheet-body]",INITIAL_FOCUS:`[${O.INITIAL_FOCUS}]`,HOST:`[${p}-host]`},P={BEFORE_CLOSE:"forge-bottom-sheet-before-close",CLOSE:"forge-bottom-sheet-close",OPEN:"forge-bottom-sheet-open",READY:"forge-bottom-sheet-ready",DRAG_START:"forge-bottom-sheet-drag-start",DRAGGED:"forge-bottom-sheet-dragged",DRAG_END:"forge-bottom-sheet-drag-end",DRAG_CANCEL:"forge-bottom-sheet-drag-cancel",FULLSCREEN:"forge-bottom-sheet-fullscreen"},o={elementName:p,classes:A,selectors:N,attributes:O,events:P};var m=class extends S{constructor(e){super(e);this._backdropElement=g(e,o.selectors.BACKDROP),this._containerElement=g(e,o.selectors.CONTAINER)}initializeAccessibility(){this._component.hasAttribute("role")||(this._component.setAttribute("role","dialog"),this._component.setAttribute("aria-modal","true"))}setVisibility(e){l(this._containerElement,e,o.classes.OPEN)}attach(){(document.querySelector(o.selectors.HOST)||document.body).appendChild(this._component)}detach(){E(this._component)}registerTransitionEndHandler(e){this._containerElement.addEventListener("transitionend",e)}deregisterTransitionEndHandler(e){this._containerElement.removeEventListener("transitionend",e)}setBodyListener(e,i,r){document.body.addEventListener(e,i,r)}removeBodyListener(e,i){document.body.removeEventListener(e,i)}setDocumentListener(e,i){document.addEventListener(e,i)}removeDocumentListener(e,i){document.removeEventListener(e,i)}registerBackdropClickHandler(e){this._backdropElement.addEventListener(c.events.BACKDROP_CLICK,e)}deregisterBackdropClickHandler(e){this._backdropElement.removeEventListener(c.events.BACKDROP_CLICK,e)}getOpenBottomSheets(e){return document.querySelectorAll(e)}trySetInitialFocus(){let e=h(this._component,o.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()}isScrollable(){let e=this._getContentElement();return e?e.scrollHeight>e.offsetHeight:!1}isContentChild(e){let i=this._getContentElement();return i?i.contains(e):!1}initScrollable(){let e=this.isScrollable();l(this._component,e,o.classes.SCROLLABLE),l(this._containerElement,e,o.classes.SCROLLABLE)}setDragging(e){l(this._containerElement,e,o.classes.DRAGGING),l(this._component,e,o.classes.DRAGGING)}setBackdropVisiblity(e){this._backdropElement.hidden=!e}setFullscreen(e){l(this._containerElement,e,o.classes.FULLSCREEN)}tryLayoutChildren(){let e=[w.elementName,D.elementName,L.elementName,T.elementName];Array.from(this._component.querySelectorAll(e.join(","))).filter(r=>typeof r.layout=="function").forEach(r=>r.layout())}setContainerHeight(e){if(e!=null){let i=Math.min(100,100*e/window.innerHeight);this._containerElement.style.maxHeight=`${i}%`}else this._containerElement.style.removeProperty("max-height")}getContainerBounds(){return this._containerElement.getBoundingClientRect()}setDragTargetHandler(e,i){this._containerElement.addEventListener(e,i)}removeDragTargetHandler(e,i){this._containerElement.removeEventListener(e,i)}setBodyScrollHandler(e){let i=this._getContentElement();i&&i.addEventListener("scroll",e)}_getContentElement(){let e=Array.from(h(this._component,o.selectors.CONTENT_BODY,!1));return e.length?e[0]:null}};var b=class{constructor(t){this._adapter=t;this._open=!1;this._backdropClose=!0;this._escapeClose=!0;this._fullscreen=!1;this._showBackdrop=!1;this._isDragging=!1;this._bodyScrollHandler=()=>this._onBodyScroll();this._dragStartHandler=t=>this._onDragStart(t);this._dragMoveHandler=t=>this._onDragMove(t);this._dragEndHandler=()=>this._onDragEnd();this._dragCancelHandler=()=>this._onDragCancel();this._openTransitionEndHandler=e=>this._onOpenTransitionEnd(),this._closeTransitionEndHandler=e=>this._onCloseTransitionEnd(),this._documentKeydownHandler=e=>this._onDocumentKeydown(e),this._backdropClickHandler=e=>this._onBackdropClick(e)}initialize(){this._adapter.initializeAccessibility()}destroy(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setOpen(t){this._open=t,this._open?this._openBottomSheet():this._closeBottomSheet(),this._adapter.toggleHostAttribute(o.attributes.OPEN,this._open)}_openBottomSheet(){this._adapter.attach(),this._adapter.setBodyAttribute(o.attributes.OPEN,"true"),this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler),this._setDocumentKeydownListener(this._escapeClose),this._setBackdropClickListener(this._backdropClose),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{this._adapter.setVisibility(!0),this._adapter.emitHostEvent(o.events.OPEN),this._adapter.trySetInitialFocus(),this._adapter.initScrollable()})})}_closeBottomSheet(){this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler),this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler),this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler),this._adapter.setVisibility(!1)}_onCloseTransitionEnd(){this._adapter.emitHostEvent(o.events.CLOSE),this._adapter.detach(),this._adapter.getOpenBottomSheets(o.elementName).length||this._adapter.removeBodyAttribute(o.attributes.OPEN)}_onOpenTransitionEnd(){this._open&&(this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler),this._adapter.emitHostEvent(o.events.READY),this._adapter.tryLayoutChildren(),this._adapter.isScrollable()&&this._initScrollableHandlers())}_onDocumentKeydown(t){t.stopPropagation(),t.key&&(t.key==="Escape"||t.key==="Esc")&&this._tryClose()}_onBackdropClick(t){t.stopPropagation(),this._tryClose()}async _tryClose(){if(this._adapter.emitHostEvent(o.events.BEFORE_CLOSE,void 0,void 0,!0)){if(!this._beforeCloseCallback){this.open=!1;return}try{if(await Promise.resolve(this._beforeCloseCallback())){this.open=!1;return}}catch(e){return}}}_setBackdropClickListener(t){this._open&&(t?this._adapter.registerBackdropClickHandler(this._backdropClickHandler):this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler))}_setDocumentKeydownListener(t){this._open&&(t?this._adapter.addDocumentListener("keydown",this._documentKeydownHandler):this._adapter.removeDocumentListener("keydown",this._documentKeydownHandler))}set backdropClose(t){t=!!t,this._backdropClose!==t&&(this._backdropClose=t,this._setBackdropClickListener(this._backdropClose),this._adapter.toggleHostAttribute(o.attributes.BACKDROP_CLOSE,this._backdropClose))}get backdropClose(){return this._backdropClose}set escapeClose(t){t=!!t,this._escapeClose!==t&&(this._escapeClose=t,this._setDocumentKeydownListener(this._escapeClose),this._adapter.toggleHostAttribute(o.attributes.ESCAPE_CLOSE,this._escapeClose))}get escapeClose(){return this._escapeClose}get open(){return this._open}set open(t){if(this._open!==t&&(t=!!t,t!==this._open)){let e=t?this._openCallback:this._closeCallback;e?Promise.resolve(e()).then(()=>{this._setOpen(t)}).catch(()=>{}):this._setOpen(t)}}get fullscreen(){return this._fullscreen}set fullscreen(t){this._fullscreen!==t&&(this._fullscreen=t,this._adapter.setFullscreen(this._fullscreen),this._adapter.toggleHostAttribute(o.attributes.FULLSCREEN,this._fullscreen))}get showBackdrop(){return this._showBackdrop}set showBackdrop(t){this._showBackdrop!==t&&(this._showBackdrop=t,this._adapter.setBackdropVisiblity(t),this._adapter.toggleHostAttribute(o.attributes.SHOW_BACKDROP,this._showBackdrop))}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}get beforeCloseCallback(){return this._beforeCloseCallback}set beforeCloseCallback(t){this._beforeCloseCallback=t}_initScrollableHandlers(){!this._fullscreen&&this._adapter.isScrollable()&&(this._adapter.setDragTargetHandler("mousedown",this._dragStartHandler),this._adapter.setDragTargetHandler("touchstart",this._dragStartHandler),this._adapter.setBodyScrollHandler(this._bodyScrollHandler))}_onBodyScroll(){!this._fullscreen&&!this._isDragging&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen))}_onDragStart(t){if(this._fullscreen){let r=C(t);if(this._adapter.isScrollable()&&this._adapter.isContentChild(r[0]))return}t.stopPropagation();let e=this._adapter.getContainerBounds(),i=t instanceof MouseEvent?t.clientY:t.touches[0].clientY;this._dragContext={top:i-e.top,height:e.height},this._adapter.setBodyListener("mousemove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("touchmove",this._dragMoveHandler,{passive:!1}),this._adapter.setBodyListener("mouseup",this._dragEndHandler),this._adapter.setBodyListener("touchend",this._dragEndHandler),this._adapter.setBodyListener("touchcancel",this._dragCancelHandler)}_onDragMove(t){if(t.stopPropagation(),t.preventDefault(),!this._dragContext)return;let e=t instanceof MouseEvent?t.clientY:t.touches[0].clientY,i={y:window.innerHeight-e+this._dragContext.top};if(!this._isDragging){if(this._isDragging=!0,!this._adapter.emitHostEvent(o.events.DRAG_START,i,!0,!0))return;this._adapter.setDragging(!0)}let r=this._fullscreen?i:{y:Math.max(i.y,this._dragContext.height)};(!this._lastPosition||r.y!==this._lastPosition.y)&&this._adapter.emitHostEvent(o.events.DRAGGED,r,!0,!0)&&(this._lastPosition=_(v({},r),{clientY:e}),this._adapter.setContainerHeight(r.y))}_onDragEnd(){if(this._lastPosition){let t=this._lastPosition.clientY,e=this._dragContext;e&&(this._fullscreen&&t>0?(this.fullscreen=!1,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)):!this._fullscreen&&t<e.height+e.top&&(this.fullscreen=!0,this._adapter.emitHostEvent(o.events.FULLSCREEN,this._fullscreen)))}this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_END),this._dragComplete()}_onDragCancel(){this._isDragging&&this._adapter.emitHostEvent(o.events.DRAG_CANCEL),this._dragComplete()}_dragComplete(){this._adapter.setDragging(!1),this._adapter.removeBodyListener("mousemove",this._dragMoveHandler),this._adapter.removeBodyListener("touchmove",this._dragMoveHandler),this._adapter.removeBodyListener("mouseup",this._dragEndHandler),this._adapter.removeBodyListener("touchend",this._dragEndHandler),this._adapter.removeBodyListener("touchcancel",this._dragCancelHandler),this._adapter.setContainerHeight(null),this._lastPosition=void 0,this._dragContext=void 0,this._isDragging=!1}};var I='<template><forge-backdrop hidden part="backdrop"></forge-backdrop><div class="forge-bottom-sheet" part="root"><slot></slot></div></template>',R='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}',n=class extends HTMLElement{constructor(){super();y(this,I,R),this._foundation=new b(new m(this))}static get observedAttributes(){return[o.attributes.BACKDROP_CLOSE,o.attributes.ESCAPE_CLOSE,o.attributes.OPEN,o.attributes.FULLSCREEN,o.attributes.SHOW_BACKDROP]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,r){switch(e){case o.attributes.BACKDROP_CLOSE:this.backdropClose=d(r);break;case o.attributes.ESCAPE_CLOSE:this.escapeClose=d(r);break;case o.attributes.OPEN:this.open=d(r);break;case o.attributes.FULLSCREEN:this.fullscreen=d(r);break;case o.attributes.SHOW_BACKDROP:this.showBackdrop=d(r);break}}};a([s()],n.prototype,"backdropClose",2),a([s()],n.prototype,"escapeClose",2),a([s()],n.prototype,"open",2),a([s()],n.prototype,"fullscreen",2),a([s()],n.prototype,"showBackdrop",2),a([s()],n.prototype,"openCallback",2),a([s()],n.prototype,"closeCallback",2),a([s()],n.prototype,"beforeCloseCallback",2),n=a([x({name:o.elementName,dependencies:[H]})],n);function ve(){k(n)}export{o as a,m as b,b as c,n as d,ve as e};
|
|
7
|
+
//# sourceMappingURL=chunk.N64ASFPE.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/bottom-sheet/bottom-sheet-constants.ts", "../../src/bottom-sheet/bottom-sheet-adapter.ts", "../../src/bottom-sheet/bottom-sheet-foundation.ts", "../../src/bottom-sheet/bottom-sheet.ts", "../../src/bottom-sheet/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { BACKDROP_CONSTANTS } from '../backdrop';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}bottom-sheet`;\n\nconst classes = {\n DRAGGING: 'forge-bottom-sheet--dragging',\n FULLSCREEN: 'forge-bottom-sheet--fullscreen',\n OPEN: 'forge-bottom-sheet--open',\n SCROLLABLE: 'forge-bottom-sheet--scrollable'\n};\n\nconst attributes = {\n BACKDROP_CLOSE: 'backdrop-close',\n ESCAPE_CLOSE: 'escape-close',\n FULLSCREEN: 'fullscreen',\n INITIAL_FOCUS: `${elementName}-focus`,\n OPEN: `${elementName}-open`,\n SHOW_BACKDROP: 'show-backdrop'\n};\n\nconst selectors = {\n BACKDROP: BACKDROP_CONSTANTS.elementName,\n CONTAINER: '.forge-bottom-sheet',\n CONTENT_BODY: '[forge-bottom-sheet-body]',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`,\n HOST: `[${elementName}-host]`\n};\n\nconst events = {\n BEFORE_CLOSE: `forge-bottom-sheet-before-close`,\n CLOSE: `forge-bottom-sheet-close`,\n OPEN: `forge-bottom-sheet-open`,\n READY: `forge-bottom-sheet-ready`,\n DRAG_START: `forge-bottom-sheet-drag-start`,\n DRAGGED: `forge-bottom-sheet-dragged`,\n DRAG_END: `forge-bottom-sheet-drag-end`,\n DRAG_CANCEL: `forge-bottom-sheet-drag-cancel`,\n FULLSCREEN: `forge-bottom-sheet-fullscreen`\n};\n\nexport const BOTTOM_SHEET_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport interface IBottomSheetDragEventData {\n y: number;\n}\n\nexport interface IBottomSheetDragStartEventData extends IBottomSheetDragEventData {}\n\nexport interface IBottomSheetDragContext {\n top: number;\n height: number;\n}\n", "import { getShadowElement, removeElement, deepQuerySelectorAll, toggleClass } from '@tylertech/forge-core';\nimport { BACKDROP_CONSTANTS, IBackdropComponent } from '../backdrop';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\nimport { IBottomSheetComponent } from './bottom-sheet';\nimport { BOTTOM_SHEET_CONSTANTS } from './bottom-sheet-constants';\n\nexport interface IBottomSheetAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n setVisibility(visible: boolean): void;\n attach(): void;\n detach(): void;\n registerTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n deregisterTransitionEndHandler: (handler: (evt: TransitionEvent) => void) => void;\n setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void;\n removeBodyListener(type: string, listener: (evt: Event) => void): void;\n setDocumentListener(type: string, listener: (evt: Event) => void): void;\n removeDocumentListener(type: string, listener: (evt: Event) => void): void;\n registerBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n deregisterBackdropClickHandler: (handler: (evt: CustomEvent) => void) => void;\n getOpenBottomSheets: (selector: string) => NodeListOf<HTMLElement>;\n trySetInitialFocus: () => void;\n isScrollable(): boolean;\n isContentChild(el: HTMLElement): boolean;\n initScrollable(): void;\n setDragging(isDragging: boolean): void;\n setBackdropVisiblity(value: boolean): void;\n setFullscreen(value: boolean): void;\n tryLayoutChildren(): void;\n setContainerHeight(height: number | null): void;\n getContainerBounds(): DOMRect;\n setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void;\n setBodyScrollHandler(listener: (evt: Event) => void): void;\n}\n\n/**\n * Provides facilities for interacting with the internal DOM of `BottomSheetComponent`.\n */\nexport class BottomSheetAdapter extends BaseAdapter<IBottomSheetComponent> implements IBottomSheetAdapter {\n private _backdropElement: IBackdropComponent;\n private _containerElement: HTMLElement;\n\n constructor(component: IBottomSheetComponent) {\n super(component);\n this._backdropElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.BACKDROP) as IBackdropComponent;\n this._containerElement = getShadowElement(component, BOTTOM_SHEET_CONSTANTS.selectors.CONTAINER);\n }\n\n public initializeAccessibility(): void {\n if (!this._component.hasAttribute('role')) {\n this._component.setAttribute('role', 'dialog');\n this._component.setAttribute('aria-modal', 'true');\n }\n }\n\n public setVisibility(visible: boolean): void {\n toggleClass(this._containerElement, visible, BOTTOM_SHEET_CONSTANTS.classes.OPEN);\n }\n\n public attach(): void {\n const hostElement = document.querySelector(BOTTOM_SHEET_CONSTANTS.selectors.HOST) || document.body;\n hostElement.appendChild(this._component);\n }\n\n public detach(): void {\n removeElement(this._component);\n }\n\n public registerTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.addEventListener('transitionend', handler);\n }\n\n public deregisterTransitionEndHandler(handler: (evt: TransitionEvent) => void): void {\n this._containerElement.removeEventListener('transitionend', handler);\n }\n\n public setBodyListener(type: string, listener: (evt: Event) => void, options?: AddEventListenerOptions): void {\n document.body.addEventListener(type, listener, options);\n }\n\n public removeBodyListener(type: string, listener: (evt: Event) => void): void {\n document.body.removeEventListener(type, listener);\n }\n\n public setDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.addEventListener(type, listener);\n }\n\n public removeDocumentListener(type: string, listener: (evt: Event) => void): void {\n document.removeEventListener(type, listener);\n }\n\n public registerBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.addEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public deregisterBackdropClickHandler(handler: (evt: CustomEvent) => void): void {\n this._backdropElement.removeEventListener(BACKDROP_CONSTANTS.events.BACKDROP_CLICK, handler);\n }\n\n public getOpenBottomSheets(selector: string): NodeListOf<HTMLElement> {\n return document.querySelectorAll(selector);\n }\n\n public trySetInitialFocus(): void {\n const elements = deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n }\n\n public isScrollable(): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.scrollHeight > contentElement.offsetHeight : false;\n }\n\n public isContentChild(el: HTMLElement): boolean {\n const contentElement = this._getContentElement();\n return contentElement ? contentElement.contains(el) : false;\n }\n\n public initScrollable(): void {\n const isScrollable = this.isScrollable();\n toggleClass(this._component, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n toggleClass(this._containerElement, isScrollable, BOTTOM_SHEET_CONSTANTS.classes.SCROLLABLE);\n }\n\n public setDragging(isDragging: boolean): void {\n toggleClass(this._containerElement, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n toggleClass(this._component, isDragging, BOTTOM_SHEET_CONSTANTS.classes.DRAGGING);\n }\n\n public setBackdropVisiblity(value: boolean): void {\n this._backdropElement.hidden = !value;\n }\n\n public setFullscreen(value: boolean): void {\n toggleClass(this._containerElement, value, BOTTOM_SHEET_CONSTANTS.classes.FULLSCREEN);\n }\n\n public tryLayoutChildren(): void {\n const layoutChildren = [ICON_BUTTON_CONSTANTS.elementName, SWITCH_CONSTANTS.elementName, CHECKBOX_CONSTANTS.elementName, RADIO_CONSTANTS.elementName];\n const commonLayoutElements = Array.from(this._component.querySelectorAll(layoutChildren.join(','))) as any[];\n commonLayoutElements.filter(el => typeof el.layout === 'function').forEach(el => el.layout());\n }\n\n public setContainerHeight(height: number | null): void {\n if (height != null) {\n const percent = Math.min(100, 100 * height / window.innerHeight);\n this._containerElement.style.maxHeight = `${percent}%`;\n } else {\n this._containerElement.style.removeProperty('max-height');\n }\n }\n\n public getContainerBounds(): DOMRect {\n return this._containerElement.getBoundingClientRect() as DOMRect;\n }\n\n public setDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.addEventListener(type, listener);\n }\n\n public removeDragTargetHandler(type: string, listener: (evt: MouseEvent) => void): void {\n this._containerElement.removeEventListener(type, listener);\n }\n\n public setBodyScrollHandler(listener: (evt: MouseEvent) => void): void {\n const contentElement = this._getContentElement();\n if (contentElement) {\n contentElement.addEventListener('scroll', listener);\n }\n }\n\n private _getContentElement(): HTMLElement | null {\n const contentElements = Array.from(deepQuerySelectorAll(this._component, BOTTOM_SHEET_CONSTANTS.selectors.CONTENT_BODY, false)) as HTMLElement[];\n return contentElements.length ? contentElements[0] : null;\n }\n}\n", "import { ICustomElementFoundation, getEventPath } from '@tylertech/forge-core';\n\nimport { IBottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragContext, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\n\nexport interface IBottomSheetFoundation extends ICustomElementFoundation {\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n showBackdrop: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\nexport class BottomSheetFoundation implements IBottomSheetFoundation {\n private _open = false;\n private _backdropClose = true;\n private _escapeClose = true;\n private _fullscreen = false;\n private _showBackdrop = false;\n private _openCallback: () => void | Promise<void>;\n private _closeCallback: () => void | Promise<void>;\n private _beforeCloseCallback: () => boolean | Promise<boolean>;\n private _openTransitionEndHandler: (evt: TransitionEvent) => void;\n private _closeTransitionEndHandler: (evt: TransitionEvent) => void;\n private _documentKeydownHandler: (evt: KeyboardEvent) => void;\n private _backdropClickHandler: (evt: CustomEvent) => void;\n private _isDragging = false;\n private _dragContext: IBottomSheetDragContext | undefined;\n private _lastPosition: { y: number; clientY: number } | undefined;\n private _bodyScrollHandler = (): void => this._onBodyScroll();\n private _dragStartHandler = ($event: MouseEvent): void => this._onDragStart($event);\n private _dragMoveHandler = ($event: MouseEvent): void => this._onDragMove($event);\n private _dragEndHandler = (): void => this._onDragEnd();\n private _dragCancelHandler = (): void => this._onDragCancel();\n\n constructor(public _adapter: IBottomSheetAdapter) {\n this._openTransitionEndHandler = (_evt: TransitionEvent) => this._onOpenTransitionEnd();\n this._closeTransitionEndHandler = (_evt: TransitionEvent) => this._onCloseTransitionEnd();\n this._documentKeydownHandler = (evt: KeyboardEvent) => this._onDocumentKeydown(evt);\n this._backdropClickHandler = (evt: CustomEvent) => this._onBackdropClick(evt);\n }\n\n public initialize(): void {\n this._adapter.initializeAccessibility();\n }\n\n public destroy(): void {\n if (this._open) {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setOpen(open: boolean): void {\n this._open = open;\n if (this._open) {\n this._openBottomSheet();\n } else {\n this._closeBottomSheet();\n }\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, this._open);\n }\n\n private _openBottomSheet(): void {\n this._adapter.attach();\n this._adapter.setBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN, 'true');\n this._adapter.registerTransitionEndHandler(this._openTransitionEndHandler);\n this._setDocumentKeydownListener(this._escapeClose);\n this._setBackdropClickListener(this._backdropClose);\n\n // Ensure transitions are triggered properly\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n this._adapter.setVisibility(true);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.OPEN);\n this._adapter.trySetInitialFocus();\n this._adapter.initScrollable();\n });\n });\n }\n\n private _closeBottomSheet(): void {\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n this._adapter.registerTransitionEndHandler(this._closeTransitionEndHandler);\n\n this._adapter.setVisibility(false);\n }\n\n private _onCloseTransitionEnd(): void {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.CLOSE);\n this._adapter.detach();\n const openBottomSheets = this._adapter.getOpenBottomSheets(BOTTOM_SHEET_CONSTANTS.elementName);\n if (!openBottomSheets.length) {\n this._adapter.removeBodyAttribute(BOTTOM_SHEET_CONSTANTS.attributes.OPEN);\n }\n }\n\n private _onOpenTransitionEnd(): void {\n if (!this._open) {\n return;\n }\n this._adapter.deregisterTransitionEndHandler(this._openTransitionEndHandler);\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.READY);\n this._adapter.tryLayoutChildren();\n if (this._adapter.isScrollable()) {\n this._initScrollableHandlers();\n }\n }\n\n private _onDocumentKeydown(evt: KeyboardEvent): void {\n evt.stopPropagation();\n if (evt.key && (evt.key === 'Escape' || evt.key === 'Esc')) {\n this._tryClose();\n }\n }\n\n private _onBackdropClick(evt: CustomEvent): void {\n evt.stopPropagation();\n this._tryClose();\n }\n\n private async _tryClose(): Promise<void> {\n const isCancelled = !this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.BEFORE_CLOSE, undefined, undefined, true);\n if (isCancelled) {\n return;\n }\n\n if (!this._beforeCloseCallback) {\n this.open = false;\n return;\n }\n\n try {\n const shouldClose = await Promise.resolve(this._beforeCloseCallback());\n if (shouldClose) {\n this.open = false;\n return;\n }\n } catch (err) {\n return;\n }\n }\n\n private _setBackdropClickListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.registerBackdropClickHandler(this._backdropClickHandler);\n } else {\n this._adapter.deregisterBackdropClickHandler(this._backdropClickHandler);\n }\n }\n\n private _setDocumentKeydownListener(attach: boolean): void {\n if (!this._open) {\n return;\n }\n\n if (attach) {\n this._adapter.addDocumentListener('keydown', this._documentKeydownHandler);\n } else {\n this._adapter.removeDocumentListener('keydown', this._documentKeydownHandler);\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom sheet or not. */\n public set backdropClose(value: boolean) {\n value = Boolean(value);\n if (this._backdropClose !== value) {\n this._backdropClose = value;\n this._setBackdropClickListener(this._backdropClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE, this._backdropClose);\n }\n }\n public get backdropClose(): boolean {\n return this._backdropClose;\n }\n\n /** Controls whether pressing the escape key closes the sheet or not. */\n public set escapeClose(value: boolean) {\n value = Boolean(value);\n if (this._escapeClose !== value) {\n this._escapeClose = value;\n this._setDocumentKeydownListener(this._escapeClose);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE, this._escapeClose);\n }\n }\n public get escapeClose(): boolean {\n return this._escapeClose;\n }\n\n public get open(): boolean {\n return this._open;\n }\n\n public set open(value: boolean) {\n if (this._open !== value) {\n value = Boolean(value);\n if (value !== this._open) {\n const callback = value ? this._openCallback : this._closeCallback;\n if (callback) {\n Promise.resolve(callback())\n .then(() => {\n this._setOpen(value);\n })\n .catch(() => { });\n } else {\n this._setOpen(value);\n }\n }\n }\n }\n\n public get fullscreen(): boolean {\n return this._fullscreen;\n }\n public set fullscreen(value: boolean) {\n if (this._fullscreen !== value) {\n this._fullscreen = value;\n this._adapter.setFullscreen(this._fullscreen);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN, this._fullscreen);\n }\n }\n\n public get showBackdrop(): boolean {\n return this._showBackdrop;\n }\n public set showBackdrop(value: boolean) {\n if (this._showBackdrop !== value) {\n this._showBackdrop = value;\n this._adapter.setBackdropVisiblity(value);\n this._adapter.toggleHostAttribute(BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP, this._showBackdrop);\n }\n }\n\n public get openCallback(): () => void | Promise<void> {\n return this._openCallback;\n }\n public set openCallback(callback: () => void | Promise<void>) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): () => void | Promise<void> {\n return this._closeCallback;\n }\n public set closeCallback(callback: () => void | Promise<void>) {\n this._closeCallback = callback;\n }\n\n public get beforeCloseCallback(): () => boolean | Promise<boolean> {\n return this._beforeCloseCallback;\n }\n public set beforeCloseCallback(callback: () => boolean | Promise<boolean>) {\n this._beforeCloseCallback = callback;\n }\n\n /** If scrollable, allow drag to/from fullscreen, and make fullscreen on scroll. */\n private _initScrollableHandlers(): void {\n if (!this._fullscreen && this._adapter.isScrollable()) {\n this._adapter.setDragTargetHandler('mousedown', this._dragStartHandler);\n this._adapter.setDragTargetHandler('touchstart', this._dragStartHandler);\n this._adapter.setBodyScrollHandler(this._bodyScrollHandler);\n }\n }\n\n private _onBodyScroll(): void {\n if (!this._fullscreen && !this._isDragging) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n\n private _onDragStart(evt: MouseEvent | TouchEvent): void {\n if (this._fullscreen) {\n const eventPath = getEventPath(evt);\n const isWithinScrollContainer = this._adapter.isScrollable() && this._adapter.isContentChild(eventPath[0]);\n if (isWithinScrollContainer) {\n // We ignore drag events that originate from within the scrollable content when in full screen mode (to allow for scroll interactions)\n return;\n }\n }\n\n evt.stopPropagation();\n const bounds = this._adapter.getContainerBounds();\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n this._dragContext = {\n top: clientY - bounds.top,\n height: bounds.height\n };\n this._adapter.setBodyListener('mousemove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('touchmove', this._dragMoveHandler, { passive: false });\n this._adapter.setBodyListener('mouseup', this._dragEndHandler);\n this._adapter.setBodyListener('touchend', this._dragEndHandler);\n this._adapter.setBodyListener('touchcancel', this._dragCancelHandler);\n }\n\n private _onDragMove(evt: MouseEvent | TouchEvent): void {\n evt.stopPropagation();\n evt.preventDefault();\n if (!this._dragContext) {\n return;\n }\n const clientY = evt instanceof MouseEvent ? evt.clientY : evt.touches[0].clientY;\n const height = { y: window.innerHeight - clientY + this._dragContext.top };\n\n // If this is the beginning of the move sequence, we emit the start event (to allow for preventing default) and\n // then update the surface position if not prevented\n if (!this._isDragging) {\n this._isDragging = true;\n const canDrag = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_START, height as IBottomSheetDragStartEventData, true, true);\n if (!canDrag) {\n return;\n }\n this._adapter.setDragging(true);\n }\n\n // If not fullscreen, clamp to minimum of original height.\n const newPosition = this._fullscreen ? height : { y: Math.max(height.y, this._dragContext.height) };\n\n // Only update the position if it actually changed\n if (!this._lastPosition || newPosition.y !== this._lastPosition.y) {\n const canMove = this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAGGED, newPosition as IBottomSheetDragStartEventData, true, true);\n if (canMove) {\n this._lastPosition = { ...newPosition, clientY };\n this._adapter.setContainerHeight(newPosition.y);\n }\n }\n }\n\n private _onDragEnd(): void {\n if (this._lastPosition) {\n const clientY = this._lastPosition.clientY;\n const dragContext = this._dragContext;\n if (dragContext) {\n if (this._fullscreen && clientY > 0) {\n this.fullscreen = false;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n } else if (!this._fullscreen && clientY < dragContext.height + dragContext.top) {\n this.fullscreen = true;\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.FULLSCREEN, this._fullscreen);\n }\n }\n }\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_END);\n }\n this._dragComplete();\n }\n\n private _onDragCancel(): void {\n if (this._isDragging) {\n this._adapter.emitHostEvent(BOTTOM_SHEET_CONSTANTS.events.DRAG_CANCEL);\n }\n this._dragComplete();\n }\n\n private _dragComplete(): void {\n this._adapter.setDragging(false);\n this._adapter.removeBodyListener('mousemove', this._dragMoveHandler);\n this._adapter.removeBodyListener('touchmove', this._dragMoveHandler);\n this._adapter.removeBodyListener('mouseup', this._dragEndHandler);\n this._adapter.removeBodyListener('touchend', this._dragEndHandler);\n this._adapter.removeBodyListener('touchcancel', this._dragCancelHandler);\n this._adapter.setContainerHeight(null);\n this._lastPosition = undefined;\n this._dragContext = undefined;\n this._isDragging = false;\n }\n}\n", "import { attachShadowTemplate, CustomElement, FoundationProperty, ICustomElement, upgradeProperty, coerceBoolean } from '@tylertech/forge-core';\n\nimport { BackdropComponent } from '../backdrop';\nimport { BottomSheetAdapter } from './bottom-sheet-adapter';\nimport { BOTTOM_SHEET_CONSTANTS, IBottomSheetDragEventData, IBottomSheetDragStartEventData } from './bottom-sheet-constants';\nimport { BottomSheetFoundation } from './bottom-sheet-foundation';\n\nconst template = '<template><forge-backdrop hidden part=\\\"backdrop\\\"></forge-backdrop><div class=\\\"forge-bottom-sheet\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-bottom-sheet{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);border-radius:4px 4px 0 0;border-radius:var(--forge-bottom-sheet-border-radius,4px 4px 0 0);max-width:50%;max-width:var(--forge-bottom-sheet-desktop-max-width,50%);-webkit-box-sizing:border-box;box-sizing:border-box;position:fixed;bottom:0;right:0;left:0;max-height:50%;margin:0 auto;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1);transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in,transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1),-webkit-transform var(--forge-bottom-sheet-transition-duration-close, 200ms) cubic-bezier(.4, 0, .2, 1)}@media (max-width:600px){.forge-bottom-sheet{max-width:100%;width:100%;margin:0;border-radius:0}}.forge-bottom-sheet--open{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms);transition-duration:var(--forge-bottom-sheet-transition-duration, 250ms)}.forge-bottom-sheet--fullscreen.forge-bottom-sheet--open{height:100%;max-height:100%;-webkit-transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in;transition:max-height var(--forge-bottom-sheet-transition-duration, 250ms) ease-in}.forge-bottom-sheet--dragging{-webkit-transition:none!important;transition:none!important}.forge-bottom-sheet--scrollable{height:100%}:host{z-index:8;z-index:var(--forge-z-index-dialog,8);position:fixed}:host forge-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;position:fixed}:host([hidden]){display:none}';\n\nexport interface IBottomSheetComponent extends ICustomElement {\n showBackdrop: boolean;\n backdropClose: boolean;\n escapeClose: boolean;\n open: boolean;\n fullscreen: boolean;\n openCallback: () => void | Promise<void>;\n closeCallback: () => void | Promise<void>;\n beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n\ndeclare global {\n // tslint:disable-next-line: interface-name\n interface HTMLElementTagNameMap {\n 'forge-bottom-sheet': IBottomSheetComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-bottom-sheet-open': CustomEvent<void>;\n 'forge-bottom-sheet-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-close': CustomEvent<void>;\n 'forge-bottom-sheet-before-open': CustomEvent<void>;\n 'forge-bottom-sheet-ready': CustomEvent<void>;\n 'forge-bottom-sheet-drag-start': CustomEvent<IBottomSheetDragStartEventData>;\n 'forge-bottom-sheet-dragged': CustomEvent<IBottomSheetDragEventData>;\n 'forge-bottom-sheet-drag-end': CustomEvent<void>;\n 'forge-bottom-sheet-drag-cancel': CustomEvent<void>;\n 'forge-bottom-sheet-fullscreen': CustomEvent<boolean>;\n }\n}\n\n/**\n * The web component class behind the `<forge-bottom-sheet>` custom element.\n * \n * @tag forge-bottom-sheet\n */\n@CustomElement({\n name: BOTTOM_SHEET_CONSTANTS.elementName,\n dependencies: [BackdropComponent]\n})\nexport class BottomSheetComponent extends HTMLElement implements IBottomSheetComponent {\n public static get observedAttributes(): string[] {\n return [\n BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE,\n BOTTOM_SHEET_CONSTANTS.attributes.OPEN,\n BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN,\n BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP\n ];\n }\n\n private _foundation: BottomSheetFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BottomSheetFoundation(new BottomSheetAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, _oldValue: string, newValue: string): void {\n switch (name) {\n case BOTTOM_SHEET_CONSTANTS.attributes.BACKDROP_CLOSE:\n this.backdropClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.ESCAPE_CLOSE:\n this.escapeClose = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.FULLSCREEN:\n this.fullscreen = coerceBoolean(newValue);\n break;\n case BOTTOM_SHEET_CONSTANTS.attributes.SHOW_BACKDROP:\n this.showBackdrop = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether clicking the backdrop closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare backdropClose: boolean;\n\n /** Controls whether pressing the escape key closes the bottom-sheet or not. Default is true. */\n @FoundationProperty()\n public declare escapeClose: boolean;\n\n /** Controls whether the bottom-sheet is open or not. Default is false. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Controls whether the bottom-sheet is full screen or not. Default is false. */\n @FoundationProperty()\n public declare fullscreen: boolean;\n\n /** Shows a backdrop to prevent interacting with other content until the bottom sheet is dismissed. Default is false. */\n @FoundationProperty()\n public declare showBackdrop: boolean;\n\n /** The function to call when the bottom-sheet wants to open. */\n @FoundationProperty()\n public declare openCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare closeCallback: () => void | Promise<void>;\n\n /** the function to call when the bottom-sheet wants to close. */\n @FoundationProperty()\n public declare beforeCloseCallback: () => boolean | Promise<boolean>;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BottomSheetComponent } from './bottom-sheet';\n\nexport * from './bottom-sheet-adapter';\nexport * from './bottom-sheet-constants';\nexport * from './bottom-sheet-foundation';\nexport * from './bottom-sheet';\n\nexport function defineBottomSheetComponent(): void {\n defineCustomElement(BottomSheetComponent);\n}\n"],
|
|
5
|
-
"mappings": "2jBAGA,IAAMA,EAA2C,GAAGC,gBAE9CC,EAAU,CACd,SAAU,+BACV,WAAY,iCACZ,KAAM,2BACN,WAAY,gCACd,EAEMC,EAAa,CACjB,eAAgB,iBAChB,aAAc,eACd,WAAY,aACZ,cAAe,GAAGH,UAClB,KAAM,GAAGA,SACT,cAAe,eACjB,EAEMI,EAAY,CAChB,SAAUC,EAAmB,YAC7B,UAAW,sBACX,aAAc,4BACd,cAAe,IAAIF,EAAW,iBAC9B,KAAM,IAAIH,SACZ,EAEMM,EAAS,CACb,aAAc,kCACd,MAAO,2BACP,KAAM,0BACN,MAAO,2BACP,WAAY,gCACZ,QAAS,6BACT,SAAU,8BACV,YAAa,iCACb,WAAY,+BACd,EAEaC,EAAyB,CACpC,YAAAP,EACA,QAAAE,EACA,UAAAE,EACA,WAAAD,EACA,OAAAG,CACF,ECLO,IAAME,EAAN,cAAiCC,CAAkE,CAIxG,YAAYC,EAAkC,CAC5C,MAAMA,CAAS,EACf,KAAK,iBAAmBC,EAAiBD,EAAWE,EAAuB,UAAU,QAAQ,EAC7F,KAAK,kBAAoBD,EAAiBD,EAAWE,EAAuB,UAAU,SAAS,CACjG,CAEO,yBAAgC,CAChC,KAAK,WAAW,aAAa,MAAM,IACtC,KAAK,WAAW,aAAa,OAAQ,QAAQ,EAC7C,KAAK,WAAW,aAAa,aAAc,MAAM,EAErD,CAEO,cAAcC,EAAwB,CAC3CC,EAAY,KAAK,kBAAmBD,EAASD,EAAuB,QAAQ,IAAI,CAClF,CAEO,QAAe,EACA,SAAS,cAAcA,EAAuB,UAAU,IAAI,GAAK,SAAS,MAClF,YAAY,KAAK,UAAU,CACzC,CAEO,QAAe,CACpBG,EAAc,KAAK,UAAU,CAC/B,CAEO,6BAA6BC,EAA+C,CACjF,KAAK,kBAAkB,iBAAiB,gBAAiBA,CAAO,CAClE,CAEO,+BAA+BA,EAA+C,CACnF,KAAK,kBAAkB,oBAAoB,gBAAiBA,CAAO,CACrE,CAEO,gBAAgBC,EAAcC,EAAgCC,EAAyC,CAC5G,SAAS,KAAK,iBAAiBF,EAAMC,EAAUC,CAAO,CACxD,CAEO,mBAAmBF,EAAcC,EAAsC,CAC5E,SAAS,KAAK,oBAAoBD,EAAMC,CAAQ,CAClD,CAEO,oBAAoBD,EAAcC,EAAsC,CAC7E,SAAS,iBAAiBD,EAAMC,CAAQ,CAC1C,CAEO,uBAAuBD,EAAcC,EAAsC,CAChF,SAAS,oBAAoBD,EAAMC,CAAQ,CAC7C,CAEO,6BAA6BF,EAA2C,CAC7E,KAAK,iBAAiB,iBAAiBI,EAAmB,OAAO,eAAgBJ,CAAO,CAC1F,CAEO,+BAA+BA,EAA2C,CAC/E,KAAK,iBAAiB,oBAAoBI,EAAmB,OAAO,eAAgBJ,CAAO,CAC7F,CAEO,oBAAoBK,EAA2C,CACpE,OAAO,SAAS,iBAAiBA,CAAQ,CAC3C,CAEO,oBAA2B,CAChC,IAAMC,EAAWC,EAAqB,KAAK,WAAYX,EAAuB,UAAU,aAAa,EACjGU,GAAYA,EAAS,QACAA,EAASA,EAAS,OAAS,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "attributes", "selectors", "BACKDROP_CONSTANTS", "events", "BOTTOM_SHEET_CONSTANTS", "BottomSheetAdapter", "BaseAdapter", "component", "getShadowElement", "BOTTOM_SHEET_CONSTANTS", "visible", "toggleClass", "removeElement", "handler", "type", "listener", "options", "BACKDROP_CONSTANTS", "selector", "elements", "deepQuerySelectorAll", "contentElement", "el", "isScrollable", "isDragging", "value", "layoutChildren", "ICON_BUTTON_CONSTANTS", "SWITCH_CONSTANTS", "CHECKBOX_CONSTANTS", "RADIO_CONSTANTS", "height", "percent", "contentElements", "BottomSheetFoundation", "_adapter", "$event", "_evt", "evt", "open", "BOTTOM_SHEET_CONSTANTS", "err", "attach", "value", "callback", "eventPath", "getEventPath", "bounds", "clientY", "height", "newPosition", "__spreadProps", "__spreadValues", "dragContext", "template", "styles", "BottomSheetComponent", "attachShadowTemplate", "BottomSheetFoundation", "BottomSheetAdapter", "BOTTOM_SHEET_CONSTANTS", "name", "_oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "BackdropComponent", "defineBottomSheetComponent", "defineCustomElement", "BottomSheetComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as r}from"./chunk.QUJL4A23.js";import{a as f}from"./chunk.FDZSLGIW.js";import{a as c}from"./chunk.MGLWXAZO.js";import{a}from"./chunk.NVUMRW44.js";import{a as y}from"./chunk.TKDMM2ZZ.js";import{a as O}from"./chunk.55FCNVG5.js";import{a as L,l as x}from"./chunk.QH2GB3PD.js";import{d as g,i as E,q as b}from"./chunk.CFDK4RCW.js";import{b as p,l as T,p as v}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";function I(s){s.style.border="0",s.style.clip="rect(0 0 0 0)",s.style.height="1px",s.style.margin="-1px",s.style.overflow="hidden",s.style.padding="0",s.style.position="absolute",s.style.width="1px",s.style.outline="0",s.style.setProperty("-webkit-appearance","none"),s.style.setProperty("-moz-appearance","none")}function P(s,e,t){typeof t=="string"&&(t=document.createTextNode(t));let i=document.createElement("div");i.setAttribute("role","tooltip"),i.classList.add(r.classes.TOOLTIP),i.appendChild(t),i.setAttribute("role","tooltip"),i.setAttribute("aria-hidden","true"),(s.ownerDocument||document).body.appendChild(i);let d={x:0,y:0},u=4;switch(e){case"top":d.y=-u,i.classList.add(r.classes.TOOLTIP_TOP);break;case"right":d.x=u,i.classList.add(r.classes.TOOLTIP_RIGHT);break;case"bottom":d.y=u,i.classList.add(r.classes.TOOLTIP_BOTTOM);break;case"left":d.x=-u,i.classList.add(r.classes.TOOLTIP_LEFT);break}return window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{i.classList.add(r.classes.TOOLTIP_OPEN),f({element:i,targetElement:s,placement:e,transform:!1,offset:d})})}),i}var h=class extends y{constructor(t){super(t);this._tooltipElement=null}initializeTargetElement(t){this._targetElement=this._getTargetElement(t)}initializeAccessibility(t){this._targetElement&&!this._targetElement.hasAttribute("aria-describedby")&&this._targetElement.setAttribute("aria-describedby",t)}hasTargetElement(){return!!this._targetElement}hasTooltipElement(){return!!this._tooltipElement}isTargetElementConnected(){return!!this._targetElement&&this._targetElement.isConnected}destroy(t){this._targetElement&&this._targetElement.getAttribute("aria-describedby")===t&&this._targetElement.removeAttribute("aria-describedby")}setTextContent(t){g(this._component),t&&this._component.appendChild(document.createTextNode(t))}addTargetEventListener(t,i){this._targetElement&&this._targetElement.addEventListener(t,i)}removeTargetEventListener(t,i){this._targetElement&&this._targetElement.removeEventListener(t,i)}showTooltip(t,i){if(!this._targetElement)return;i||(i=this._getTooltipContent().cloneNode(!0));let l=i.nodeType===3&&(!i.textContent||i.textContent.trim().length===0);!i||l||(this._tooltipElement=P(this._targetElement,t,i))}getInnerText(){return this._component.innerText}hideTooltip(){this._tooltipElement&&(E(this._tooltipElement),this._tooltipElement=null)}getTooltipElement(){return this._tooltipElement}_getTargetElement(t){if(t){if(this._component.parentElement)return b(this._component.parentElement,t)?this._component.parentElement:this._component.parentElement.querySelector(t)}else return this._component.previousElementSibling||this._component.parentElement;return null}_getTooltipContent(){return this._component.firstElementChild||this._component.firstChild||document.createTextNode("")}};var _=class _{constructor(e){this._adapter=e;this._delay=r.numbers.DEFAULT_DELAY;this._position=r.strings.DEFAULT_POSITION;this._isOpen=!1;this._mouseOverListener=t=>this._onMouseOver(t),this._mouseOutListener=t=>this._onMouseOut(t),this._touchStartListener=t=>this._onTouchStart(t),this._touchEndListener=t=>this._onTouchEnd(t),this._scrollListener=v(t=>this._onScroll(t),100),this._clickListener=()=>this._targetInteracted(),this._mouseDownListener=()=>this._targetInteracted(),this._dragListener=()=>this._targetInteracted()}initialize(){if(this._adapter.initializeTargetElement(this._target),!this._adapter.hasTargetElement())throw new Error("Unable to locate target element.");this._identifier=this._adapter.getHostAttribute("id"),this._identifier||(this._identifier=this._getNextIdentifier(),this._adapter.setHostAttribute("id",this._identifier)),this._addTargetListeners(),this._adapter.initializeAccessibility(this._identifier)}disconnect(){this._mouseOverTimeout&&(window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0),this._touchTimeout&&(window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0),this._adapter.destroy(this._identifier),this._isOpen&&this.hide(),this._adapter.hasTargetElement()&&this._removeTargetListeners()}_getNextIdentifier(){return`forge-tooltip-${_._tooltipIdentifier++}`}_addTargetListeners(){c.isMobile?(this._adapter.addTargetEventListener("touchstart",this._touchStartListener),this._adapter.addTargetEventListener("touchend",this._touchEndListener)):(this._adapter.addTargetEventListener("mouseover",this._mouseOverListener),this._adapter.addTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.addTargetEventListener("click",this._clickListener),this._adapter.addTargetEventListener("mousedown",this._mouseDownListener),this._adapter.addTargetEventListener("dragstart",this._dragListener)}_removeTargetListeners(){c.isMobile?(this._adapter.removeTargetEventListener("touchstart",this._touchStartListener),this._adapter.removeTargetEventListener("touchend",this._touchEndListener)):(this._adapter.removeTargetEventListener("mouseover",this._mouseOverListener),this._adapter.removeTargetEventListener("mouseout",this._mouseOutListener)),this._adapter.removeTargetEventListener("click",this._clickListener),this._adapter.removeTargetEventListener("mousedown",this._mouseDownListener),this._adapter.removeTargetEventListener("dragstart",this._dragListener)}_onTouchStart(e){this._touchTimeout=window.setTimeout(()=>{this._show(),window.setTimeout(()=>this.hide(),r.numbers.LONGPRESS_VISIBILITY_DURATION),this._touchTimeout=void 0},r.numbers.LONGPRESS_THRESHOLD)}_onTouchEnd(e){this._touchTimeout&&this._clearTouchTimer()}_clearTouchTimer(){window.clearTimeout(this._touchTimeout),this._touchTimeout=void 0}_onMouseOver(e){this._isOpen||!this._adapter.hasTargetElement()||!this._adapter.isTargetElementConnected()||(this._delay?this._mouseOverTimeout=window.setTimeout(()=>{this._show(),this._mouseOverTimeout=void 0},this._delay):this._show())}_onMouseOut(e){if(this._mouseOverTimeout){window.clearTimeout(this._mouseOverTimeout),this._mouseOverTimeout=void 0;return}this.hide()}_show(){let e;this._builder&&typeof this._builder=="function"&&(e=this._builder()),this._adapter.showTooltip(this._position,e),this._adapter.hasTooltipElement()&&(this._isOpen=!0,this._adapter.addWindowListener("scroll",this._scrollListener))}hide(){this._isOpen&&(this._touchTimeout&&this._clearTouchTimer(),this._isOpen=!1,this._adapter.removeWindowListener("scroll",this._scrollListener),this._adapter.hideTooltip())}_onScroll(e){this._isOpen&&this.hide()}_targetInteracted(){this._mouseOverTimeout&&window.clearTimeout(this._mouseOverTimeout),this._isOpen&&this.hide()}get text(){return this._text||this._adapter.getInnerText()}set text(e){this._text!==e&&(this._text=e,this._adapter.setTextContent(this._text),this._adapter.setHostAttribute(r.attributes.TEXT,this._text))}get builder(){return this._builder}set builder(e){this._builder=e}get target(){return this._target}set target(e){this._target!==e&&(this._target=e,this._adapter.hasTargetElement()&&this._removeTargetListeners(),this._adapter.initializeTargetElement(this._target),this._adapter.hasTargetElement()&&this._addTargetListeners(),this._adapter.setHostAttribute(r.attributes.TARGET,p(this._target)?this._target:""))}get delay(){return this._delay}set delay(e){this._delay!==e&&(this._delay=e,this._adapter.setHostAttribute(r.attributes.DELAY,p(this._delay)?this._delay.toString():""))}get position(){return this._position}set position(e){this._position!==e&&(this._position=e,this._adapter.setHostAttribute(r.attributes.POSITION,p(this._position)?this._position.toString():""))}set open(e){this._show()}get open(){return this._isOpen}get tooltipElement(){return this._adapter.getTooltipElement()}};_._tooltipIdentifier=0;var m=_;var o=class extends x{constructor(){super();this._foundation=new m(new h(this))}static get observedAttributes(){return[r.attributes.TEXT,r.attributes.TARGET,r.attributes.DELAY,r.attributes.POSITION]}connectedCallback(){I(this),requestAnimationFrame(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,l){switch(t){case r.attributes.TEXT:this.text=l;break;case r.attributes.TARGET:this.target=l;break;case r.attributes.DELAY:this.delay=T(l);break;case r.attributes.POSITION:this.position=l;break}}hide(){this._foundation.hide()}};n([a()],o.prototype,"text",2),n([a()],o.prototype,"builder",2),n([a()],o.prototype,"target",2),n([a()],o.prototype,"delay",2),n([a()],o.prototype,"position",2),n([a()],o.prototype,"open",2),n([a({set:!1})],o.prototype,"tooltipElement",2),o=n([O({name:r.elementName})],o);function tt(){L(o)}export{P as a,h as b,m as c,o as d,tt as e};
|
|
7
|
+
//# sourceMappingURL=chunk.NEMJIVPU.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/a11y/a11y.js", "../../src/tooltip/tooltip-utils.ts", "../../src/tooltip/tooltip-adapter.ts", "../../src/tooltip/tooltip-foundation.ts", "../../src/tooltip/tooltip.ts", "../../src/tooltip/index.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Hides an element from the user visually, while keeping it in the DOM.\n * @param element The element to hide from view.\n */\nexport function hideElementVisually(element) {\n element.style.border = '0';\n element.style.clip = 'rect(0 0 0 0)';\n element.style.height = '1px';\n element.style.margin = '-1px';\n element.style.overflow = 'hidden';\n element.style.padding = '0';\n element.style.position = 'absolute';\n element.style.width = '1px';\n element.style.outline = '0';\n element.style.setProperty('-webkit-appearance', 'none');\n element.style.setProperty('-moz-appearance', 'none');\n}\n", "import { IElementPosition, positionElementAsync } from '@tylertech/forge-core';\nimport { PopupPlacement } from '../popup';\nimport { TOOLTIP_CONSTANTS } from './tooltip-constants';\n\n/**\n * Attaches a positioned tooltip to the provided target element.\n * @param targetElement The element to position the tooltip around.\n * @param placement The placement of the tooltip relative to the target element.\n * @param content The content of the tooltip.\n */\nexport function attachTooltip(targetElement: HTMLElement, placement: PopupPlacement, content: string | HTMLElement | Text): HTMLElement {\n if (typeof content === 'string') {\n content = document.createTextNode(content);\n }\n\n const element = document.createElement('div');\n element.setAttribute('role', 'tooltip');\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP);\n element.appendChild(content);\n element.setAttribute('role', 'tooltip');\n element.setAttribute('aria-hidden', 'true');\n\n const hostDocument = targetElement.ownerDocument || document;\n hostDocument.body.appendChild(element);\n\n const offset: IElementPosition = { x: 0, y: 0 };\n const offsetAmount = 4;\n\n switch (placement) {\n case 'top':\n offset.y = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_TOP);\n break;\n case 'right':\n offset.x = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_RIGHT);\n break;\n case 'bottom':\n offset.y = offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_BOTTOM);\n break;\n case 'left':\n offset.x = -offsetAmount;\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_LEFT);\n break;\n }\n\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n element.classList.add(TOOLTIP_CONSTANTS.classes.TOOLTIP_OPEN);\n positionElementAsync({ element, targetElement, placement, transform: false, offset });\n });\n });\n\n return element;\n}\n", "import { removeAllChildren, removeElement, matchesSelectors } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { PopupPlacement } from '../popup';\nimport { ITooltipComponent } from './tooltip';\nimport { attachTooltip } from './tooltip-utils';\n\nexport interface ITooltipAdapter extends IBaseAdapter {\n hasTargetElement(): boolean;\n hasTooltipElement(): boolean;\n isTargetElementConnected(): boolean;\n initializeTargetElement(selector: string): void;\n destroy(identifier: string | null): void;\n initializeAccessibility(identifier: string): void;\n setTextContent(text: string): void;\n addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void;\n showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void;\n getInnerText(): string;\n hideTooltip(): void;\n getTooltipElement(): HTMLElement | null;\n}\n\n/**\n * The DOM adapter for the tooltip component.\n */\nexport class TooltipAdapter extends BaseAdapter<ITooltipComponent> implements ITooltipAdapter {\n private _targetElement: HTMLElement | null;\n private _tooltipElement: HTMLElement | null = null;\n\n constructor(component: ITooltipComponent) {\n super(component);\n }\n\n public initializeTargetElement(selector: string): void {\n this._targetElement = this._getTargetElement(selector);\n }\n\n public initializeAccessibility(identifier: string): void {\n if (this._targetElement && !this._targetElement.hasAttribute('aria-describedby')) {\n this._targetElement.setAttribute('aria-describedby', identifier);\n }\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public hasTooltipElement(): boolean {\n return !!this._tooltipElement;\n }\n\n public isTargetElementConnected(): boolean {\n return !!this._targetElement && this._targetElement.isConnected;\n }\n\n public destroy(identifier: string | null): void {\n if (this._targetElement && this._targetElement.getAttribute('aria-describedby') === identifier) {\n this._targetElement.removeAttribute('aria-describedby');\n }\n }\n\n /**\n * Sets the text content of the host element to the provided text.\n * @param text The text content.\n */\n public setTextContent(text: string): void {\n removeAllChildren(this._component);\n if (text) {\n this._component.appendChild(document.createTextNode(text));\n }\n }\n\n /**\n * Adds an event listener to the target element.\n * @param targetElement The target element instance.\n * @param type The event type.\n * @param listener The event listener.\n */\n public addTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(type, listener);\n }\n }\n\n /**\n * Removes an event listener from the target element.\n * @param type The event type.\n * @param listener The event listener.\n */\n public removeTargetEventListener(type: string, listener: (evt: MouseEvent) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(type, listener);\n }\n }\n\n /**\n * Displays the tooltip around the target element based on the provided configuration.\n * @param position The position.\n * @param content The tooltip content.\n */\n public showTooltip(position: PopupPlacement, content?: HTMLElement | Text): void {\n if (!this._targetElement) {\n return;\n }\n\n if (!content) {\n const child = this._getTooltipContent();\n content = child.cloneNode(true) as HTMLElement | Text;\n }\n\n const isEmptyTextNode = content.nodeType === 3 && (!content.textContent || content.textContent.trim().length === 0);\n const isEmptyNode = !content || isEmptyTextNode;\n if (isEmptyNode) {\n return;\n }\n\n this._tooltipElement = attachTooltip(this._targetElement, position, content);\n }\n\n public getInnerText(): string {\n return this._component.innerText;\n }\n\n /**\n * Removes the tooltip from the DOM.\n * @param tooltipElement The target element instance.\n */\n public hideTooltip(): void {\n if (this._tooltipElement) {\n removeElement(this._tooltipElement);\n this._tooltipElement = null;\n }\n }\n\n public getTooltipElement(): HTMLElement | null {\n return this._tooltipElement;\n }\n\n /**\n * Gets the target element based on the provided CSS selector.\n * @param {string | undefined} selector The target element selector.\n */\n private _getTargetElement(selector: string | undefined): HTMLElement | null {\n if (selector) {\n if (this._component.parentElement) {\n if (matchesSelectors(this._component.parentElement, selector)) {\n return this._component.parentElement;\n }\n return this._component.parentElement.querySelector(selector);\n }\n } else {\n return (this._component.previousElementSibling || this._component.parentElement) as HTMLElement;\n }\n return null;\n }\n\n private _getTooltipContent(): Node {\n return this._component.firstElementChild || this._component.firstChild || document.createTextNode('');\n }\n}\n", "import { ICustomElementFoundation, throttle, Platform, isDefined } from '@tylertech/forge-core';\n\nimport { ITooltipAdapter } from './tooltip-adapter';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\n\nexport interface ITooltipFoundation extends ICustomElementFoundation {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\n/**\n * The foundation class behind the tooltip component.\n */\nexport class TooltipFoundation implements ITooltipFoundation {\n private static _tooltipIdentifier = 0;\n private _identifier: string | null;\n private _text: string;\n private _builder: TooltipBuilder | undefined;\n private _target: string;\n private _delay = TOOLTIP_CONSTANTS.numbers.DEFAULT_DELAY;\n private _position: PopupPlacement = TOOLTIP_CONSTANTS.strings.DEFAULT_POSITION as PopupPlacement;\n private _mouseOverTimeout: number | undefined;\n private _isOpen = false;\n private _touchTimeout: number | undefined;\n private _mouseOverListener: (evt: MouseEvent) => void;\n private _mouseOutListener: (evt: MouseEvent) => void;\n private _touchStartListener: (evt: MouseEvent) => void;\n private _touchEndListener: (evt: MouseEvent) => void;\n private _scrollListener: (evt: Event) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _mouseDownListener: (evt: MouseEvent) => void;\n private _dragListener: (evt: DragEvent) => void;\n \n constructor(private _adapter: ITooltipAdapter) {\n this._mouseOverListener = evt => this._onMouseOver(evt);\n this._mouseOutListener = evt => this._onMouseOut(evt);\n this._touchStartListener = evt => this._onTouchStart(evt);\n this._touchEndListener = evt => this._onTouchEnd(evt);\n this._scrollListener = throttle((evt: Event) => this._onScroll(evt), 100);\n this._clickListener = () => this._targetInteracted();\n this._mouseDownListener = () => this._targetInteracted();\n this._dragListener = () => this._targetInteracted();\n }\n\n public initialize(): void {\n this._adapter.initializeTargetElement(this._target);\n\n if (!this._adapter.hasTargetElement()) {\n throw new Error('Unable to locate target element.');\n }\n\n // Set a unique id for this tooltip (unless it already has one)\n this._identifier = this._adapter.getHostAttribute('id');\n if (!this._identifier) {\n this._identifier = this._getNextIdentifier();\n this._adapter.setHostAttribute('id', this._identifier);\n }\n\n this._addTargetListeners();\n this._adapter.initializeAccessibility(this._identifier);\n }\n\n public disconnect(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n }\n if (this._touchTimeout) {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n this._adapter.destroy(this._identifier);\n if (this._isOpen) {\n this.hide();\n }\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n }\n\n /**\n * Generates the next available tooltip identifier.\n */\n private _getNextIdentifier(): string {\n return `forge-tooltip-${TooltipFoundation._tooltipIdentifier++}`;\n }\n\n /** Adds event listeners to the target element. */\n private _addTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.addTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.addTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.addTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.addTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.addTargetEventListener('click', this._clickListener);\n this._adapter.addTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.addTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Removes the event listeners from the target element.\n * @param targetElement The target element instance.\n */\n private _removeTargetListeners(): void {\n if (Platform.isMobile) {\n this._adapter.removeTargetEventListener('touchstart', this._touchStartListener);\n this._adapter.removeTargetEventListener('touchend', this._touchEndListener);\n } else {\n this._adapter.removeTargetEventListener('mouseover', this._mouseOverListener);\n this._adapter.removeTargetEventListener('mouseout', this._mouseOutListener);\n }\n\n this._adapter.removeTargetEventListener('click', this._clickListener);\n this._adapter.removeTargetEventListener('mousedown', this._mouseDownListener);\n this._adapter.removeTargetEventListener('dragstart', this._dragListener);\n }\n\n /**\n * Handles the touchstart event on the target element to detect long press.\n */\n private _onTouchStart(evt: Event): void {\n this._touchTimeout = window.setTimeout(() => {\n this._show();\n window.setTimeout(() => this.hide(), TOOLTIP_CONSTANTS.numbers.LONGPRESS_VISIBILITY_DURATION);\n this._touchTimeout = undefined;\n }, TOOLTIP_CONSTANTS.numbers.LONGPRESS_THRESHOLD);\n }\n \n /**\n * Handles the touchend event on the target element to cancel a long press action.\n */\n private _onTouchEnd(evt: Event): void {\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n }\n\n private _clearTouchTimer(): void {\n window.clearTimeout(this._touchTimeout);\n this._touchTimeout = undefined;\n }\n\n /**\n * Handles the mouseover event on the target element.\n */\n private _onMouseOver(evt: MouseEvent): void {\n if (this._isOpen || !this._adapter.hasTargetElement() || !this._adapter.isTargetElementConnected()) {\n return;\n }\n\n if (this._delay) {\n this._mouseOverTimeout = window.setTimeout(() => {\n this._show();\n this._mouseOverTimeout = undefined;\n }, this._delay);\n } else {\n this._show();\n }\n }\n\n /**\n * Handles the mouseout event on the target element.\n */\n private _onMouseOut(evt: MouseEvent): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n this._mouseOverTimeout = undefined;\n return;\n }\n this.hide();\n }\n\n /**\n * Displays the tooltip.\n */\n private _show(): void {\n let content: HTMLElement | undefined;\n\n if (this._builder && typeof this._builder === 'function') {\n content = this._builder();\n }\n\n this._adapter.showTooltip(this._position, content);\n\n if (this._adapter.hasTooltipElement()) {\n this._isOpen = true;\n this._adapter.addWindowListener('scroll', this._scrollListener);\n }\n }\n\n /**\n * Hides the tooltip.\n */\n public hide(): void {\n if (!this._isOpen) {\n return;\n }\n if (this._touchTimeout) {\n this._clearTouchTimer();\n }\n this._isOpen = false;\n this._adapter.removeWindowListener('scroll', this._scrollListener);\n this._adapter.hideTooltip();\n }\n\n /**\n * Handles scrolling events when the tooltip is open.\n */\n private _onScroll(evt: Event): void {\n if (!this._isOpen) {\n return;\n }\n this.hide();\n }\n\n private _targetInteracted(): void {\n if (this._mouseOverTimeout) {\n window.clearTimeout(this._mouseOverTimeout);\n }\n if (this._isOpen) {\n this.hide();\n }\n }\n\n /** Gets/sets the tooltip text. */\n public get text(): string {\n return this._text || this._adapter.getInnerText();\n }\n public set text(value: string) {\n if (this._text !== value) {\n this._text = value;\n this._adapter.setTextContent(this._text);\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TEXT, this._text);\n }\n }\n\n /** Sets the tooltip builder function. */\n public get builder(): TooltipBuilder | undefined {\n return this._builder;\n }\n public set builder(value: TooltipBuilder | undefined) {\n this._builder = value;\n }\n \n /** Gets/sets the target element CSS selector. */\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value;\n\n if (this._adapter.hasTargetElement()) {\n this._removeTargetListeners();\n }\n\n this._adapter.initializeTargetElement(this._target);\n \n if (this._adapter.hasTargetElement()) {\n this._addTargetListeners();\n }\n\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.TARGET, isDefined(this._target) ? this._target : '');\n }\n }\n\n /** Gets/sets the interaction delay. */\n public get delay(): number {\n return this._delay;\n }\n public set delay(value: number) {\n if (this._delay !== value) {\n this._delay = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.DELAY, isDefined(this._delay) ? this._delay.toString() : '');\n }\n }\n\n /** Gets/sets the tooltip position. */\n public get position(): PopupPlacement {\n return this._position;\n }\n public set position(value: PopupPlacement) {\n if (this._position !== value) {\n this._position = value;\n this._adapter.setHostAttribute(TOOLTIP_CONSTANTS.attributes.POSITION, isDefined(this._position) ? this._position.toString() : '');\n }\n }\n\n public set open(value: boolean) {\n this._show();\n }\n public get open(): boolean {\n return this._isOpen;\n }\n\n public get tooltipElement(): HTMLElement | null {\n return this._adapter.getTooltipElement();\n }\n}\n", "import { CustomElement, coerceNumber, hideElementVisually, FoundationProperty } from '@tylertech/forge-core';\nimport { TooltipAdapter } from './tooltip-adapter';\nimport { TooltipFoundation } from './tooltip-foundation';\nimport { TOOLTIP_CONSTANTS, TooltipBuilder } from './tooltip-constants';\nimport { PopupPlacement } from '../popup';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nexport interface ITooltipComponent extends IBaseComponent {\n text: string;\n builder: TooltipBuilder | undefined;\n target: string;\n delay: number;\n position: PopupPlacement;\n open: boolean;\n hide(): void;\n tooltipElement: HTMLElement | null;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tooltip': ITooltipComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-tooltip>` element.\n * \n * @tag forge-tooltip\n */\n@CustomElement({\n name: TOOLTIP_CONSTANTS.elementName\n})\nexport class TooltipComponent extends BaseComponent implements ITooltipComponent {\n public static get observedAttributes(): string[] {\n return [\n TOOLTIP_CONSTANTS.attributes.TEXT,\n TOOLTIP_CONSTANTS.attributes.TARGET,\n TOOLTIP_CONSTANTS.attributes.DELAY,\n TOOLTIP_CONSTANTS.attributes.POSITION\n ];\n }\n\n private _foundation: TooltipFoundation;\n\n constructor() {\n super();\n this._foundation = new TooltipFoundation(new TooltipAdapter(this));\n }\n\n public connectedCallback(): void {\n hideElementVisually(this);\n requestAnimationFrame(() => this._foundation.initialize());\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TOOLTIP_CONSTANTS.attributes.TEXT:\n this.text = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case TOOLTIP_CONSTANTS.attributes.DELAY:\n this.delay = coerceNumber(newValue);\n break;\n case TOOLTIP_CONSTANTS.attributes.POSITION:\n this.position = newValue as PopupPlacement;\n break;\n }\n }\n\n /** Gets/sets the tooltip text. */\n @FoundationProperty()\n public declare text: string;\n\n /** Sets the tooltip builder function for display complex tooltip content. */\n @FoundationProperty()\n public declare builder: TooltipBuilder | undefined;\n \n /** Gets/sets the target element selector. */\n @FoundationProperty()\n public declare target: string;\n\n /** The tooltip display delay in milliseconds. */\n @FoundationProperty()\n public declare delay: number;\n\n /** Gets/sets the position. */\n @FoundationProperty()\n public declare position: `${PopupPlacement}`;\n\n /** Gets the open state of the tooltip. */\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty({ set: false })\n public declare tooltipElement: HTMLElement | null;\n\n /** Hides the tooltip if it's open. */\n public hide(): void {\n this._foundation.hide();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TooltipComponent } from './tooltip';\n\nexport * from './tooltip-adapter';\nexport * from './tooltip-constants';\nexport * from './tooltip-foundation';\nexport * from './tooltip-utils';\nexport * from './tooltip';\n\nexport function defineTooltipComponent(): void {\n defineCustomElement(TooltipComponent);\n}\n"],
|
|
5
|
-
"mappings": "8aAIO,SAASA,EAAoBC,EAAS,CACzCA,EAAQ,MAAM,OAAS,IACvBA,EAAQ,MAAM,KAAO,gBACrBA,EAAQ,MAAM,OAAS,MACvBA,EAAQ,MAAM,OAAS,OACvBA,EAAQ,MAAM,SAAW,SACzBA,EAAQ,MAAM,QAAU,IACxBA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,MAAQ,MACtBA,EAAQ,MAAM,QAAU,IACxBA,EAAQ,MAAM,YAAY,qBAAsB,MAAM,EACtDA,EAAQ,MAAM,YAAY,kBAAmB,MAAM,CACvD,CCNO,SAASC,EAAcC,EAA4BC,EAA2BC,EAAmD,CAClI,OAAOA,GAAY,WACrBA,EAAU,SAAS,eAAeA,CAAO,GAG3C,IAAMC,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,aAAa,OAAQ,SAAS,EACtCA,EAAQ,UAAU,IAAIC,EAAkB,QAAQ,OAAO,EACvDD,EAAQ,YAAYD,CAAO,EAC3BC,EAAQ,aAAa,OAAQ,SAAS,EACtCA,EAAQ,aAAa,cAAe,MAAM,GAErBH,EAAc,eAAiB,UACvC,KAAK,YAAYG,CAAO,EAErC,IAAME,EAA2B,CAAE,EAAG,EAAG,EAAG,CAAE,EACxCC,EAAe,EAErB,OAAQL,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["hideElementVisually", "element", "attachTooltip", "targetElement", "placement", "content", "element", "TOOLTIP_CONSTANTS", "offset", "offsetAmount", "positionElementAsync", "TooltipAdapter", "BaseAdapter", "component", "selector", "identifier", "text", "removeAllChildren", "type", "listener", "position", "content", "isEmptyTextNode", "attachTooltip", "removeElement", "matchesSelectors", "_TooltipFoundation", "_adapter", "TOOLTIP_CONSTANTS", "evt", "throttle", "Platform", "content", "value", "isDefined", "TooltipFoundation", "TooltipComponent", "BaseComponent", "TooltipFoundation", "TooltipAdapter", "TOOLTIP_CONSTANTS", "hideElementVisually", "name", "oldValue", "newValue", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "defineTooltipComponent", "defineCustomElement", "TooltipComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as E}from"./chunk.T64UW37U.js";import{b as I}from"./chunk.ELENDYRJ.js";import{b as f}from"./chunk.WDTA5G7R.js";import{a as g}from"./chunk.RFLASSCI.js";import{a as m,b as h,d as b}from"./chunk.55FCNVG5.js";import{a as u,i as _,l as d}from"./chunk.QH2GB3PD.js";import{f as l,m as c,t as p}from"./chunk.CFDK4RCW.js";import{k as s,l as a}from"./chunk.J2M2MXP2.js";import{d as r}from"./chunk.M3QDAYD2.js";var v=`${h}icon-button`,y={TOGGLE:"toggle",IS_ON:"is-on",ICON_ON:"forge-icon-button-on",DENSE:"dense",DENSITY_LEVEL:"density-level"},L={BUTTON:"button, a",ICON:"i, span, svg, img, forge-icon"},B={BUTTON:"forge-icon-button",BUTTON_ON:"forge-icon-button--on",BUTTON_DENSE:"forge-icon-button--dense",ICON:"forge-icon-button__icon",ICON_ON:"forge-icon-button__icon--on",DENSITY:["forge-icon-button--dense-1","forge-icon-button--dense-2","forge-icon-button--dense-3","forge-icon-button--dense-4","forge-icon-button--dense-5","forge-icon-button--dense-6"]},S={CHANGE:`${v}-change`},e={elementName:v,attributes:y,selectors:L,classes:B,events:S};var o=class extends d{constructor(){super();this._toggle=!1;this._isOn=!1;this._dense=!1;this._densityLevel=5}static get observedAttributes(){return[e.attributes.IS_ON,e.attributes.DENSE,e.attributes.DENSITY_LEVEL,e.attributes.TOGGLE]}connectedCallback(){this.querySelector(e.selectors.BUTTON)?this._initialize():c(this,e.selectors.BUTTON).then(()=>this._initialize())}disconnectedCallback(){this._rippleInstance&&this._rippleInstance.destroy()}attributeChangedCallback(t,n,i){switch(t){case e.attributes.IS_ON:this.isOn=s(i);break;case e.attributes.DENSE:this.dense=s(i);break;case e.attributes.DENSITY_LEVEL:this.densityLevel=a(i);break;case e.attributes.TOGGLE:this.toggle=s(i);break}}get toggle(){return this._toggle}set toggle(t){this._toggle=t,this._toggle?this._initializeToggle():this._destroyToggle()}get isOn(){return this._isOn}set isOn(t){this._isOn!==t&&(this._isOn=t,this._applyToggle())}get dense(){return this._dense}set dense(t){this._dense!==t&&(this._dense=t,this._applyDensity())}get densityLevel(){return this._densityLevel}set densityLevel(t){this._densityLevel!==t&&(this._densityLevel=t,this._densityLevel<=0?this._densityLevel=1:this._densityLevel>6?this._densityLevel=6:typeof this._densityLevel!="number"&&(this._densityLevel=5),this._applyDensity())}_initialize(){this._buttonElement=this.querySelector(e.selectors.BUTTON),this._buttonElement&&(this._buttonElement.classList.add(e.classes.BUTTON),this._applyToggle(),this._applyDensity(),this._toggleHandler=()=>{this._toggleValue(),_(this,e.events.CHANGE,this._isOn,!0)},this._toggle&&this._initializeToggle(),this._deferRippleInitialization())}async _deferRippleInitialization(){let t=await f(this._buttonElement);this._rippleInstance||(this._rippleInstance=this._createRipple(),t==="focusin"&&this._rippleInstance.handleFocus())}_createRipple(){this._rippleInstance&&this._rippleInstance.destroy();let t=new I(this._buttonElement);return t.unbounded=!0,t}_toggleValue(){this._isOn=!this._isOn,this._applyToggle()}_applyToggle(){this._buttonElement&&(p(this._buttonElement,this._isOn,e.classes.BUTTON_ON),this._toggle&&this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))}_applyDensity(){if(this._buttonElement){if(e.classes.DENSITY.forEach(t=>this._buttonElement.classList.remove(t)),this._dense){if(this.setAttribute(e.attributes.DENSE,""),this._buttonElement.classList.add(e.classes.BUTTON_DENSE),this._densityLevel<7&&this._densityLevel>0&&this.densityLevel!==5){let t=e.classes.DENSITY[this._densityLevel-1];this._buttonElement.classList.add(t),this.setAttribute(e.attributes.DENSITY_LEVEL,this._densityLevel.toString())}}else this.removeAttribute(e.attributes.DENSE),this._buttonElement.classList.remove(e.classes.BUTTON_DENSE);this._rippleInstance&&this._rippleInstance.layout()}}_initializeToggle(){if(!this._buttonElement)return;let t=Array.from(this._buttonElement.querySelectorAll(e.selectors.ICON));if(t.length!==2){console.error('You must specify two icons, one for "on" and one for "off".');return}if(t.forEach(n=>n.classList.add(e.classes.ICON)),!t.some(n=>n.classList.contains(e.classes.ICON_ON))){let n=t.find(i=>i.hasAttribute(e.attributes.ICON_ON));n?n.classList.add(e.classes.ICON_ON):t[0].classList.add(e.classes.ICON_ON)}this._buttonElement.addEventListener("click",this._toggleHandler),window.requestAnimationFrame(()=>{this._isOn&&(this._buttonElement.classList.add(e.classes.BUTTON_ON),this._buttonElement.setAttribute("aria-pressed",`${this._isOn}`))})}_destroyToggle(){this._buttonElement&&this._buttonElement.removeEventListener("click",this._toggleHandler)}layout(){this._rippleInstance&&this._rippleInstance.layout()}};o=r([m({name:e.elementName})],o);var N=class extends g{constructor(t){super(t)}_build(){var n;let t=document.createElement(e.elementName);if(this._buttonElement=document.createElement("button"),this._buttonElement.type="button",t.appendChild(this._buttonElement),(n=this._config.options)!=null&&n.tooltip){let i=document.createElement("forge-tooltip");i.textContent=this._config.options.tooltip,this._config.options.tooltipPosition&&(i.position=this._config.options.tooltipPosition),t.appendChild(i)}return t}get iconElement(){return this._iconElement}get disabled(){return!!this._buttonElement.disabled}set disabled(t){this._buttonElement.disabled=t}get butttonElement(){return this._buttonElement}get buttonElement(){return this._buttonElement}_configure(){this._configureIcon()}_configureIcon(){var n,i;if(!((n=this._config.options)!=null&&n.iconName))return;switch(((i=this._config.options)==null?void 0:i.iconType)||"component"){case"font":let O=Array.isArray(this._config.options.iconClass)?this._config.options.iconClass:[b];l(O,this._buttonElement),this._buttonElement.textContent=this._config.options.iconName;break;case"component":this._iconElement=document.createElement(E.elementName),this._iconElement.name=this._config.options.iconName,this._config.options.iconExternal!==void 0&&(this._iconElement.external=!!this._config.options.iconExternal),this._config.options.iconExternalType&&(this._iconElement.externalType=this._config.options.iconExternalType),this._config.options.iconClass&&l(this._config.options.iconClass,this._iconElement),this._buttonElement.appendChild(this._iconElement);break}}onClick(t){this._buttonElement.addEventListener("click",t)}onFocus(t){this._buttonElement.addEventListener("focus",n=>t(n))}onBlur(t){this._buttonElement.addEventListener("blur",n=>t(n))}};function W(){u(o)}export{e as a,o as b,N as c,W as d};
|
|
7
|
+
//# sourceMappingURL=chunk.NRXPO3SY.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/icon-button/icon-button-constants.ts", "../../src/icon-button/icon-button.ts", "../../src/icon-button/icon-button-component-delegate.ts", "../../src/icon-button/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}icon-button`;\n\nconst attributes = {\n TOGGLE: 'toggle',\n IS_ON: 'is-on',\n ICON_ON: 'forge-icon-button-on',\n DENSE: 'dense',\n DENSITY_LEVEL: 'density-level'\n};\n\nconst selectors = {\n BUTTON: 'button, a',\n ICON: 'i, span, svg, img, forge-icon'\n};\n\nconst classes = {\n BUTTON: 'forge-icon-button',\n BUTTON_ON: 'forge-icon-button--on',\n BUTTON_DENSE: 'forge-icon-button--dense',\n ICON: 'forge-icon-button__icon',\n ICON_ON: 'forge-icon-button__icon--on',\n DENSITY: [\n 'forge-icon-button--dense-1',\n 'forge-icon-button--dense-2',\n 'forge-icon-button--dense-3',\n 'forge-icon-button--dense-4',\n 'forge-icon-button--dense-5',\n 'forge-icon-button--dense-6'\n ]\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nexport const ICON_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events\n};\n", "import { coerceBoolean, coerceNumber, CustomElement, emitEvent, ensureChild, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { ForgeRipple } from '../ripple';\nimport { userInteractionListener } from '../core/utils';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\n\nexport interface IIconButtonComponent extends IBaseComponent {\n toggle: boolean;\n isOn: boolean;\n dense: boolean;\n densityLevel: number;\n layout(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-icon-button': IIconButtonComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-icon-button-change': CustomEvent<boolean>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-icon-button>` element.\n * \n * @tag forge-icon-button\n */\n@CustomElement({\n name: ICON_BUTTON_CONSTANTS.elementName\n})\nexport class IconButtonComponent extends BaseComponent implements IIconButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n ICON_BUTTON_CONSTANTS.attributes.IS_ON,\n ICON_BUTTON_CONSTANTS.attributes.DENSE,\n ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL,\n ICON_BUTTON_CONSTANTS.attributes.TOGGLE\n ];\n }\n\n private _rippleInstance: ForgeRipple;\n private _buttonElement: HTMLButtonElement;\n private _toggle = false;\n private _isOn = false;\n private _dense = false;\n private _densityLevel = 5;\n private _toggleHandler: (event: Event) => void;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n if (this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON)) {\n this._initialize();\n } else {\n ensureChild(this, ICON_BUTTON_CONSTANTS.selectors.BUTTON).then(() => this._initialize());\n }\n }\n\n public disconnectedCallback(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case ICON_BUTTON_CONSTANTS.attributes.IS_ON:\n this.isOn = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL:\n this.densityLevel = coerceNumber(newValue);\n break;\n case ICON_BUTTON_CONSTANTS.attributes.TOGGLE:\n this.toggle = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets whether the button is togglable. */\n public get toggle(): boolean {\n return this._toggle;\n }\n public set toggle(value: boolean) {\n this._toggle = value;\n\n if (this._toggle) {\n this._initializeToggle();\n } else {\n this._destroyToggle();\n }\n }\n\n /** Gets/sets the toggled state of the icon button. Only applies when `toggle = true`. */\n public get isOn(): boolean {\n return this._isOn;\n }\n public set isOn(value: boolean) {\n if (this._isOn !== value) {\n this._isOn = value;\n this._applyToggle();\n }\n }\n\n /** Gets/sets whether the icon button is dense. */\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._applyDensity();\n }\n }\n\n /** Controls the density level. 1 (least dense) to 6 (most dense). */\n public get densityLevel(): number {\n return this._densityLevel;\n }\n public set densityLevel(value: number) {\n if (this._densityLevel !== value) {\n this._densityLevel = value;\n\n if (this._densityLevel <= 0) {\n this._densityLevel = 1;\n } else if (this._densityLevel > 6) {\n this._densityLevel = 6;\n } else if (typeof this._densityLevel !== 'number') {\n this._densityLevel = 5;\n }\n\n this._applyDensity();\n }\n }\n\n private _initialize(): void {\n this._buttonElement = this.querySelector(ICON_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n if (!this._buttonElement) {\n return;\n }\n\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON);\n this._applyToggle();\n this._applyDensity();\n this._toggleHandler = () => {\n this._toggleValue();\n emitEvent(this, ICON_BUTTON_CONSTANTS.events.CHANGE, this._isOn, true);\n };\n\n if (this._toggle) {\n this._initializeToggle();\n }\n\n // We wait to initialize the ripple instance until the user interacts with the component to avoid unnecessary performance overhead\n this._deferRippleInitialization();\n }\n\n private async _deferRippleInitialization(): Promise<void> {\n const type = await userInteractionListener(this._buttonElement);\n if (!this._rippleInstance) {\n this._rippleInstance = this._createRipple();\n if (type === 'focusin') {\n this._rippleInstance.handleFocus();\n }\n }\n }\n\n private _createRipple(): ForgeRipple {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n const ripple = new ForgeRipple(this._buttonElement);\n ripple.unbounded = true;\n return ripple;\n }\n\n private _toggleValue(): void {\n this._isOn = !this._isOn;\n this._applyToggle();\n }\n\n private _applyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n toggleClass(this._buttonElement, this._isOn, ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n if (this._toggle) {\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n }\n\n private _applyDensity(): void {\n if (!this._buttonElement) {\n return;\n }\n\n // Remove all other density classes first\n ICON_BUTTON_CONSTANTS.classes.DENSITY.forEach(c => this._buttonElement.classList.remove(c));\n\n if (this._dense) {\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE, '');\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n\n // 5 is the default density level (we apply 5 implicitly in the regular dense class)\n // Exclude 5 since its already covered by dense class\n if (this._densityLevel < 7 && this._densityLevel > 0 && this.densityLevel !== 5) {\n const densityLevelClass = ICON_BUTTON_CONSTANTS.classes.DENSITY[this._densityLevel - 1];\n this._buttonElement.classList.add(densityLevelClass);\n this.setAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSITY_LEVEL, this._densityLevel.toString());\n }\n } else {\n this.removeAttribute(ICON_BUTTON_CONSTANTS.attributes.DENSE);\n this._buttonElement.classList.remove(ICON_BUTTON_CONSTANTS.classes.BUTTON_DENSE);\n }\n\n // re-layout the ripple for cases where dense was changed after initial layout\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n\n private _initializeToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n const icons = Array.from(this._buttonElement.querySelectorAll(ICON_BUTTON_CONSTANTS.selectors.ICON));\n\n // We require two icon/image elements to be specified for the \"on\" and \"off\" states\n if (icons.length !== 2) {\n console.error('You must specify two icons, one for \"on\" and one for \"off\".');\n return;\n }\n\n // Add the icon class to each icon\n icons.forEach(icon => icon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON));\n\n // If there are no icons that specify the \"on\" class, then automatically choose the first icon as the \"on\" icon and add the class,\n // alternatively we check for the existence of a `forge-icon-button-on` attribute on any of the icons and use that.\n if (!icons.some(icon => icon.classList.contains(ICON_BUTTON_CONSTANTS.classes.ICON_ON))) {\n const requestedOnIcon = icons.find(icon => icon.hasAttribute(ICON_BUTTON_CONSTANTS.attributes.ICON_ON));\n if (requestedOnIcon) {\n requestedOnIcon.classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n } else {\n icons[0].classList.add(ICON_BUTTON_CONSTANTS.classes.ICON_ON);\n }\n }\n\n this._buttonElement.addEventListener('click', this._toggleHandler);\n\n // Wait a frame to ensure the value of the `on` property has been set\n window.requestAnimationFrame(() => {\n if (this._isOn) {\n this._buttonElement.classList.add(ICON_BUTTON_CONSTANTS.classes.BUTTON_ON);\n this._buttonElement.setAttribute('aria-pressed', `${this._isOn}`);\n }\n });\n }\n\n private _destroyToggle(): void {\n if (!this._buttonElement) {\n return;\n }\n this._buttonElement.removeEventListener('click', this._toggleHandler);\n }\n\n public layout(): void {\n if (this._rippleInstance) {\n this._rippleInstance.layout();\n }\n }\n}\n", "import { addClass } from '@tylertech/forge-core';\nimport { IconExternalType, ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';\nimport { IIconButtonComponent } from './icon-button';\nimport { ICON_BUTTON_CONSTANTS } from './icon-button-constants';\nimport { PopupPlacement } from '../popup';\n\nexport type IconButtonComponentDelegateProps = Partial<IIconButtonComponent>;\nexport interface IIconButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {\n iconName?: string;\n iconExternal?: boolean;\n iconExternalType?: IconExternalType;\n iconType?: 'font' | 'component';\n iconClass?: string | string[];\n tooltip?: string;\n tooltipPosition?: PopupPlacement;\n}\nexport interface IIconButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IIconButtonComponent, IIconButtonComponentDelegateOptions> {}\n\nexport class IconButtonComponentDelegate extends BaseComponentDelegate<IIconButtonComponent, IIconButtonComponentDelegateOptions> {\n private _buttonElement: HTMLButtonElement;\n private _iconElement?: IIconComponent;\n\n constructor(config?: IIconButtonComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IIconButtonComponent {\n const component = document.createElement(ICON_BUTTON_CONSTANTS.elementName);\n this._buttonElement = document.createElement('button');\n this._buttonElement.type = 'button';\n component.appendChild(this._buttonElement);\n\n if (this._config.options?.tooltip) {\n const tooltip = document.createElement('forge-tooltip');\n tooltip.textContent = this._config.options.tooltip;\n \n if (this._config.options.tooltipPosition) {\n tooltip.position = this._config.options.tooltipPosition;\n }\n\n component.appendChild(tooltip);\n }\n\n return component;\n }\n\n public get iconElement(): IIconComponent | undefined {\n return this._iconElement;\n }\n\n public get disabled(): boolean {\n return !!this._buttonElement.disabled;\n }\n public set disabled(value: boolean) {\n this._buttonElement.disabled = value;\n }\n\n /** @deprecated Use buttonElement instead. */\n public get butttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n public get buttonElement(): HTMLButtonElement | undefined {\n return this._buttonElement;\n }\n\n protected _configure(): void {\n this._configureIcon();\n }\n\n private _configureIcon(): void {\n if (!this._config.options?.iconName) {\n return;\n }\n\n const type = this._config.options?.iconType || 'component';\n\n switch (type) {\n case 'font':\n const classes = Array.isArray(this._config.options.iconClass) ? this._config.options.iconClass : [ICON_CLASS_NAME];\n addClass(classes, this._buttonElement);\n this._buttonElement.textContent = this._config.options.iconName;\n break;\n case 'component':\n this._iconElement = document.createElement(ICON_CONSTANTS.elementName);\n this._iconElement.name = this._config.options.iconName;\n if (this._config.options.iconExternal !== undefined) {\n this._iconElement.external = !!this._config.options.iconExternal;\n }\n if (this._config.options.iconExternalType) {\n this._iconElement.externalType = this._config.options.iconExternalType;\n }\n if (this._config.options.iconClass) {\n addClass(this._config.options.iconClass, this._iconElement);\n }\n this._buttonElement.appendChild(this._iconElement);\n break;\n }\n }\n\n public onClick(listener: (evt: MouseEvent) => void): void {\n this._buttonElement.addEventListener('click', listener);\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener('blur', evt => listener(evt));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { IconButtonComponent } from './icon-button';\n\nexport * from './icon-button-constants';\nexport * from './icon-button';\nexport * from './icon-button-component-delegate';\n\nexport function defineIconButtonComponent(): void {\n defineCustomElement(IconButtonComponent);\n}\n"],
|
|
5
|
-
"mappings": "yZAEA,IAAMA,EAA2C,GAAGC,eAE9CC,EAAa,CACjB,OAAQ,SACR,MAAO,QACP,QAAS,uBACT,MAAO,QACP,cAAe,eACjB,EAEMC,EAAY,CAChB,OAAQ,YACR,KAAM,+BACR,EAEMC,EAAU,CACd,OAAQ,oBACR,UAAW,wBACX,aAAc,2BACd,KAAM,0BACN,QAAS,8BACT,QAAS,CACP,6BACA,6BACA,6BACA,6BACA,6BACA,4BACF,CACF,EAEMC,EAAS,CACb,OAAQ,GAAGL,UACb,EAEaM,EAAwB,CACnC,YAAAN,EACA,WAAAE,EACA,UAAAC,EACA,QAAAC,EACA,OAAAC,CACF,ECXO,IAAME,EAAN,cAAkCC,CAA8C,CAkBrF,aAAc,CACZ,MAAM,EAPR,KAAQ,QAAU,GAClB,KAAQ,MAAQ,GAChB,KAAQ,OAAS,GACjB,KAAQ,cAAgB,CAKxB,CAnBA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAsB,WAAW,MACjCA,EAAsB,WAAW,MACjCA,EAAsB,WAAW,cACjCA,EAAsB,WAAW,MACnC,CACF,CAcO,mBAA0B,CAC3B,KAAK,cAAcA,EAAsB,UAAU,MAAM,EAC3D,KAAK,YAAY,EAEjBC,EAAY,KAAMD,EAAsB,UAAU,MAAM,EAAE,KAAK,IAAM,KAAK,YAAY,CAAC,CAE3F,CAEO,sBAA6B,CAC9B,KAAK,iBACP,KAAK,gBAAgB,QAAQ,CAEjC,CAEO,yBAAyBE,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "classes", "events", "ICON_BUTTON_CONSTANTS", "IconButtonComponent", "BaseComponent", "ICON_BUTTON_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "value", "emitEvent", "type", "userInteractionListener", "ripple", "ForgeRipple", "toggleClass", "c", "densityLevelClass", "icons", "icon", "requestedOnIcon", "__decorateClass", "CustomElement", "IconButtonComponentDelegate", "BaseComponentDelegate", "config", "_a", "component", "ICON_BUTTON_CONSTANTS", "tooltip", "value", "_b", "classes", "ICON_CLASS_NAME", "addClass", "ICON_CONSTANTS", "listener", "evt", "defineIconButtonComponent", "defineCustomElement", "IconButtonComponent"]
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as w,b as L,d as O,e as B}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as w,b as L,d as O,e as B}from"./chunk.ZJXVI6A7.js";import{E as N}from"./chunk.3QD73Z4F.js";import{F as S}from"./chunk.2R72ZTIK.js";import{e as V}from"./chunk.FHW6LV4A.js";import{b as y}from"./chunk.YTOYNJMD.js";import{e as g}from"./chunk.UV3WIHCM.js";import{a as D}from"./chunk.MGLWXAZO.js";import{b as M}from"./chunk.NRXPO3SY.js";import{p as P}from"./chunk.MZLPUI6R.js";import{d as T,l as F}from"./chunk.T64UW37U.js";import{b as A}from"./chunk.XIQFHO5R.js";import{e as m}from"./chunk.DMCBAYQX.js";import{a as x}from"./chunk.G4IN6Y46.js";import{a as b,b as k}from"./chunk.55FCNVG5.js";import{a as E,e as C,i as I}from"./chunk.QH2GB3PD.js";import{s as f}from"./chunk.CFDK4RCW.js";import{f as v}from"./chunk.J2M2MXP2.js";import{a as d,d as _}from"./chunk.M3QDAYD2.js";var r=`${k}date-picker`,z={VALUE:"value"},U={INPUT:"input,input[forge-date-picker-input]"},R={CHANGE:`${r}-change`,OPEN:`${r}-open`,CLOSE:`${r}-close`,INPUT:`${r}-input`},n={elementName:r,selectors:U,events:R,observedAttributes:z};var l=class extends O{constructor(e){super(e);this._dropdownIdentifier=`forge-date-picker-${this._identifier}`}_initializeInput(){this._inputElement=this._component.querySelector(n.selectors.INPUT)}_initializeCalendarDropdown(){let e=this._getDefaultTargetElement();this._calendarDropdown=new S(e,this._dropdownIdentifier)}initializeMask(e){this._inputMask&&this._inputMask.destroy(),this._inputMask=new A(this._inputElement,e)}destroyMask(){this._inputMask&&(this._inputMask.destroy(),this._inputMask=void 0)}initializeAccessibility(){this._inputElement.setAttribute("autocomplete","off"),this._inputElement.setAttribute("autocorrect","off"),this._inputElement.setAttribute("autocapitalize","off"),this._inputElement.setAttribute("spellcheck","false"),this._inputElement.setAttribute("role","combobox"),this._inputElement.setAttribute("aria-live","assertive"),this._inputElement.setAttribute("aria-atomic","true"),this._inputElement.setAttribute("aria-haspopup","true"),this._inputElement.setAttribute("aria-expanded","false"),this._inputElement.setAttribute("aria-owns",this._dropdownIdentifier)}addInputListener(e,t,i){var a;(a=this._inputElement)==null||a.addEventListener(e,t,{capture:i})}removeInputListener(e,t,i){var a;(a=this._inputElement)==null||a.removeEventListener(e,t,{capture:i})}setInputValueChangedListener(e,t){this.destroyValueChangeListener();let i=g(e,this._inputElement,"value",t);this._valueChangeListeners.push(i)}hasInputElement(){return!!this._inputElement}attachCalendar(e,t){super.attachCalendar(e,t),this._inputElement.setAttribute("aria-expanded","true")}detachCalendar(){super.detachCalendar(),this._inputElement&&(this._inputElement.setAttribute("aria-expanded","false"),this._inputElement.removeAttribute("aria-activedescendant"))}setActiveDescendant(e){this._inputElement.setAttribute("aria-activedescendant",e)}setInputValue(e,t){this._inputElement.value!==e&&(this._inputElement.value=e,this._inputMask&&this._inputMask.updateMask(),t&&(this._inputElement.dispatchEvent(new Event("change")),this._inputElement.dispatchEvent(new Event("input"))))}isInputDisabled(){return this._inputElement.disabled}isInputFocused(){return f()===this._inputElement}getInputValue(){return this._inputMask?this._inputMask.maskedValue:this._inputElement.value}setDisabled(e){this._inputElement.disabled=e,this._inputElement.setAttribute("aria-disabled",e.toString()),this._toggleElement&&(this._toggleElement.setAttribute("aria-disabled",e.toString()),this._toggleElement.hasOwnProperty("disabled")&&(this._toggleElement.disabled=e))}tryFocusInput(){this._inputElement.focus()}tryBlurInput(){this._inputElement.blur()}selectInputText(){this._inputElement.select()}emitInputEvent(e,t){I(this._inputElement,e,t)}};var p=class extends B{constructor(e){super(e);this._mode="single"}_initializeState(){this._value||(this._value=this._coerceDateValue(this._adapter.getInputValue()))}_emitChangeEvent(e,t){let i=this._getTypedValue(e);return this._adapter.emitHostEvent(n.events.CHANGE,i,!0,!t)?(this._setValue(e),!0):!1}_emitOpenEvent(){this._adapter.emitHostEvent(n.events.OPEN,void 0,!1)}_emitCloseEvent(){this._adapter.emitHostEvent(n.events.CLOSE,void 0,!1)}_onToday(){let e=new Date;e.setHours(0,0,0,0),this._onDateSelected({date:e,selected:!0,type:"date"})}_onClear(){this._onDateSelected({date:null,selected:!1,type:"date"})}_getCurrentValue(){return this._value}_setFormattedInputValue(e){let t=this._formatDate(this._value);t?this._adapter.setInputValue(t,e?!1:this._notifyInputValueChanges):this._allowInvalidDate||this._adapter.setInputValue("",e?!1:this._notifyInputValueChanges)}_setValue(e){(!e||this._isDateValueAcceptable(e))&&(this._value=e)}_onDateSelected(e){let t=e.date;if(e.type==="date"&&this._closeCalendar(!0),!this._emitChangeEvent(t))return;let i=this._formatDate(t);this._adapter.setInputValue(i,this._notifyInputValueChanges),this._formatInputValue(),D.isMobile||this._adapter.selectInputText()}_openCalendar(e){super._openCalendar(e);let t=this._getCurrentValue();t&&this._adapter.goToCalendarDate(new Date(t))}_applyMin(){this._value&&!this._isDateValueAcceptable(this._value)&&(this._emitChangeEvent(null,!0),this._setFormattedInputValue()),super._applyMin()}_applyMax(){this._value&&!this._isDateValueAcceptable(this._value)&&(this._emitChangeEvent(null,!0),this._setFormattedInputValue()),super._applyMax()}_applyDisabledDates(){this._value&&!this._isDateValueAcceptable(this._value)&&(this._emitChangeEvent(null,!0),this._setFormattedInputValue())}_applyDisabledDaysOfWeek(){this._value&&!this._isDateValueAcceptable(this._value)&&(this._emitChangeEvent(null,!0),this._setFormattedInputValue())}_handleInput(e){let t=this._getSanitizedDateString(e),i=this._coerceDateValue(t);this._masked&&this._adapter.emitInputEvent(n.events.INPUT,t),!m(i,this._value)&&this._isDateValueAcceptable(i)&&this._emitChangeEvent(i)}_onInputValueChanged(e){let t=this._getSanitizedDateString(e);if(this._masked&&t)return;let i=this._coerceDateValue(t);!m(i,this._value)&&this._isDateValueAcceptable(i)&&(this.value=i,this._emitChangeEvent(this._value))}_applyValue(){this._setFormattedInputValue(),this._open&&this._adapter.setCalendarValue(this._value)}get value(){let e=this._getTypedValue(this._value);return e?v(e)?new Date(e.getTime()):e:null}set value(e){this._value!==e&&(this._setValue(this._coerceDateValue(e)),this._isInitialized&&this._applyValue())}};var K="<template><slot></slot></template>",$=":host{display:block}:host([hidden]){display:none}",o=class extends L{static get observedAttributes(){return[...Object.values(w.observedAttributes),n.observedAttributes.VALUE]}constructor(){super(),T.define(P),C(this,K,$),this._foundation=new p(new l(this))}attributeChangedCallback(s,e,t){switch(s){case n.observedAttributes.VALUE:this.value=t;return}super.attributeChangedCallback(s,e,t)}};o=_([b({name:n.elementName,dependencies:[V,N,M,F]})],o);var H=class extends x{constructor(e){super(e)}_build(){let e=document.createElement(n.elementName);return this._attachTextField(e),e}getInputElement(){return this._textFieldDelegate.inputElement}getTextFieldElement(){return this._textFieldDelegate.element}get value(){return this._element.value}set value(e){this._element.value=e}get disabled(){return this._element.disabled}set disabled(e){this._element.disabled=e}get invalid(){return this._textFieldDelegate.invalid||!1}set invalid(e){this._textFieldDelegate.invalid=e}onChange(e){this._element.masked?this._element.addEventListener(n.events.INPUT,t=>e(t.target.value)):this.getInputElement().addEventListener("input",t=>e(t.target.value))}onInput(e){this._element.masked?this._element.addEventListener(n.events.INPUT,t=>e(t.detail)):this._textFieldDelegate.inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._textFieldDelegate.inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._textFieldDelegate.inputElement.addEventListener("blur",t=>e(t))}_attachTextField(e){var i,a,c,h;let t={props:d({},(a=(i=this._config.options)==null?void 0:i.textFieldDelegateConfig)==null?void 0:a.props),options:d({},(h=(c=this._config.options)==null?void 0:c.textFieldDelegateConfig)==null?void 0:h.options)};this._textFieldDelegate=new y(t),e.appendChild(this._textFieldDelegate.element)}};function ye(){E(o)}export{n as a,l as b,p as c,o as d,H as e,ye as f};
|
|
7
|
+
//# sourceMappingURL=chunk.NTLWWOZJ.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/date-picker/date-picker-constants.ts", "../../src/date-picker/date-picker-adapter.ts", "../../src/date-picker/date-picker-foundation.ts", "../../src/date-picker/date-picker.ts", "../../src/date-picker/date-picker-component-delegate.ts", "../../src/date-picker/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}date-picker`;\n\nconst observedAttributes = {\n VALUE: 'value'\n};\n\nconst selectors = {\n INPUT: 'input,input[forge-date-picker-input]'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n INPUT: `${elementName}-input`\n};\n\nexport const DATE_PICKER_CONSTANTS = {\n elementName,\n selectors,\n events,\n observedAttributes\n};\n", "import { emitEvent, listenOwnProperty, getActiveElement } from '@tylertech/forge-core';\nimport { ICalendarDropdownPopupConfig } from '../calendar/calendar-dropdown';\nimport { CalendarDropdown } from '../calendar/calendar-dropdown/calendar-dropdown';\nimport { DateInputMask, IDateInputMaskOptions } from '../core/mask/date-input-mask';\nimport { BaseDatePickerAdapter, IBaseDatePickerAdapter } from './base/base-date-picker-adapter';\nimport { IDatePickerCalendarDropdownConfig } from './base/base-date-picker-constants';\nimport { IDatePickerComponent } from './date-picker';\nimport { DATE_PICKER_CONSTANTS } from './date-picker-constants';\n\nexport interface IDatePickerAdapter extends IBaseDatePickerAdapter {}\n\nexport class DatePickerAdapter extends BaseDatePickerAdapter<IDatePickerComponent> implements IDatePickerAdapter {\n private _inputElement: HTMLInputElement;\n private _inputMask: DateInputMask | undefined;\n private _dropdownIdentifier: string;\n\n constructor(component: IDatePickerComponent) {\n super(component);\n this._dropdownIdentifier = `forge-date-picker-${this._identifier}`;\n }\n\n protected _initializeInput(): void {\n this._inputElement = this._component.querySelector(DATE_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n }\n\n protected _initializeCalendarDropdown(): void {\n const targetElement = this._getDefaultTargetElement();\n this._calendarDropdown = new CalendarDropdown(targetElement, this._dropdownIdentifier);\n }\n\n public initializeMask(options: IDateInputMaskOptions): void {\n if (this._inputMask) {\n this._inputMask.destroy();\n }\n this._inputMask = new DateInputMask(this._inputElement, options);\n }\n\n public destroyMask(): void {\n if (this._inputMask) {\n this._inputMask.destroy();\n this._inputMask = undefined;\n }\n }\n\n public initializeAccessibility(): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('autocorrect', 'off');\n this._inputElement.setAttribute('autocapitalize', 'off');\n this._inputElement.setAttribute('spellcheck', 'false');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'assertive');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._inputElement.setAttribute('aria-owns', this._dropdownIdentifier);\n }\n\n public addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._inputElement?.addEventListener(type, listener, { capture });\n }\n\n public removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._inputElement?.removeEventListener(type, listener, { capture });\n }\n\n public setInputValueChangedListener(context: any, listener: (value: any) => void): void {\n this.destroyValueChangeListener();\n const destroyListenerCb = listenOwnProperty(context, this._inputElement, 'value', listener);\n this._valueChangeListeners.push(destroyListenerCb);\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public override attachCalendar(calendarConfig: IDatePickerCalendarDropdownConfig<Date | null>, dropdownConfig?: ICalendarDropdownPopupConfig): void {\n super.attachCalendar(calendarConfig, dropdownConfig);\n this._inputElement.setAttribute('aria-expanded', 'true');\n }\n\n public override detachCalendar(): void {\n super.detachCalendar();\n if (this._inputElement) {\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._inputElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public setActiveDescendant(id: string): void {\n this._inputElement.setAttribute('aria-activedescendant', id);\n }\n\n public setInputValue(value: string, emitEvents: boolean): void {\n if (this._inputElement.value === value) {\n return;\n }\n\n this._inputElement.value = value;\n \n if (this._inputMask) {\n this._inputMask.updateMask();\n }\n\n if (emitEvents) {\n this._inputElement.dispatchEvent(new Event('change'));\n this._inputElement.dispatchEvent(new Event('input'));\n }\n }\n\n public isInputDisabled(): boolean {\n return this._inputElement.disabled;\n }\n\n public isInputFocused(): boolean {\n return getActiveElement() === this._inputElement;\n }\n\n public getInputValue(): string {\n return this._inputMask ? this._inputMask.maskedValue : this._inputElement.value;\n }\n\n public setDisabled(value: boolean): void {\n this._inputElement.disabled = value;\n this._inputElement.setAttribute('aria-disabled', value.toString());\n if (this._toggleElement) {\n this._toggleElement.setAttribute('aria-disabled', value.toString());\n if (this._toggleElement.hasOwnProperty('disabled')) {\n (this._toggleElement as HTMLButtonElement).disabled = value;\n }\n }\n }\n\n public tryFocusInput(): void {\n this._inputElement.focus();\n }\n\n public tryBlurInput(): void {\n this._inputElement.blur();\n }\n\n public selectInputText(): void {\n this._inputElement.select();\n }\n\n public emitInputEvent(type: string, data?: any): void {\n emitEvent(this._inputElement, type, data);\n }\n}\n", "import { isDate, Platform } from '@tylertech/forge-core';\nimport { CalendarMode, ICalendarDateSelectEventData } from '../calendar';\nimport { isSameDate } from '../core';\nimport { BaseDatePickerFoundation, IBaseDatePickerFoundation } from './base/base-date-picker-foundation';\nimport { IDatePickerAdapter } from './date-picker-adapter';\nimport { DATE_PICKER_CONSTANTS } from './date-picker-constants';\n\nexport interface IDatePickerFoundation extends IBaseDatePickerFoundation<Date | string> {}\n\nexport class DatePickerFoundation extends BaseDatePickerFoundation<IDatePickerAdapter, Date | string | null | undefined, Date> implements IDatePickerFoundation {\n protected _mode: CalendarMode = 'single';\n\n constructor(adapter: IDatePickerAdapter) {\n super(adapter);\n }\n\n protected _initializeState(): void {\n if (!this._value) {\n this._value = this._coerceDateValue(this._adapter.getInputValue());\n }\n }\n\n protected _emitChangeEvent(value: Date | null | undefined, force?: boolean): boolean {\n const typedValue = this._getTypedValue(value);\n const wasCancelled = !this._adapter.emitHostEvent(DATE_PICKER_CONSTANTS.events.CHANGE, typedValue, true, !force);\n if (!wasCancelled) {\n this._setValue(value);\n return true;\n }\n return false;\n }\n\n protected _emitOpenEvent(): void {\n this._adapter.emitHostEvent(DATE_PICKER_CONSTANTS.events.OPEN, undefined, false);\n }\n\n protected _emitCloseEvent(): void {\n this._adapter.emitHostEvent(DATE_PICKER_CONSTANTS.events.CLOSE, undefined, false);\n }\n\n protected _onToday(): void {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n this._onDateSelected({ date: today, selected: true, type: 'date' });\n }\n\n protected _onClear(): void {\n this._onDateSelected({ date: null, selected: false, type: 'date' });\n }\n\n protected _getCurrentValue(): Date | null | undefined {\n return this._value;\n }\n\n protected _setFormattedInputValue(suppressValueChanges?: boolean): void {\n const formattedDate = this._formatDate(this._value);\n if (formattedDate) {\n this._adapter.setInputValue(formattedDate, suppressValueChanges ? false : this._notifyInputValueChanges);\n } else {\n if (!this._allowInvalidDate) {\n this._adapter.setInputValue('', suppressValueChanges ? false : this._notifyInputValueChanges);\n }\n }\n }\n\n protected _setValue(value?: Date | null): void {\n if (!value || this._isDateValueAcceptable(value)) {\n this._value = value;\n }\n }\n\n protected _onDateSelected(event: ICalendarDateSelectEventData): void {\n const value = event.date;\n\n if (event.type === 'date') {\n this._closeCalendar(true);\n }\n \n if (!this._emitChangeEvent(value)) {\n return;\n }\n\n const formattedValue = this._formatDate(value);\n\n this._adapter.setInputValue(formattedValue, this._notifyInputValueChanges);\n this._formatInputValue();\n\n if (!Platform.isMobile) {\n this._adapter.selectInputText();\n }\n }\n\n protected override _openCalendar(emitOpenEvent?: boolean): void {\n super._openCalendar(emitOpenEvent);\n\n const currentValue = this._getCurrentValue();\n if (!!currentValue) {\n this._adapter.goToCalendarDate(new Date(currentValue));\n }\n }\n\n protected override _applyMin(): void {\n if (this._value && !this._isDateValueAcceptable(this._value)) {\n this._emitChangeEvent(null, true);\n this._setFormattedInputValue();\n }\n super._applyMin();\n }\n\n protected override _applyMax(): void {\n if (this._value && !this._isDateValueAcceptable(this._value)) {\n this._emitChangeEvent(null, true);\n this._setFormattedInputValue();\n }\n super._applyMax();\n }\n\n protected _applyDisabledDates(): void {\n if (this._value && !this._isDateValueAcceptable(this._value)) {\n this._emitChangeEvent(null, true);\n this._setFormattedInputValue();\n }\n }\n\n protected _applyDisabledDaysOfWeek(): void {\n if (this._value && !this._isDateValueAcceptable(this._value)) {\n this._emitChangeEvent(null, true);\n this._setFormattedInputValue();\n }\n }\n\n protected _handleInput(value: string): void {\n const sanitizedValue = this._getSanitizedDateString(value);\n const date = this._coerceDateValue(sanitizedValue);\n if (this._masked) {\n this._adapter.emitInputEvent(DATE_PICKER_CONSTANTS.events.INPUT, sanitizedValue);\n }\n if (!isSameDate(date, this._value) && this._isDateValueAcceptable(date)) {\n this._emitChangeEvent(date);\n }\n }\n\n protected _onInputValueChanged(value: string): void {\n const sanitizedValue = this._getSanitizedDateString(value);\n if (this._masked && sanitizedValue) {\n // If masked, allow clearing value by setting input.value directly\n // To set a date value, dispatch `input` event and mask will handle it.\n return;\n }\n const date = this._coerceDateValue(sanitizedValue);\n if (!isSameDate(date, this._value) && this._isDateValueAcceptable(date)) {\n this.value = date;\n this._emitChangeEvent(this._value);\n }\n }\n\n private _applyValue(): void {\n this._setFormattedInputValue();\n if (this._open) {\n this._adapter.setCalendarValue(this._value);\n }\n }\n\n public get value(): Date | string | null | undefined {\n const date = this._getTypedValue(this._value);\n\n if (!date) {\n return null;\n }\n\n if (isDate(date)) {\n return new Date(date.getTime());\n }\n\n return date;\n }\n\n public set value(value: Date | string | null | undefined) {\n if (this._value !== value) {\n this._setValue(this._coerceDateValue(value));\n if (this._isInitialized) {\n this._applyValue();\n }\n }\n }\n}\n", "import { attachShadowTemplate, CustomElement } from '@tylertech/forge-core';\nimport { tylIconInsertInvitation } from '@tylertech/tyler-icons/standard';\nimport { CalendarComponent } from '../calendar';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { PopupComponent } from '../popup';\nimport { BaseDatePickerComponent, IBaseDatePickerComponent } from './base/base-date-picker';\nimport { BASE_DATE_PICKER_CONSTANTS } from './base/base-date-picker-constants';\nimport { DatePickerAdapter } from './date-picker-adapter';\nimport { DATE_PICKER_CONSTANTS } from './date-picker-constants';\nimport { DatePickerFoundation } from './date-picker-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface IDatePickerComponent extends IBaseDatePickerComponent<Date | string | null> {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-date-picker': IDatePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-date-picker-change': CustomEvent<Date | string | null>;\n 'forge-date-picker-open': CustomEvent<void>;\n 'forge-date-picker-close': CustomEvent<void>;\n 'forge-date-picker-input': CustomEvent<string>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-date-picker>` element.\n * \n * @tag forge-date-picker\n */\n@CustomElement({\n name: DATE_PICKER_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n CalendarComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class DatePickerComponent extends BaseDatePickerComponent<Date | string | undefined, Date, DatePickerFoundation> implements IDatePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n ...Object.values(BASE_DATE_PICKER_CONSTANTS.observedAttributes),\n DATE_PICKER_CONSTANTS.observedAttributes.VALUE\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define(tylIconInsertInvitation);\n attachShadowTemplate(this, template, styles);\n this._foundation = new DatePickerFoundation(new DatePickerAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case DATE_PICKER_CONSTANTS.observedAttributes.VALUE:\n this.value = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, ITextFieldComponentDelegateConfig, TextFieldComponentDelegate } from '../text-field';\nimport { IDatePickerComponent } from './date-picker';\nimport { DATE_PICKER_CONSTANTS } from './date-picker-constants';\n\nexport type DatePickerComponentDelegateProps = Partial<IDatePickerComponent>;\nexport interface IDatePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n useDropdownIcon?: boolean;\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\nexport interface IDatePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<IDatePickerComponent, IDatePickerComponentDelegateOptions> {}\n\nexport class DatePickerComponentDelegate extends FormFieldComponentDelegate<IDatePickerComponent, IDatePickerComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: IDatePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IDatePickerComponent {\n const datePicker = document.createElement(DATE_PICKER_CONSTANTS.elementName);\n this._attachTextField(datePicker);\n return datePicker;\n }\n\n public getInputElement(): HTMLInputElement {\n return this._textFieldDelegate.inputElement;\n }\n\n public getTextFieldElement(): ITextFieldComponent {\n return this._textFieldDelegate.element;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n if (this._element.masked) {\n this._element.addEventListener(DATE_PICKER_CONSTANTS.events.INPUT, evt => listener((evt.target as HTMLInputElement).value));\n } else {\n this.getInputElement().addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n }\n\n public onInput(listener: (value: string) => void): void {\n if (this._element.masked) {\n this._element.addEventListener(DATE_PICKER_CONSTANTS.events.INPUT, (evt: CustomEvent) => listener(evt.detail));\n } else {\n this._textFieldDelegate.inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(datePicker: IDatePickerComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n datePicker.appendChild(this._textFieldDelegate.element);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { DatePickerComponent } from './date-picker';\n\nexport * from './date-picker';\nexport * from './date-picker-adapter';\nexport * from './date-picker-component-delegate';\nexport * from './date-picker-constants';\nexport * from './date-picker-foundation';\n\nexport function defineDatePickerComponent(): void {\n defineCustomElement(DatePickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "selectors", "events", "DATE_PICKER_CONSTANTS", "DatePickerAdapter", "BaseDatePickerAdapter", "component", "DATE_PICKER_CONSTANTS", "targetElement", "CalendarDropdown", "options", "DateInputMask", "type", "listener", "capture", "_a", "context", "destroyListenerCb", "listenOwnProperty", "calendarConfig", "dropdownConfig", "id", "value", "emitEvents", "getActiveElement", "data", "emitEvent", "DatePickerFoundation", "BaseDatePickerFoundation", "adapter", "value", "force", "typedValue", "DATE_PICKER_CONSTANTS", "today", "suppressValueChanges", "formattedDate", "event", "formattedValue", "Platform", "emitOpenEvent", "currentValue", "sanitizedValue", "date", "isSameDate", "isDate", "template", "styles", "DatePickerComponent", "BaseDatePickerComponent", "BASE_DATE_PICKER_CONSTANTS", "DATE_PICKER_CONSTANTS", "IconRegistry", "tylIconInsertInvitation", "attachShadowTemplate", "DatePickerFoundation", "DatePickerAdapter", "name", "oldValue", "newValue", "__decorateClass", "CustomElement", "PopupComponent", "CalendarComponent", "IconButtonComponent", "IconComponent", "DatePickerComponentDelegate", "FormFieldComponentDelegate", "config", "datePicker", "DATE_PICKER_CONSTANTS", "value", "listener", "evt", "_a", "_b", "_c", "_d", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "defineDatePickerComponent", "defineCustomElement", "DatePickerComponent"]
|
|
7
7
|
}
|