@tylertech/forge 3.0.0-next.1 → 3.0.0-next.10
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 +17342 -11782
- package/dist/button/forge-button.css +1 -1
- 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.2O6IZ7XZ.js +7 -0
- package/dist/esm/chunks/chunk.2O6IZ7XZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.77Y3EABF.js → chunk.2QSDH3PC.js} +2 -2
- package/dist/esm/chunks/{chunk.77Y3EABF.js.map → chunk.2QSDH3PC.js.map} +1 -1
- package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.2TQONIPK.js} +2 -2
- package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.2TQONIPK.js.map} +1 -1
- package/dist/esm/chunks/chunk.2VP57RZO.js +7 -0
- package/dist/esm/chunks/{chunk.C7AN6FMW.js.map → chunk.2VP57RZO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VC2BG2RS.js → chunk.2ZTERGYF.js} +2 -2
- package/dist/esm/chunks/{chunk.VC2BG2RS.js.map → chunk.2ZTERGYF.js.map} +1 -1
- package/dist/esm/chunks/{chunk.X5LGVZGO.js → chunk.33EJTOVA.js} +2 -2
- package/dist/esm/chunks/chunk.33EJTOVA.js.map +7 -0
- 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.3JDFBEF7.js +7 -0
- 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.44UCSD46.js +7 -0
- package/dist/esm/chunks/{chunk.DT7MZR5Y.js.map → chunk.44UCSD46.js.map} +2 -2
- package/dist/esm/chunks/chunk.46VQ2S2Z.js +7 -0
- package/dist/esm/chunks/{chunk.ZFHPUAYX.js.map → chunk.46VQ2S2Z.js.map} +2 -2
- package/dist/esm/chunks/{chunk.SSRQFKNH.js → chunk.4WB3FGEL.js} +2 -2
- package/dist/esm/chunks/{chunk.SSRQFKNH.js.map → chunk.4WB3FGEL.js.map} +1 -1
- package/dist/esm/chunks/chunk.4WVHON6T.js +129 -0
- package/dist/esm/chunks/chunk.4WVHON6T.js.map +7 -0
- package/dist/esm/chunks/{chunk.TR5YMNJJ.js → chunk.57IVD67K.js} +2 -2
- package/dist/esm/chunks/{chunk.TR5YMNJJ.js.map → chunk.57IVD67K.js.map} +1 -1
- package/dist/esm/chunks/{chunk.H4Z4DHPA.js → chunk.5CMQ7DNL.js} +2 -2
- package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.5IQGVS6U.js} +2 -2
- package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.5IQGVS6U.js.map} +2 -2
- package/dist/esm/chunks/chunk.5M6Y2RU6.js +7 -0
- package/dist/esm/chunks/{chunk.Y5A7RQ5M.js.map → chunk.5M6Y2RU6.js.map} +1 -1
- package/dist/esm/chunks/chunk.5V5ABSHI.js +7 -0
- package/dist/esm/chunks/{chunk.G5MGGEFP.js.map → chunk.5V5ABSHI.js.map} +1 -1
- package/dist/esm/chunks/{chunk.XZ4WI7VK.js → chunk.6MPXRRMB.js} +2 -2
- package/dist/esm/chunks/{chunk.XZ4WI7VK.js.map → chunk.6MPXRRMB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.PALRSBSY.js → chunk.6VDF54LZ.js} +2 -2
- package/dist/esm/chunks/{chunk.PALRSBSY.js.map → chunk.6VDF54LZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.74DEHKGT.js +12 -0
- package/dist/esm/chunks/chunk.74DEHKGT.js.map +7 -0
- package/dist/esm/chunks/{chunk.IUOBRBDZ.js → chunk.7DHFTAWI.js} +2 -2
- package/dist/esm/chunks/chunk.7G72CBOJ.js +7 -0
- package/dist/esm/chunks/{chunk.V7WKXEZC.js.map → chunk.7G72CBOJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.N4PVZUJX.js → chunk.7TGGJGTG.js} +2 -2
- package/dist/esm/chunks/{chunk.N4PVZUJX.js.map → chunk.7TGGJGTG.js.map} +2 -2
- package/dist/esm/chunks/chunk.7WVTJIVR.js +7 -0
- package/dist/esm/chunks/{chunk.ROR6JMAE.js.map → chunk.7WVTJIVR.js.map} +1 -1
- package/dist/esm/chunks/chunk.7ZQMJLHE.js +7 -0
- package/dist/esm/chunks/{chunk.5FPFRE4H.js → chunk.AHHNJSZK.js} +2 -2
- package/dist/esm/chunks/{chunk.5FPFRE4H.js.map → chunk.AHHNJSZK.js.map} +1 -1
- package/dist/esm/chunks/chunk.BBKRPL6R.js +7 -0
- package/dist/esm/chunks/chunk.BBKRPL6R.js.map +7 -0
- package/dist/esm/chunks/chunk.BIFQ4VOJ.js +7 -0
- package/dist/esm/chunks/chunk.BIFQ4VOJ.js.map +7 -0
- package/dist/esm/chunks/chunk.BNFJRFLW.js +7 -0
- package/dist/esm/chunks/chunk.BNFJRFLW.js.map +7 -0
- 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.CRWP7H46.js +7 -0
- package/dist/esm/chunks/chunk.CRWP7H46.js.map +7 -0
- package/dist/esm/chunks/chunk.D2Y2CRRY.js +7 -0
- package/dist/esm/chunks/chunk.D2Y2CRRY.js.map +7 -0
- 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.BE7PZANN.js → chunk.DTZFWZPB.js} +2 -2
- package/dist/esm/chunks/{chunk.BE7PZANN.js.map → chunk.DTZFWZPB.js.map} +1 -1
- package/dist/esm/chunks/chunk.DXZ5LVFJ.js +7 -0
- package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +7 -0
- package/dist/esm/chunks/chunk.E6KWYFZG.js +7 -0
- package/dist/esm/chunks/{chunk.4BEI55KI.js.map → chunk.E6KWYFZG.js.map} +1 -1
- package/dist/esm/chunks/{chunk.JEN6YP2Q.js → chunk.E7Z3IRWV.js} +2 -2
- package/dist/esm/chunks/chunk.ECRL6O3V.js +7 -0
- package/dist/esm/chunks/chunk.ECRL6O3V.js.map +7 -0
- package/dist/esm/chunks/{chunk.K2C4W3CO.js → chunk.EDEYCLDU.js} +2 -2
- package/dist/esm/chunks/chunk.EYZ25QUP.js +7 -0
- package/dist/esm/chunks/chunk.EYZ25QUP.js.map +7 -0
- package/dist/esm/chunks/chunk.F776DWXU.js +7 -0
- package/dist/esm/chunks/chunk.F776DWXU.js.map +7 -0
- 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.FIBGOPNP.js +7 -0
- package/dist/esm/chunks/chunk.FIBGOPNP.js.map +7 -0
- package/dist/esm/chunks/{chunk.K6AFP52A.js → chunk.FUPNTFG7.js} +2 -2
- package/dist/esm/chunks/{chunk.K6AFP52A.js.map → chunk.FUPNTFG7.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MZLPUI6R.js → chunk.FYWPZFLJ.js} +2 -2
- package/dist/esm/chunks/{chunk.MZLPUI6R.js.map → chunk.FYWPZFLJ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.ARJ3EVVO.js → chunk.G4IN6Y46.js} +2 -2
- package/dist/esm/chunks/{chunk.KE6GOYAB.js → chunk.GT3XBPZY.js} +2 -2
- package/dist/esm/chunks/{chunk.KE6GOYAB.js.map → chunk.GT3XBPZY.js.map} +1 -1
- package/dist/esm/chunks/chunk.H5D54EHO.js +7 -0
- package/dist/esm/chunks/{chunk.JHBCYICS.js.map → chunk.H5D54EHO.js.map} +1 -1
- package/dist/esm/chunks/chunk.HRGTAVNA.js +7 -0
- package/dist/esm/chunks/{chunk.J6WCFQSS.js.map → chunk.HRGTAVNA.js.map} +2 -2
- package/dist/esm/chunks/chunk.HXJCTE47.js +7 -0
- package/dist/esm/chunks/{chunk.KU5CXXGS.js → chunk.IDD54B5P.js} +2 -2
- package/dist/esm/chunks/chunk.ISC7SZSP.js +7 -0
- package/dist/esm/chunks/chunk.ISC7SZSP.js.map +7 -0
- package/dist/esm/chunks/{chunk.LYOQ2RGP.js → chunk.IWA3CYIB.js} +2 -2
- package/dist/esm/chunks/{chunk.LYOQ2RGP.js.map → chunk.IWA3CYIB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.T76JYRPR.js → chunk.J3UFSHDY.js} +2 -2
- package/dist/esm/chunks/{chunk.T76JYRPR.js.map → chunk.J3UFSHDY.js.map} +2 -2
- package/dist/esm/chunks/chunk.JL4XB4RI.js +7 -0
- package/dist/esm/chunks/chunk.JL4XB4RI.js.map +7 -0
- package/dist/esm/chunks/chunk.JTIPXKV6.js +7 -0
- package/dist/esm/chunks/{chunk.6OKJPSUE.js.map → chunk.JTIPXKV6.js.map} +2 -2
- package/dist/esm/chunks/chunk.KSCUIS5C.js +7 -0
- package/dist/esm/chunks/chunk.KSCUIS5C.js.map +7 -0
- package/dist/esm/chunks/chunk.L3M6DPQB.js +12 -0
- package/dist/esm/chunks/chunk.L3M6DPQB.js.map +7 -0
- 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.LHBF47UY.js +7 -0
- package/dist/esm/chunks/chunk.LHBF47UY.js.map +7 -0
- package/dist/esm/chunks/chunk.LM57DOG3.js +7 -0
- package/dist/esm/chunks/chunk.LM57DOG3.js.map +7 -0
- package/dist/esm/chunks/chunk.LYYWQGS6.js +7 -0
- package/dist/esm/chunks/chunk.LYYWQGS6.js.map +7 -0
- package/dist/esm/chunks/chunk.M2M47T4L.js +7 -0
- package/dist/esm/chunks/{chunk.MXTDW27J.js.map → chunk.M2M47T4L.js.map} +2 -2
- package/dist/esm/chunks/chunk.M3QDAYD2.js +7 -0
- package/dist/esm/chunks/chunk.MF36FG2X.js +7 -0
- package/dist/esm/chunks/{chunk.INCKI5IX.js.map → chunk.MF36FG2X.js.map} +1 -1
- 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.BJE6O5ES.js → chunk.MGWY7YIL.js} +2 -2
- package/dist/esm/chunks/{chunk.BJE6O5ES.js.map → chunk.MGWY7YIL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.O4FB4BV5.js → chunk.MJSLXZBM.js} +2 -2
- package/dist/esm/chunks/{chunk.O4FB4BV5.js.map → chunk.MJSLXZBM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.XQ2EQIDS.js → chunk.N7PQ2MUQ.js} +2 -2
- package/dist/esm/chunks/{chunk.XQ2EQIDS.js.map → chunk.N7PQ2MUQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.NF4J3Q5X.js +7 -0
- package/dist/esm/chunks/chunk.NF4J3Q5X.js.map +7 -0
- package/dist/esm/chunks/chunk.NK7H3MMM.js +7 -0
- package/dist/esm/chunks/{chunk.Y4GKBJGI.js.map → chunk.NK7H3MMM.js.map} +3 -3
- 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.ZUNZKRRK.js → chunk.OAHA3QOH.js} +2 -2
- package/dist/esm/chunks/{chunk.CLM6MNKC.js → chunk.OTD2SFQJ.js} +2 -2
- package/dist/esm/chunks/{chunk.CLM6MNKC.js.map → chunk.OTD2SFQJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.FRYLJWYL.js → chunk.P5QIB6OY.js} +2 -2
- package/dist/esm/chunks/{chunk.FRYLJWYL.js.map → chunk.P5QIB6OY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UBD2DPQN.js → chunk.PHBOQRF6.js} +2 -2
- package/dist/esm/chunks/{chunk.UBD2DPQN.js.map → chunk.PHBOQRF6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MLV25D2G.js → chunk.PHTOULRR.js} +2 -2
- package/dist/esm/chunks/chunk.QI3GKORL.js +7 -0
- package/dist/esm/chunks/chunk.QI3GKORL.js.map +7 -0
- package/dist/esm/chunks/{chunk.RYMPSU4J.js → chunk.QL45FKVJ.js} +2 -2
- package/dist/esm/chunks/{chunk.RYMPSU4J.js.map → chunk.QL45FKVJ.js.map} +2 -2
- package/dist/esm/chunks/chunk.QLJBPFP5.js +7 -0
- package/dist/esm/chunks/chunk.QLJBPFP5.js.map +7 -0
- package/dist/esm/chunks/{chunk.WP4QOOIS.js → chunk.QZK3WEH6.js} +2 -2
- 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.F2B24WLK.js → chunk.RGPNNISQ.js} +2 -2
- package/dist/esm/chunks/{chunk.F2B24WLK.js.map → chunk.RGPNNISQ.js.map} +1 -1
- package/dist/esm/chunks/chunk.SAXRW6GB.js +7 -0
- package/dist/esm/chunks/chunk.SAXRW6GB.js.map +7 -0
- package/dist/esm/chunks/chunk.SEP3L4QL.js +7 -0
- package/dist/esm/chunks/{chunk.RB5BTA5N.js.map → chunk.SEP3L4QL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2BNDXFI5.js → chunk.SN5LPTHH.js} +2 -2
- package/dist/esm/chunks/{chunk.2BNDXFI5.js.map → chunk.SN5LPTHH.js.map} +2 -2
- package/dist/esm/chunks/chunk.SQVBT7HU.js +7 -0
- package/dist/esm/chunks/chunk.SQVBT7HU.js.map +7 -0
- package/dist/esm/chunks/chunk.SZIM4KFZ.js +7 -0
- package/dist/esm/chunks/chunk.SZIM4KFZ.js.map +7 -0
- package/dist/esm/chunks/chunk.T5X6UNH7.js +7 -0
- package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.T5X6UNH7.js.map} +1 -1
- package/dist/esm/chunks/{chunk.HBMNXZES.js → chunk.TL6WVBGT.js} +2 -2
- package/dist/esm/chunks/{chunk.HBMNXZES.js.map → chunk.TL6WVBGT.js.map} +1 -1
- package/dist/esm/chunks/chunk.TT2VTZJ6.js +7 -0
- package/dist/esm/chunks/{chunk.242YUZKU.js.map → chunk.TT2VTZJ6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UT7QUGAO.js → chunk.U4GYQOPY.js} +2 -2
- package/dist/esm/chunks/{chunk.P3IA2WTO.js → chunk.UCM6CGFM.js} +2 -2
- package/dist/esm/chunks/{chunk.P3IA2WTO.js.map → chunk.UCM6CGFM.js.map} +1 -1
- package/dist/esm/chunks/chunk.UKFJHDO7.js +7 -0
- package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.UKFJHDO7.js.map} +2 -2
- 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.VNOJO2PF.js +7 -0
- package/dist/esm/chunks/{chunk.BTBHIIGI.js.map → chunk.VNOJO2PF.js.map} +1 -1
- package/dist/esm/chunks/{chunk.SXTTEIIH.js → chunk.WBYXVMYI.js} +2 -2
- package/dist/esm/chunks/{chunk.SXTTEIIH.js.map → chunk.WBYXVMYI.js.map} +1 -1
- package/dist/esm/chunks/chunk.WH6C36MO.js +7 -0
- package/dist/esm/chunks/chunk.WH6C36MO.js.map +7 -0
- package/dist/esm/chunks/{chunk.G45OZEIS.js → chunk.WO7KEM5K.js} +2 -2
- package/dist/esm/chunks/{chunk.RBAVT3XQ.js → chunk.WYP2M5FR.js} +2 -2
- package/dist/esm/chunks/chunk.X3YNJSDT.js +7 -0
- package/dist/esm/chunks/{chunk.4WPFFNLH.js.map → chunk.X3YNJSDT.js.map} +1 -1
- package/dist/esm/chunks/chunk.XATLSSAW.js +7 -0
- package/dist/esm/chunks/{chunk.5WNKQTXX.js.map → chunk.XATLSSAW.js.map} +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.O73S5LF3.js → chunk.XOM2FYQ2.js} +2 -2
- package/dist/esm/chunks/{chunk.XUW3GG46.js → chunk.XRESQBNE.js} +2 -2
- package/dist/esm/chunks/{chunk.AFLH5HUG.js → chunk.Y5UJ23LB.js} +2 -2
- package/dist/esm/chunks/chunk.YDY2IGBF.js +7 -0
- package/dist/esm/chunks/chunk.YDY2IGBF.js.map +7 -0
- package/dist/esm/chunks/{chunk.7UKA4E5A.js → chunk.YQXX5KSW.js} +2 -2
- package/dist/esm/chunks/{chunk.7UKA4E5A.js.map → chunk.YQXX5KSW.js.map} +1 -1
- package/dist/esm/chunks/chunk.YWCLKUK7.js +7 -0
- package/dist/esm/chunks/{chunk.Q7LFOS2I.js.map → chunk.YWCLKUK7.js.map} +1 -1
- package/dist/esm/chunks/chunk.YZLASVCK.js +177 -0
- package/dist/esm/chunks/chunk.YZLASVCK.js.map +7 -0
- package/dist/esm/chunks/chunk.Z4J4D5FD.js +7 -0
- package/dist/esm/chunks/{chunk.4NI63FGK.js.map → chunk.Z4J4D5FD.js.map} +2 -2
- package/dist/esm/chunks/chunk.ZAJB7G4V.js +7 -0
- package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.ZAJB7G4V.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZDAXNM2P.js +7 -0
- package/dist/esm/chunks/chunk.ZDAXNM2P.js.map +7 -0
- package/dist/esm/chunks/chunk.ZMRDW25U.js +7 -0
- 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/focus-indicator/index.js +7 -0
- package/dist/esm/focus-indicator/index.js.map +7 -0
- 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/state-layer/index.js +7 -0
- package/dist/esm/state-layer/index.js.map +7 -0
- 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/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/icon-button/forge-icon-button.css +1 -1
- package/dist/table/forge-table.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/esm/accordion/accordion.js +4 -4
- package/esm/app-bar/app-bar.js +6 -6
- package/esm/app-bar/notification-button/app-bar-notification-button.js +5 -5
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button.js +4 -4
- package/esm/app-bar/search/app-bar-search.js +6 -6
- package/esm/autocomplete/autocomplete-adapter.d.ts +0 -2
- package/esm/autocomplete/autocomplete-adapter.js +0 -4
- package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
- package/esm/autocomplete/autocomplete-constants.d.ts +5 -4
- package/esm/autocomplete/autocomplete-constants.js +1 -0
- package/esm/autocomplete/autocomplete-foundation.d.ts +5 -0
- package/esm/autocomplete/autocomplete-foundation.js +12 -12
- package/esm/autocomplete/autocomplete.d.ts +3 -0
- package/esm/autocomplete/autocomplete.js +13 -6
- package/esm/avatar/avatar-component-delegate.d.ts +1 -1
- package/esm/avatar/avatar.js +5 -5
- package/esm/backdrop/backdrop-constants.d.ts +1 -1
- package/esm/backdrop/backdrop.js +5 -5
- package/esm/badge/badge-component-delegate.d.ts +1 -1
- package/esm/badge/badge.js +5 -5
- package/esm/banner/banner.js +7 -7
- package/esm/bottom-sheet/bottom-sheet.js +6 -6
- package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
- package/esm/busy-indicator/busy-indicator.js +6 -6
- package/esm/button/button-component-delegate.d.ts +1 -1
- package/esm/button/button.d.ts +1 -0
- package/esm/button/button.js +11 -5
- package/esm/button-toggle/button-toggle/button-toggle.js +7 -7
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +2 -2
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +5 -5
- package/esm/calendar/calendar-component-delegate.d.ts +1 -1
- package/esm/calendar/calendar-constants.d.ts +10 -10
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +5 -5
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +2 -2
- package/esm/calendar/calendar-menu/calendar-menu.js +6 -6
- package/esm/calendar/calendar.js +7 -7
- package/esm/card/card-constants.d.ts +2 -2
- package/esm/card/card-constants.js +2 -2
- package/esm/card/card.d.ts +19 -8
- package/esm/card/card.js +34 -25
- package/esm/checkbox/checkbox-adapter.d.ts +1 -0
- package/esm/checkbox/checkbox-adapter.js +9 -2
- package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
- package/esm/checkbox/checkbox.js +4 -4
- package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
- package/esm/chip-field/chip-field-foundation.d.ts +1 -1
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chips/chip/chip.js +7 -7
- package/esm/chips/chip-set/chip-set.js +5 -5
- package/esm/circular-progress/circular-progress-adapter.d.ts +7 -14
- 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 +33 -21
- package/esm/color-picker/color-picker-constants.d.ts +2 -2
- package/esm/color-picker/color-picker.js +7 -7
- package/esm/core/base/base-component.d.ts +1 -2
- package/esm/core/delegates/base-component-delegate.d.ts +1 -1
- package/esm/core/delegates/base-component-delegate.js +3 -3
- package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
- package/esm/core/mask/time-segment-parser.d.ts +1 -1
- package/esm/core/testing/pointer.d.ts +13 -0
- package/esm/core/testing/pointer.js +42 -0
- package/esm/core/utils/utils.d.ts +33 -2
- package/esm/core/utils/utils.js +74 -6
- package/esm/date-picker/base/base-date-picker-adapter.d.ts +2 -2
- package/esm/date-picker/base/base-date-picker-foundation.d.ts +2 -2
- package/esm/date-picker/base/base-date-picker-foundation.js +8 -5
- package/esm/date-picker/date-picker-adapter.js +5 -7
- package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-adapter.d.ts +4 -2
- package/esm/date-range-picker/date-range-picker-adapter.js +20 -18
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +4 -1
- package/esm/date-range-picker/date-range-picker-foundation.js +48 -14
- package/esm/dialog/dialog-constants.d.ts +2 -2
- package/esm/dialog/dialog.js +5 -5
- package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
- package/esm/expansion-panel/expansion-panel-constants.d.ts +2 -0
- package/esm/expansion-panel/expansion-panel-constants.js +3 -1
- package/esm/expansion-panel/expansion-panel-foundation.js +4 -1
- package/esm/expansion-panel/expansion-panel.js +6 -6
- package/esm/field/field-adapter.d.ts +4 -2
- package/esm/field/field-adapter.js +5 -2
- package/esm/field/field-constants.d.ts +3 -3
- package/esm/field/field-foundation.d.ts +2 -2
- package/esm/field/field-foundation.js +7 -9
- package/esm/field/field.js +3 -3
- package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
- package/esm/file-picker/file-picker.js +6 -6
- package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
- package/esm/floating-action-button/floating-action-button.js +6 -6
- package/esm/focus-indicator/focus-indicator-adapter.d.ts +29 -0
- package/esm/focus-indicator/focus-indicator-adapter.js +39 -0
- package/esm/focus-indicator/focus-indicator-constants.d.ts +15 -0
- package/esm/focus-indicator/focus-indicator-constants.js +19 -0
- package/esm/focus-indicator/focus-indicator-foundation.d.ts +43 -0
- package/esm/focus-indicator/focus-indicator-foundation.js +110 -0
- package/esm/focus-indicator/focus-indicator.d.ts +67 -0
- package/esm/focus-indicator/focus-indicator.js +112 -0
- package/esm/focus-indicator/index.d.ts +10 -0
- package/esm/focus-indicator/index.js +14 -0
- package/esm/icon/icon.js +5 -5
- package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
- package/esm/icon-button/icon-button.d.ts +1 -0
- package/esm/icon-button/icon-button.js +16 -9
- package/esm/index.d.ts +2 -0
- package/esm/index.js +6 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.js +4 -4
- package/esm/label-value/label-value-component-delegate.d.ts +1 -1
- package/esm/label-value/label-value-constants.d.ts +1 -1
- package/esm/label-value/label-value.js +5 -5
- package/esm/linear-progress/linear-progress-adapter.d.ts +23 -0
- package/esm/linear-progress/linear-progress-adapter.js +34 -0
- package/esm/linear-progress/linear-progress-constants.d.ts +6 -2
- package/esm/linear-progress/linear-progress-constants.js +8 -3
- package/esm/linear-progress/linear-progress-foundation.d.ts +26 -0
- package/esm/linear-progress/linear-progress-foundation.js +53 -0
- package/esm/linear-progress/linear-progress.d.ts +32 -25
- package/esm/linear-progress/linear-progress.js +49 -107
- package/esm/list/list/list.js +5 -5
- package/esm/list/list-item/list-item-adapter.d.ts +3 -3
- package/esm/list/list-item/list-item-adapter.js +2 -2
- package/esm/list/list-item/list-item-foundation.d.ts +1 -0
- package/esm/list/list-item/list-item-foundation.js +8 -1
- package/esm/list/list-item/list-item.js +6 -6
- package/esm/list-dropdown/list-dropdown-adapter.js +4 -5
- package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -6
- package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-utils.js +7 -4
- package/esm/menu/menu-constants.d.ts +3 -3
- package/esm/menu/menu.js +6 -6
- package/esm/open-icon/open-icon.js +6 -6
- package/esm/paginator/paginator-constants.d.ts +1 -1
- package/esm/paginator/paginator-foundation.js +2 -0
- package/esm/paginator/paginator.js +12 -12
- package/esm/popup/popup-constants.d.ts +2 -2
- package/esm/popup/popup.js +5 -5
- package/esm/product-icon/product-icon.js +5 -5
- package/esm/profile-card/profile-card.js +6 -6
- package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
- package/esm/quantity-field/quantity-field.js +6 -6
- package/esm/radio/radio-adapter.d.ts +1 -0
- package/esm/radio/radio-adapter.js +9 -2
- package/esm/radio/radio.js +5 -5
- package/esm/ripple/forge-ripple.d.ts +2 -0
- package/esm/ripple/forge-ripple.js +4 -0
- package/esm/ripple/ripple.js +4 -4
- package/esm/select/core/base-select-constants.d.ts +4 -4
- package/esm/select/option/option.js +4 -4
- package/esm/select/option-group/option-group.js +3 -3
- package/esm/select/select/select-adapter.d.ts +1 -1
- package/esm/select/select/select.js +1 -1
- package/esm/select/select-component-delegate.d.ts +1 -1
- package/esm/slider/slider-adapter.d.ts +79 -0
- package/esm/slider/slider-adapter.js +178 -0
- package/esm/slider/slider-component-delegate.d.ts +19 -3
- package/esm/slider/slider-component-delegate.js +48 -0
- package/esm/slider/slider-constants.d.ts +55 -19
- package/esm/slider/slider-constants.js +56 -14
- package/esm/slider/slider-foundation.d.ts +94 -0
- package/esm/slider/slider-foundation.js +313 -0
- package/esm/slider/slider-utils.d.ts +9 -0
- package/esm/slider/slider-utils.js +56 -0
- package/esm/slider/slider.d.ts +134 -66
- package/esm/slider/slider.js +240 -249
- package/esm/split-view/split-view/split-view-adapter.js +3 -1
- package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
- package/esm/split-view/split-view/split-view.js +5 -5
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +2 -2
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +18 -18
- package/esm/split-view/split-view-panel/split-view-panel.js +7 -7
- package/esm/stack/stack-constants.d.ts +1 -1
- package/esm/stack/stack.js +5 -5
- package/esm/state-layer/index.d.ts +10 -0
- package/esm/state-layer/index.js +14 -0
- package/esm/state-layer/state-layer-adapter.d.ts +41 -0
- package/esm/state-layer/state-layer-adapter.js +101 -0
- package/esm/state-layer/state-layer-constants.d.ts +79 -0
- package/esm/state-layer/state-layer-constants.js +89 -0
- package/esm/state-layer/state-layer-foundation.d.ts +57 -0
- package/esm/state-layer/state-layer-foundation.js +237 -0
- package/esm/state-layer/state-layer-utils.d.ts +26 -0
- package/esm/state-layer/state-layer-utils.js +54 -0
- package/esm/state-layer/state-layer.d.ts +66 -0
- package/esm/state-layer/state-layer.js +96 -0
- package/esm/stepper/step/step-constants.d.ts +1 -1
- package/esm/stepper/step/step.js +13 -13
- package/esm/stepper/stepper/stepper-constants.d.ts +2 -2
- package/esm/stepper/stepper/stepper.js +5 -5
- package/esm/switch/switch-component-delegate.d.ts +1 -1
- package/esm/switch/switch-constants.d.ts +1 -1
- package/esm/switch/switch.js +19 -12
- package/esm/table/table.js +5 -5
- package/esm/table/types.d.ts +4 -4
- package/esm/tabs/tab/tab-adapter.d.ts +14 -40
- package/esm/tabs/tab/tab-adapter.js +57 -79
- package/esm/tabs/tab/tab-constants.d.ts +13 -14
- package/esm/tabs/tab/tab-constants.js +17 -10
- package/esm/tabs/tab/tab-foundation.d.ts +23 -23
- package/esm/tabs/tab/tab-foundation.js +66 -62
- package/esm/tabs/tab/tab.d.ts +56 -20
- package/esm/tabs/tab/tab.js +88 -39
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +49 -87
- package/esm/tabs/tab-bar/tab-bar-adapter.js +114 -188
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +15 -45
- package/esm/tabs/tab-bar/tab-bar-constants.js +22 -56
- package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +56 -65
- package/esm/tabs/tab-bar/tab-bar-foundation.js +241 -302
- package/esm/tabs/tab-bar/tab-bar.d.ts +51 -36
- package/esm/tabs/tab-bar/tab-bar.js +89 -57
- package/esm/text-field/text-field-adapter.d.ts +1 -1
- package/esm/text-field/text-field-adapter.js +4 -3
- package/esm/text-field/text-field-component-delegate.d.ts +1 -1
- package/esm/text-field/text-field.js +1 -1
- package/esm/theme/theme-utils.d.ts +2 -2
- package/esm/time-picker/time-picker-adapter.js +4 -7
- package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
- package/esm/time-picker/time-picker-constants.d.ts +6 -6
- package/esm/time-picker/time-picker-foundation.js +9 -6
- package/esm/time-picker/time-picker.js +6 -6
- package/esm/toast/toast-constants.d.ts +2 -2
- package/esm/toast/toast.js +7 -7
- package/esm/toolbar/toolbar.js +5 -5
- package/esm/tooltip/tooltip-constants.d.ts +1 -1
- package/esm/tooltip/tooltip.js +4 -4
- package/esm/utils/color-utils.js +1 -0
- package/esm/view-switcher/view-switcher.js +5 -5
- package/package.json +1 -3
- package/styles/app-bar/_mixins.scss +8 -1
- package/styles/card/_mixins.scss +8 -7
- package/styles/circular-progress/_animations.scss +69 -0
- package/styles/circular-progress/_configuration.scss +30 -0
- package/styles/circular-progress/_core.scss +122 -0
- package/styles/circular-progress/circular-progress.scss +92 -3
- package/styles/circular-progress/index.scss +8 -0
- package/styles/core/styles/core/_config.scss +6 -0
- package/styles/core/styles/elevation/index.scss +61 -0
- package/styles/core/styles/theme/index.scss +48 -0
- package/styles/core/styles/tokens/_color-palette.scss +299 -0
- package/styles/core/styles/tokens/_utils.scss +43 -0
- package/styles/core/styles/tokens/circular-progress/_tokens.scss +21 -0
- package/styles/core/styles/tokens/focus-indicator/_tokens.scss +30 -0
- package/styles/core/styles/tokens/index.scss +10 -0
- package/styles/core/styles/tokens/linear-progress/_tokens.scss +23 -0
- package/styles/core/styles/tokens/slider/_tokens.scss +47 -0
- package/styles/core/styles/tokens/state-layer/_tokens.scss +23 -0
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +71 -0
- package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +19 -0
- package/styles/core/styles/tokens/theme/_elevation.scss +105 -0
- package/styles/core/styles/tokens/theme/_shape.scss +13 -0
- package/styles/core/styles/tokens/theme/_tokens.scss +133 -0
- package/styles/core/styles/tokens/typography/_tokens.scss +73 -0
- package/styles/focus-indicator/_animations.scss +36 -0
- package/styles/focus-indicator/_configuration.scss +23 -0
- package/styles/focus-indicator/_core.scss +52 -0
- package/styles/focus-indicator/focus-indicator.scss +55 -0
- package/styles/focus-indicator/index.scss +8 -0
- package/styles/linear-progress/_animations.scss +129 -0
- package/styles/linear-progress/_configuration.scss +29 -0
- package/styles/linear-progress/_core.scss +99 -0
- package/styles/linear-progress/index.scss +8 -0
- package/styles/linear-progress/linear-progress.scss +101 -18
- package/styles/slider/_configuration.scss +60 -0
- package/styles/slider/_core.scss +343 -0
- package/styles/slider/index.scss +7 -0
- package/styles/slider/slider.scss +186 -14
- package/styles/state-layer/_configuration.scss +17 -0
- package/styles/state-layer/_core.scss +124 -0
- package/styles/state-layer/index.scss +7 -0
- package/styles/state-layer/state-layer.scss +38 -0
- package/styles/tabs/tab/_configuration.scss +64 -0
- package/styles/tabs/tab/_core.scss +189 -0
- package/styles/tabs/tab/index.scss +7 -0
- package/styles/tabs/tab/tab.scss +168 -15
- package/styles/tabs/tab-bar/_configuration.scss +13 -0
- package/styles/tabs/tab-bar/_core.scss +60 -0
- package/styles/tabs/tab-bar/index.scss +7 -0
- package/styles/tabs/tab-bar/tab-bar.scss +66 -5
- package/styles/theme/_theme-dark.scss +4 -8
- package/styles/theme/_theme.scss +3 -36
- 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.44IJE5UL.js.map +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.4FSAAN6W.js.map +0 -7
- 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.72AUOVCD.js.map +0 -7
- package/dist/esm/chunks/chunk.7A6MX6CS.js +0 -7
- package/dist/esm/chunks/chunk.7A6MX6CS.js.map +0 -7
- package/dist/esm/chunks/chunk.7BOXIJAM.js +0 -7
- package/dist/esm/chunks/chunk.7BOXIJAM.js.map +0 -7
- package/dist/esm/chunks/chunk.ABLKZXJ3.js +0 -12
- package/dist/esm/chunks/chunk.ABLKZXJ3.js.map +0 -7
- 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.CKYHP5MC.js.map +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.ESR2NHOS.js +0 -7
- package/dist/esm/chunks/chunk.ESR2NHOS.js.map +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.G3ZTZ4AN.js.map +0 -7
- package/dist/esm/chunks/chunk.G5MGGEFP.js +0 -7
- package/dist/esm/chunks/chunk.HPDBSBQJ.js +0 -29
- package/dist/esm/chunks/chunk.HPDBSBQJ.js.map +0 -7
- package/dist/esm/chunks/chunk.HV6SPRC4.js +0 -7
- package/dist/esm/chunks/chunk.HV6SPRC4.js.map +0 -7
- package/dist/esm/chunks/chunk.I5BAZWUF.js +0 -7
- package/dist/esm/chunks/chunk.I5BAZWUF.js.map +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.ILRWZHH3.js.map +0 -7
- package/dist/esm/chunks/chunk.INCKI5IX.js +0 -7
- package/dist/esm/chunks/chunk.J6WCFQSS.js +0 -7
- package/dist/esm/chunks/chunk.JHBCYICS.js +0 -7
- package/dist/esm/chunks/chunk.JHY2CKEH.js +0 -7
- package/dist/esm/chunks/chunk.LDN4HLF7.js +0 -7
- package/dist/esm/chunks/chunk.LDN4HLF7.js.map +0 -7
- package/dist/esm/chunks/chunk.M2QU3LUR.js +0 -7
- package/dist/esm/chunks/chunk.M2QU3LUR.js.map +0 -7
- package/dist/esm/chunks/chunk.MCIQXNKY.js +0 -7
- package/dist/esm/chunks/chunk.MHOS3IHQ.js +0 -7
- package/dist/esm/chunks/chunk.MSF55AA3.js +0 -7
- package/dist/esm/chunks/chunk.MSF55AA3.js.map +0 -7
- package/dist/esm/chunks/chunk.MXTDW27J.js +0 -7
- package/dist/esm/chunks/chunk.NW7NV2A2.js +0 -7
- package/dist/esm/chunks/chunk.NW7NV2A2.js.map +0 -7
- package/dist/esm/chunks/chunk.Q7LFOS2I.js +0 -7
- package/dist/esm/chunks/chunk.RB5BTA5N.js +0 -7
- package/dist/esm/chunks/chunk.RE5X26QT.js +0 -29
- package/dist/esm/chunks/chunk.RE5X26QT.js.map +0 -7
- package/dist/esm/chunks/chunk.RG6CDWEX.js +0 -7
- package/dist/esm/chunks/chunk.RG6CDWEX.js.map +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.SAQVWOVK.js.map +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.UF43SSFY.js +0 -7
- package/dist/esm/chunks/chunk.UF43SSFY.js.map +0 -7
- package/dist/esm/chunks/chunk.V4TCOZLK.js +0 -29
- package/dist/esm/chunks/chunk.V4TCOZLK.js.map +0 -7
- package/dist/esm/chunks/chunk.V7WKXEZC.js +0 -7
- package/dist/esm/chunks/chunk.VAKNDCLP.js +0 -29
- package/dist/esm/chunks/chunk.VAKNDCLP.js.map +0 -7
- package/dist/esm/chunks/chunk.WY7DECJD.js +0 -7
- package/dist/esm/chunks/chunk.WY7DECJD.js.map +0 -7
- package/dist/esm/chunks/chunk.X5LGVZGO.js.map +0 -7
- package/dist/esm/chunks/chunk.Y4GKBJGI.js +0 -7
- package/dist/esm/chunks/chunk.Y5A7RQ5M.js +0 -7
- package/dist/esm/chunks/chunk.Y66GSZJB.js +0 -7
- package/dist/esm/chunks/chunk.Y66GSZJB.js.map +0 -7
- package/dist/esm/chunks/chunk.Y72NANFX.js +0 -7
- package/dist/esm/chunks/chunk.Y72NANFX.js.map +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/_mixins.scss +0 -320
- package/styles/circular-progress/_variables.scss +0 -50
- package/styles/linear-progress/_mixins.scss +0 -11
- package/styles/linear-progress/_variables.scss +0 -15
- package/styles/tabs/tab/_mixins.scss +0 -165
- package/styles/tabs/tab/_variables.scss +0 -9
- package/styles/tabs/tab-bar/_mixins.scss +0 -78
- /package/dist/esm/chunks/{chunk.IGTXLDZS.js.map → chunk.3JDFBEF7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H4Z4DHPA.js.map → chunk.5CMQ7DNL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IUOBRBDZ.js.map → chunk.7DHFTAWI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EGRUD7S7.js.map → chunk.7ZQMJLHE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JEN6YP2Q.js.map → chunk.E7Z3IRWV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.K2C4W3CO.js.map → chunk.EDEYCLDU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ARJ3EVVO.js.map → chunk.G4IN6Y46.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DYNEJBYK.js.map → chunk.HXJCTE47.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KU5CXXGS.js.map → chunk.IDD54B5P.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.MLV25D2G.js.map → chunk.PHTOULRR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WP4QOOIS.js.map → chunk.QZK3WEH6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UT7QUGAO.js.map → chunk.U4GYQOPY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G45OZEIS.js.map → chunk.WO7KEM5K.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RBAVT3XQ.js.map → chunk.WYP2M5FR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.XOM2FYQ2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XUW3GG46.js.map → chunk.XRESQBNE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AFLH5HUG.js.map → chunk.Y5UJ23LB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JHY2CKEH.js.map → chunk.ZMRDW25U.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/tabs/tab-bar/tab-bar-adapter.ts", "../../src/tabs/tab-bar/tab-bar-foundation.ts", "../../src/tabs/tab-bar/tab-bar.ts", "../../src/tabs/tab-bar/index.ts"],
|
|
4
|
+
"sourcesContent": ["\nimport { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\nimport { ITabBarComponent } from './tab-bar';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\n\nexport interface ITabBarAdapter extends IBaseAdapter {\n initializeContainerSizeObserver(listener: () => void): void;\n destroyContainerSizeObserver(): void;\n initializeScrollObserver(listener: EventListener): void;\n destroyScrollObserver(listener: EventListener): void;\n setVertical(value: boolean): void;\n setScrollBackwardButtonListener(listener: EventListener): void;\n setScrollForwardButtonListener(listener: EventListener): void;\n addSlotListener(listener: EventListener): void;\n getTabs(): ITabComponent[];\n tryScrollTabIntoView(tab: ITabComponent): Promise<void>;\n isScrollable(): boolean;\n getScrollState(): ITabBarScrollInfo;\n setScrollButtons(value: boolean): void;\n syncScrollButtons(state: ITabBarScrollButtonState): void;\n scroll(which: 'backward' | 'forward'): void;\n updateScrollButtonIcons(vertical: boolean): void;\n}\n\nexport interface ITabBarScrollInfo {\n isScrolledStart: boolean;\n isScrolledEnd: boolean;\n}\n\nexport interface ITabBarScrollButtonState {\n backwardEnabled: boolean;\n forwardEnabled: boolean;\n}\n\nexport class TabBarAdapter extends BaseAdapter<ITabBarComponent> implements ITabBarAdapter {\n private readonly _defaultSlotElement: HTMLSlotElement;\n private readonly _container: HTMLElement;\n private readonly _scrollContainer: HTMLElement;\n private _resizeObserver: ResizeObserver | undefined;\n private _backwardScrollButton: HTMLElement | undefined;\n private _forwardScrollButton: HTMLElement | undefined;\n\n constructor(component: ITabBarComponent) {\n super(component);\n\n this._defaultSlotElement = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n this._container = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.CONTAINER);\n this._scrollContainer = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.SCROLL_CONTAINER);\n }\n\n public initializeContainerSizeObserver(listener: () => void): void {\n this._resizeObserver = new ResizeObserver(() => listener());\n this._resizeObserver.observe(this._component);\n }\n \n public initializeScrollObserver(listener: EventListener): void {\n this._scrollContainer.addEventListener('scroll', listener, { passive: true });\n }\n\n public destroyContainerSizeObserver(): void {\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n }\n\n public destroyScrollObserver(listener: EventListener): void {\n this._scrollContainer.removeEventListener('scroll', listener, { passive: true } as AddEventListenerOptions);\n }\n\n public setVertical(value: boolean): void {\n toggleAttribute(this._scrollContainer, !!value, 'aria-orientation', 'vertical');\n }\n\n public setScrollBackwardButtonListener(listener: EventListener): void {\n this._backwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n \n public setScrollForwardButtonListener(listener: EventListener): void {\n this._forwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n\n public addSlotListener(listener: EventListener): void {\n this._defaultSlotElement.addEventListener('slotchange', listener);\n }\n\n public getTabs(): ITabComponent[] {\n return Array.from(this._component.querySelectorAll(TAB_CONSTANTS.elementName));\n }\n\n public async tryScrollTabIntoView(tab: ITabComponent): Promise<void> {\n await new Promise(requestAnimationFrame);\n\n // Due to the async nature of this method, make sure we still need to scroll this tab into view...\n if (!tab.isConnected || (!tab.selected && !tab.matches(':focus'))) {\n return;\n }\n\n const isVertical = this._component.vertical;\n const scrollContainerOffset = isVertical ? this._scrollContainer.offsetTop : this._scrollContainer.offsetLeft;\n const offset = isVertical ? tab.offsetTop : tab.offsetLeft;\n const extent = isVertical ? tab.offsetHeight : tab.offsetWidth;\n const scroll = isVertical ? this._scrollContainer.scrollTop : this._scrollContainer.scrollLeft;\n const hostExtent = isVertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n const min = offset - (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN + scrollContainerOffset);\n const max = offset + extent - hostExtent + (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN - scrollContainerOffset);\n const to = Math.min(min, Math.max(max, scroll));\n const behavior = tab.matches(':focus') ? 'smooth' : 'instant' as ScrollBehavior;\n\n this._scrollContainer.scrollTo({\n behavior,\n [isVertical ? 'left' : 'top']: 0,\n [isVertical ? 'top' : 'left']: to\n });\n }\n\n public getScrollState(): ITabBarScrollInfo {\n const { scrollHeight, scrollWidth, scrollLeft, scrollTop, clientHeight, clientWidth } = this._scrollContainer;\n const scrollPosition = this._component.vertical ? clientHeight + scrollTop : clientWidth + scrollLeft;\n const scrollSize = this._component.vertical ? scrollHeight : scrollWidth;\n const isScrolledEnd = scrollPosition === scrollSize;\n const isScrolledStart = (this._component.vertical ? scrollPosition - clientHeight : scrollPosition - clientWidth) === 0;\n return { isScrolledStart, isScrolledEnd };\n }\n\n public isScrollable(): boolean {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = this._scrollContainer;\n return this._component.vertical ? scrollHeight > clientHeight : scrollWidth > clientWidth;\n }\n\n public setScrollButtons(value: boolean): void {\n if (value) {\n this._backwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name);\n this._container.insertAdjacentElement('afterbegin', this._backwardScrollButton);\n\n this._forwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name);\n this._container.insertAdjacentElement('beforeend', this._forwardScrollButton);\n } else {\n this._backwardScrollButton?.remove();\n this._backwardScrollButton = undefined;\n\n this._forwardScrollButton?.remove();\n this._forwardScrollButton = undefined;\n }\n }\n\n public syncScrollButtons({ backwardEnabled, forwardEnabled }: ITabBarScrollButtonState): void {\n const backButton = this._backwardScrollButton?.querySelector('button');\n const forwardButton = this._forwardScrollButton?.querySelector('button');\n\n if (backButton) {\n const disabled = !backwardEnabled;\n if (disabled && backButton.matches(':focus')) {\n forwardButton?.focus();\n }\n backButton.disabled = disabled;\n }\n\n if (forwardButton) {\n const disabled = !forwardEnabled;\n if (disabled && forwardButton.matches(':focus')) {\n backButton?.focus();\n }\n forwardButton.disabled = disabled;\n }\n }\n\n public scroll(which: 'backward' | 'forward'): void {\n const amount = this._component.vertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n this._scrollContainer.scrollBy({\n behavior: 'smooth',\n [this._component.vertical ? 'top' : 'left']: amount * (which === 'forward' ? 1 : -1)\n });\n }\n\n public updateScrollButtonIcons(vertical: boolean): void {\n const backButtonIcon = this._backwardScrollButton?.querySelector('forge-icon');\n if (backButtonIcon) {\n backButtonIcon.name = vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name;\n }\n\n const nextButtonIcon = this._forwardScrollButton?.querySelector('forge-icon');\n if (nextButtonIcon) {\n nextButtonIcon.name = vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name;\n }\n }\n\n private _createScrollButton(iconName: string): HTMLElement {\n const iconButton = document.createElement('forge-icon-button');\n iconButton.classList.add(TAB_BAR_CONSTANTS.classes.SCROLL_BUTTON);\n\n const button = document.createElement('button');\n button.type = 'button';\n button.tabIndex = -1;\n button.setAttribute('aria-hidden', 'true');\n iconButton.appendChild(button);\n\n const icon = document.createElement('forge-icon');\n icon.name = iconName;\n button.appendChild(icon);\n\n return iconButton;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { NAVIGATION_KEYS, TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\n\nimport { ITabBarAdapter, ITabBarScrollButtonState } from './tab-bar-adapter';\n\nexport interface ITabBarFoundation extends ICustomElementFoundation {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n initialize(): void;\n destroy(): void;\n}\n\nexport class TabBarFoundation implements ITabBarFoundation {\n // State\n private _isInitialized = false;\n private _activeTab: number | null | undefined;\n private _disabled = false;\n private _vertical = false;\n private _clustered = false;\n private _stacked = false;\n private _secondary = false;\n private _inverted = false;\n private _autoActivate = false;\n private _scrollButtons = false;\n private _tabs: ITabComponent[] = [];\n private _scrollButtonsVisible = false;\n private _tabScrollAnimationFrame: number | undefined;\n\n // Listeners\n private _tabsChangedListener: EventListener;\n private _tabSelectedListener: EventListener;\n private _keydownListener: EventListener;\n private _resizeListener: () => void;\n private _scrollListener: EventListener;\n private _scrollBackwardButtonListener: EventListener;\n private _scrollForwardButtonListener: EventListener;\n\n constructor(private _adapter: ITabBarAdapter) {\n this._tabsChangedListener = () => this._onTabsChanged();\n this._tabSelectedListener = (evt: CustomEvent<void>) => this._onTabSelected(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._resizeListener = () => this._onResize();\n this._scrollListener = () => this._onScroll();\n this._scrollBackwardButtonListener = () => this._onScrollBackward();\n this._scrollForwardButtonListener = () => this._onScrollForward();\n }\n\n public initialize(): void {\n this._adapter.addSlotListener(this._tabsChangedListener);\n this._adapter.addHostListener(TAB_CONSTANTS.events.SELECT, this._tabSelectedListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.setVertical(this._vertical);\n\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n }\n\n this._tryScrollActiveTabIntoView();\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._isInitialized = false;\n }\n\n private async _onTabsChanged(): Promise<void> {\n this._tabs = this._adapter.getTabs();\n this._syncTabState();\n this._tryScrollActiveTabIntoView();\n }\n\n private _onTabSelected(evt: CustomEvent<void>): void {\n this._selectTab(evt.target as ITabComponent);\n }\n\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n const orientation = this._vertical ? 'vertical' : 'horizontal';\n const isNavigationKey = NAVIGATION_KEYS.get('default')?.has(evt.key) ||\n NAVIGATION_KEYS.get(orientation)?.has(evt.key);\n\n if (!isNavigationKey) {\n return;\n }\n\n evt.preventDefault();\n let index = -1;\n\n if (evt.key === 'Home') {\n // Locate the first non-disabled tab\n index = this._tabs.findIndex(tab => !tab.disabled);\n } else if (evt.key === 'End') {\n // Locate the last non-disabled tab\n index = this._tabs.reduceRight((acc, tab, i) => !tab.disabled && acc === -1 ? i : acc, -1);\n } else {\n // Locate the next or previous tab based on the key that was pressed\n const currentIndex = this._tabs.findIndex(tab => tab.matches(':focus'));\n const isPrevKey = evt.key === 'ArrowLeft' || evt.key === 'ArrowUp';\n const calcIndex = (startIndex: number): void => {\n index = startIndex + (isPrevKey ? -1 : 1);\n index = index < 0 ? this._tabs.length - 1 : index % this._tabs.length;\n\n // Try to recurse until we find a non-disabled tab (unless all tabs are disabled already)\n const isAllTabsDisabled = this._tabs.every(tab => tab.disabled);\n if (!isAllTabsDisabled && this._tabs[index]?.disabled) {\n calcIndex(index);\n }\n };\n calcIndex(currentIndex);\n }\n\n if (index === -1) {\n return;\n }\n\n if (this._autoActivate) {\n this._selectTab(this._tabs[index]);\n } else {\n this._tabs[index].focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(this._tabs[index]);\n }\n }\n\n private async _selectTab(tab: ITabComponent, emitEvent = true): Promise<void> {\n if (!tab || tab.disabled) {\n return;\n }\n\n const currentSelectedTab = this._tabs.find(t => t.selected);\n if (currentSelectedTab === tab) {\n return;\n }\n\n if (emitEvent) {\n const index = this._tabs.indexOf(tab);\n const cancelled = !this._adapter.emitHostEvent(TAB_BAR_CONSTANTS.events.CHANGE, index, true, true);\n if (cancelled) {\n return;\n }\n }\n\n // Selecting a tab causes an animation of the indicator to start relative to the currently selected tab\n tab.selected = true;\n tab.focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(tab);\n\n // Always deselect the currently selected tab after selecting a new tab to allow\n // for the tab indicator animation to run properly (the newly selected tab attempts\n // to locate the current selected tab for its calculations)\n if (currentSelectedTab) {\n currentSelectedTab.selected = false;\n }\n\n this._activeTab = this._tabs.indexOf(tab);\n }\n\n /**\n * Ensures that all tabs have the correct state based on the tab bar state.\n * \n * This is called whenever a child tab is added to the DOM.\n */\n private _syncTabState(): void {\n this._tabs.forEach((tab, index) => {\n tab.selected = index === this._activeTab;\n tab.disabled = this._disabled;\n tab.vertical = this._vertical;\n tab.stacked = this._stacked;\n tab.secondary = this._secondary;\n tab.inverted = this._inverted;\n });\n }\n\n /** Called when the container size changes, but only if scroll buttons are enabled. */\n private _onResize(): void {\n this._detectScrollableStatus();\n }\n\n /** Called when the scroll container scrolls, but only if scroll buttons are enabled. */\n private _onScroll(): void {\n this._updateScrollState();\n }\n\n /** Handles clicking the scroll backward button. */\n private _onScrollBackward(): void {\n this._adapter.scroll('backward');\n }\n\n /** Handles clicking the scroll forward button. */\n private _onScrollForward(): void {\n this._adapter.scroll('forward');\n }\n\n /** Determines whether scroll buttons should be displayed based on the size of the container. */\n private _detectScrollableStatus(): void {\n const scrollable = this._adapter.isScrollable();\n\n if (this._scrollButtonsVisible === scrollable) {\n return;\n }\n \n this._adapter.setScrollButtons(scrollable);\n\n if (scrollable) {\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener);\n this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener);\n } else {\n this._adapter.destroyScrollObserver(this._scrollListener);\n }\n\n this._scrollButtonsVisible = scrollable;\n }\n\n /** Updates the enabled/disabled state of the scroll buttons. */\n private _updateScrollState(): void {\n const { isScrolledEnd, isScrolledStart } = this._adapter.getScrollState();\n const state: ITabBarScrollButtonState = {\n backwardEnabled: !isScrolledStart,\n forwardEnabled: !isScrolledEnd\n };\n this._adapter.syncScrollButtons(state);\n }\n\n private _tryScrollActiveTabIntoView(): void {\n if (this._tabScrollAnimationFrame) {\n window.cancelAnimationFrame(this._tabScrollAnimationFrame);\n }\n\n // We batch the tab scrolling into a single animation frame to unnecessarily scrolling for each tab\n this._tabScrollAnimationFrame = window.requestAnimationFrame(() => {\n this._tabScrollAnimationFrame = undefined;\n if (this._adapter.isScrollable()) {\n if (typeof this._activeTab === 'number' && this._activeTab >= 0 && this._tabs[this._activeTab]) {\n this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab]);\n }\n }\n });\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n this._tabs.forEach(tab => tab.disabled = this._disabled);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get activeTab(): number | null | undefined {\n return this._activeTab;\n }\n public set activeTab(value: number | null | undefined) {\n if (this._activeTab !== value) {\n this._activeTab = value ?? undefined;\n\n if (typeof this._activeTab === 'number') {\n const newSelectedTab = this._tabs[this._activeTab];\n this._selectTab(newSelectedTab, false);\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB, String(this._activeTab));\n } else {\n this._tabs.forEach(tab => tab.selected = false);\n this._adapter.removeHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB);\n }\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n value = Boolean(value);\n if (this._vertical !== value) {\n this._vertical = value;\n\n if (this._isInitialized) {\n this._adapter.setVertical(this._vertical);\n }\n\n this._tabs.forEach(tab => tab.vertical = this._vertical);\n if (this._scrollButtonsVisible) {\n this._adapter.updateScrollButtonIcons(this._vertical);\n }\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n public get clustered(): boolean {\n return this._clustered;\n }\n public set clustered(value: boolean) {\n value = Boolean(value);\n if (this._clustered !== value) {\n this._clustered = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.CLUSTERED, this._clustered);\n }\n }\n\n public get stacked(): boolean {\n return this._stacked;\n }\n public set stacked(value: boolean) {\n value = Boolean(value);\n if (this._stacked !== value) {\n this._stacked = value;\n this._tabs.forEach(tab => tab.stacked = this._stacked);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.STACKED, this._stacked);\n }\n }\n\n public get secondary(): boolean {\n return this._secondary;\n }\n public set secondary(value: boolean) {\n value = Boolean(value);\n if (this._secondary !== value) {\n this._secondary = value;\n this._tabs.forEach(tab => tab.secondary = this._secondary);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.SECONDARY, this._secondary);\n }\n }\n\n public get inverted(): boolean {\n return this._inverted;\n }\n public set inverted(value: boolean) {\n value = Boolean(value);\n if (this._inverted !== value) {\n this._inverted = value;\n this._tabs.forEach(tab => tab.inverted = this._inverted);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.INVERTED, this._inverted);\n }\n }\n\n public get autoActivate(): boolean {\n return this._autoActivate;\n }\n public set autoActivate(value: boolean) {\n value = Boolean(value);\n if (this._autoActivate !== value) {\n this._autoActivate = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE, this._autoActivate);\n }\n }\n\n public get scrollButtons(): boolean {\n return this._scrollButtons;\n }\n public set scrollButtons(value: boolean) {\n value = Boolean(value);\n if (this._scrollButtons !== value) {\n this._scrollButtons = Boolean(value);\n\n if (this._isInitialized) {\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._detectScrollableStatus();\n this._updateScrollState();\n this._tryScrollActiveTabIntoView();\n } else {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._adapter.setScrollButtons(this._scrollButtons);\n this._scrollButtonsVisible = false;\n }\n }\n\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS, String(this._scrollButtons));\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { TabComponent } from '../tab/tab';\nimport { TabBarAdapter } from './tab-bar-adapter';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { TabBarFoundation } from './tab-bar-foundation';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"container\\\"><div role=\\\"tablist\\\" class=\\\"scroll-container\\\" part=\\\"scroll-container\\\"><slot></slot></div></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:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.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:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);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)}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-divider-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}';\n\nexport interface ITabBarComponent extends IBaseComponent {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab-bar': ITabBarComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-bar-change': CustomEvent<number>;\n }\n}\n\n/**\n * @tag forge-tab-bar\n * \n * @summary Tabs organize content across different screens and views.\n * \n * @description\n * Use tabs to group content into helpful categories. Tabs are typically placed\n * above the content they relate to. Tabs can be used to navigate between screens,\n * or to group related content within a screen.\n * \n * @property {boolean} disabled - The disabled state of the tab bar.\n * @property {number} activeTab - The index of the active tab.\n * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.\n * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).\n * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.\n * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @attribute disabled - The disabled state of the tab bar.\n * @attribute active-tab - The index of the active tab.\n * @attribute vertical - Controls whether the tab bar is vertical or horizontal.\n * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.\n * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.\n * \n * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.\n * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.\n * @cssproperty --forge-tab-bar-divider-color - The color of the divider.\n * @cssproperty --forge-tab-bar-divider-thickness - The thickness of the divider.\n * \n * @csspart container - The container element.\n * @csspart scroll-container - The scroll container element.\n */\n@CustomElement({\n name: TAB_BAR_CONSTANTS.elementName,\n dependencies: [\n TabComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class TabBarComponent extends BaseComponent implements ITabBarComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_BAR_CONSTANTS.attributes.DISABLED,\n TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB,\n TAB_BAR_CONSTANTS.attributes.VERTICAL,\n TAB_BAR_CONSTANTS.attributes.CLUSTERED,\n TAB_BAR_CONSTANTS.attributes.STACKED,\n TAB_BAR_CONSTANTS.attributes.SECONDARY,\n TAB_BAR_CONSTANTS.attributes.INVERTED,\n TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,\n TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS\n ];\n }\n\n private _foundation: TabBarFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconKeyboardArrowLeft,\n tylIconKeyboardArrowRight,\n tylIconKeyboardArrowUp,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabBarFoundation(new TabBarAdapter(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 TAB_BAR_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB:\n this.activeTab = newValue ? coerceNumber(newValue) : undefined;\n break;\n case TAB_BAR_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.CLUSTERED:\n this.clustered = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.STACKED:\n this.stacked = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SECONDARY:\n this.secondary = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.INVERTED:\n this.inverted = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE:\n this.autoActivate = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS:\n this.scrollButtons = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare activeTab: number | null | undefined;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare clustered: boolean;\n\n @FoundationProperty()\n public declare stacked: boolean;\n\n @FoundationProperty()\n public declare secondary: boolean;\n\n @FoundationProperty()\n public declare inverted: boolean;\n\n @FoundationProperty()\n public declare autoActivate: boolean;\n\n @FoundationProperty()\n public declare scrollButtons: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TabBarComponent } from './tab-bar';\n\nexport * from './tab-bar-adapter';\nexport * from './tab-bar-constants';\nexport * from './tab-bar-foundation';\nexport * from './tab-bar';\n\nexport function defineTabBarComponent(): void {\n defineCustomElement(TabBarComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["TabBarAdapter", "BaseAdapter", "component", "getShadowElement", "TAB_BAR_CONSTANTS", "listener", "_a", "value", "toggleAttribute", "_b", "TAB_CONSTANTS", "tab", "isVertical", "scrollContainerOffset", "offset", "extent", "scroll", "hostExtent", "min", "max", "to", "behavior", "scrollHeight", "scrollWidth", "scrollLeft", "scrollTop", "clientHeight", "clientWidth", "scrollPosition", "scrollSize", "isScrolledEnd", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowDown", "tylIconKeyboardArrowRight", "backwardEnabled", "forwardEnabled", "backButton", "forwardButton", "disabled", "which", "amount", "vertical", "backButtonIcon", "nextButtonIcon", "iconName", "iconButton", "button", "icon", "TabBarFoundation", "_adapter", "evt", "TAB_CONSTANTS", "_a", "_b", "orientation", "NAVIGATION_KEYS", "index", "tab", "acc", "i", "currentIndex", "isPrevKey", "calcIndex", "startIndex", "emitEvent", "currentSelectedTab", "t", "TAB_BAR_CONSTANTS", "scrollable", "isScrolledEnd", "isScrolledStart", "state", "value", "newSelectedTab", "template", "styles", "TabBarComponent", "BaseComponent", "IconRegistry", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowRight", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowDown", "attachShadowTemplate", "TabBarFoundation", "TabBarAdapter", "TAB_BAR_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "TabComponent", "IconButtonComponent", "IconComponent", "defineTabBarComponent", "defineCustomElement", "TabBarComponent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{d as w}from"./chunk.LYYWQGS6.js";import{a as C,p as L}from"./chunk.2O6IZ7XZ.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as k}from"./chunk.5V5ABSHI.js";import{a as S,b as v}from"./chunk.DTZFWZPB.js";import{c as A,e as T,f as h,k as I}from"./chunk.NK7H3MMM.js";import{u as y}from"./chunk.CFDK4RCW.js";import{k as s}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var N=`${v}tab-bar`,B={DISABLED:"disabled",ACTIVE_TAB:"active-tab",VERTICAL:"vertical",STACKED:"stacked",CLUSTERED:"clustered",SECONDARY:"secondary",INVERTED:"inverted",AUTO_ACTIVATE:"auto-activate",SCROLL_BUTTONS:"scroll-buttons"},M={CONTAINER:".container",SCROLL_CONTAINER:".scroll-container",DEFAULT_SLOT:"slot:not([name])"},K={SCROLL_BUTTON:"scroll-button"},H={CHANGE:`${N}-change`},F={SCROLL_MARGIN:48},D={attributes:B,elementName:N,events:H,selectors:M,classes:K,numbers:F},J=new Map([["default",new Set(["Home","End"])],["horizontal",new Set(["ArrowLeft","ArrowRight"])],["vertical",new Set(["ArrowUp","ArrowDown"])]]);var R=`${v}tab`,V={DISABLED:"disabled",SELECTED:"selected",VERTICAL:"vertical",STACKED:"stacked",SECONDARY:"secondary",INVERTED:"inverted"},P={INDICATOR:".indicator"},U={SELECTED:"selected"},Y={SELECT:`${R}-select`},$={EASING:"cubic-bezier(0.4, 0, 0.2, 1)"},G={ANIMATION_DURATION:250},t={elementName:R,attributes:V,selectors:P,classes:U,events:Y,strings:$,numbers:G};var p=class extends k{constructor(e){super(e);this._tabIndicatorElement=h(this._component,t.selectors.INDICATOR),this._stateLayerElement=h(this._component,C.elementName)}initialize(){this._component.tabIndex=this._component.selected?0:-1,this._component.setAttribute("role","tab"),this._component.setAttribute("aria-selected",this._component.selected?"true":"false")}addInteractionListener(e,r){this._component.addEventListener(e,r)}setDisabled(e){this._stateLayerElement.disabled=e,this._component.tabIndex=e?-1:this._component.selected?0:-1,this._component.setAttribute("aria-disabled",String(e)),y(this._component,e,t.attributes.DISABLED,String(e))}setSelected(e){this._component.tabIndex=e?0:-1,this._component.setAttribute("aria-selected",String(e))}animateSelected(){this._tabIndicatorElement.getAnimations().forEach(r=>r.cancel());let e=this._getKeyframes();e&&this._tabIndicatorElement.animate(e,{duration:t.numbers.ANIMATION_DURATION,easing:t.strings.EASING})}animateStateLayer(){this._stateLayerElement.playAnimation()}_getKeyframes(){var E;let e=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!this._component.selected)return e?[{opacity:1},{transform:"none"}]:null;let r={},a=this._component.vertical,l=this._getSelectedTabIndicator(),d=(E=l==null?void 0:l.getBoundingClientRect())!=null?E:{},_=a?d.top:d.left,O=a?d.height:d.width,b=this._tabIndicatorElement.getBoundingClientRect(),m=a?b.top:b.left,z=a?b.height:b.width,u=a?"Y":"X",x=O/z;return!e&&_!==void 0&&m!==void 0&&!isNaN(x)?r.transform=`translate${u}(${(_-m).toFixed(4)}px) scale${u}(${x.toFixed(4)})`:r.opacity=0,[r,{transform:"none"}]}_getSelectedTabIndicator(){let e=A(this._component,D.elementName);if(e){let a=Array.from(e.querySelectorAll(t.elementName)).find(l=>l.hasAttribute(t.attributes.SELECTED));if(a)return h(a,t.selectors.INDICATOR)}return null}};var g=class{constructor(o){this._adapter=o;this._selected=!1;this._disabled=!1;this._vertical=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._clickListener=()=>this._onClick(),this._keydownListener=e=>this._onKeydown(e)}initialize(){this._adapter.initialize(),this._adapter.addInteractionListener("click",this._clickListener),this._adapter.addInteractionListener("keydown",this._keydownListener)}_onClick(){this._disabled||this._selected||this._dispatchSelectEvent()}_onKeydown(o){if(this._disabled||this._selected)return;(o.key===" "||o.key==="Enter")&&(o.preventDefault(),this._adapter.animateStateLayer(),this._dispatchSelectEvent())}_dispatchSelectEvent(){this._adapter.emitHostEvent(t.events.SELECT,{bubbles:!0,composed:!0})}get disabled(){return this._disabled}set disabled(o){this._disabled!==o&&(this._disabled=o,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(t.attributes.DISABLED,this._disabled))}get selected(){return this._selected}set selected(o){this._selected!==o&&(this._selected=o,this._adapter.setSelected(this._selected),this._adapter.animateSelected(),this._adapter.toggleHostAttribute(t.attributes.SELECTED,this._selected))}get vertical(){return this._vertical}set vertical(o){this._vertical!==o&&(this._vertical=o,this._adapter.toggleHostAttribute(t.attributes.VERTICAL,this._vertical))}get stacked(){return this._stacked}set stacked(o){this._stacked!==o&&(this._stacked=o,this._adapter.toggleHostAttribute(t.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(o){this._secondary!==o&&(this._secondary=o,this._adapter.toggleHostAttribute(t.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(o){this._inverted!==o&&(this._inverted=o,this._adapter.toggleHostAttribute(t.attributes.INVERTED,this._inverted))}};var X='<template><div class="forge-tab" part="container"><span class="content" part="content"><slot name="leading"></slot><span class="label" part="label"><slot></slot></span><slot name="trailing"></slot><span class="indicator" part="indicator"></span></span><forge-state-layer target=":host"></forge-state-layer><forge-focus-indicator target=":host" inward></forge-focus-indicator></div></template>',j=":host{display:-webkit-inline-box;display:inline-flex;outline:0;-webkit-tap-highlight-color:transparent;vertical-align:middle}:host([hidden]){display:none}:host(:focus) .forge-tab{color:var(--_focus-label-text-color)}:host(:focus) .forge-tab ::slotted([slot=leading]),:host(:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_focus-icon-color)}:host(:active) .forge-tab{color:var(--_pressed-label-text-color);outline:0}:host(:active) .forge-tab ::slotted([slot=leading]),:host(:active) .forge-tab ::slotted([slot=trailing]){color:var(--_pressed-icon-color)}:host([disabled]){cursor:not-allowed;opacity:var(--forge-tab-disabled-opacity, .38)}:host([disabled]) .forge-tab{pointer-events:none}:host([selected]) .forge-tab{color:var(--_active-label-text-color)}:host([selected]) .forge-tab ::slotted([slot=leading]),:host([selected]) .forge-tab ::slotted([slot=trailing]){color:var(--_active-icon-color)}:host([selected]) .forge-tab:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .forge-tab:hover ::slotted([slot=leading]),:host([selected]) .forge-tab:hover ::slotted([slot=trailing]){color:var(--_active-hover-icon-color)}:host([selected]) .forge-tab .indicator{opacity:1}:host([selected]:focus) .forge-tab{color:var(--_active-focus-label-text-color)}:host([selected]:focus) .forge-tab ::slotted([slot=leading]),:host([selected]:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_active-focus-icon-color)}:host([selected]:active) .forge-tab{color:var(--_active-pressed-label-text-color)}:host([selected]:active) .forge-tab ::slotted([slot=leading]),:host([selected]:active) .forge-tab ::slotted([slot=trailing]){color:var(--_active-pressed-icon-color)}:host([stacked]) .forge-tab{--_height:var(--forge-tab-stacked-height, 64px)}:host([stacked]) .forge-tab .content{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([secondary]) .forge-tab{--_active-indicator-height:var(--forge-tab-indicator-height, 2px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 0)}:host([secondary]) .content{width:100%}:host([secondary]) .indicator{min-width:100%}:host([vertical]) .forge-tab{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom:none}:host([vertical]) .forge-tab .content{width:100%}:host([vertical]) .forge-tab .indicator{height:100%;min-width:var(--_active-indicator-height);inset:0 0 0 auto}:host([vertical][secondary]) .content{min-height:100%}:host([vertical]:not([secondary])) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 0 0 3px)}:host([inverted]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 0 3px 3px)}:host([inverted]) .indicator{inset:0 0 auto;-webkit-transform-origin:top left;transform-origin:top left}:host([inverted][vertical]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 3px 3px 0)}:host([inverted][vertical]) .indicator{inset:0 auto 0 0}.forge-tab{--_active-color:var(--forge-tab-active-color, var(--forge-theme-primary, #3f51b5));--_inactive-color:var(--forge-tab-inactive-color, var(--forge-theme-text-secondary, rgba(0, 0, 0, 0.54)));--_height:var(--forge-tab-height, 48px);--_active-indicator-color:var(--forge-tab-indicator-color, var(--_active-color));--_active-indicator-height:var(--forge-tab-indicator-height, 3px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 3px 0 0);--_container-color:var(--forge-tab-container-color, transparent);--_container-height:var(--forge-tab-container-height, var(--_height));--_container-shape:var(--forge-tab-container-shape, 0);--_content-height:var(--forge-tab-content-height, var(--_height));--_active-focus-icon-color:var(--forge-tab-active-focus-icon-color, var(--_active-color));--_active-hover-icon-color:var(--forge-tab-active-hover-icon-color, var(--_active-color));--_active-icon-color:var(--forge-tab-active-icon-color, var(--_active-color));--_active-pressed-icon-color:var(--forge-tab-active-pressed-icon-color, var(--_active-color));--_icon-size:var(--forge-tab-icon-size, 24px);--_focus-icon-color:var(--forge-tab-focus-icon-color, var(--_inactive-color));--_hover-icon-color:var(--forge-tab-hover-icon-color, var(--_inactive-color));--_icon-color:var(--forge-tab-icon-color, var(--_inactive-color));--_pressed-icon-color:var(--forge-tab-pressed-icon-color, var(--_inactive-color));--_active-focus-label-text-color:var(--forge-tab-active-focus-label-text-color, var(--_active-color));--_active-hover-label-text-color:var(--forge-tab-active-hover-label-text-color, var(--_active-color));--_active-label-text-color:var(--forge-tab-active-label-text-color, var(--_active-color));--_active-pressed-label-text-color:var(--forge-tab-active-pressed-label-text-color, var(--_active-color));--_focus-label-text-color:var(--forge-tab-focus-label-text-color, var(--_inactive-color));--_hover-label-text-color:var(--forge-tab-hover-label-text-color, var(--_inactive-color));--_label-text-color:var(--forge-tab-label-text-color, var(--_inactive-color));--_pressed-label-text-color:var(--forge-tab-pressed-label-text-color, var(--_inactive-color));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;background:0 0;text-decoration:none;width:100%;position:relative;padding:0;margin:0;z-index:0;background-color:var(--_container-color);color:var(--_label-text-color);min-height:var(--_container-height)}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){display:-webkit-inline-box;display:inline-flex;position:relative;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.forge-tab:hover{color:var(--_hover-label-text-color);cursor:pointer}.forge-tab:hover ::slotted([slot=leading]),.forge-tab:hover ::slotted([slot=trailing]){color:var(--_hover-icon-color)}.forge-tab .content{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;white-space:nowrap;-webkit-transition:150ms color linear;transition:150ms color linear;max-height:calc(var(--_content-height) + 16px);min-height:var(--_content-height);padding:8px 16px;gap:4px}.forge-tab .content .label{display:inline-block;line-height:1}.forge-tab .indicator{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:-1;-webkit-transform-origin:bottom left;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0;opacity:0}::slotted(*),host{white-space:nowrap}forge-focus-indicator{--forge-focus-indicator-color:var(--_active-color);--forge-focus-indicator-shape:8px}forge-state-layer{--forge-state-layer-color:var(--_inactive-color)}",i=class extends I{constructor(){super();T(this,X,j),this._foundation=new g(new p(this))}static get observedAttributes(){return[t.attributes.DISABLED,t.attributes.SELECTED,t.attributes.VERTICAL,t.attributes.STACKED,t.attributes.SECONDARY,t.attributes.INVERTED]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,r,a){switch(e){case t.attributes.DISABLED:this.disabled=s(a);break;case t.attributes.SELECTED:this.selected=s(a);break;case t.attributes.VERTICAL:this.vertical=s(a);break;case t.attributes.STACKED:this.stacked=s(a);break;case t.attributes.SECONDARY:this.secondary=s(a);break;case t.attributes.INVERTED:this.inverted=s(a);break}}};n([c()],i.prototype,"disabled",2),n([c()],i.prototype,"selected",2),n([c()],i.prototype,"vertical",2),n([c()],i.prototype,"stacked",2),n([c()],i.prototype,"secondary",2),n([c()],i.prototype,"inverted",2),i=n([S({name:t.elementName,dependencies:[w,L]})],i);export{D as a,J as b,t as c,p as d,g as e,i as f};
|
|
7
|
+
//# sourceMappingURL=chunk.BNFJRFLW.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/tabs/tab-bar/tab-bar-constants.ts", "../../src/tabs/tab/tab-constants.ts", "../../src/tabs/tab/tab-adapter.ts", "../../src/tabs/tab/tab-foundation.ts", "../../src/tabs/tab/tab.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}tab-bar`;\n\nconst attributes = {\n DISABLED: 'disabled',\n ACTIVE_TAB: 'active-tab',\n VERTICAL: 'vertical',\n STACKED: 'stacked',\n CLUSTERED: 'clustered',\n SECONDARY: 'secondary',\n INVERTED: 'inverted',\n AUTO_ACTIVATE: 'auto-activate',\n SCROLL_BUTTONS: 'scroll-buttons'\n};\n\nconst selectors = {\n CONTAINER: '.container',\n SCROLL_CONTAINER: '.scroll-container',\n DEFAULT_SLOT: 'slot:not([name])'\n};\n\nconst classes = {\n SCROLL_BUTTON: 'scroll-button'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n SCROLL_MARGIN: 48\n};\n\nexport const TAB_BAR_CONSTANTS = {\n attributes,\n elementName,\n events,\n selectors,\n classes,\n numbers\n};\n\nexport const NAVIGATION_KEYS = new Map([\n ['default', new Set(['Home', 'End'])],\n ['horizontal', new Set(['ArrowLeft', 'ArrowRight'])],\n ['vertical', new Set(['ArrowUp', 'ArrowDown'])]\n]);\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}tab`;\n\nconst attributes = {\n DISABLED: 'disabled',\n SELECTED: 'selected',\n VERTICAL: 'vertical',\n STACKED: 'stacked',\n SECONDARY: 'secondary',\n INVERTED: 'inverted'\n};\n\nconst selectors = {\n INDICATOR: '.indicator'\n};\n\nconst classes = {\n SELECTED: 'selected'\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nconst strings = {\n EASING: 'cubic-bezier(0.4, 0, 0.2, 1)'\n};\n\nconst numbers = {\n ANIMATION_DURATION: 250\n};\n\nexport const TAB_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes,\n events,\n strings,\n numbers\n};\n\n", "import { getShadowElement, requireParent, toggleAttribute } from '@tylertech/forge-core';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { TAB_BAR_CONSTANTS } from '../tab-bar/tab-bar-constants';\nimport type { ITabComponent } from './tab';\nimport { TAB_CONSTANTS } from './tab-constants';\n\nexport interface ITabAdapter extends IBaseAdapter {\n initialize(): void;\n addInteractionListener(type: string, listener: EventListener): void;\n setDisabled(value: boolean): void;\n setSelected(value: boolean): void;\n animateSelected(): void;\n animateStateLayer(): void;\n}\n\nexport class TabAdapter extends BaseAdapter<ITabComponent> implements ITabAdapter {\n private readonly _tabIndicatorElement: HTMLElement;\n private readonly _stateLayerElement: IStateLayerComponent;\n\n constructor(component: ITabComponent) {\n super(component);\n this._tabIndicatorElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.INDICATOR);\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n }\n\n public initialize(): void {\n this._component.tabIndex = this._component.selected ? 0 : -1;\n this._component.setAttribute('role', 'tab');\n this._component.setAttribute('aria-selected', this._component.selected ? 'true' : 'false');\n }\n\n public addInteractionListener(type: string, listener: EventListener): void {\n this._component.addEventListener(type, listener);\n }\n\n public setDisabled(value: boolean): void {\n this._stateLayerElement.disabled = value;\n this._component.tabIndex = value ? -1 : this._component.selected ? 0 : -1;\n this._component.setAttribute('aria-disabled', String(value));\n toggleAttribute(this._component, value, TAB_CONSTANTS.attributes.DISABLED, String(value));\n }\n\n public setSelected(value: boolean): void {\n this._component.tabIndex = value ? 0 : -1;\n this._component.setAttribute('aria-selected', String(value));\n }\n\n public animateSelected(): void {\n this._tabIndicatorElement.getAnimations().forEach(a => a.cancel());\n const frames = this._getKeyframes();\n if (frames) {\n this._tabIndicatorElement.animate(frames, { duration: TAB_CONSTANTS.numbers.ANIMATION_DURATION, easing: TAB_CONSTANTS.strings.EASING });\n }\n }\n\n public animateStateLayer(): void {\n this._stateLayerElement.playAnimation();\n }\n\n private _getKeyframes(): Keyframe[] | null {\n const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n if (!this._component.selected) {\n return reduceMotion ? [{ opacity: 1 }, { transform: 'none' }] : null;\n }\n\n const from: Keyframe = {};\n const isVertical = this._component.vertical;\n const selectedTabIndicator = this._getSelectedTabIndicator();\n const fromRect = selectedTabIndicator?.getBoundingClientRect() ?? {} as DOMRect;\n const fromPos = isVertical ? fromRect.top : fromRect.left;\n const fromExtent = isVertical ? fromRect.height : fromRect.width;\n const toRect = this._tabIndicatorElement.getBoundingClientRect();\n const toPos = isVertical ? toRect.top : toRect.left;\n const toExtent = isVertical ? toRect.height : toRect.width;\n const axis = isVertical ? 'Y' : 'X';\n const scale = fromExtent / toExtent;\n\n if (!reduceMotion && fromPos !== undefined && toPos !== undefined && !isNaN(scale)) {\n from.transform = `translate${axis}(${(fromPos - toPos).toFixed(4)}px) scale${axis}(${scale.toFixed(4)})`;\n } else {\n from.opacity = 0;\n }\n\n return [from, { transform: 'none' }];\n }\n\n private _getSelectedTabIndicator(): HTMLElement | null {\n const tabsEl = requireParent(this._component, TAB_BAR_CONSTANTS.elementName);\n if (tabsEl) {\n const tabChildren = Array.from(tabsEl.querySelectorAll(TAB_CONSTANTS.elementName)) as ITabComponent[];\n const selectedTab = tabChildren.find(tab => tab.hasAttribute(TAB_CONSTANTS.attributes.SELECTED));\n if (selectedTab) {\n return getShadowElement(selectedTab, TAB_CONSTANTS.selectors.INDICATOR);\n }\n }\n return null;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { ITabAdapter } from './tab-adapter';\nimport { TAB_CONSTANTS } from './tab-constants';\n\nexport interface ITabFoundation extends ICustomElementFoundation {\n disabled: boolean;\n selected: boolean;\n vertical: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n}\n\nexport class TabFoundation implements ITabFoundation {\n // State\n private _selected = false;\n private _disabled = false;\n private _vertical = false;\n private _stacked = false;\n private _secondary = false;\n private _inverted = false;\n\n // Listeners\n private _clickListener: EventListener;\n private _keydownListener: EventListener;\n\n constructor(private _adapter: ITabAdapter) {\n this._clickListener = () => this._onClick();\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.addInteractionListener('click', this._clickListener);\n this._adapter.addInteractionListener('keydown', this._keydownListener);\n }\n\n private _onClick(): void {\n if (this._disabled || this._selected) {\n return;\n }\n this._dispatchSelectEvent();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (this._disabled || this._selected) {\n return;\n }\n\n const isSelectionKey = evt.key === ' ' || evt.key === 'Enter';\n if (isSelectionKey) {\n evt.preventDefault();\n this._adapter.animateStateLayer();\n this._dispatchSelectEvent();\n }\n }\n\n private _dispatchSelectEvent(): void {\n this._adapter.emitHostEvent(TAB_CONSTANTS.events.SELECT, { bubbles: true, composed: true });\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._adapter.setSelected(this._selected);\n this._adapter.animateSelected();\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.SELECTED, this._selected);\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n if (this._vertical !== value) {\n this._vertical = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n public get stacked(): boolean {\n return this._stacked;\n }\n public set stacked(value: boolean) {\n if (this._stacked !== value) {\n this._stacked = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.STACKED, this._stacked);\n }\n }\n\n public get secondary(): boolean {\n return this._secondary;\n }\n public set secondary(value: boolean) {\n if (this._secondary !== value) {\n this._secondary = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.SECONDARY, this._secondary);\n }\n }\n\n public get inverted(): boolean {\n return this._inverted;\n }\n public set inverted(value: boolean) {\n if (this._inverted !== value) {\n this._inverted = value;\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.INVERTED, this._inverted);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport { TabAdapter } from './tab-adapter';\nimport { TabFoundation } from './tab-foundation';\nimport { TAB_CONSTANTS } from './tab-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { FocusIndicatorComponent } from '../../focus-indicator/focus-indicator';\nimport { StateLayerComponent } from '../../state-layer/state-layer';\n\nconst template = '<template><div class=\\\"forge-tab\\\" part=\\\"container\\\"><span class=\\\"content\\\" part=\\\"content\\\"><slot name=\\\"leading\\\"></slot><span class=\\\"label\\\" part=\\\"label\\\"><slot></slot></span><slot name=\\\"trailing\\\"></slot><span class=\\\"indicator\\\" part=\\\"indicator\\\"></span></span><forge-state-layer target=\\\":host\\\"></forge-state-layer><forge-focus-indicator target=\\\":host\\\" inward></forge-focus-indicator></div></template>';\nconst styles = ':host{display:-webkit-inline-box;display:inline-flex;outline:0;-webkit-tap-highlight-color:transparent;vertical-align:middle}:host([hidden]){display:none}:host(:focus) .forge-tab{color:var(--_focus-label-text-color)}:host(:focus) .forge-tab ::slotted([slot=leading]),:host(:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_focus-icon-color)}:host(:active) .forge-tab{color:var(--_pressed-label-text-color);outline:0}:host(:active) .forge-tab ::slotted([slot=leading]),:host(:active) .forge-tab ::slotted([slot=trailing]){color:var(--_pressed-icon-color)}:host([disabled]){cursor:not-allowed;opacity:var(--forge-tab-disabled-opacity, .38)}:host([disabled]) .forge-tab{pointer-events:none}:host([selected]) .forge-tab{color:var(--_active-label-text-color)}:host([selected]) .forge-tab ::slotted([slot=leading]),:host([selected]) .forge-tab ::slotted([slot=trailing]){color:var(--_active-icon-color)}:host([selected]) .forge-tab:hover{color:var(--_active-hover-label-text-color)}:host([selected]) .forge-tab:hover ::slotted([slot=leading]),:host([selected]) .forge-tab:hover ::slotted([slot=trailing]){color:var(--_active-hover-icon-color)}:host([selected]) .forge-tab .indicator{opacity:1}:host([selected]:focus) .forge-tab{color:var(--_active-focus-label-text-color)}:host([selected]:focus) .forge-tab ::slotted([slot=leading]),:host([selected]:focus) .forge-tab ::slotted([slot=trailing]){color:var(--_active-focus-icon-color)}:host([selected]:active) .forge-tab{color:var(--_active-pressed-label-text-color)}:host([selected]:active) .forge-tab ::slotted([slot=leading]),:host([selected]:active) .forge-tab ::slotted([slot=trailing]){color:var(--_active-pressed-icon-color)}:host([stacked]) .forge-tab{--_height:var(--forge-tab-stacked-height, 64px)}:host([stacked]) .forge-tab .content{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([secondary]) .forge-tab{--_active-indicator-height:var(--forge-tab-indicator-height, 2px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 0)}:host([secondary]) .content{width:100%}:host([secondary]) .indicator{min-width:100%}:host([vertical]) .forge-tab{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom:none}:host([vertical]) .forge-tab .content{width:100%}:host([vertical]) .forge-tab .indicator{height:100%;min-width:var(--_active-indicator-height);inset:0 0 0 auto}:host([vertical][secondary]) .content{min-height:100%}:host([vertical]:not([secondary])) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 0 0 3px)}:host([inverted]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 0 3px 3px)}:host([inverted]) .indicator{inset:0 0 auto;-webkit-transform-origin:top left;transform-origin:top left}:host([inverted][vertical]) .forge-tab{--_active-indicator-shape:var(--forge-tab-indicator-shape, 0 3px 3px 0)}:host([inverted][vertical]) .indicator{inset:0 auto 0 0}.forge-tab{--_active-color:var(--forge-tab-active-color, var(--forge-theme-primary, #3f51b5));--_inactive-color:var(--forge-tab-inactive-color, var(--forge-theme-text-secondary, rgba(0, 0, 0, 0.54)));--_height:var(--forge-tab-height, 48px);--_active-indicator-color:var(--forge-tab-indicator-color, var(--_active-color));--_active-indicator-height:var(--forge-tab-indicator-height, 3px);--_active-indicator-shape:var(--forge-tab-indicator-shape, 3px 3px 0 0);--_container-color:var(--forge-tab-container-color, transparent);--_container-height:var(--forge-tab-container-height, var(--_height));--_container-shape:var(--forge-tab-container-shape, 0);--_content-height:var(--forge-tab-content-height, var(--_height));--_active-focus-icon-color:var(--forge-tab-active-focus-icon-color, var(--_active-color));--_active-hover-icon-color:var(--forge-tab-active-hover-icon-color, var(--_active-color));--_active-icon-color:var(--forge-tab-active-icon-color, var(--_active-color));--_active-pressed-icon-color:var(--forge-tab-active-pressed-icon-color, var(--_active-color));--_icon-size:var(--forge-tab-icon-size, 24px);--_focus-icon-color:var(--forge-tab-focus-icon-color, var(--_inactive-color));--_hover-icon-color:var(--forge-tab-hover-icon-color, var(--_inactive-color));--_icon-color:var(--forge-tab-icon-color, var(--_inactive-color));--_pressed-icon-color:var(--forge-tab-pressed-icon-color, var(--_inactive-color));--_active-focus-label-text-color:var(--forge-tab-active-focus-label-text-color, var(--_active-color));--_active-hover-label-text-color:var(--forge-tab-active-hover-label-text-color, var(--_active-color));--_active-label-text-color:var(--forge-tab-active-label-text-color, var(--_active-color));--_active-pressed-label-text-color:var(--forge-tab-active-pressed-label-text-color, var(--_active-color));--_focus-label-text-color:var(--forge-tab-focus-label-text-color, var(--_inactive-color));--_hover-label-text-color:var(--forge-tab-hover-label-text-color, var(--_inactive-color));--_label-text-color:var(--forge-tab-label-text-color, var(--_inactive-color));--_pressed-label-text-color:var(--forge-tab-pressed-label-text-color, var(--_inactive-color));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;vertical-align:middle;background:0 0;text-decoration:none;width:100%;position:relative;padding:0;margin:0;z-index:0;background-color:var(--_container-color);color:var(--_label-text-color);min-height:var(--_container-height)}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){display:-webkit-inline-box;display:inline-flex;position:relative;-webkit-writing-mode:horizontal-tb;-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;fill:currentColor;color:var(--_icon-color);font-size:var(--_icon-size);width:var(--_icon-size);height:var(--_icon-size)}.forge-tab:hover{color:var(--_hover-label-text-color);cursor:pointer}.forge-tab:hover ::slotted([slot=leading]),.forge-tab:hover ::slotted([slot=trailing]){color:var(--_hover-icon-color)}.forge-tab .content{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;white-space:nowrap;-webkit-transition:150ms color linear;transition:150ms color linear;max-height:calc(var(--_content-height) + 16px);min-height:var(--_content-height);padding:8px 16px;gap:4px}.forge-tab .content .label{display:inline-block;line-height:1}.forge-tab .indicator{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;z-index:-1;-webkit-transform-origin:bottom left;transform-origin:bottom left;background:var(--_active-indicator-color);border-radius:var(--_active-indicator-shape);height:var(--_active-indicator-height);inset:auto 0 0;opacity:0}::slotted(*),host{white-space:nowrap}forge-focus-indicator{--forge-focus-indicator-color:var(--_active-color);--forge-focus-indicator-shape:8px}forge-state-layer{--forge-state-layer-color:var(--_inactive-color)}';\n\nexport interface ITabComponent extends IBaseComponent {\n disabled: boolean;\n selected: boolean;\n vertical: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab': ITabComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-select': CustomEvent<void>;\n }\n}\n\n/**\n * @tag forge-tab\n * \n * @property {boolean} disabled - The disabled state of the tab.\n * @property {boolean} selected - The selected state of the tab.\n * @property {boolean} vertical - Controls whether the tab is vertical or horizontal.\n * @property {boolean} stacked - Controls whether the tab is taller to allow for slotted leading/trailing elements.\n * @property {boolean} secondary - Controls whether the tab is styled as secondary tab navigation.\n * @property {boolean} inverted - Controls whether the tab indicator is rendered on the opposite side of the tab.\n * \n * @attribute disabled - The disabled state of the tab.\n * @attribute selected - The selected state of the tab.\n * @attribute vertical - Controls whether the tab is vertical or horizontal.\n * @attribute stacked - Controls whether the tab is taller to allow for slotted leading/trailing elements.\n * @attribute secondary - Controls whether the tab is styled as secondary tab navigation.\n * \n * @event forge-tab-select - Dispatched when the tab is selected.\n * \n * @cssproperty --forge-tab-indicator-color - The color of the tab indicator. Defaults to the primary theme.\n * @cssproperty --forge-tab-indicator-height - The height of the tab indicator.\n * @cssproperty --forge-tab-indicator-shape - The shape of the tab indicator.\n * @cssproperty --forge-tab-container-color - The color of the tab container. Defaults to the surface theme.\n * @cssproperty --forge-tab-height - The height of the tab.\n * @cssproperty --forge-tab-shape - The shape of the tab.\n * @cssproperty --forge-tab-disabled-opacity - The opacity of the tab when disabled.\n * @cssproperty --forge-tab-active-focus-icon-color - The color of the icon when the tab is active and focused. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-hover-icon-color - The color of the icon when the tab is active and hovered. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-icon-color - The color of the icon when the tab is active. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-pressed-icon-color - The color of the icon when the tab is active and pressed. Defaults to the primary theme.\n * @cssproperty --forge-tab-icon-size - The size of the icon.\n * @cssproperty --forge-tab-focus-icon-color - The color of the icon when the tab is focused. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-hover-icon-color - The color of the icon when the tab is hovered. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-icon-color - The color of the icon. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-pressed-icon-color - The color of the icon when the tab is pressed. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-active-focus-label-text-color - The color of the label text when the tab is active and focused. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-hover-label-text-color - The color of the label text when the tab is active and hovered. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-label-text-color - The color of the label text when the tab is active. Defaults to the primary theme.\n * @cssproperty --forge-tab-active-pressed-label-text-color - The color of the label text when the tab is active and pressed. Defaults to the primary theme.\n * @cssproperty --forge-tab-focus-label-text-color - The color of the label text when the tab is focused. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-hover-label-text-color - The color of the label text when the tab is hovered. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-label-text-color - The color of the label text. Defaults to the text-on-background theme.\n * @cssproperty --forge-tab-pressed-label-text-color - The color of the label text when the tab is pressed. Defaults to the text-on-background theme.\n * \n * @csspart container - The tab container.\n * @csspart content - The tab content container.\n * @csspart label - The tab label container.\n * @csspart indicator - The tab active indicator.\n */\n@CustomElement({\n name: TAB_CONSTANTS.elementName,\n dependencies: [\n FocusIndicatorComponent,\n StateLayerComponent\n ]\n})\nexport class TabComponent extends BaseComponent implements ITabComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_CONSTANTS.attributes.DISABLED,\n TAB_CONSTANTS.attributes.SELECTED,\n TAB_CONSTANTS.attributes.VERTICAL,\n TAB_CONSTANTS.attributes.STACKED,\n TAB_CONSTANTS.attributes.SECONDARY,\n TAB_CONSTANTS.attributes.INVERTED\n ];\n }\n\n private _foundation: TabFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabFoundation(new TabAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.STACKED:\n this.stacked = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.SECONDARY:\n this.secondary = coerceBoolean(newValue);\n break;\n case TAB_CONSTANTS.attributes.INVERTED:\n this.inverted = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n \n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare stacked: boolean;\n\n @FoundationProperty()\n public declare secondary: boolean;\n\n @FoundationProperty()\n public declare inverted: boolean;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "classes", "events", "numbers", "TAB_BAR_CONSTANTS", "NAVIGATION_KEYS", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "classes", "events", "strings", "numbers", "TAB_CONSTANTS", "TabAdapter", "BaseAdapter", "component", "getShadowElement", "TAB_CONSTANTS", "STATE_LAYER_CONSTANTS", "type", "listener", "value", "toggleAttribute", "a", "frames", "_a", "reduceMotion", "from", "isVertical", "selectedTabIndicator", "fromRect", "fromPos", "fromExtent", "toRect", "toPos", "toExtent", "axis", "scale", "tabsEl", "requireParent", "TAB_BAR_CONSTANTS", "selectedTab", "tab", "TabFoundation", "_adapter", "evt", "TAB_CONSTANTS", "value", "template", "styles", "TabComponent", "BaseComponent", "attachShadowTemplate", "TabFoundation", "TabAdapter", "TAB_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "StateLayerComponent"]
|
|
7
|
+
}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import{i as a}from"./chunk.J2M2MXP2.js";function u(t){return t.ownerDocument||document}function p(t){return t&&t.nodeType===1}function L(t,e){if(!p(t))throw new Error("DOMUtils - elementParents: invalid element argument");let o=[];for(;t.parentElement&&(o.push(t.parentElement),!(t.parentElement===e||t.parentElement===u(t).body));)t.parentElement&&t.parentElement.parentNode&&t.parentElement.parentNode.nodeType===11?t=t.parentElement.parentNode.host:t=t.parentElement;return o}function g(t,e){if(!p(t))throw new Error("DOMUtils - offset: invalid element argument");let o=t.getBoundingClientRect(),n=u(t).defaultView,r=e||n.document.documentElement,i={width:o.width,height:o.width,top:0,left:0,bottom:0,right:0};if(!e||r===n.document.documentElement||r===n.document.body)i.top=n.scrollY+o.top,i.bottom=r.clientHeight-n.scrollY-o.bottom,i.left=n.scrollX+o.left,i.right=r.clientWidth-n.scrollX-o.right;else{if(!p(e))throw new Error("DOMUtils - offset: invalid parentElement argument");let s=e.getBoundingClientRect();i.top=o.top-s.top,i.bottom=s.bottom-o.bottom,i.left=o.left-s.left,i.right=s.right-o.right}return{width:Math.round(o.width),height:Math.round(o.height),top:Math.round(i.top),bottom:Math.round(i.bottom),left:Math.round(i.left),right:Math.round(i.right)}}function M(t,e,o){let n=i=>{let s=()=>{i.stopPropagation(),i.cancelable&&i.preventDefault();let l=i.type==="touchstart"?i.target:u(t).activeElement;t.contains(l)||e(l)};o?window.requestAnimationFrame(()=>s()):s()},r=u(t);return r.addEventListener("blur",n,!0),r.addEventListener("touchstart",n,!0),()=>{r.removeEventListener("blur",n,!0),r.removeEventListener("touchstart",n,!0)}}function N(t){for(;t.lastChild;)t.removeChild(t.lastChild)}function P(t,e){return e.parentNode.replaceChild(t,e)}function b(t,e){a(t)?t.forEach(o=>e.classList.add(o)):e.classList.add(t)}function v(t,e){a(t)?t.forEach(o=>e.classList.remove(o)):e.classList.remove(t)}function x(){let t=document.createElement("fakeelement"),e={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(let o in e)if(t.style[o]!==void 0)return e[o]}async function W(t,e,o=!0){return t.classList.add(e),new Promise(n=>{let r=x(),i=()=>{o&&t.classList.remove(e),t.removeEventListener(r,i),n()};t.addEventListener(r,i)})}function E(t){t.removeNode?t.removeNode(!0):t.remove?t.remove():t.parentNode.removeChild(t)}function O(t){if(typeof t=="string"){if(t[t.length-1]==="%")return t;if(t.slice(-2)==="px")return t;if(Number(t)>=0)return`${t}px`}else if(typeof t=="number"&&t>=0)return`${t}px`}function R(t){let e=document.createElement("div");e.style.position="absolute",e.style.top="-99999px",e.style.left="-99999px",e.style.visibility="hidden",e.appendChild(t.cloneNode(!0)),document.body.appendChild(e);let o={width:e.scrollWidth,height:e.scrollHeight};return E(e),e=void 0,o}function H(t){return t.children.length?Promise.resolve():new Promise(e=>{let o=new MutationObserver(n=>{t.children.length&&(o.disconnect(),e())});o.observe(t,{childList:!0})})}function T(t,e){let o=f(t,e);return o.length?Promise.resolve(o[0]):new Promise(n=>{let r=new MutationObserver(i=>{if(i.reduce((l,c)=>l+c.addedNodes.length,0)>0){let l=f(t,e);l.length&&(r.disconnect(),n(l[0]))}});r.observe(t,{childList:!0,subtree:!0})})}function D(t,e){let o=t&&t.parentNode;for(;o;){if(e(o))return o;o=o.parentNode}return null}function U(t,e){let n=document.createElement("canvas").getContext("2d"),r=e?e.fontSize:16,i=e?e.fontFamily:"Roboto";return n.font=`${r}px ${i}`,n.measureText(t).width}function V(t,e){let o=[];for(let n=1;n<=t;n++)o.push(`${n}px ${n}px ${e}`);return o.join(", ")}function y(t,e){if(t.nodeType!==Node.ELEMENT_NODE)return!1;typeof e=="string"&&(e=e.replace(/\s+/,"").split(","));let o=Element.prototype.matches;return e.some(n=>o.call(t,n))}function f(t,e,o=!1){let n=[];if(!t)return n;if(typeof e=="string"&&(e=e.replace(/\s+/,"").split(",")),o&&y(t,e)&&n.indexOf(t)===-1&&n.push(t),t.tagName==="SLOT")t.assignedNodes().forEach(i=>n=n.concat(f(i,e,!0)));else{let r=t.shadowRoot?t.shadowRoot.firstElementChild:t.firstElementChild;for(;r;)n=n.concat(f(r,e,!0)),r=r.nextElementSibling}return n}function $(){let t=document.activeElement;return!t||t===document.body?t:m(t)}function m(t){return t.shadowRoot&&t.shadowRoot.activeElement&&(t=m(t.shadowRoot.activeElement)),t}function B(t,e,o){e?b(o,t):v(o,t)}function F(t,e,o,n=""){e?t.setAttribute(o,n):t.removeAttribute(o)}function I(t,e,o,n){let r=t.getAttribute(e);(n===void 0||n===!0)&&(!r||!r.includes(o))?A(t,e,o):n||C(t,e,o)}function A(t,e,o){let n=t.getAttribute(e);!n||!n.length?t.setAttribute(e,o):t.setAttribute(e,`${n} ${o}`)}function C(t,e,o){if(!t.hasAttribute(e))return;let n=t.getAttribute(e);if(n){let r=n==null?void 0:n.replace(o,"");r=r.replace(/\s+/g," ").trim(),r.length?t.setAttribute(e,r):t.removeAttribute(e)}}function X(t,e,o="auto",n="nearest"){if(!t)return;if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth){let i=g(e,t),s=i.top<=e.clientHeight,l=i.bottom<=e.clientHeight;if(s||l){let d=h(n,s,e.offsetTop,e.clientHeight,t.offsetTop,t.offsetHeight);t.scrollTo({top:d,behavior:o});return}let c=i.left<=e.clientWidth,w=i.right<=e.clientWidth;if(c||w){let d=h(n,c,e.offsetLeft,e.clientWidth,t.offsetLeft,t.offsetWidth);t.scrollTo({left:d,behavior:o})}}}function h(t,e,o,n,r,i){return t==="nearest"?e?o-r-n:o-i+n*2:o-r-i/2+n/2}function k(t){let e=document.createElement("template");return t=t.trim(),e.innerHTML=t,e.content.firstElementChild}function Y(t,e,o){let n=new MutationObserver(r=>{for(let i of r)i.attributeName&&e(i.attributeName,t.getAttribute(i.attributeName))});return n.observe(t,{attributes:!0,attributeFilter:o}),n}export{p as a,L as b,M as c,N as d,P as e,b as f,v as g,W as h,E as i,O as j,R as k,H as l,T as m,D as n,U as o,V as p,y as q,f as r,$ as s,B as t,F as u,I as v,A as w,X as x,k as y,Y as z};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
7
|
+
//# sourceMappingURL=chunk.CFDK4RCW.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../node_modules/@tylertech/forge-core/esm/utils/dom-utils.js"],
|
|
4
4
|
"sourcesContent": ["import { isArray } from './utils';\n/**\n * Holds regular expressions\n */\n/* tslint:disable-next-line:require-private-underscore */\nconst REGULAR_EXPRESSIONS = {\n placement: {\n auto: /\\s?auto?\\s?/i,\n primary: /^(top|bottom|left|right)$/,\n secondary: /^(top|bottom|left|right|center)$/,\n topBottom: /^(top|bottom)$/\n },\n overflow: /(auto|scroll)/\n};\n/**\n * Holds the browser scrollbar width.\n */\n/* tslint:disable-next-line:require-private-underscore */\nlet SCROLLBAR_WIDTH;\n/**\n * Gets the ownerDocument for an element, if null, than returns the document element.\n * @param {Element} element The element to get the ownerDocument for\n * @returns {Document}\n */\nfunction _ownerDocument(element) {\n return element.ownerDocument || document;\n}\n/**\n * Retrieves an element based on the provided root and selector.\n * @param {Element} root The root element to search within.\n * @param {string} selector The selector for the child element.\n * @param {boolean} [allowNull=false] Should the method allow the element to be not found? Default is false.\n * @returns {HTMLElement}\n */\nexport function getElement(root, selector, allowNull = false) {\n const element = root.querySelector(selector);\n if (!element && !allowNull) {\n throw new Error(`Element not found with selector: ${selector}`);\n }\n return element;\n}\n/**\n * Checks if an element is a valid element.\n * @param {Element} element The node to test\n * @returns {boolean}\n */\nexport function isElement(element) {\n return element && element.nodeType === 1;\n}\n/**\n * Checks if an element is statically positioned.\n * @param {Element} element The node to test.\n * @returns {boolean}\n */\nexport function isPositionStatic(element) {\n return (window.getComputedStyle(element).position || 'static') === 'static';\n}\n/**\n * Parses a style string to a numeric value (removes 'px').\n * @param {string} value The style string to parse.\n * @returns {number}\n */\nexport function parseStyle(value) {\n if (!value || !value.length) {\n return 0;\n }\n const parsedValue = parseFloat(value);\n return isFinite(parsedValue) ? parsedValue : 0;\n}\n/**\n * Gets the index of an element in the parent element children.\n * @param {Element} element The element to get the index on.\n * @returns {number}\n */\nexport function elementIndex(element) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - elementIndex: invalid element argument');\n }\n if (!element.parentElement) {\n return -1;\n }\n return Array.from(element.parentElement.children).indexOf(element);\n}\n/**\n * Gets an array of parent elements up to the body element.\n * @param {Element} element The element to get the parents of.\n * @param {Element=} untilElement Optional element where traversal should stop.\n * @returns {Array}\n */\nexport function elementParents(element, untilElement) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - elementParents: invalid element argument');\n }\n const parentElements = [];\n while (element.parentElement) {\n parentElements.push(element.parentElement);\n if (element.parentElement === untilElement || element.parentElement === _ownerDocument(element).body) {\n break;\n }\n // pierce shadow DOM\n if (element.parentElement && element.parentElement.parentNode && element.parentElement.parentNode.nodeType === 11) {\n element = element.parentElement.parentNode.host;\n }\n else {\n element = element.parentElement;\n }\n }\n return parentElements;\n}\n/**\n * Gets the non-statically positioned parent of an element.\n * @param element The element to get the offset parent of.\n * @returns {Element}\n */\nexport function offsetParent(element) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - offsetParent: invalid element argument');\n }\n let offsetParentElem = element.offsetParent;\n while (offsetParentElem && isPositionStatic(offsetParentElem)) {\n offsetParentElem = offsetParentElem.offsetParent;\n }\n return offsetParentElem || _ownerDocument(element).documentElement;\n}\n/**\n * Gets the browser scrollbar width.\n * @returns {number}\n */\nexport function scrollbarWidth() {\n if (SCROLLBAR_WIDTH === undefined) {\n const elem = document.createElement('div');\n elem.style.position = 'absolute';\n elem.style.top = '-100px';\n elem.style.left = '-100px';\n elem.style.width = '50px';\n elem.style.height = '50px';\n elem.style.overflow = 'scroll';\n document.body.appendChild(elem);\n const width = elem.offsetWidth - elem.clientWidth;\n removeElement(elem);\n SCROLLBAR_WIDTH = isFinite(width) ? width : 0;\n }\n return SCROLLBAR_WIDTH;\n}\n/**\n * Checks if an element is scrollable.\n * @param {Element} element The element to test for scrollability\n * @returns {boolean}\n */\nexport function isScrollable(element) {\n const elemStyle = window.getComputedStyle(element);\n return REGULAR_EXPRESSIONS.overflow.test('' + elemStyle.overflow + elemStyle.overflowY + elemStyle.overflowX);\n}\n/**\n * Gets the scroll parent of an element.\n * @param {Element} element The element to get the scroll parent of.\n * @param {boolean} [includeSelf=false] Should the element be checked for scrollability.\n * @returns {Element}\n */\nexport function scrollParent(element, includeSelf = false) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - scrollParent: invalid element argument');\n }\n const docElem = _ownerDocument(element).documentElement;\n const elemStyle = window.getComputedStyle(element);\n if (includeSelf && REGULAR_EXPRESSIONS.overflow.test('' + elemStyle.overflow + elemStyle.overflowY + elemStyle.overflowX)) {\n return element;\n }\n let excludeStatic = elemStyle.position === 'absolute';\n let scrollParentElem = element.parentElement || docElem;\n if (scrollParentElem === docElem || elemStyle.position === 'fixed') {\n return scrollParentElem;\n }\n while (scrollParentElem && scrollParentElem !== docElem) {\n const scrollParentStyle = window.getComputedStyle(scrollParentElem);\n if (excludeStatic && scrollParentStyle.position !== 'static') {\n excludeStatic = false;\n }\n if (!excludeStatic && REGULAR_EXPRESSIONS.overflow.test('' + scrollParentStyle.overflow + scrollParentStyle.overflowY + scrollParentStyle.overflowX)) {\n break;\n }\n scrollParentElem = scrollParentElem.scrollParent;\n }\n return scrollParentElem || docElem;\n}\n/**\n * Checks if the elements scroll parent scrollbars are visible.\n * @param {Element} element The element to check the scroll parent of.\n * @returns {IScrollbarVisibility}\n */\nexport function isScrollbarVisible(element) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - isDocumentScrolled: invalid element argument');\n }\n const scrollParentElem = scrollParent(element);\n return {\n x: scrollParentElem.scrollWidth > scrollParentElem.clientWidth,\n y: scrollParentElem.scrollHeight > scrollParentElem.clientHeight\n };\n}\n/**\n * Gets the offset from the element to the parent element edges.\n * If no parentElement is supplied, the documentElement will be used.\n * @param {Element} element The element to compute the offset for.\n * @param {Element=} parentElement Optional parent element to measure from.\n * @returns {DOMRect}\n */\nexport function offset(element, parentElement) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - offset: invalid element argument');\n }\n const elemBCR = element.getBoundingClientRect();\n const win = _ownerDocument(element).defaultView;\n const docElem = parentElement || win.document.documentElement;\n const offsetValues = { width: elemBCR.width, height: elemBCR.width, top: 0, left: 0, bottom: 0, right: 0 };\n if (!parentElement || docElem === win.document.documentElement || docElem === win.document.body) {\n offsetValues.top = win.scrollY + elemBCR.top;\n offsetValues.bottom = docElem.clientHeight - win.scrollY - elemBCR.bottom;\n offsetValues.left = win.scrollX + elemBCR.left;\n offsetValues.right = docElem.clientWidth - win.scrollX - elemBCR.right;\n }\n else {\n if (!isElement(parentElement)) {\n throw new Error('DOMUtils - offset: invalid parentElement argument');\n }\n const parentBCR = parentElement.getBoundingClientRect();\n offsetValues.top = elemBCR.top - parentBCR.top;\n offsetValues.bottom = parentBCR.bottom - elemBCR.bottom;\n offsetValues.left = elemBCR.left - parentBCR.left;\n offsetValues.right = parentBCR.right - elemBCR.right;\n }\n return {\n width: Math.round(elemBCR.width),\n height: Math.round(elemBCR.height),\n top: Math.round(offsetValues.top),\n bottom: Math.round(offsetValues.bottom),\n left: Math.round(offsetValues.left),\n right: Math.round(offsetValues.right)\n };\n}\n/**\n * Gets the offset from the element to the parent element viewable edges.\n * If no parentElement is supplied, the documentElement will be used.\n * @param {Element} element The element to measure\n * @param {Element=} parentElement The parent element to measure to.\n * @returns {DOMRect}\n */\nexport function viewportOffset(element, parentElement) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - offset: invalid element argument');\n }\n const win = _ownerDocument(element).defaultView;\n parentElement = parentElement || win.document.documentElement;\n const parentElementOffset = offset(element, parentElement);\n const offsetValues = {\n top: parentElementOffset.top,\n bottom: 0,\n left: parentElementOffset.left,\n right: 0\n };\n if (parentElement === win.document.documentElement) {\n offsetValues.top -= win.scrollY;\n offsetValues.left -= win.scrollX;\n }\n else {\n const parentStyle = window.getComputedStyle(parentElement);\n offsetValues.top -= parseStyle('' + parentStyle.borderTopWidth);\n offsetValues.left -= parseStyle('' + parentStyle.borderLeftWidth);\n }\n offsetValues.bottom = parentElement.clientHeight - offsetValues.top - element.offsetHeight;\n offsetValues.right = parentElement.clientWidth - offsetValues.left - element.offsetWidth;\n return {\n width: parentElementOffset.width,\n height: parentElementOffset.height,\n top: Math.round(offsetValues.top),\n bottom: Math.round(offsetValues.bottom),\n left: Math.round(offsetValues.left),\n right: Math.round(offsetValues.right)\n };\n}\n/**\n * Checks if any part of an element is visible in the viewport.\n * @param {Element} element The element to check.\n * @returns {boolean}\n */\nexport function isElementInViewport(element) {\n if (!isElement(element)) {\n throw new Error('DOMUtils - isElementInViewport: invalid element argument');\n }\n const document = _ownerDocument(element);\n const scrollParentElem = scrollParent(element);\n const elemBCR = element.getBoundingClientRect();\n if (scrollParentElem !== document.documentElement && scrollParentElem !== document.body) {\n const scrollParentOffset = offset(element, scrollParentElem);\n if (scrollParentOffset.top + elemBCR.height < 0 ||\n scrollParentOffset.left + elemBCR.width < 0 ||\n scrollParentOffset.bottom + elemBCR.height - this.scrollbarWidth < 0 ||\n scrollParentOffset.right + elemBCR.width - this.scrollbarWidth < 0) {\n return false;\n }\n }\n if (elemBCR.top + elemBCR.height < 0 ||\n elemBCR.left + elemBCR.width < 0 ||\n elemBCR.bottom + elemBCR.height > document.documentElement.clientHeight ||\n elemBCR.right + elemBCR.width > document.documentElement.clientWidth) {\n return false;\n }\n return true;\n}\n/**\n * Adds an event listener to the document that will call the provided callback function\n * when an element and it's children no longer have focus. The blur and touchstart events are used\n * to evaluate the active element to determine if the callback should be called.\n *\n * @param {Element} element The element to add the event listener to.\n * @param {Function} callback The function to call when the element and children don't have focus.\n * @param {boolean} [delay=false] Should a RAF cycle occur before the callback is called.\n * @returns {Function} The function to call to remove the document events.\n */\nexport function notChildEventListener(element, callback, delay) {\n const evtHandler = (event) => {\n const handle = () => {\n event.stopPropagation();\n if (event.cancelable) {\n event.preventDefault();\n }\n const activeElement = (event.type === 'touchstart' ? event.target : _ownerDocument(element).activeElement);\n if (!element.contains(activeElement)) {\n callback(activeElement);\n }\n };\n if (delay) {\n window.requestAnimationFrame(() => handle());\n }\n else {\n handle();\n }\n };\n const docElem = _ownerDocument(element);\n docElem.addEventListener('blur', evtHandler, true);\n docElem.addEventListener('touchstart', evtHandler, true);\n return () => {\n docElem.removeEventListener('blur', evtHandler, true);\n docElem.removeEventListener('touchstart', evtHandler, true);\n };\n}\n/**\n * Removes all children from a DOM node.\n * @param node The DOM node to remove children from.\n */\nexport function removeAllChildren(node) {\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n}\n/**\n * Replaces one child node of the specified node with another.\n * @param newChild The new node to replace `oldChild`.\n * @param oldChild The existing node to be replaced.\n * @returns {Node} The replaced node. Same node as `oldChild`.\n */\nexport function replaceElement(newChild, oldChild) {\n return oldChild.parentNode.replaceChild(newChild, oldChild);\n}\n/**\n * Adds a class or array of classes to an element.\n *\n * @param {string | string[]} name The class(es) to add to the element\n * @param {Element} element The element to add class(es) to.\n */\nexport function addClass(name, element) {\n if (isArray(name)) {\n name.forEach(n => element.classList.add(n));\n }\n else {\n element.classList.add(name);\n }\n}\n/**\n * Removes a class or array of classes to an element.\n *\n * @param {string | string[]} name The class(es) to remove from the element\n * @param {Element} element The element to remove class(es) from.\n */\nexport function removeClass(name, element) {\n if (isArray(name)) {\n name.forEach(n => element.classList.remove(n));\n }\n else {\n element.classList.remove(name);\n }\n}\n/** Determines which type of animation event is supported. */\nexport function getAnimationEvent() {\n const el = document.createElement('fakeelement');\n // tslint:disable:object-literal-key-quotes\n const animations = {\n 'animation': 'animationend',\n 'OAnimation': 'oAnimationEnd',\n 'MozAnimation': 'animationend',\n 'WebkitAnimation': 'webkitAnimationEnd'\n };\n for (const t in animations) {\n if (el.style[t] !== undefined) {\n return animations[t];\n }\n }\n}\n/**\n * A helper method to trigger a keyframe animation via adding a class, and removing the class when the animation completes.\n * @param {HTMLElement} element The element to play the animation on.\n * @param {string} className The class to add that triggers the animation.\n */\nexport async function playKeyframeAnimation(element, className, remove = true) {\n element.classList.add(className);\n return new Promise(resolve => {\n const animationEvent = getAnimationEvent();\n const animationCompletedListener = () => {\n if (remove) {\n element.classList.remove(className);\n }\n element.removeEventListener(animationEvent, animationCompletedListener);\n resolve();\n };\n element.addEventListener(animationEvent, animationCompletedListener);\n });\n}\n/**\n * Removes an element from the DOM using the available remove method for that platform.\n * @param {HTMLElement} element The element to remove.\n */\nexport function removeElement(element) {\n if (element.removeNode) {\n element.removeNode(true);\n }\n else if (element.remove) {\n element.remove();\n }\n else {\n element.parentNode.removeChild(element);\n }\n}\n/**\n * Returns a width string that is safe for css based on the provided input.\n * @param {string | number} width\n * @returns {string | undefined} A width safe for using in CSS.\n */\nexport function safeCssWidth(width) {\n if (typeof width === 'string') {\n if (width[width.length - 1] === '%') {\n return width;\n }\n else if (width.slice(-2) === 'px') {\n return width;\n }\n else if (Number(width) >= 0) {\n return `${width}px`;\n }\n }\n else if (typeof width === 'number') {\n if (width >= 0) {\n return `${width}px`;\n }\n }\n return undefined;\n}\n/**\n * Calculates the size of an element that is not attached to the DOM.\n * @param {HTMLElement} element The element to calc the size of.\n * @returns {width, height} The size of the element.\n */\nexport function calcSizeUnattached(element) {\n let container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.top = '-99999px';\n container.style.left = '-99999px';\n container.style.visibility = 'hidden';\n container.appendChild(element.cloneNode(true));\n document.body.appendChild(container);\n const size = {\n width: container.scrollWidth,\n height: container.scrollHeight\n };\n removeElement(container);\n container = undefined;\n return size;\n}\n/**\n * Resolves a promise when the provided element has children.\n * @param {Element} element An element that does or will contain children.\n */\nexport function ensureChildren(element) {\n if (element.children.length) {\n return Promise.resolve();\n }\n return new Promise(resolve => {\n const observer = new MutationObserver(changes => {\n if (element.children.length) {\n observer.disconnect();\n resolve();\n }\n });\n observer.observe(element, { childList: true });\n });\n}\n/**\n * Resolves a promise when the provided element has a child that matches a given selector.\n * @param {Element} element An element that does or will contain children.\n * @param {string} selector A CSS selector to use for finding an element.\n */\nexport function ensureChild(element, selector) {\n const initialElements = deepQuerySelectorAll(element, selector);\n if (initialElements.length) {\n return Promise.resolve(initialElements[0]);\n }\n return new Promise(resolve => {\n const observer = new MutationObserver(changes => {\n const hasAddedNodes = changes.reduce((prev, curr) => prev + curr.addedNodes.length, 0) > 0;\n if (hasAddedNodes) {\n const foundElements = deepQuerySelectorAll(element, selector);\n if (foundElements.length) {\n observer.disconnect();\n resolve(foundElements[0]);\n }\n }\n });\n observer.observe(element, { childList: true, subtree: true });\n });\n}\n/**\n * Resolves a promise when the provided host element has an `<input>` element child\n * @param {HTMLElement} host An element that does or will contain children.\n */\nexport function ensureInputElement(host) {\n return new Promise(resolve => {\n const element = host.querySelector('input');\n if (element) {\n resolve(element);\n }\n const observer = new MutationObserver(changes => {\n const hasAddedNodes = changes.reduce((prev, curr) => prev + curr.addedNodes.length, 0) > 0;\n if (hasAddedNodes) {\n const foundElement = host.querySelector('input');\n if (foundElement) {\n observer.disconnect();\n resolve(foundElement);\n }\n }\n });\n observer.observe(host, { childList: true, subtree: true });\n });\n}\n/**\n * Walks up the tree starting a specific node and stops when the provided matcher function returns true.\n * @param {Node} node The node to start searching from.\n * @returns {Node | null} The closest matching ancestor node, or null if not found.\n */\nexport function walkUpUntil(node, matcher) {\n let parent = node && node.parentNode;\n while (parent) {\n if (matcher(parent)) {\n return parent;\n }\n parent = parent.parentNode;\n }\n return null;\n}\n/**\n * Calculates the width of a string given the provided font information.\n */\nexport function calculateFontWidth(value, info) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n const fontSize = info ? info.fontSize : 16;\n const fontFamily = info ? info.fontFamily : 'Roboto';\n ctx.font = `${fontSize}px ${fontFamily}`;\n return ctx.measureText(value).width;\n}\n/**\n * Generates a CSS text-shadow style value based on the number of iterations and color provided.\n * @param {number} iterations The number of iterations for how long the shadow should be.\n * @param {string} color The color of the text shadow. Can be any CSS-safe color format. Ex. hex, rgb, rgba, hsl... etc.\n */\nexport function generateTextShadow(iterations, color) {\n const shadows = [];\n for (let i = 1; i <= iterations; i++) {\n shadows.push(`${i}px ${i}px ${color}`);\n }\n return shadows.join(', ');\n}\n/**\n * Checks if an element matches any of the provided selectors.\n * @param {Element} el The element to match.\n * @param {string[]} selectors The selectors to check the element against.\n */\nexport function matchesSelectors(el, selectors) {\n if (el.nodeType !== Node.ELEMENT_NODE) {\n return false;\n }\n if (typeof selectors === 'string') {\n selectors = selectors.replace(/\\s+/, '').split(',');\n }\n const matchesFn = Element.prototype.matches;\n return selectors.some(selector => matchesFn.call(el, selector));\n}\n/**\n * Walks the DOM tree starting at a root element and checks if any of its children\n * match the provided selectors. Similar to the native `querySelectorAll` except\n * that it will traverse the shadow DOM as well as slotted nodes.\n * @param {Element} rootElement The element to start querying from.\n * @param {string[]} selectors An array of CSS selectors.\n * @param {boolean} [checkRootElement] True if the provided root element is to be matched against the selectors.\n */\nexport function deepQuerySelectorAll(rootElement, selectors, checkRootElement = false) {\n let nodes = [];\n if (!rootElement) {\n return nodes;\n }\n if (typeof selectors === 'string') {\n selectors = selectors.replace(/\\s+/, '').split(',');\n }\n if (checkRootElement && matchesSelectors(rootElement, selectors) && nodes.indexOf(rootElement) === -1) {\n nodes.push(rootElement);\n }\n if (rootElement.tagName === 'SLOT') {\n const slotNodes = rootElement.assignedNodes();\n slotNodes.forEach(slottedNode => nodes = nodes.concat(deepQuerySelectorAll(slottedNode, selectors, true)));\n }\n else {\n let node = rootElement.shadowRoot ? rootElement.shadowRoot.firstElementChild : rootElement.firstElementChild;\n while (node) {\n nodes = nodes.concat(deepQuerySelectorAll(node, selectors, true));\n node = node.nextElementSibling;\n }\n }\n return nodes;\n}\n/**\n * Gets the currently focused element within the document by also traversing shadow roots.\n * @returns {Element}\n */\nexport function getActiveElement() {\n const activeElement = document.activeElement;\n if (!activeElement || activeElement === document.body) {\n return activeElement;\n }\n return getActiveShadowElement(activeElement);\n}\n/**\n * Gets the active element within the provided elements shadow root. If the element\n * does not have a shadow root, the provided element is returned.\n * @param {Element} element The active element.\n */\nexport function getActiveShadowElement(element) {\n if (element.shadowRoot && element.shadowRoot.activeElement) {\n element = getActiveShadowElement(element.shadowRoot.activeElement);\n }\n return element;\n}\n/** Toggles a CSS class (or classes) on an element based on a boolean. */\nexport function toggleClass(el, hasClass, className) {\n if (hasClass) {\n addClass(className, el);\n }\n else {\n removeClass(className, el);\n }\n}\n/** Toggles a value-less attribute on an element. */\nexport function toggleAttribute(el, hasAttribute, name, value = '') {\n if (hasAttribute) {\n el.setAttribute(name, value);\n }\n else {\n el.removeAttribute(name);\n }\n}\n/** Toggles part of an attribute on an element. */\nexport function toggleOnAttribute(el, attribute, value, force) {\n const oldValue = el.getAttribute(attribute);\n if ((force === undefined || force === true) && (!oldValue || !oldValue.includes(value))) {\n appendToAttribute(el, attribute, value);\n }\n else if (!force) {\n removeFromAttribute(el, attribute, value);\n }\n}\n/** Appends a value to an attribute on an element, first setting it if it doesn't exist. */\nexport function appendToAttribute(el, attribute, value) {\n const oldValue = el.getAttribute(attribute);\n if (!oldValue || !oldValue.length) {\n el.setAttribute(attribute, value);\n }\n else {\n el.setAttribute(attribute, `${oldValue} ${value}`);\n }\n}\n/** Removes a value from an attribute on an element, removing the attribute if empty. */\nexport function removeFromAttribute(el, attribute, value) {\n if (!el.hasAttribute(attribute)) {\n return;\n }\n const oldValue = el.getAttribute(attribute);\n if (oldValue) {\n let newValue = oldValue === null || oldValue === void 0 ? void 0 : oldValue.replace(value, '');\n newValue = newValue.replace(/\\s+/g, ' ').trim();\n if (newValue.length) {\n el.setAttribute(attribute, newValue);\n }\n else {\n el.removeAttribute(attribute);\n }\n }\n}\n/**\n * Attempts to scroll a target element into view within a scrollable parent element, unless already visible within the container.\n * @param scrollElement The scrollable parent element.\n * @param targetElement The element to scroll into view.\n * @param behavior The scroll behavior. Defaults to 'auto'.\n * @param block The block position to anchor the target element to within the scroll element.\n */\nexport function tryScrollIntoView(scrollElement, targetElement, behavior = 'auto', block = 'nearest') {\n if (!scrollElement) {\n return;\n }\n const canScroll = scrollElement.scrollHeight > scrollElement.clientHeight || scrollElement.scrollWidth > scrollElement.clientWidth;\n if (canScroll) {\n const offsetRect = offset(targetElement, scrollElement);\n const isClippedTop = offsetRect.top <= targetElement.clientHeight;\n const isClippedBottom = offsetRect.bottom <= targetElement.clientHeight;\n if (isClippedTop || isClippedBottom) {\n const top = calcBlockScroll(block, isClippedTop, targetElement.offsetTop, targetElement.clientHeight, scrollElement.offsetTop, scrollElement.offsetHeight);\n scrollElement.scrollTo({ top, behavior });\n return;\n }\n const isClippedLeft = offsetRect.left <= targetElement.clientWidth;\n const isClippedRight = offsetRect.right <= targetElement.clientWidth;\n if (isClippedLeft || isClippedRight) {\n const left = calcBlockScroll(block, isClippedLeft, targetElement.offsetLeft, targetElement.clientWidth, scrollElement.offsetLeft, scrollElement.offsetWidth);\n scrollElement.scrollTo({ left, behavior });\n }\n }\n}\n/** Calculates the block anchor position for a target element within a scrollable parent element. */\nexport function calcBlockScroll(block, isClippedStart, targetOffset, targetSize, scrollOffset, scrollSize) {\n if (block === 'nearest') {\n if (isClippedStart) {\n return (targetOffset - scrollOffset) - targetSize;\n }\n return (targetOffset - scrollSize) + targetSize * 2;\n }\n return targetOffset - scrollOffset - scrollSize / 2 + targetSize / 2;\n}\n/**\n * Creates an element from an HTML string.\n */\nexport function elementFromHTML(html) {\n const template = document.createElement('template');\n html = html.trim();\n template.innerHTML = html;\n return template.content.firstElementChild;\n}\n/**\n * Observes changes to the provided attributes on a target element and executes a provided callback when changed.\n * @param element The element to observe.\n * @param listener The callback to execute when an attribute changes on the element.\n * @param attributeFilter The attributes to observe.\n * @returns A `MutationObserver` instasnce.\n */\nexport function createElementAttributeObserver(element, listener, attributeFilter) {\n const observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (mutation.attributeName) {\n listener(mutation.attributeName, element.getAttribute(mutation.attributeName));\n }\n }\n });\n observer.observe(element, { attributes: true, attributeFilter });\n return observer;\n}\n"],
|
|
5
|
-
"mappings": "wCAwBA,SAASA,EAAeC,EAAS,CAC7B,OAAOA,EAAQ,eAAiB,QACpC,CAoBO,SAASC,EAAUC,EAAS,CAC/B,OAAOA,GAAWA,EAAQ,WAAa,CAC3C,CAyCO,SAASC,EAAeC,EAASC,EAAc,CAClD,GAAI,CAACC,EAAUF,CAAO,EAClB,MAAM,IAAI,MAAM,qDAAqD,EAEzE,IAAMG,EAAiB,CAAC,EACxB,KAAOH,EAAQ,gBACXG,EAAe,KAAKH,EAAQ,aAAa,EACrC,EAAAA,EAAQ,gBAAkBC,GAAgBD,EAAQ,gBAAkBI,EAAeJ,CAAO,EAAE,QAI5FA,EAAQ,eAAiBA,EAAQ,cAAc,YAAcA,EAAQ,cAAc,WAAW,WAAa,GAC3GA,EAAUA,EAAQ,cAAc,WAAW,KAG3CA,EAAUA,EAAQ,cAG1B,OAAOG,CACX,CAmGO,SAASE,EAAOC,EAASC,EAAe,CAC3C,GAAI,CAACC,EAAUF,CAAO,EAClB,MAAM,IAAI,MAAM,6CAA6C,EAEjE,IAAMG,EAAUH,EAAQ,sBAAsB,EACxCI,EAAMC,EAAeL,CAAO,EAAE,YAC9BM,EAAUL,GAAiBG,EAAI,SAAS,gBACxCG,EAAe,CAAE,MAAOJ,EAAQ,MAAO,OAAQA,EAAQ,MAAO,IAAK,EAAG,KAAM,EAAG,OAAQ,EAAG,MAAO,CAAE,EACzG,GAAI,CAACF,GAAiBK,IAAYF,EAAI,SAAS,iBAAmBE,IAAYF,EAAI,SAAS,KACvFG,EAAa,IAAMH,EAAI,QAAUD,EAAQ,IACzCI,EAAa,OAASD,EAAQ,aAAeF,EAAI,QAAUD,EAAQ,OACnEI,EAAa,KAAOH,EAAI,QAAUD,EAAQ,KAC1CI,EAAa,MAAQD,EAAQ,YAAcF,EAAI,QAAUD,EAAQ,UAEhE,CACD,GAAI,CAACD,EAAUD,CAAa,EACxB,MAAM,IAAI,MAAM,mDAAmD,EAEvE,IAAMO,EAAYP,EAAc,sBAAsB,EACtDM,EAAa,IAAMJ,EAAQ,IAAMK,EAAU,IAC3CD,EAAa,OAASC,EAAU,OAASL,EAAQ,OACjDI,EAAa,KAAOJ,EAAQ,KAAOK,EAAU,KAC7CD,EAAa,MAAQC,EAAU,MAAQL,EAAQ,
|
|
5
|
+
"mappings": "wCAwBA,SAASA,EAAeC,EAAS,CAC7B,OAAOA,EAAQ,eAAiB,QACpC,CAoBO,SAASC,EAAUC,EAAS,CAC/B,OAAOA,GAAWA,EAAQ,WAAa,CAC3C,CAyCO,SAASC,EAAeC,EAASC,EAAc,CAClD,GAAI,CAACC,EAAUF,CAAO,EAClB,MAAM,IAAI,MAAM,qDAAqD,EAEzE,IAAMG,EAAiB,CAAC,EACxB,KAAOH,EAAQ,gBACXG,EAAe,KAAKH,EAAQ,aAAa,EACrC,EAAAA,EAAQ,gBAAkBC,GAAgBD,EAAQ,gBAAkBI,EAAeJ,CAAO,EAAE,QAI5FA,EAAQ,eAAiBA,EAAQ,cAAc,YAAcA,EAAQ,cAAc,WAAW,WAAa,GAC3GA,EAAUA,EAAQ,cAAc,WAAW,KAG3CA,EAAUA,EAAQ,cAG1B,OAAOG,CACX,CAmGO,SAASE,EAAOC,EAASC,EAAe,CAC3C,GAAI,CAACC,EAAUF,CAAO,EAClB,MAAM,IAAI,MAAM,6CAA6C,EAEjE,IAAMG,EAAUH,EAAQ,sBAAsB,EACxCI,EAAMC,EAAeL,CAAO,EAAE,YAC9BM,EAAUL,GAAiBG,EAAI,SAAS,gBACxCG,EAAe,CAAE,MAAOJ,EAAQ,MAAO,OAAQA,EAAQ,MAAO,IAAK,EAAG,KAAM,EAAG,OAAQ,EAAG,MAAO,CAAE,EACzG,GAAI,CAACF,GAAiBK,IAAYF,EAAI,SAAS,iBAAmBE,IAAYF,EAAI,SAAS,KACvFG,EAAa,IAAMH,EAAI,QAAUD,EAAQ,IACzCI,EAAa,OAASD,EAAQ,aAAeF,EAAI,QAAUD,EAAQ,OACnEI,EAAa,KAAOH,EAAI,QAAUD,EAAQ,KAC1CI,EAAa,MAAQD,EAAQ,YAAcF,EAAI,QAAUD,EAAQ,UAEhE,CACD,GAAI,CAACD,EAAUD,CAAa,EACxB,MAAM,IAAI,MAAM,mDAAmD,EAEvE,IAAMO,EAAYP,EAAc,sBAAsB,EACtDM,EAAa,IAAMJ,EAAQ,IAAMK,EAAU,IAC3CD,EAAa,OAASC,EAAU,OAASL,EAAQ,OACjDI,EAAa,KAAOJ,EAAQ,KAAOK,EAAU,KAC7CD,EAAa,MAAQC,EAAU,MAAQL,EAAQ,MAEnD,MAAO,CACH,MAAO,KAAK,MAAMA,EAAQ,KAAK,EAC/B,OAAQ,KAAK,MAAMA,EAAQ,MAAM,EACjC,IAAK,KAAK,MAAMI,EAAa,GAAG,EAChC,OAAQ,KAAK,MAAMA,EAAa,MAAM,EACtC,KAAM,KAAK,MAAMA,EAAa,IAAI,EAClC,MAAO,KAAK,MAAMA,EAAa,KAAK,CACxC,CACJ,CAgFO,SAASE,EAAsBC,EAASC,EAAUC,EAAO,CAC5D,IAAMC,EAAcC,GAAU,CAC1B,IAAMC,EAAS,IAAM,CACjBD,EAAM,gBAAgB,EAClBA,EAAM,YACNA,EAAM,eAAe,EAEzB,IAAME,EAAiBF,EAAM,OAAS,aAAeA,EAAM,OAASG,EAAeP,CAAO,EAAE,cACvFA,EAAQ,SAASM,CAAa,GAC/BL,EAASK,CAAa,CAE9B,EACIJ,EACA,OAAO,sBAAsB,IAAMG,EAAO,CAAC,EAG3CA,EAAO,CAEf,EACMG,EAAUD,EAAeP,CAAO,EACtC,OAAAQ,EAAQ,iBAAiB,OAAQL,EAAY,EAAI,EACjDK,EAAQ,iBAAiB,aAAcL,EAAY,EAAI,EAChD,IAAM,CACTK,EAAQ,oBAAoB,OAAQL,EAAY,EAAI,EACpDK,EAAQ,oBAAoB,aAAcL,EAAY,EAAI,CAC9D,CACJ,CAKO,SAASM,EAAkBC,EAAM,CACpC,KAAOA,EAAK,WACRA,EAAK,YAAYA,EAAK,SAAS,CAEvC,CAOO,SAASC,EAAeC,EAAUC,EAAU,CAC/C,OAAOA,EAAS,WAAW,aAAaD,EAAUC,CAAQ,CAC9D,CAOO,SAASC,EAASC,EAAMf,EAAS,CAChCgB,EAAQD,CAAI,EACZA,EAAK,QAAQE,GAAKjB,EAAQ,UAAU,IAAIiB,CAAC,CAAC,EAG1CjB,EAAQ,UAAU,IAAIe,CAAI,CAElC,CAOO,SAASG,EAAYH,EAAMf,EAAS,CACnCgB,EAAQD,CAAI,EACZA,EAAK,QAAQE,GAAKjB,EAAQ,UAAU,OAAOiB,CAAC,CAAC,EAG7CjB,EAAQ,UAAU,OAAOe,CAAI,CAErC,CAEO,SAASI,GAAoB,CAChC,IAAMC,EAAK,SAAS,cAAc,aAAa,EAEzCC,EAAa,CACf,UAAa,eACb,WAAc,gBACd,aAAgB,eAChB,gBAAmB,oBACvB,EACA,QAAWC,KAAKD,EACZ,GAAID,EAAG,MAAME,CAAC,IAAM,OAChB,OAAOD,EAAWC,CAAC,CAG/B,CAMA,eAAsBC,EAAsBvB,EAASwB,EAAWC,EAAS,GAAM,CAC3E,OAAAzB,EAAQ,UAAU,IAAIwB,CAAS,EACxB,IAAI,QAAQE,GAAW,CAC1B,IAAMC,EAAiBR,EAAkB,EACnCS,EAA6B,IAAM,CACjCH,GACAzB,EAAQ,UAAU,OAAOwB,CAAS,EAEtCxB,EAAQ,oBAAoB2B,EAAgBC,CAA0B,EACtEF,EAAQ,CACZ,EACA1B,EAAQ,iBAAiB2B,EAAgBC,CAA0B,CACvE,CAAC,CACL,CAKO,SAASC,EAAc7B,EAAS,CAC/BA,EAAQ,WACRA,EAAQ,WAAW,EAAI,EAElBA,EAAQ,OACbA,EAAQ,OAAO,EAGfA,EAAQ,WAAW,YAAYA,CAAO,CAE9C,CAMO,SAAS8B,EAAaC,EAAO,CAChC,GAAI,OAAOA,GAAU,SAAU,CAC3B,GAAIA,EAAMA,EAAM,OAAS,CAAC,IAAM,IAC5B,OAAOA,EAEN,GAAIA,EAAM,MAAM,EAAE,IAAM,KACzB,OAAOA,EAEN,GAAI,OAAOA,CAAK,GAAK,EACtB,MAAO,GAAGA,cAGT,OAAOA,GAAU,UAClBA,GAAS,EACT,MAAO,GAAGA,KAItB,CAMO,SAASC,EAAmBhC,EAAS,CACxC,IAAIiC,EAAY,SAAS,cAAc,KAAK,EAC5CA,EAAU,MAAM,SAAW,WAC3BA,EAAU,MAAM,IAAM,WACtBA,EAAU,MAAM,KAAO,WACvBA,EAAU,MAAM,WAAa,SAC7BA,EAAU,YAAYjC,EAAQ,UAAU,EAAI,CAAC,EAC7C,SAAS,KAAK,YAAYiC,CAAS,EACnC,IAAMC,EAAO,CACT,MAAOD,EAAU,YACjB,OAAQA,EAAU,YACtB,EACA,OAAAJ,EAAcI,CAAS,EACvBA,EAAY,OACLC,CACX,CAKO,SAASC,EAAenC,EAAS,CACpC,OAAIA,EAAQ,SAAS,OACV,QAAQ,QAAQ,EAEpB,IAAI,QAAQ0B,GAAW,CAC1B,IAAMU,EAAW,IAAI,iBAAiBC,GAAW,CACzCrC,EAAQ,SAAS,SACjBoC,EAAS,WAAW,EACpBV,EAAQ,EAEhB,CAAC,EACDU,EAAS,QAAQpC,EAAS,CAAE,UAAW,EAAK,CAAC,CACjD,CAAC,CACL,CAMO,SAASsC,EAAYtC,EAASuC,EAAU,CAC3C,IAAMC,EAAkBC,EAAqBzC,EAASuC,CAAQ,EAC9D,OAAIC,EAAgB,OACT,QAAQ,QAAQA,EAAgB,CAAC,CAAC,EAEtC,IAAI,QAAQd,GAAW,CAC1B,IAAMU,EAAW,IAAI,iBAAiBC,GAAW,CAE7C,GADsBA,EAAQ,OAAO,CAACK,EAAMC,IAASD,EAAOC,EAAK,WAAW,OAAQ,CAAC,EAAI,EACtE,CACf,IAAMC,EAAgBH,EAAqBzC,EAASuC,CAAQ,EACxDK,EAAc,SACdR,EAAS,WAAW,EACpBV,EAAQkB,EAAc,CAAC,CAAC,GAGpC,CAAC,EACDR,EAAS,QAAQpC,EAAS,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,CAChE,CAAC,CACL,CA6BO,SAAS6C,EAAYC,EAAMC,EAAS,CACvC,IAAIC,EAASF,GAAQA,EAAK,WAC1B,KAAOE,GAAQ,CACX,GAAID,EAAQC,CAAM,EACd,OAAOA,EAEXA,EAASA,EAAO,WAEpB,OAAO,IACX,CAIO,SAASC,EAAmBC,EAAOC,EAAM,CAE5C,IAAMC,EADS,SAAS,cAAc,QAAQ,EAC3B,WAAW,IAAI,EAC5BC,EAAWF,EAAOA,EAAK,SAAW,GAClCG,EAAaH,EAAOA,EAAK,WAAa,SAC5C,OAAAC,EAAI,KAAO,GAAGC,OAAcC,IACrBF,EAAI,YAAYF,CAAK,EAAE,KAClC,CAMO,SAASK,EAAmBC,EAAYC,EAAO,CAClD,IAAMC,EAAU,CAAC,EACjB,QAASC,EAAI,EAAGA,GAAKH,EAAYG,IAC7BD,EAAQ,KAAK,GAAGC,OAAOA,OAAOF,GAAO,EAEzC,OAAOC,EAAQ,KAAK,IAAI,CAC5B,CAMO,SAASE,EAAiBC,EAAIC,EAAW,CAC5C,GAAID,EAAG,WAAa,KAAK,aACrB,MAAO,GAEP,OAAOC,GAAc,WACrBA,EAAYA,EAAU,QAAQ,MAAO,EAAE,EAAE,MAAM,GAAG,GAEtD,IAAMC,EAAY,QAAQ,UAAU,QACpC,OAAOD,EAAU,KAAKE,GAAYD,EAAU,KAAKF,EAAIG,CAAQ,CAAC,CAClE,CASO,SAASC,EAAqBC,EAAaJ,EAAWK,EAAmB,GAAO,CACnF,IAAIC,EAAQ,CAAC,EACb,GAAI,CAACF,EACD,OAAOE,EAQX,GANI,OAAON,GAAc,WACrBA,EAAYA,EAAU,QAAQ,MAAO,EAAE,EAAE,MAAM,GAAG,GAElDK,GAAoBP,EAAiBM,EAAaJ,CAAS,GAAKM,EAAM,QAAQF,CAAW,IAAM,IAC/FE,EAAM,KAAKF,CAAW,EAEtBA,EAAY,UAAY,OACNA,EAAY,cAAc,EAClC,QAAQG,GAAeD,EAAQA,EAAM,OAAOH,EAAqBI,EAAaP,EAAW,EAAI,CAAC,CAAC,MAExG,CACD,IAAIhB,EAAOoB,EAAY,WAAaA,EAAY,WAAW,kBAAoBA,EAAY,kBAC3F,KAAOpB,GACHsB,EAAQA,EAAM,OAAOH,EAAqBnB,EAAMgB,EAAW,EAAI,CAAC,EAChEhB,EAAOA,EAAK,mBAGpB,OAAOsB,CACX,CAKO,SAASE,GAAmB,CAC/B,IAAMC,EAAgB,SAAS,cAC/B,MAAI,CAACA,GAAiBA,IAAkB,SAAS,KACtCA,EAEJC,EAAuBD,CAAa,CAC/C,CAMO,SAASC,EAAuBC,EAAS,CAC5C,OAAIA,EAAQ,YAAcA,EAAQ,WAAW,gBACzCA,EAAUD,EAAuBC,EAAQ,WAAW,aAAa,GAE9DA,CACX,CAEO,SAASC,EAAYb,EAAIc,EAAUC,EAAW,CAC7CD,EACAE,EAASD,EAAWf,CAAE,EAGtBiB,EAAYF,EAAWf,CAAE,CAEjC,CAEO,SAASkB,EAAgBlB,EAAImB,EAAcC,EAAM/B,EAAQ,GAAI,CAC5D8B,EACAnB,EAAG,aAAaoB,EAAM/B,CAAK,EAG3BW,EAAG,gBAAgBoB,CAAI,CAE/B,CAEO,SAASC,EAAkBrB,EAAIsB,EAAWjC,EAAOkC,EAAO,CAC3D,IAAMC,EAAWxB,EAAG,aAAasB,CAAS,GACrCC,IAAU,QAAaA,IAAU,MAAU,CAACC,GAAY,CAACA,EAAS,SAASnC,CAAK,GACjFoC,EAAkBzB,EAAIsB,EAAWjC,CAAK,EAEhCkC,GACNG,EAAoB1B,EAAIsB,EAAWjC,CAAK,CAEhD,CAEO,SAASoC,EAAkBzB,EAAIsB,EAAWjC,EAAO,CACpD,IAAMmC,EAAWxB,EAAG,aAAasB,CAAS,EACtC,CAACE,GAAY,CAACA,EAAS,OACvBxB,EAAG,aAAasB,EAAWjC,CAAK,EAGhCW,EAAG,aAAasB,EAAW,GAAGE,KAAYnC,GAAO,CAEzD,CAEO,SAASqC,EAAoB1B,EAAIsB,EAAWjC,EAAO,CACtD,GAAI,CAACW,EAAG,aAAasB,CAAS,EAC1B,OAEJ,IAAME,EAAWxB,EAAG,aAAasB,CAAS,EAC1C,GAAIE,EAAU,CACV,IAAIG,EAAWH,GAAa,KAA8B,OAASA,EAAS,QAAQnC,EAAO,EAAE,EAC7FsC,EAAWA,EAAS,QAAQ,OAAQ,GAAG,EAAE,KAAK,EAC1CA,EAAS,OACT3B,EAAG,aAAasB,EAAWK,CAAQ,EAGnC3B,EAAG,gBAAgBsB,CAAS,EAGxC,CAQO,SAASM,EAAkBC,EAAeC,EAAeC,EAAW,OAAQC,EAAQ,UAAW,CAClG,GAAI,CAACH,EACD,OAGJ,GADkBA,EAAc,aAAeA,EAAc,cAAgBA,EAAc,YAAcA,EAAc,YACxG,CACX,IAAMI,EAAaC,EAAOJ,EAAeD,CAAa,EAChDM,EAAeF,EAAW,KAAOH,EAAc,aAC/CM,EAAkBH,EAAW,QAAUH,EAAc,aAC3D,GAAIK,GAAgBC,EAAiB,CACjC,IAAMC,EAAMC,EAAgBN,EAAOG,EAAcL,EAAc,UAAWA,EAAc,aAAcD,EAAc,UAAWA,EAAc,YAAY,EACzJA,EAAc,SAAS,CAAE,IAAAQ,EAAK,SAAAN,CAAS,CAAC,EACxC,OAEJ,IAAMQ,EAAgBN,EAAW,MAAQH,EAAc,YACjDU,EAAiBP,EAAW,OAASH,EAAc,YACzD,GAAIS,GAAiBC,EAAgB,CACjC,IAAMC,EAAOH,EAAgBN,EAAOO,EAAeT,EAAc,WAAYA,EAAc,YAAaD,EAAc,WAAYA,EAAc,WAAW,EAC3JA,EAAc,SAAS,CAAE,KAAAY,EAAM,SAAAV,CAAS,CAAC,GAGrD,CAEO,SAASO,EAAgBN,EAAOU,EAAgBC,EAAcC,EAAYC,EAAcC,EAAY,CACvG,OAAId,IAAU,UACNU,EACQC,EAAeE,EAAgBD,EAEnCD,EAAeG,EAAcF,EAAa,EAE/CD,EAAeE,EAAeC,EAAa,EAAIF,EAAa,CACvE,CAIO,SAASG,EAAgBC,EAAM,CAClC,IAAMC,EAAW,SAAS,cAAc,UAAU,EAClD,OAAAD,EAAOA,EAAK,KAAK,EACjBC,EAAS,UAAYD,EACdC,EAAS,QAAQ,iBAC5B,CAQO,SAASC,EAA+BtC,EAASuC,EAAUC,EAAiB,CAC/E,IAAMC,EAAW,IAAI,iBAAiBC,GAAa,CAC/C,QAAWC,KAAYD,EACfC,EAAS,eACTJ,EAASI,EAAS,cAAe3C,EAAQ,aAAa2C,EAAS,aAAa,CAAC,CAGzF,CAAC,EACD,OAAAF,EAAS,QAAQzC,EAAS,CAAE,WAAY,GAAM,gBAAAwC,CAAgB,CAAC,EACxDC,CACX",
|
|
6
6
|
"names": ["_ownerDocument", "element", "isElement", "element", "elementParents", "element", "untilElement", "isElement", "parentElements", "_ownerDocument", "offset", "element", "parentElement", "isElement", "elemBCR", "win", "_ownerDocument", "docElem", "offsetValues", "parentBCR", "notChildEventListener", "element", "callback", "delay", "evtHandler", "event", "handle", "activeElement", "_ownerDocument", "docElem", "removeAllChildren", "node", "replaceElement", "newChild", "oldChild", "addClass", "name", "isArray", "n", "removeClass", "getAnimationEvent", "el", "animations", "t", "playKeyframeAnimation", "className", "remove", "resolve", "animationEvent", "animationCompletedListener", "removeElement", "safeCssWidth", "width", "calcSizeUnattached", "container", "size", "ensureChildren", "observer", "changes", "ensureChild", "selector", "initialElements", "deepQuerySelectorAll", "prev", "curr", "foundElements", "walkUpUntil", "node", "matcher", "parent", "calculateFontWidth", "value", "info", "ctx", "fontSize", "fontFamily", "generateTextShadow", "iterations", "color", "shadows", "i", "matchesSelectors", "el", "selectors", "matchesFn", "selector", "deepQuerySelectorAll", "rootElement", "checkRootElement", "nodes", "slottedNode", "getActiveElement", "activeElement", "getActiveShadowElement", "element", "toggleClass", "hasClass", "className", "addClass", "removeClass", "toggleAttribute", "hasAttribute", "name", "toggleOnAttribute", "attribute", "force", "oldValue", "appendToAttribute", "removeFromAttribute", "newValue", "tryScrollIntoView", "scrollElement", "targetElement", "behavior", "block", "offsetRect", "offset", "isClippedTop", "isClippedBottom", "top", "calcBlockScroll", "isClippedLeft", "isClippedRight", "left", "isClippedStart", "targetOffset", "targetSize", "scrollOffset", "scrollSize", "elementFromHTML", "html", "template", "createElementAttributeObserver", "listener", "attributeFilter", "observer", "mutations", "mutation"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{d as C}from"./chunk.LYYWQGS6.js";import{a as R,p as D}from"./chunk.2O6IZ7XZ.js";import{a as w}from"./chunk.G4IN6Y46.js";import{h as H,i as f}from"./chunk.ISC7SZSP.js";import{a as c}from"./chunk.NVUMRW44.js";import{a as z}from"./chunk.5V5ABSHI.js";import{a as I,b as N}from"./chunk.DTZFWZPB.js";import{a as S,e as T,f as d,k as x}from"./chunk.NK7H3MMM.js";import{t as _,u}from"./chunk.CFDK4RCW.js";import{k as p,l as b}from"./chunk.J2M2MXP2.js";import{d as l}from"./chunk.M3QDAYD2.js";var F=`${N}slider`,V={ARIA_LABEL:"data-aria-label",ARIA_LABEL_START:"data-aria-label-start",ARIA_LABEL_END:"data-aria-label-end",VALUE:"value",VALUE_START:"value-start",VALUE_END:"value-end",LABEL:"label",LABEL_START:"label-start",LABEL_END:"label-end",MIN:"min",MAX:"max",STEP:"step",TICKMARKS:"tickmarks",LABELED:"labeled",RANGE:"range",DISABLED:"disabled",READONLY:"readonly"},K={ROOT:".forge-slider",TRACK:".track",HANDLE_CONTAINER:".handle-container",START_INPUT:"input.start",END_INPUT:"input.end",START_HANDLE:".handle.start",START_HANDLE_THUMB:".handle.start .handle-thumb",END_HANDLE:".handle.end",END_HANDLE_THUMB:".handle.end .handle-thumb",START_LABEL:".handle.start .handle-label",START_LABEL_CONTENT:".handle.start .handle-label-content",END_LABEL:".handle.end .handle-label",END_LABEL_CONTENT:".handle.end .handle-label-content",LABEL:".handle-label",INPUT:"input[type=range]"},G={RANGE:"range",TICKMARKS:"tickmarks",ON_TOP:"on-top",OVERLAPPING:"overlapping",HOVER:"hover",HANDLE:"handle",HANDLE_THUMB:"handle-thumb",HANDLE_START:"start",HANDLE_LABEL:"handle-label",LABEL:"handle-label",LABEL_CONTENT:"handle-label-content"},X={INPUT:"forge-slider-input",CHANGE:"forge-slider-change"},Y={START_FRACTION:"--_start-fraction",END_FRACTION:"--_end-fraction",TICK_COUNT:"--_tick-count"},j={DEFAULT_STEP:1,DEFAULT_VALUE:50,DEFAULT_START_VALUE:33,DEFAULT_END_VALUE:67},a={elementName:F,attributes:V,selectors:K,classes:G,events:X,numbers:j,cssCustomProperties:Y};function B(o){let t=document.createElement("input");return t.type="range",t.id="start",t.min=String(o.min),t.max=String(o.max),t.step=String(o.step),t.valueAsNumber=o.valueStart,t.disabled=o.disabled,t.classList.add("start"),o.hasAttribute(a.attributes.ARIA_LABEL_START)&&t.setAttribute("aria-label",o.getAttribute(a.attributes.ARIA_LABEL_START)),t.setAttribute("aria-valuetext",String(o.valueStart)),t}function M(o){let t=document.createElement("div");t.classList.add(a.classes.HANDLE,a.classes.HANDLE_START),t.setAttribute("part","handle-start");let e=document.createElement("forge-state-layer");e.target="start",t.appendChild(e);let i=document.createElement("forge-focus-indicator");i.target="start",t.appendChild(i);let r=document.createElement("div");r.classList.add(a.classes.HANDLE_THUMB),r.setAttribute("part","handle-start-thumb"),t.appendChild(r);let n=document.createElement("div");n.classList.add(a.classes.HANDLE_LABEL),n.setAttribute("part","handle-start-label"),t.appendChild(n);let h=document.createElement("span");return h.textContent=o,h.classList.add(a.classes.LABEL_CONTENT),h.setAttribute("part","handle-start-label-content"),n.appendChild(h),t}function k(o){let t=document.createElement("div");t.classList.add(a.classes.LABEL);let e=document.createElement("span");return e.textContent=o,e.classList.add(a.classes.LABEL_CONTENT),t.appendChild(e),t}var m=class extends z{constructor(e){super(e);this._rootElement=d(e,a.selectors.ROOT),this._trackElement=d(e,a.selectors.TRACK),this._handleContainerElement=d(e,a.selectors.HANDLE_CONTAINER),this._endInputElement=d(e,a.selectors.END_INPUT),this._endHandleElement=d(e,a.selectors.END_HANDLE),this._endHandleThumbElement=d(e,a.selectors.END_HANDLE_THUMB),this._endLabelContentElement=d(e,a.selectors.END_LABEL_CONTENT)}addInputListener(e,i){this._getInputs().forEach(n=>n.addEventListener(e,i))}update({startFraction:e,endFraction:i,tickCount:r}){this._rootElement.style.setProperty(a.cssCustomProperties.START_FRACTION,String(e)),this._rootElement.style.setProperty(a.cssCustomProperties.END_FRACTION,String(i)),this._rootElement.style.setProperty(a.cssCustomProperties.TICK_COUNT,String(r))}updateLabels(e,i){var r;this._startLabelContentElement&&(this._startLabelContentElement.textContent=e),this._endLabelContentElement&&(this._endLabelContentElement.textContent=i),(r=this._startInputElement)==null||r.setAttribute("aria-valuetext",e),this._endInputElement.setAttribute("aria-valuetext",i)}updateHandleLayering(){let e=this._endInputElement.matches(":focus");this._startHandleElement&&_(this._startHandleElement,!e,a.classes.ON_TOP),_(this._endHandleElement,e,a.classes.ON_TOP)}tryHoverStartHandle(e){var i,r,n;this._startHandleThumbElement&&f(e,this._startHandleThumbElement)?(this._handleContainerElement.classList.add(a.classes.HOVER),(i=this._startHandleElement)==null||i.classList.add(a.classes.HOVER)):(r=this._startInputElement)!=null&&r.matches(":focus")||(this._handleContainerElement.classList.remove(a.classes.HOVER),(n=this._startHandleElement)==null||n.classList.remove(a.classes.HOVER))}tryHoverEndHandle(e){f(e,this._endHandleThumbElement)?(this._handleContainerElement.classList.add(a.classes.HOVER),this._endHandleElement.classList.add(a.classes.HOVER)):this._endInputElement.matches(":focus")||(this._handleContainerElement.classList.remove(a.classes.HOVER),this._endHandleElement.classList.remove(a.classes.HOVER))}tryDetectOverlap(){if(this._startHandleElement){let e=H(this._startHandleElement,this._endHandleElement);_(this._endHandleElement,e,a.classes.OVERLAPPING),_(this._startHandleElement,e,a.classes.OVERLAPPING)}}leaveHandleContainer(){this._handleContainerElement.classList.remove(a.classes.HOVER)}syncInputValues(e,i){if(this._startInputElement&&(this._startInputElement.valueAsNumber=e),this._endInputElement.valueAsNumber=i,this._startInputElement){let r=new FormData;r.append(this._component.nameStart,String(e)),r.append(this._component.nameEnd,String(i)),this._component.internals.setFormValue(r)}else this._component.internals.setFormValue(String(i))}setRange(e){var i,r;if(this._rootElement.classList.toggle(a.classes.RANGE,e),e){this._startInputElement=B(this._component),this._rootElement.insertAdjacentElement("afterbegin",this._startInputElement),this._endInputElement.valueAsNumber=this._component.valueEnd;let n=this._startInputElement.value;this._startHandleElement=M(n),this._handleContainerElement.insertAdjacentElement("afterbegin",this._startHandleElement),this._startHandleThumbElement=d(this._component,a.selectors.START_HANDLE_THUMB),this._startLabelContentElement=d(this._component,a.selectors.START_LABEL_CONTENT)}else(i=this._startInputElement)==null||i.remove(),(r=this._startHandleElement)==null||r.remove(),this._startInputElement=void 0,this._startHandleElement=void 0,this._startHandleThumbElement=void 0,this._startLabelContentElement=void 0}setTickmarks(e){this._trackElement.classList.toggle(a.classes.TICKMARKS,e)}setStep(e){this._getInputs().forEach(r=>r.step=String(e))}setMin(e){this._getInputs().forEach(r=>r.min=String(e))}setMax(e){this._getInputs().forEach(r=>r.max=String(e))}setDisabled(e){this._getInputs().forEach(n=>n.disabled=e),this._rootElement.querySelectorAll(R.elementName).forEach(n=>n.disabled=e)}setReadonly(e){this._getInputs().forEach(r=>r.readOnly=e)}toggleLabels(e){var r;if(this._rootElement.querySelectorAll(a.selectors.LABEL).forEach(n=>n.remove()),this._endLabelContentElement=void 0,this._startLabelContentElement=void 0,e){let n=k(this._endInputElement.value);if(this._endHandleElement.insertAdjacentElement("beforeend",n),this._endLabelContentElement=d(this._component,a.selectors.END_LABEL_CONTENT),this._startInputElement){let h=k(this._startInputElement.value);(r=this._startHandleElement)==null||r.insertAdjacentElement("beforeend",h),this._startLabelContentElement=d(this._component,a.selectors.START_LABEL_CONTENT)}}}setStartAriaLabel(e){this._startInputElement&&u(this._startInputElement,!!e,"aria-label",e)}setEndAriaLabel(e){u(this._endInputElement,!!e,"aria-label",e)}_getInputs(){let e=[];return this._startInputElement&&e.push(this._startInputElement),[...e,this._endInputElement]}};var v=class{constructor(t){this._adapter=t;this._value=a.numbers.DEFAULT_VALUE;this._valueStart=a.numbers.DEFAULT_START_VALUE;this._valueEnd=a.numbers.DEFAULT_END_VALUE;this._min=0;this._max=100;this._step=a.numbers.DEFAULT_STEP;this._tickmarks=!1;this._labeled=!0;this._range=!1;this._disabled=!1;this._readonly=!1;this._pointerEnterListener=e=>this._handlePointerEnter(e),this._pointerMoveListener=e=>this._handlePointerMove(e),this._pointerLeaveListener=e=>this._handlePointerLeave(e),this._changeUpdateListener=e=>this._handleInputUpdate(e),this._focusListener=e=>this._handleFocus(e)}initialize(){this._applyInputListeners(),this._update()}_update(){var A,y;let{value:t,valueStart:e,valueEnd:i}=this._clampMinMax(),r=this._step<=0?1:this._step,n=Math.max(this._max-this._min,r),h=this._range?((e!=null?e:this._min)-this._min)/n:0,g=this._range?i:t,U=((g!=null?g:this.min)-this.min)/n,P=n/r;this._adapter.update({startFraction:h,endFraction:U,tickCount:P}),this._adapter.syncInputValues(e,this._range?i:t),this._range&&this._adapter.tryDetectOverlap();let L=(A=this._labelStart)!=null?A:String(e),E=(y=this._labelEnd)!=null?y:String(this._range?i:t);typeof this._labelBuilder=="function"&&(this._range?(L=this._labelBuilder(e,"start"),E=this._labelBuilder(i,"end")):E=this._labelBuilder(t)),this._adapter.updateLabels(L,E)}_clampMinMax(){let t=this._value,e=this._valueStart,i=this._valueEnd;return this._range?(e>this._max?e=this._max:e<this._min&&(e=this._min),i>this._max?i=this._max:i<this._min&&(i=this._min)):t>this._max?t=this._max:this._value<this._min&&(t=this._min),{value:t,valueStart:e,valueEnd:i}}_applyInputListeners(){this._adapter.addInputListener("pointerenter",this._pointerEnterListener),this._adapter.addInputListener("pointermove",this._pointerMoveListener),this._adapter.addInputListener("pointerleave",this._pointerLeaveListener),this._adapter.addInputListener("input",this._changeUpdateListener),this._adapter.addInputListener("change",this._changeUpdateListener),this._adapter.addInputListener("focus",this._focusListener)}_handlePointerEnter(t){this._handlePointerMove(t)}_handlePointerMove({target:t,x:e,y:i}){t.id==="start"?this._adapter.tryHoverStartHandle({x:e,y:i}):this._adapter.tryHoverEndHandle({x:e,y:i})}_handlePointerLeave(t){this._adapter.leaveHandleContainer()}_handleInputUpdate(t){if(t.stopPropagation(),this._disabled||this._readonly){this._adapter.syncInputValues(this._valueStart,this._range?this._valueEnd:this._value);return}let e=t.target;if(this._range){let n=e.id==="start";if(n?this._valueStart=e.valueAsNumber:this._valueEnd=e.valueAsNumber,this._canClamp()){n?this._valueStart=this._valueEnd:this._valueEnd=this._valueStart,this._adapter.syncInputValues(this._valueStart,this._valueEnd),this._update();return}}else this._value=e.valueAsNumber;let i=t.type==="change"?a.events.CHANGE:a.events.INPUT,r=this._range?{valueStart:this._valueStart,valueEnd:this._valueEnd}:this._value;this._adapter.emitHostEvent(i,r,!0),this._update()}_handleFocus(t){this._adapter.updateHandleLayering()}_canClamp(){return this._valueStart>this._valueEnd||this._valueEnd<this._valueStart}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._update())}get valueStart(){return this._valueStart}set valueStart(t){this._valueStart!==t&&(this._valueStart=t,this._update())}get valueEnd(){return this._valueEnd}set valueEnd(t){this._valueEnd!==t&&(this._valueEnd=t,this._update())}get label(){return this.labelEnd}set label(t){this.labelEnd=t}get labelStart(){return this._labelStart}set labelStart(t){this._labelStart!==t&&(this._labelStart=t,this._adapter.updateLabels(this._labelStart,this._labelEnd))}get labelEnd(){return this._labelEnd}set labelEnd(t){this._labelEnd!==t&&(this._labelEnd=t,this._adapter.updateLabels(this._labelStart,this._labelEnd))}get labelBuilder(){return this._labelBuilder}set labelBuilder(t){this._labelBuilder=t,this._update()}get min(){return this._min}set min(t){this._min!==t&&(this._min=t,this._adapter.setMin(this._min),this._update(),this._adapter.setHostAttribute(a.attributes.MIN,String(this._min)))}get max(){return this._max}set max(t){this._max!==t&&(this._max=t,this._adapter.setMax(this._max),this._update(),this._adapter.setHostAttribute(a.attributes.MAX,String(this._max)))}get step(){return this._step}set step(t){this._step!==t&&(this._step=t,this._adapter.setStep(this._step),this._update(),this._adapter.setHostAttribute(a.attributes.STEP,String(this._step)))}get tickmarks(){return this._tickmarks}set tickmarks(t){this._tickmarks!==t&&(this._tickmarks=t,this._adapter.setTickmarks(this._tickmarks),this._adapter.toggleHostAttribute(a.attributes.TICKMARKS,this._tickmarks))}get labeled(){return this._labeled}set labeled(t){this._labeled!==t&&(this._labeled=t,this._adapter.toggleLabels(this._labeled),this._update(),this._adapter.toggleHostAttribute(a.attributes.LABELED,this._labeled))}get range(){return this._range}set range(t){this._range!==t&&(this._range=t,this._adapter.setRange(this._range),this._range&&this._applyInputListeners(),this._update(),this._adapter.toggleHostAttribute(a.attributes.RANGE,this._range))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.setDisabled(t),this._adapter.toggleHostAttribute(a.attributes.DISABLED,this._disabled))}get readonly(){return this._readonly}set readonly(t){this._readonly!==t&&(this._readonly=t,this._adapter.setReadonly(t),this._adapter.toggleHostAttribute(a.attributes.READONLY,this._readonly))}set ariaLabel(t){this.ariaLabelEnd=t}set ariaLabelStart(t){this._adapter.setStartAriaLabel(t)}set ariaLabelEnd(t){this._adapter.setEndAriaLabel(t)}};var q='<template><div part="root" class="forge-slider"><input type="range" class="end" id="end" min="0" max="100" step="1" aria-valuetext="0"><div class="track" part="track"></div><div class="handle-container-padded"><div class="handle-container-block"><div class="handle-container"><div class="handle end" part="handle-end"><forge-state-layer target="end"></forge-state-layer><forge-focus-indicator target="end"></forge-focus-indicator><div class="handle-thumb" part="handle-end-thumb"></div><div class="handle-label" part="handle-end-label"><span class="handle-label-content" part="handle-end-label-content"></span></div></div></div></div></div></div></template>',$=':host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-inline-size:100%}:host([hidden]){display:none}.forge-slider{--_start-fraction:0;--_end-fraction:0;--_tick-count:100;--_track-height:var(--forge-slider-track-height, 4px);--_active-track-color:var(--forge-slider-active-track-color, var(--forge-theme-primary, #3f51b5));--_active-track-height:var(--forge-slider-active-track-height, var(--_track-height));--_active-track-shape:var(--forge-slider-active-track-shape, 9999px);--_disabled-active-track-color:var(--forge-slider-disabled-active-track-color, #9e9e9e);--_disabled-active-track-opacity:var(--forge-slider-disabled-active-track-opacity, 0.38);--_disabled-handle-color:var(--forge-slider-disabled-handle-color, #9e9e9e);--_disabled-inactive-track-color:var(--forge-slider-disabled-inactive-track-color, #9e9e9e);--_disabled-inactive-track-opacity:var(--forge-slider-disabled-inactive-track-opacity, 0.12);--_focus-handle-color:var(--forge-slider-focus-handle-color, var(--forge-theme-primary, #3f51b5));--_handle-color:var(--forge-slider-handle-color, var(--forge-theme-primary, #3f51b5));--_handle-height:var(--forge-slider-handle-height, 20px);--_handle-shape:var(--forge-slider-handle-shape, 9999px);--_handle-width:var(--forge-slider-handle-width, 20px);--_hover-handle-color:var(--forge-slider-hover-handle-color, var(--forge-theme-primary, #3f51b5));--_inactive-track-color:var(--forge-slider-inactive-track-color, color-mix(in srgb, var(--forge-theme-primary, #3f51b5) 24%, transparent));--_inactive-track-height:var(--forge-slider-inactive-track-height, var(--_track-height));--_inactive-track-shape:var(--forge-slider-inactive-track-shape, 9999px);--_label-container-color:var(--forge-slider-label-container-color, var(--forge-theme-primary, #3f51b5));--_label-container-height:var(--forge-slider-label-container-height, 28px);--_label-label-text-color:var(--forge-slider-label-label-text-color, var(--forge-theme-on-primary, #ffffff));--_pressed-handle-color:var(--forge-slider-pressed-handle-color, var(--forge-theme-primary, #3f51b5));--_state-layer-size:var(--forge-slider-state-layer-size, 40px);--_with-overlap-handle-outline-color:var(--forge-slider-with-overlap-handle-outline-color, var(--forge-theme-on-primary, #ffffff));--_with-overlap-handle-outline-width:var(--forge-slider-with-overlap-handle-outline-width, 1px);--_with-tick-marks-active-container-color:var(--forge-slider-with-tick-marks-active-container-color, var(--forge-theme-primary, #3f51b5));--_with-tick-marks-container-size:var(--forge-slider-with-tick-marks-container-size, 2px);--_with-tick-marks-disabled-active-container-color:var(--forge-slider-with-tick-marks-disabled-active-container-color, var(--forge-theme-text-primary, rgba(0, 0, 0, 0.87)));--_with-tick-marks-disabled-inactive-container-color:var(--forge-slider-with-tick-marks-disabled-inactive-container-color, color-mix(in srgb, var(--forge-theme-on-primary, #ffffff) 50%, transparent));--_with-tick-marks-inactive-container-color:var(--forge-slider-with-tick-marks-inactive-container-color, var(--forge-theme-primary, #3f51b5));-webkit-box-flex:1;flex:1;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;block-size:var(--_state-layer-size);pointer-events:none;touch-action:none}.forge-slider.range :host-context([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range :host([dir=rtl]) input.start{-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range input.start:dir(rtl){-webkit-clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))));clip-path:inset(0 0 0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))))}.forge-slider.range input.start{-webkit-clip-path:inset(0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))) 0 0);clip-path:inset(0 calc(100% - (var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2))) 0 0)}.forge-slider.range input.end{-webkit-clip-path:inset(0 0 0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)));clip-path:inset(0 0 0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)))}.forge-slider.range :host-context([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.forge-slider.range :host([dir=rtl]) input.end{-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.forge-slider.range input.end:dir(rtl){-webkit-clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0);clip-path:inset(0 calc(var(--_state-layer-size)/ 2 + (100% - var(--_state-layer-size)) * (var(--_start-fraction) + (var(--_end-fraction) - var(--_start-fraction))/ 2)) 0 0)}.track{position:absolute;inset:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.track::after,.track::before{content:"";position:absolute;inset-inline-start:calc(var(--_state-layer-size)/ 2 - var(--_with-tick-marks-container-size));inset-inline-end:calc(var(--_state-layer-size)/ 2 - var(--_with-tick-marks-container-size));background-size:calc((100% - var(--_with-tick-marks-container-size) * 2)/ var(--_tick-count)) 100%}.track::before{block-size:var(--_inactive-track-height);border-radius:var(--_inactive-track-shape);background-color:var(--_inactive-track-color-fallback)}@supports (background-color:color-mix(in srgb,red 50%,transparent)){.track::before{background-color:var(--_inactive-track-color)}}.track::after{block-size:var(--_active-track-height);border-radius:var(--_active-track-shape);-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))) 0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)));background-color:var(--_active-track-color)}.track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-inactive-container-color) 0,var(--_with-tick-marks-inactive-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}.track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-active-container-color) 0,var(--_with-tick-marks-active-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}.handle-container-block,.handle-container-padded{position:relative;block-size:100%;inline-size:100%}.handle-container-padded{padding-inline:calc(var(--_state-layer-size)/ 2)}.handle-container{position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:calc(100% * var(--_start-fraction));inline-size:calc(100% * (var(--_end-fraction) - var(--_start-fraction)))}.handle{position:absolute;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);border-radius:var(--_handle-shape);display:grid;place-items:center}.handle.start{inset-inline-start:calc(0px - var(--_state-layer-size)/ 2)}.handle.end{inset-inline-end:calc(0px - var(--_state-layer-size)/ 2)}.handle-thumb{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);position:absolute;height:var(--_handle-height);width:var(--_handle-width);border-radius:var(--_handle-shape);background:var(--_handle-color)}.handle-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;padding:4px;place-items:center;border-radius:9999px;color:var(--_label-label-text-color);font-weight:500;white-space:nowrap;inset-block-end:100%;min-inline-size:var(--_label-container-height);min-block-size:var(--_label-container-height);background:var(--_label-container-color);-webkit-transition:-webkit-transform .1s cubic-bezier(.2, 0, 0, 1);transition:-webkit-transform .1s cubic-bezier(.2, 0, 0, 1);transition:transform .1s cubic-bezier(.2, 0, 0, 1);transition:transform .1s cubic-bezier(.2, 0, 0, 1),-webkit-transform .1s cubic-bezier(.2, 0, 0, 1);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transform:scale(0);transform:scale(0)}.handle-label::after,.handle-label::before{content:"";position:absolute;display:block;background:inherit}.handle-label::before{inline-size:calc(var(--_label-container-height)/ 2);block-size:calc(var(--_label-container-height)/ 2);bottom:calc(var(--_label-container-height)/ -10);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.handle-label::after{inset:0;border-radius:inherit}.handle-label-content{z-index:1}.handle-container.hover .handle-thumb{background:var(--_hover-handle-color)}:host(:not([disabled])) input.end:active~.handle-container-padded .handle.end>.handle-thumb,:host(:not([disabled])) input.start:active~.handle-container-padded .handle.start>.handle-thumb{background:var(--_pressed-handle-color)}:host([disabled]) .handle-thumb{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);background:var(--_disabled-handle-color)}:host([disabled]) .handle-label{background:var(--_disabled-handle-color)}:host([disabled]) .track::before{opacity:calc(1 / var(--_disabled-active-track-opacity) * var(--_disabled-inactive-track-opacity));background-color:var(--_disabled-inactive-track-color)}:host([disabled]) .track::after{background-color:var(--_disabled-active-track-color)}:host([disabled]) .track.tickmarks::before{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-disabled-active-container-color) 0,var(--_with-tick-marks-disabled-active-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}:host([disabled]) .track.tickmarks::after{background-image:radial-gradient(circle at var(--_with-tick-marks-container-size) center,var(--_with-tick-marks-disabled-inactive-container-color) 0,var(--_with-tick-marks-disabled-inactive-container-color) calc(var(--_with-tick-marks-container-size)/ 2),transparent calc(var(--_with-tick-marks-container-size)/ 2))}:host([disabled]) input[type=range]{cursor:not-allowed}:host-context([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}:host([dir=rtl]) .track::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}.track:dir(rtl)::after{-webkit-clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))));clip-path:inset(0 calc(var(--_with-tick-marks-container-size) * min(var(--_start-fraction) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * var(--_start-fraction)) 0 calc(var(--_with-tick-marks-container-size) * min((1 - var(--_end-fraction)) * 1000000000,1) + (100% - var(--_with-tick-marks-container-size) * 2) * (1 - var(--_end-fraction))))}input.end:focus~.handle-container-padded .handle.end>.handle-thumb,input.start:focus~.handle-container-padded .handle.start>.handle-thumb{background:var(--_focus-handle-color)}.on-top.overlapping .handle-label,.on-top.overlapping .handle-label::before,.on-top.overlapping .handle-thumb{border:var(--_with-overlap-handle-outline-color) solid var(--_with-overlap-handle-outline-width)}.handle-container.hover .handle-label,:host(:focus-within) .handle-label,:where(:has(input:active)) .handle-label{-webkit-transform:scale(1);transform:scale(1)}input[type=range]{opacity:0;-webkit-tap-highlight-color:transparent;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;width:100%;margin:0;background:0 0;cursor:pointer;pointer-events:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]:focus{outline:0}input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none}input[type=range]::-moz-range-track{-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);-webkit-transform:scaleX(0);transform:scaleX(0);opacity:0;z-index:2}input[type=range]::-moz-range-thumb{-moz-appearance:none;appearance:none;block-size:var(--_state-layer-size);inline-size:var(--_state-layer-size);transform:scaleX(0);opacity:0;z-index:2}.on-top{z-index:1}@media (prefers-reduced-motion){.handle-label{-webkit-transition-duration:0;transition-duration:0}}forge-focus-indicator{--forge-focus-indicator-shape:50%;--forge-focus-indicator-outward-offset:0px}forge-state-layer{--forge-state-layer-color:var(--_handle-color)}',s=class extends x{constructor(){super();T(this,q,$),this.internals=this.attachInternals(),this._foundation=new v(new m(this))}static get observedAttributes(){return[a.attributes.ARIA_LABEL,a.attributes.ARIA_LABEL_START,a.attributes.ARIA_LABEL_END,a.attributes.VALUE,a.attributes.VALUE_START,a.attributes.VALUE_END,a.attributes.LABEL,a.attributes.LABEL_START,a.attributes.LABEL_END,a.attributes.MAX,a.attributes.MIN,a.attributes.STEP,a.attributes.TICKMARKS,a.attributes.LABELED,a.attributes.RANGE,a.attributes.DISABLED,a.attributes.READONLY]}get form(){return this.internals.form}get labels(){return this.internals.labels}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}set name(e){u(this,!!e,"name",e!=null?e:"")}get nameStart(){var e;return(e=this.getAttribute("name-start"))!=null?e:this.name}set nameStart(e){u(this,!!e,"name-start",e!=null?e:"")}get nameEnd(){var e;return(e=this.getAttribute("name-end"))!=null?e:this.nameStart}set nameEnd(e){u(this,!!e,"name-end",e!=null?e:"")}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,i,r){switch(e){case a.attributes.ARIA_LABEL:this._foundation.ariaLabel=r;break;case a.attributes.ARIA_LABEL_START:this._foundation.ariaLabelStart=r;break;case a.attributes.ARIA_LABEL_END:this._foundation.ariaLabelEnd=r;break;case a.attributes.VALUE:this.value=b(r);break;case a.attributes.VALUE_START:this.valueStart=b(r);break;case a.attributes.VALUE_END:this.valueEnd=b(r);break;case a.attributes.LABEL:this.label=r;break;case a.attributes.LABEL_START:this.labelStart=r;break;case a.attributes.LABEL_END:this.labelEnd=r;break;case a.attributes.MIN:this.min=b(r);break;case a.attributes.MAX:this.max=b(r);break;case a.attributes.STEP:this.step=b(r);break;case a.attributes.TICKMARKS:this.tickmarks=p(r);break;case a.attributes.LABELED:this.labeled=p(r);break;case a.attributes.RANGE:this.range=p(r);break;case a.attributes.DISABLED:this.disabled=p(r);break;case a.attributes.READONLY:this.readonly=p(r);break}}formResetCallback(){if(this._foundation.range){let i=this.getAttribute("value-start");this.valueStart=i!==null?Number(i):a.numbers.DEFAULT_START_VALUE;let r=this.getAttribute("value-end");this.valueEnd=r!==null?Number(r):a.numbers.DEFAULT_END_VALUE;return}let e=this.getAttribute("value");this.value=e!==null?Number(e):a.numbers.DEFAULT_VALUE}formStateRestoreCallback(e){if(e&&e[0]instanceof FormData){let i=Array.from(e[0]),[[,r],[,n]]=i;this.valueStart=Number(r),this.valueEnd=Number(n),this.range=!0;return}this.value=Number(e),this.range=!1}};s.formAssociated=!0,l([c()],s.prototype,"value",2),l([c()],s.prototype,"valueStart",2),l([c()],s.prototype,"valueEnd",2),l([c()],s.prototype,"label",2),l([c()],s.prototype,"labelStart",2),l([c()],s.prototype,"labelEnd",2),l([c()],s.prototype,"labelBuilder",2),l([c()],s.prototype,"min",2),l([c()],s.prototype,"max",2),l([c()],s.prototype,"step",2),l([c()],s.prototype,"tickmarks",2),l([c()],s.prototype,"labeled",2),l([c()],s.prototype,"range",2),l([c()],s.prototype,"disabled",2),l([c()],s.prototype,"readonly",2),s=l([I({name:a.elementName,dependencies:[C,D]})],s);var O=class extends w{constructor(t){super(t)}get value(){return this._element.value}set value(t){this._element.value=t}get valueStart(){return this._element.valueStart}set valueStart(t){this._element.valueStart=t}get valueEnd(){return this._element.valueEnd}set valueEnd(t){this._element.valueEnd=t}get disabled(){return this._element.disabled}set disabled(t){this._element.disabled=t}get min(){return this._element.min}set min(t){this._element.min=t}get max(){return this._element.max}set max(t){this._element.max=t}get step(){return this._element.step}get range(){return this._element.range}set range(t){this._element.range=t}get tickmarks(){return this._element.tickmarks}set tickmarks(t){this._element.tickmarks=t}get labeled(){return this._element.labeled}set labeled(t){this._element.labeled=t}get labelBuilder(){return this._element.labelBuilder}set labelBuilder(t){this._element.labelBuilder=t}onInput(t){this._element.addEventListener("forge-slider-input",({detail:e})=>t(e))}onChange(t){this._element.addEventListener("forge-slider-change",({detail:e})=>t(e))}onFocus(t){this._element.addEventListener("focus",e=>t(e))}onBlur(t){this._element.addEventListener("blur",e=>t(e))}_build(){return document.createElement(a.elementName)}};function He(){S(s)}export{a,s as b,O as c,He as d};
|
|
7
|
+
//# sourceMappingURL=chunk.CRWP7H46.js.map
|