@tylertech/forge 3.0.0-next.15 → 3.0.0-next.17
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 +52750 -45172
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/app-bar/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-area/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/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.253H47GA.js +7 -0
- package/dist/esm/chunks/chunk.253H47GA.js.map +7 -0
- package/dist/esm/chunks/chunk.2K3T63I2.js +7 -0
- package/dist/esm/chunks/{chunk.NVR6KN2B.js.map → chunk.2K3T63I2.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KWBYYSH3.js → chunk.2NGPMBVU.js} +2 -2
- package/dist/esm/chunks/chunk.2UVBQKJI.js +7 -0
- package/dist/esm/chunks/{chunk.4XN2WGMP.js.map → chunk.2UVBQKJI.js.map} +2 -2
- package/dist/esm/chunks/chunk.3PHNRX5D.js +7 -0
- package/dist/esm/chunks/chunk.3PHNRX5D.js.map +7 -0
- package/dist/esm/chunks/chunk.42VNZ74O.js +7 -0
- package/dist/esm/chunks/chunk.42VNZ74O.js.map +7 -0
- package/dist/esm/chunks/chunk.4JEBLMI3.js +7 -0
- package/dist/esm/chunks/{chunk.Q2Q626DG.js.map → chunk.4JEBLMI3.js.map} +1 -1
- package/dist/esm/chunks/chunk.4X4SSZQU.js +7 -0
- package/dist/esm/chunks/{chunk.YMSX4F3J.js.map → chunk.4X4SSZQU.js.map} +1 -1
- package/dist/esm/chunks/chunk.53HPDCFR.js +7 -0
- package/dist/esm/chunks/chunk.53HPDCFR.js.map +7 -0
- package/dist/esm/chunks/{chunk.L45HXBDS.js → chunk.5BQT3E7Y.js} +2 -2
- package/dist/esm/chunks/chunk.5YTYVHYR.js +7 -0
- package/dist/esm/chunks/chunk.5YTYVHYR.js.map +7 -0
- package/dist/esm/chunks/chunk.6J27XSTE.js +7 -0
- package/dist/esm/chunks/chunk.6J27XSTE.js.map +7 -0
- package/dist/esm/chunks/chunk.6JR2HMWB.js +7 -0
- package/dist/esm/chunks/chunk.6JR2HMWB.js.map +7 -0
- package/dist/esm/chunks/chunk.6P4G73VL.js +7 -0
- package/dist/esm/chunks/chunk.6P4G73VL.js.map +7 -0
- package/dist/esm/chunks/chunk.6RZCV4ZV.js +7 -0
- package/dist/esm/chunks/{chunk.W7BP2DDU.js.map → chunk.6RZCV4ZV.js.map} +2 -2
- package/dist/esm/chunks/chunk.6YDMW2GO.js +7 -0
- package/dist/esm/chunks/{chunk.FQUZWINF.js.map → chunk.6YDMW2GO.js.map} +2 -2
- package/dist/esm/chunks/chunk.7QO5JEOC.js +7 -0
- package/dist/esm/chunks/{chunk.FXGY5IVK.js.map → chunk.7QO5JEOC.js.map} +2 -2
- package/dist/esm/chunks/chunk.AQOLBID6.js +7 -0
- package/dist/esm/chunks/{chunk.5KYKGNGY.js.map → chunk.AQOLBID6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BAQYPAUM.js → chunk.AWEDY45N.js} +2 -2
- package/dist/esm/chunks/chunk.CLODJYSW.js +7 -0
- package/dist/esm/chunks/chunk.CLODJYSW.js.map +7 -0
- package/dist/esm/chunks/chunk.CPD4RUF2.js +7 -0
- package/dist/esm/chunks/{chunk.OTUEB7SD.js.map → chunk.CPD4RUF2.js.map} +1 -1
- package/dist/esm/chunks/chunk.D7L2IMHJ.js +7 -0
- package/dist/esm/chunks/chunk.D7L2IMHJ.js.map +7 -0
- package/dist/esm/chunks/chunk.DFRD7A2Y.js +7 -0
- package/dist/esm/chunks/{chunk.YA5OQD37.js.map → chunk.DFRD7A2Y.js.map} +2 -2
- package/dist/esm/chunks/chunk.DOAQODLZ.js +7 -0
- package/dist/esm/chunks/chunk.DOAQODLZ.js.map +7 -0
- package/dist/esm/chunks/chunk.EPVNVBZI.js +7 -0
- package/dist/esm/chunks/chunk.EPVNVBZI.js.map +7 -0
- package/dist/esm/chunks/chunk.F2327OUE.js +7 -0
- package/dist/esm/chunks/chunk.F2327OUE.js.map +7 -0
- package/dist/esm/chunks/chunk.FTADCSFT.js +7 -0
- package/dist/esm/chunks/chunk.FTADCSFT.js.map +7 -0
- package/dist/esm/chunks/chunk.GAHE4QVB.js +7 -0
- package/dist/esm/chunks/{chunk.X3QZY7V4.js.map → chunk.GAHE4QVB.js.map} +1 -1
- package/dist/esm/chunks/chunk.GDKJ4RZX.js +7 -0
- package/dist/esm/chunks/chunk.GDKJ4RZX.js.map +7 -0
- package/dist/esm/chunks/{chunk.O6MGA3XK.js → chunk.GFKYBECY.js} +2 -2
- package/dist/esm/chunks/chunk.GYGIU62J.js +7 -0
- package/dist/esm/chunks/{chunk.JEZR25US.js.map → chunk.GYGIU62J.js.map} +1 -1
- package/dist/esm/chunks/chunk.H6AG3EFX.js +7 -0
- package/dist/esm/chunks/{chunk.7PVVZC7P.js.map → chunk.H6AG3EFX.js.map} +3 -3
- package/dist/esm/chunks/{chunk.JHELTQKA.js → chunk.HBFU4EGB.js} +2 -2
- package/dist/esm/chunks/{chunk.JHELTQKA.js.map → chunk.HBFU4EGB.js.map} +2 -2
- package/dist/esm/chunks/chunk.HP4333ZN.js +7 -0
- package/dist/esm/chunks/{chunk.KGHABAFA.js.map → chunk.HP4333ZN.js.map} +1 -1
- package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
- package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
- package/dist/esm/chunks/{chunk.WMP2OLMG.js → chunk.IC4DLKE3.js} +2 -2
- package/dist/esm/chunks/{chunk.WMP2OLMG.js.map → chunk.IC4DLKE3.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MHH26REX.js → chunk.IDB4KFSQ.js} +2 -2
- package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
- package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
- package/dist/esm/chunks/chunk.JBQXD3FJ.js +7 -0
- package/dist/esm/chunks/{chunk.XQLQ73NG.js.map → chunk.JBQXD3FJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.JLDKNU5Q.js +7 -0
- package/dist/esm/chunks/{chunk.LK6QHLW2.js.map → chunk.JLDKNU5Q.js.map} +1 -1
- package/dist/esm/chunks/chunk.JMIUB3S3.js +7 -0
- package/dist/esm/chunks/{chunk.Y4ZS3A6F.js.map → chunk.JMIUB3S3.js.map} +2 -2
- package/dist/esm/chunks/chunk.JPOTN7LL.js +177 -0
- package/dist/esm/chunks/{chunk.AVRBHXDT.js.map → chunk.JPOTN7LL.js.map} +1 -1
- package/dist/esm/chunks/chunk.JRROGJ2G.js +7 -0
- package/dist/esm/chunks/chunk.JRROGJ2G.js.map +7 -0
- package/dist/esm/chunks/chunk.KD4DVSJR.js +15 -0
- package/dist/esm/chunks/chunk.KD4DVSJR.js.map +7 -0
- package/dist/esm/chunks/{chunk.PRJHBUU2.js → chunk.KPNGLSCU.js} +1 -1
- package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
- package/dist/esm/chunks/chunk.KVPKVWCZ.js +7 -0
- package/dist/esm/chunks/{chunk.UOEJCU6R.js.map → chunk.KVPKVWCZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.KWP42KR7.js +7 -0
- package/dist/esm/chunks/{chunk.JZ27GPZJ.js.map → chunk.KWP42KR7.js.map} +2 -2
- package/dist/esm/chunks/chunk.KYACLC66.js +7 -0
- package/dist/esm/chunks/{chunk.Q74SG6BV.js.map → chunk.KYACLC66.js.map} +1 -1
- package/dist/esm/chunks/chunk.KZMXTOLO.js +15 -0
- package/dist/esm/chunks/chunk.KZMXTOLO.js.map +7 -0
- package/dist/esm/chunks/chunk.L5OB7WM2.js +7 -0
- package/dist/esm/chunks/{chunk.BIVQ4GTK.js.map → chunk.L5OB7WM2.js.map} +1 -1
- package/dist/esm/chunks/chunk.L7BSLZCB.js +7 -0
- package/dist/esm/chunks/{chunk.AIPDMLJD.js.map → chunk.L7BSLZCB.js.map} +1 -1
- package/dist/esm/chunks/{chunk.URKQICJD.js → chunk.LDHY3O6H.js} +2 -2
- package/dist/esm/chunks/{chunk.KDJZN6EW.js → chunk.LEN33O6V.js} +2 -2
- package/dist/esm/chunks/chunk.LFLIYBAB.js +7 -0
- package/dist/esm/chunks/chunk.LFLIYBAB.js.map +7 -0
- package/dist/esm/chunks/{chunk.42YDA5FH.js → chunk.LXFL2C62.js} +2 -2
- package/dist/esm/chunks/chunk.ME7ICFCZ.js +7 -0
- package/dist/esm/chunks/{chunk.FSILMO6U.js.map → chunk.ME7ICFCZ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BC7WB5RG.js → chunk.MMMG4MZ3.js} +2 -2
- package/dist/esm/chunks/chunk.MTZOQQXR.js +7 -0
- package/dist/esm/chunks/chunk.MTZOQQXR.js.map +7 -0
- package/dist/esm/chunks/chunk.NBYCIDFC.js +7 -0
- package/dist/esm/chunks/{chunk.ONII3BV3.js.map → chunk.NBYCIDFC.js.map} +2 -2
- package/dist/esm/chunks/chunk.ND2X5OQ4.js +7 -0
- package/dist/esm/chunks/chunk.ND2X5OQ4.js.map +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
- package/dist/esm/chunks/chunk.NHYJMP25.js +7 -0
- package/dist/esm/chunks/{chunk.EMCY55MX.js.map → chunk.NHYJMP25.js.map} +2 -2
- package/dist/esm/chunks/chunk.NPCUVYWP.js +7 -0
- package/dist/esm/chunks/chunk.NPCUVYWP.js.map +7 -0
- package/dist/esm/chunks/chunk.O47OSK6Z.js +7 -0
- package/dist/esm/chunks/{chunk.THNCYT3E.js.map → chunk.O47OSK6Z.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BTWJPE4Y.js → chunk.O5HBMTSZ.js} +2 -2
- package/dist/esm/chunks/chunk.O7DID7GP.js +7 -0
- package/dist/esm/chunks/{chunk.BS73Y6IN.js.map → chunk.O7DID7GP.js.map} +1 -1
- package/dist/esm/chunks/chunk.OAZXY4Q5.js +7 -0
- package/dist/esm/chunks/{chunk.GGQL3OZB.js.map → chunk.OAZXY4Q5.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MTSWCXTY.js → chunk.OD54UG2G.js} +2 -2
- package/dist/esm/chunks/{chunk.NBLL7VAA.js → chunk.OJFSECZE.js} +2 -2
- package/dist/esm/chunks/chunk.OJHNLDNM.js +7 -0
- package/dist/esm/chunks/{chunk.VG452D3L.js.map → chunk.OJHNLDNM.js.map} +1 -1
- package/dist/esm/chunks/{chunk.7LOMI6J3.js → chunk.OR5GB6X3.js} +2 -2
- package/dist/esm/chunks/chunk.OVDO5RVX.js +7 -0
- package/dist/esm/chunks/chunk.OVDO5RVX.js.map +7 -0
- package/dist/esm/chunks/chunk.PGSL6NFZ.js +7 -0
- package/dist/esm/chunks/{chunk.6FUXTHO6.js.map → chunk.PGSL6NFZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.PR76A5VF.js +7 -0
- package/dist/esm/chunks/{chunk.KUNIEX72.js.map → chunk.PR76A5VF.js.map} +1 -1
- package/dist/esm/chunks/chunk.PZAL7VQF.js +7 -0
- package/dist/esm/chunks/{chunk.AEO2X5OZ.js.map → chunk.PZAL7VQF.js.map} +1 -1
- package/dist/esm/chunks/chunk.QQUSMJIM.js +7 -0
- package/dist/esm/chunks/{chunk.O6F4U4VY.js.map → chunk.QQUSMJIM.js.map} +1 -1
- package/dist/esm/chunks/chunk.RCYIHHYO.js +7 -0
- package/dist/esm/chunks/{chunk.447QNYAZ.js.map → chunk.RCYIHHYO.js.map} +1 -1
- package/dist/esm/chunks/{chunk.AR6YUJUH.js → chunk.RKG66YKS.js} +2 -2
- package/dist/esm/chunks/{chunk.HRGTAVNA.js → chunk.RKIJTSSL.js} +1 -1
- package/dist/esm/chunks/chunk.RLOZYTNN.js +7 -0
- package/dist/esm/chunks/{chunk.LYZXJYTW.js.map → chunk.RLOZYTNN.js.map} +1 -1
- package/dist/esm/chunks/chunk.S3KKICL3.js +7 -0
- package/dist/esm/chunks/{chunk.WARVAVAW.js.map → chunk.S3KKICL3.js.map} +1 -1
- package/dist/esm/chunks/chunk.SN3VXOWN.js +7 -0
- package/dist/esm/chunks/chunk.SN3VXOWN.js.map +7 -0
- package/dist/esm/chunks/chunk.STIZCKQA.js +7 -0
- package/dist/esm/chunks/chunk.STIZCKQA.js.map +7 -0
- package/dist/esm/chunks/chunk.SUR46MJG.js +7 -0
- package/dist/esm/chunks/chunk.SUR46MJG.js.map +7 -0
- package/dist/esm/chunks/chunk.SZETPZGY.js +7 -0
- package/dist/esm/chunks/{chunk.MROUV35N.js.map → chunk.SZETPZGY.js.map} +1 -1
- package/dist/esm/chunks/chunk.TGGC2THA.js +7 -0
- package/dist/esm/chunks/{chunk.5QZPUOGG.js.map → chunk.TGGC2THA.js.map} +1 -1
- package/dist/esm/chunks/chunk.TRSICKKS.js +7 -0
- package/dist/esm/chunks/{chunk.3KEXRSB5.js.map → chunk.TRSICKKS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.WINL2C7Q.js → chunk.U6FJJGO3.js} +1 -1
- package/dist/esm/chunks/chunk.UCIVBX64.js +7 -0
- package/dist/esm/chunks/{chunk.ICIGXLJW.js.map → chunk.UCIVBX64.js.map} +1 -1
- package/dist/esm/chunks/chunk.UVXKHQQZ.js +7 -0
- package/dist/esm/chunks/{chunk.T4J66YX5.js.map → chunk.UVXKHQQZ.js.map} +4 -4
- package/dist/esm/chunks/chunk.UYAP5GFT.js +7 -0
- package/dist/esm/chunks/{chunk.ZT7U7WOX.js.map → chunk.UYAP5GFT.js.map} +1 -1
- package/dist/esm/chunks/chunk.V7HN24VV.js +7 -0
- package/dist/esm/chunks/{chunk.WJCZJ6XD.js.map → chunk.V7HN24VV.js.map} +1 -1
- package/dist/esm/chunks/chunk.VLADAZRB.js +7 -0
- package/dist/esm/chunks/chunk.VLADAZRB.js.map +7 -0
- package/dist/esm/chunks/chunk.VN7JOJVU.js +7 -0
- package/dist/esm/chunks/{chunk.DLBAZD5X.js.map → chunk.VN7JOJVU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.5EGEZ4IY.js → chunk.VNFATHAQ.js} +2 -2
- package/dist/esm/chunks/chunk.VNH44AGF.js +7 -0
- package/dist/esm/chunks/chunk.VNH44AGF.js.map +7 -0
- package/dist/esm/chunks/{chunk.IHIKIZIT.js → chunk.VOL4DT5F.js} +2 -2
- package/dist/esm/chunks/chunk.VX7H6YHF.js +7 -0
- package/dist/esm/chunks/chunk.VX7H6YHF.js.map +7 -0
- package/dist/esm/chunks/chunk.W7CM652O.js +7 -0
- package/dist/esm/chunks/chunk.W7CM652O.js.map +7 -0
- package/dist/esm/chunks/chunk.WINWKU4K.js +7 -0
- package/dist/esm/chunks/chunk.WINWKU4K.js.map +7 -0
- package/dist/esm/chunks/chunk.WJ26N3FC.js +7 -0
- package/dist/esm/chunks/{chunk.4IMRT2B3.js.map → chunk.WJ26N3FC.js.map} +1 -1
- package/dist/esm/chunks/chunk.WJLHVUHN.js +7 -0
- package/dist/esm/chunks/{chunk.Z37CZMMR.js.map → chunk.WJLHVUHN.js.map} +1 -1
- package/dist/esm/chunks/chunk.WXFJYCGO.js +7 -0
- package/dist/esm/chunks/{chunk.TSUAFZGY.js.map → chunk.WXFJYCGO.js.map} +1 -1
- package/dist/esm/chunks/chunk.XPIAOMSC.js +7 -0
- package/dist/esm/chunks/{chunk.5FCUOZSU.js.map → chunk.XPIAOMSC.js.map} +1 -1
- package/dist/esm/chunks/chunk.YCG7OVYF.js +7 -0
- package/dist/esm/chunks/chunk.YCG7OVYF.js.map +7 -0
- package/dist/esm/chunks/chunk.YLJTJKN4.js +15 -0
- package/dist/esm/chunks/chunk.YLJTJKN4.js.map +7 -0
- package/dist/esm/chunks/chunk.YVCGGQQG.js +12 -0
- package/dist/esm/chunks/chunk.YVCGGQQG.js.map +7 -0
- package/dist/esm/chunks/chunk.Z7JF5PPO.js +7 -0
- package/dist/esm/chunks/{chunk.PMSCH6VK.js.map → chunk.Z7JF5PPO.js.map} +3 -3
- package/dist/esm/chunks/chunk.Z7SLVU2O.js +7 -0
- package/dist/esm/chunks/{chunk.L27ANAIL.js.map → chunk.Z7SLVU2O.js.map} +2 -2
- package/dist/esm/chunks/chunk.ZJQLVAJY.js +7 -0
- package/dist/esm/chunks/{chunk.ZIRA4PYV.js.map → chunk.ZJQLVAJY.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZSHN7Z45.js +7 -0
- package/dist/esm/chunks/chunk.ZSHN7Z45.js.map +7 -0
- package/dist/esm/chunks/chunk.ZTBOQMRE.js +7 -0
- package/dist/esm/chunks/{chunk.KR4BNI6X.js.map → chunk.ZTBOQMRE.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
- package/dist/esm/chunks/{chunk.U42I3PGF.js → chunk.ZZRAZZ3N.js} +2 -2
- package/dist/esm/chunks/chunk.ZZV7P3FR.js +7 -0
- package/dist/esm/chunks/chunk.ZZV7P3FR.js.map +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/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/deprecated/button/index.js +7 -0
- package/dist/esm/deprecated/button/index.js.map +7 -0
- package/dist/esm/deprecated/index.js +7 -0
- package/dist/esm/deprecated/index.js.map +7 -0
- 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/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label/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/overlay/index.js +7 -0
- package/dist/esm/overlay/index.js.map +7 -0
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popover/index.js +7 -0
- package/dist/esm/popover/index.js.map +7 -0
- 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/radio/radio/index.js +1 -1
- package/dist/esm/radio/radio-group/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-button/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 +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/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/theme/forge-theme.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
- package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +4 -4
- package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
- package/esm/avatar/avatar-adapter.d.ts +0 -6
- package/esm/avatar/avatar-adapter.js +6 -14
- package/esm/avatar/avatar-constants.d.ts +0 -1
- package/esm/avatar/avatar-constants.js +2 -3
- package/esm/avatar/avatar-foundation.d.ts +0 -5
- package/esm/avatar/avatar-foundation.js +0 -15
- package/esm/avatar/avatar.d.ts +28 -7
- package/esm/avatar/avatar.js +29 -12
- package/esm/avatar/index.d.ts +0 -1
- package/esm/avatar/index.js +0 -1
- package/esm/badge/badge-constants.d.ts +8 -4
- package/esm/badge/badge-constants.js +7 -4
- package/esm/badge/badge.d.ts +38 -11
- package/esm/badge/badge.js +55 -32
- package/esm/badge/index.d.ts +0 -3
- package/esm/badge/index.js +0 -3
- package/esm/banner/banner.js +1 -1
- package/esm/button/base/base-button-adapter.d.ts +0 -3
- package/esm/button/base/base-button-adapter.js +5 -14
- package/esm/button/base/base-button-constants.d.ts +28 -28
- package/esm/button/base/base-button-foundation.d.ts +0 -2
- package/esm/button/base/base-button-foundation.js +1 -4
- package/esm/button/base/base-button.d.ts +8 -6
- package/esm/button/base/base-button.js +19 -15
- package/esm/button/button.js +2 -2
- package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
- package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
- package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
- package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
- package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
- package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
- package/esm/calendar/calendar-dom-utils.js +1 -2
- package/esm/calendar/calendar-foundation.d.ts +1 -1
- package/esm/calendar/calendar-foundation.js +13 -16
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.js +8 -12
- package/esm/circular-progress/circular-progress-foundation.js +3 -0
- package/esm/circular-progress/circular-progress.d.ts +7 -3
- package/esm/circular-progress/circular-progress.js +4 -2
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/constants.d.ts +1 -0
- package/esm/constants.js +2 -0
- package/esm/core/base/base-adapter.d.ts +2 -0
- package/esm/core/base/base-adapter.js +7 -4
- package/esm/core/base/index.d.ts +0 -4
- package/esm/core/base/index.js +0 -4
- package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +2 -2
- package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +1 -1
- package/esm/core/{base/base-form-associated-component.d.ts → mixins/form/with-form-associated.d.ts} +4 -10
- package/esm/core/{base/base-form-associated-component.js → mixins/form/with-form-associated.js} +1 -1
- package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
- package/esm/core/mixins/form/with-form-validity.js +43 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
- package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
- package/esm/core/mixins/internals/with-default-aria.js +22 -0
- package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
- package/esm/core/mixins/internals/with-element-internals.js +22 -0
- package/esm/core/{base/base-label-aware-component.d.ts → mixins/label/with-label-aware.d.ts} +2 -2
- package/esm/core/utils/a11y-utils.d.ts +4 -34
- package/esm/core/utils/a11y-utils.js +7 -61
- package/esm/core/utils/deferred.d.ts +29 -0
- package/esm/core/utils/deferred.js +32 -0
- package/esm/core/utils/dismissible-stack.d.ts +74 -0
- package/esm/core/utils/dismissible-stack.js +133 -0
- package/esm/core/utils/feature-detection.d.ts +5 -0
- package/esm/core/utils/feature-detection.js +12 -3
- package/esm/core/utils/form-utils.d.ts +1 -1
- package/esm/core/utils/position-utils.d.ts +78 -0
- package/esm/core/utils/position-utils.js +197 -0
- package/esm/core/utils/utils.d.ts +14 -0
- package/esm/core/utils/utils.js +25 -7
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
- package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
- package/esm/deprecated/button/deprecated-button-component-delegate.d.ts +24 -0
- package/esm/deprecated/button/deprecated-button-component-delegate.js +39 -0
- package/esm/deprecated/button/deprecated-button-constants.d.ts +17 -0
- package/esm/deprecated/button/deprecated-button-constants.js +20 -0
- package/esm/deprecated/button/deprecated-button.d.ts +54 -0
- package/esm/deprecated/button/deprecated-button.js +149 -0
- package/esm/deprecated/button/index.d.ts +12 -0
- package/esm/deprecated/button/index.js +16 -0
- package/{styles/app-bar/search/_configuration.scss → esm/deprecated/index.d.ts} +1 -5
- package/{styles/checkbox/_configuration.scss → esm/deprecated/index.js} +1 -5
- package/esm/dialog/dialog-constants.d.ts +1 -0
- package/esm/dialog/dialog-constants.js +2 -1
- package/esm/dialog/dialog-foundation.js +3 -6
- package/esm/dialog/dialog.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
- package/esm/floating-action-button/floating-action-button.js +1 -1
- package/esm/icon-button/icon-button-component-delegate.js +1 -1
- package/esm/icon-button/icon-button.js +1 -1
- package/esm/index.d.ts +7 -0
- package/esm/index.js +24 -1
- package/esm/inline-message/inline-message-constants.d.ts +9 -2
- package/esm/inline-message/inline-message-constants.js +7 -3
- package/esm/inline-message/inline-message.d.ts +31 -2
- package/esm/inline-message/inline-message.js +37 -5
- package/esm/label/label-adapter.js +3 -3
- package/esm/label/label-constants.d.ts +1 -1
- package/esm/label/label-constants.js +3 -1
- package/esm/linear-progress/linear-progress-adapter.js +13 -12
- package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
- package/esm/linear-progress/linear-progress-constants.js +4 -2
- package/esm/linear-progress/linear-progress-foundation.js +2 -1
- package/esm/linear-progress/linear-progress.d.ts +7 -3
- package/esm/linear-progress/linear-progress.js +8 -11
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/menu/menu.js +1 -5
- package/esm/open-icon/open-icon.js +2 -2
- package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
- package/esm/overlay/base/base-overlay-foundation.js +11 -0
- package/esm/overlay/base/base-overlay.d.ts +49 -0
- package/esm/overlay/base/base-overlay.js +106 -0
- package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
- package/esm/overlay/base/overlay-aware-adapter.js +15 -0
- package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
- package/esm/overlay/base/overlay-aware-foundation.js +158 -0
- package/esm/overlay/base/overlay-aware.d.ts +36 -0
- package/esm/overlay/base/overlay-aware.js +102 -0
- package/esm/overlay/index.d.ts +10 -0
- package/esm/overlay/index.js +14 -0
- package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
- package/esm/overlay/mixins/with-overlay-aware.js +152 -0
- package/esm/overlay/overlay-adapter.d.ts +54 -0
- package/esm/overlay/overlay-adapter.js +182 -0
- package/esm/overlay/overlay-constants.d.ts +71 -0
- package/esm/overlay/overlay-constants.js +48 -0
- package/esm/overlay/overlay-foundation.d.ts +76 -0
- package/esm/overlay/overlay-foundation.js +288 -0
- package/esm/overlay/overlay.d.ts +90 -0
- package/esm/overlay/overlay.js +105 -0
- package/esm/paginator/paginator.js +1 -1
- package/esm/popover/index.d.ts +10 -0
- package/esm/popover/index.js +14 -0
- package/esm/popover/popover-adapter.d.ts +46 -0
- package/esm/popover/popover-adapter.js +105 -0
- package/esm/popover/popover-constants.d.ts +42 -0
- package/esm/popover/popover-constants.js +42 -0
- package/esm/popover/popover-foundation.d.ts +139 -0
- package/esm/popover/popover-foundation.js +458 -0
- package/esm/popover/popover.d.ts +96 -0
- package/esm/popover/popover.js +147 -0
- package/esm/popup/popup-constants.d.ts +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/core/radio-group-manager.js +1 -1
- package/esm/radio/radio/radio-adapter.js +4 -10
- package/esm/radio/radio/radio-constants.d.ts +0 -2
- package/esm/radio/radio/radio-constants.js +1 -14
- package/esm/radio/radio/radio.d.ts +8 -3
- package/esm/radio/radio/radio.js +10 -8
- package/esm/radio/radio-group/radio-group-adapter.js +1 -3
- package/esm/radio/radio-group/radio-group-constants.d.ts +0 -2
- package/esm/radio/radio-group/radio-group-constants.js +1 -6
- package/esm/radio/radio-group/radio-group.d.ts +6 -3
- package/esm/radio/radio-group/radio-group.js +5 -3
- package/esm/slider/slider.d.ts +2 -2
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/state-layer-foundation.js +12 -10
- package/esm/switch/switch.js +1 -1
- package/esm/table/table-utils.js +2 -3
- package/esm/tabs/tab/tab.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
- package/esm/tabs/tab-bar/tab-bar.js +2 -2
- package/esm/toast/toast-constants.d.ts +1 -1
- package/esm/toolbar/toolbar.js +1 -1
- package/esm/tooltip/index.d.ts +0 -1
- package/esm/tooltip/index.js +0 -1
- package/esm/tooltip/tooltip-adapter.d.ts +30 -60
- package/esm/tooltip/tooltip-adapter.js +105 -97
- package/esm/tooltip/tooltip-constants.d.ts +44 -21
- package/esm/tooltip/tooltip-constants.js +27 -22
- package/esm/tooltip/tooltip-foundation.d.ts +72 -84
- package/esm/tooltip/tooltip-foundation.js +265 -192
- package/esm/tooltip/tooltip.d.ts +93 -26
- package/esm/tooltip/tooltip.js +129 -31
- package/package.json +2 -4
- package/styles/app-bar/app-bar/_core.scss +2 -0
- package/styles/app-bar/app-bar/app-bar.scss +17 -17
- package/styles/app-bar/app-bar/index.scss +0 -2
- package/styles/app-bar/search/_core.scss +2 -0
- package/styles/app-bar/search/app-bar-search.scss +5 -6
- package/styles/app-bar/search/index.scss +0 -2
- package/styles/avatar/_core.scss +43 -0
- package/styles/avatar/_token-utils.scss +30 -0
- package/styles/avatar/avatar.scss +21 -3
- package/styles/badge/_core.scss +58 -0
- package/styles/badge/_token-utils.scss +30 -0
- package/styles/badge/badge.scss +101 -15
- package/styles/{focus-indicator/_configuration.scss → badge/index.scss} +1 -5
- package/styles/button/_core.scss +2 -0
- package/styles/button/button.scss +31 -25
- package/styles/button/index.scss +0 -2
- package/styles/button-toggle/button-toggle/_core.scss +78 -0
- package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
- package/styles/button-toggle/button-toggle/index.scss +6 -0
- package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
- package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
- package/styles/button-toggle/button-toggle-group/index.scss +8 -0
- package/styles/checkbox/_core.scss +3 -0
- package/styles/checkbox/checkbox.scss +24 -26
- package/styles/checkbox/index.scss +0 -2
- package/styles/circular-progress/_core.scss +2 -0
- package/styles/circular-progress/circular-progress.scss +36 -27
- package/styles/circular-progress/index.scss +0 -2
- package/styles/core/styles/elevation/index.scss +1 -1
- package/styles/core/styles/tokens/_token-utils.scss +14 -5
- package/styles/core/styles/tokens/avatar/_tokens.scss +23 -0
- package/styles/core/styles/tokens/badge/_tokens.scss +42 -0
- package/styles/core/styles/tokens/button/_tokens.scss +4 -4
- package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
- package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
- package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
- package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
- package/styles/core/styles/tokens/inline-message/_tokens.scss +31 -0
- package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
- package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
- package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
- package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
- package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
- package/styles/core/styles/tokens/theme/_token-utils.scss +28 -6
- package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
- package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
- package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
- package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
- package/styles/core/styles/typography/index.scss +1 -1
- package/styles/deprecated/button/deprecated-button.scss +133 -0
- package/styles/dialog/_mixins.scss +1 -1
- package/styles/drawer/mini-drawer/_mixins.scss +0 -2
- package/styles/floating-action-button/_core.scss +2 -0
- package/styles/floating-action-button/floating-action-button.scss +14 -14
- package/styles/floating-action-button/index.scss +0 -2
- package/styles/focus-indicator/_core.scss +2 -0
- package/styles/focus-indicator/focus-indicator.scss +7 -8
- package/styles/focus-indicator/index.scss +0 -2
- package/styles/forge.scss +0 -1
- package/styles/icon-button/_core.scss +2 -0
- package/styles/icon-button/icon-button.scss +29 -28
- package/styles/icon-button/index.scss +0 -2
- package/styles/inline-message/_core.scss +45 -0
- package/styles/inline-message/_token-utils.scss +30 -0
- package/styles/inline-message/index.scss +6 -0
- package/styles/inline-message/inline-message.scss +75 -9
- package/styles/label/label.scss +2 -2
- package/styles/linear-progress/_core.scss +2 -0
- package/styles/linear-progress/index.scss +0 -2
- package/styles/linear-progress/linear-progress.scss +29 -18
- package/styles/list/list/_core.scss +2 -0
- package/styles/list/list/index.scss +0 -2
- package/styles/list/list/list.scss +4 -4
- package/styles/list/list-item/_core.scss +2 -0
- package/styles/list/list-item/index.scss +0 -2
- package/styles/list/list-item/list-item.scss +50 -44
- package/styles/overlay/_core.scss +46 -0
- package/styles/overlay/_token-utils.scss +31 -0
- package/styles/overlay/index.scss +6 -0
- package/styles/overlay/overlay.scss +66 -0
- package/styles/popover/_animations.scss +36 -0
- package/styles/popover/_core.scss +56 -0
- package/styles/popover/_token-utils.scss +31 -0
- package/styles/popover/index.scss +6 -0
- package/styles/popover/popover.scss +254 -0
- package/styles/profile-card/_core.scss +2 -0
- package/styles/profile-card/index.scss +0 -2
- package/styles/profile-card/profile-card.scss +9 -11
- package/styles/radio/radio/_core.scss +3 -0
- package/styles/radio/radio/index.scss +0 -2
- package/styles/radio/radio/radio.scss +12 -15
- package/styles/slider/_core.scss +2 -0
- package/styles/slider/index.scss +0 -2
- package/styles/slider/slider.scss +45 -41
- package/styles/split-button/index.scss +0 -1
- package/styles/split-button/split-button.scss +3 -2
- package/styles/state-layer/_core.scss +3 -2
- package/styles/state-layer/index.scss +0 -2
- package/styles/state-layer/state-layer.scss +7 -8
- package/styles/switch/_core.scss +3 -0
- package/styles/switch/index.scss +0 -2
- package/styles/switch/switch.scss +28 -30
- package/styles/tabs/tab/_core.scss +2 -0
- package/styles/tabs/tab/index.scss +0 -2
- package/styles/tabs/tab/tab.scss +27 -28
- package/styles/tabs/tab-bar/_core.scss +2 -0
- package/styles/tabs/tab-bar/index.scss +0 -2
- package/styles/tabs/tab-bar/tab-bar.scss +21 -23
- package/styles/theme/_theme-dark.scss +19 -7
- package/styles/theme/_theme-values.scss +2 -0
- package/styles/toolbar/_mixins.scss +2 -1
- package/styles/tooltip/_animations.scss +18 -0
- package/styles/tooltip/_core.scss +86 -0
- package/styles/tooltip/_token-utils.scss +31 -0
- package/styles/tooltip/index.scss +6 -0
- package/styles/tooltip/tooltip.scss +107 -0
- package/dist/esm/chunks/chunk.3KEXRSB5.js +0 -7
- package/dist/esm/chunks/chunk.3TKTJ3BY.js +0 -7
- package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +0 -7
- package/dist/esm/chunks/chunk.447QNYAZ.js +0 -7
- package/dist/esm/chunks/chunk.4IMRT2B3.js +0 -7
- package/dist/esm/chunks/chunk.4JDJ33IU.js +0 -7
- package/dist/esm/chunks/chunk.4JDJ33IU.js.map +0 -7
- package/dist/esm/chunks/chunk.4QCGBFLU.js +0 -7
- package/dist/esm/chunks/chunk.4QCGBFLU.js.map +0 -7
- package/dist/esm/chunks/chunk.4XN2WGMP.js +0 -7
- package/dist/esm/chunks/chunk.5FCUOZSU.js +0 -7
- package/dist/esm/chunks/chunk.5KYKGNGY.js +0 -7
- package/dist/esm/chunks/chunk.5QZPUOGG.js +0 -7
- package/dist/esm/chunks/chunk.5ZMM75CJ.js +0 -7
- package/dist/esm/chunks/chunk.5ZMM75CJ.js.map +0 -7
- package/dist/esm/chunks/chunk.6FUXTHO6.js +0 -7
- package/dist/esm/chunks/chunk.6ORVPXNN.js +0 -7
- package/dist/esm/chunks/chunk.6ORVPXNN.js.map +0 -7
- package/dist/esm/chunks/chunk.6ZJIHOIG.js +0 -7
- package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +0 -7
- package/dist/esm/chunks/chunk.7PVVZC7P.js +0 -7
- package/dist/esm/chunks/chunk.AEO2X5OZ.js +0 -7
- package/dist/esm/chunks/chunk.AIPDMLJD.js +0 -7
- package/dist/esm/chunks/chunk.APFDK6YA.js +0 -7
- package/dist/esm/chunks/chunk.APFDK6YA.js.map +0 -7
- package/dist/esm/chunks/chunk.AVRBHXDT.js +0 -177
- package/dist/esm/chunks/chunk.BIVQ4GTK.js +0 -7
- package/dist/esm/chunks/chunk.BJD6BKGC.js +0 -31
- package/dist/esm/chunks/chunk.BJD6BKGC.js.map +0 -7
- package/dist/esm/chunks/chunk.BS73Y6IN.js +0 -7
- package/dist/esm/chunks/chunk.BWGDZUJV.js +0 -12
- package/dist/esm/chunks/chunk.BWGDZUJV.js.map +0 -7
- package/dist/esm/chunks/chunk.CBY7M4X6.js +0 -7
- package/dist/esm/chunks/chunk.CBY7M4X6.js.map +0 -7
- package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
- package/dist/esm/chunks/chunk.DLBAZD5X.js +0 -7
- package/dist/esm/chunks/chunk.DTWXICOY.js +0 -7
- package/dist/esm/chunks/chunk.DTWXICOY.js.map +0 -7
- package/dist/esm/chunks/chunk.EMCY55MX.js +0 -7
- package/dist/esm/chunks/chunk.ESQWFHCF.js +0 -7
- package/dist/esm/chunks/chunk.ESQWFHCF.js.map +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
- package/dist/esm/chunks/chunk.FJ5VNWYK.js +0 -7
- package/dist/esm/chunks/chunk.FJ5VNWYK.js.map +0 -7
- package/dist/esm/chunks/chunk.FJRCWWE2.js +0 -7
- package/dist/esm/chunks/chunk.FJRCWWE2.js.map +0 -7
- package/dist/esm/chunks/chunk.FQUZWINF.js +0 -7
- package/dist/esm/chunks/chunk.FSILMO6U.js +0 -7
- package/dist/esm/chunks/chunk.FXGY5IVK.js +0 -7
- package/dist/esm/chunks/chunk.G67LO74A.js +0 -7
- package/dist/esm/chunks/chunk.G67LO74A.js.map +0 -7
- package/dist/esm/chunks/chunk.GGQL3OZB.js +0 -7
- package/dist/esm/chunks/chunk.I7OY43HW.js +0 -7
- package/dist/esm/chunks/chunk.I7OY43HW.js.map +0 -7
- package/dist/esm/chunks/chunk.I7X25KEB.js +0 -7
- package/dist/esm/chunks/chunk.I7X25KEB.js.map +0 -7
- package/dist/esm/chunks/chunk.ICIGXLJW.js +0 -7
- package/dist/esm/chunks/chunk.ILUXZNGY.js +0 -7
- package/dist/esm/chunks/chunk.ILUXZNGY.js.map +0 -7
- package/dist/esm/chunks/chunk.JEZR25US.js +0 -7
- package/dist/esm/chunks/chunk.JPI4XCQL.js +0 -7
- package/dist/esm/chunks/chunk.JPI4XCQL.js.map +0 -7
- package/dist/esm/chunks/chunk.JRSFCVYQ.js +0 -7
- package/dist/esm/chunks/chunk.JRSFCVYQ.js.map +0 -7
- package/dist/esm/chunks/chunk.JZ27GPZJ.js +0 -7
- package/dist/esm/chunks/chunk.K3TJMIKD.js +0 -7
- package/dist/esm/chunks/chunk.K3TJMIKD.js.map +0 -7
- package/dist/esm/chunks/chunk.KGHABAFA.js +0 -7
- package/dist/esm/chunks/chunk.KR4BNI6X.js +0 -7
- package/dist/esm/chunks/chunk.KUNIEX72.js +0 -7
- package/dist/esm/chunks/chunk.L27ANAIL.js +0 -7
- package/dist/esm/chunks/chunk.L4UXWCVD.js +0 -7
- package/dist/esm/chunks/chunk.L4UXWCVD.js.map +0 -7
- package/dist/esm/chunks/chunk.LK6QHLW2.js +0 -7
- package/dist/esm/chunks/chunk.LYZXJYTW.js +0 -7
- package/dist/esm/chunks/chunk.LZ2YQYJA.js +0 -7
- package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +0 -7
- package/dist/esm/chunks/chunk.MROUV35N.js +0 -7
- package/dist/esm/chunks/chunk.NM7FJISF.js +0 -7
- package/dist/esm/chunks/chunk.NM7FJISF.js.map +0 -7
- package/dist/esm/chunks/chunk.NVR6KN2B.js +0 -7
- package/dist/esm/chunks/chunk.O6F4U4VY.js +0 -7
- package/dist/esm/chunks/chunk.ONII3BV3.js +0 -7
- package/dist/esm/chunks/chunk.OTUEB7SD.js +0 -7
- package/dist/esm/chunks/chunk.PMSCH6VK.js +0 -7
- package/dist/esm/chunks/chunk.PRJHBUU2.js.map +0 -7
- package/dist/esm/chunks/chunk.Q2Q626DG.js +0 -7
- package/dist/esm/chunks/chunk.Q4YL47ZL.js +0 -7
- package/dist/esm/chunks/chunk.Q4YL47ZL.js.map +0 -7
- package/dist/esm/chunks/chunk.Q54DACHS.js +0 -7
- package/dist/esm/chunks/chunk.Q54DACHS.js.map +0 -7
- package/dist/esm/chunks/chunk.Q74SG6BV.js +0 -7
- package/dist/esm/chunks/chunk.QGMWM7IT.js +0 -7
- package/dist/esm/chunks/chunk.QGMWM7IT.js.map +0 -7
- package/dist/esm/chunks/chunk.RCPUTZON.js +0 -7
- package/dist/esm/chunks/chunk.RCPUTZON.js.map +0 -7
- package/dist/esm/chunks/chunk.SBKKBQDX.js +0 -7
- package/dist/esm/chunks/chunk.SBKKBQDX.js.map +0 -7
- package/dist/esm/chunks/chunk.SVVF632P.js +0 -7
- package/dist/esm/chunks/chunk.SVVF632P.js.map +0 -7
- package/dist/esm/chunks/chunk.T4J66YX5.js +0 -7
- package/dist/esm/chunks/chunk.THNCYT3E.js +0 -7
- package/dist/esm/chunks/chunk.TSUAFZGY.js +0 -7
- package/dist/esm/chunks/chunk.UOEJCU6R.js +0 -7
- package/dist/esm/chunks/chunk.VG452D3L.js +0 -7
- package/dist/esm/chunks/chunk.VQPSP4HV.js +0 -7
- package/dist/esm/chunks/chunk.VQPSP4HV.js.map +0 -7
- package/dist/esm/chunks/chunk.W7BP2DDU.js +0 -7
- package/dist/esm/chunks/chunk.WARVAVAW.js +0 -7
- package/dist/esm/chunks/chunk.WEHQUUXJ.js +0 -7
- package/dist/esm/chunks/chunk.WEHQUUXJ.js.map +0 -7
- package/dist/esm/chunks/chunk.WJCZJ6XD.js +0 -7
- package/dist/esm/chunks/chunk.X3QZY7V4.js +0 -7
- package/dist/esm/chunks/chunk.XQLQ73NG.js +0 -7
- package/dist/esm/chunks/chunk.Y4ZS3A6F.js +0 -7
- package/dist/esm/chunks/chunk.YA5OQD37.js +0 -7
- package/dist/esm/chunks/chunk.YMSX4F3J.js +0 -7
- package/dist/esm/chunks/chunk.Z37CZMMR.js +0 -7
- package/dist/esm/chunks/chunk.ZIRA4PYV.js +0 -7
- package/dist/esm/chunks/chunk.ZT7U7WOX.js +0 -7
- package/dist/esm/chunks/chunk.ZX3CGET2.js +0 -7
- package/dist/esm/chunks/chunk.ZX3CGET2.js.map +0 -7
- package/dist/tooltip/forge-tooltip.css +0 -6
- package/esm/avatar/avatar-component-delegate.d.ts +0 -16
- package/esm/avatar/avatar-component-delegate.js +0 -15
- package/esm/badge/badge-adapter.d.ts +0 -17
- package/esm/badge/badge-adapter.js +0 -20
- package/esm/badge/badge-component-delegate.d.ts +0 -16
- package/esm/badge/badge-component-delegate.js +0 -15
- package/esm/badge/badge-foundation.d.ts +0 -24
- package/esm/badge/badge-foundation.js +0 -55
- package/esm/core/base/base-element-internals-component.d.ts +0 -41
- package/esm/core/base/base-element-internals-component.js +0 -47
- package/esm/tooltip/tooltip-utils.d.ts +0 -13
- package/esm/tooltip/tooltip-utils.js +0 -53
- package/styles/app-bar/app-bar/_configuration.scss +0 -16
- package/styles/avatar/_mixins.scss +0 -46
- package/styles/avatar/_variables.scss +0 -16
- package/styles/button/_configuration.scss +0 -16
- package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
- package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
- package/styles/circular-progress/_configuration.scss +0 -16
- package/styles/floating-action-button/_configuration.scss +0 -16
- package/styles/icon-button/_configuration.scss +0 -16
- package/styles/inline-message/_mixins.scss +0 -82
- package/styles/inline-message/_variables.scss +0 -67
- package/styles/linear-progress/_configuration.scss +0 -28
- package/styles/list/list/_configuration.scss +0 -10
- package/styles/list/list-item/_configuration.scss +0 -16
- package/styles/radio/radio/_configuration.scss +0 -10
- package/styles/split-button/_configuration.scss +0 -12
- package/styles/state-layer/_configuration.scss +0 -10
- package/styles/switch/_configuration.scss +0 -10
- package/styles/tabs/tab/_configuration.scss +0 -27
- package/styles/tabs/tab-bar/_configuration.scss +0 -10
- package/styles/tooltip/_mixins.scss +0 -98
- package/styles/tooltip/_variables.scss +0 -18
- package/styles/tooltip/forge-tooltip.scss +0 -12
- /package/dist/esm/chunks/{chunk.KWBYYSH3.js.map → chunk.2NGPMBVU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L45HXBDS.js.map → chunk.5BQT3E7Y.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BAQYPAUM.js.map → chunk.AWEDY45N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O6MGA3XK.js.map → chunk.GFKYBECY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MHH26REX.js.map → chunk.IDB4KFSQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.URKQICJD.js.map → chunk.LDHY3O6H.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KDJZN6EW.js.map → chunk.LEN33O6V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.42YDA5FH.js.map → chunk.LXFL2C62.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BC7WB5RG.js.map → chunk.MMMG4MZ3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BTWJPE4Y.js.map → chunk.O5HBMTSZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MTSWCXTY.js.map → chunk.OD54UG2G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NBLL7VAA.js.map → chunk.OJFSECZE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7LOMI6J3.js.map → chunk.OR5GB6X3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AR6YUJUH.js.map → chunk.RKG66YKS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HRGTAVNA.js.map → chunk.RKIJTSSL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WINL2C7Q.js.map → chunk.U6FJJGO3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5EGEZ4IY.js.map → chunk.VNFATHAQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IHIKIZIT.js.map → chunk.VOL4DT5F.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U42I3PGF.js.map → chunk.ZZRAZZ3N.js.map} +0 -0
- /package/esm/core/{base/base-label-aware-component.js → mixins/label/with-label-aware.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/banner/banner-constants.ts", "../../src/banner/banner-adapter.ts", "../../src/banner/banner-foundation.ts", "../../src/banner/banner.ts", "../../src/banner/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}banner`;\n\nconst classes = {\n BANNER: 'forge-banner',\n DISMISSED: 'forge-banner--dismissed'\n};\n\nconst selectors = {\n BANNER: '.forge-banner',\n FORGE_DISMISS_BUTTON: 'forge-icon-button.forge-banner__container-dismiss',\n DISMISS_BUTTON: '.forge-banner__container-dismiss',\n ICON: 'i',\n FORGE_BUTTON: 'forge-button'\n};\n\nconst attributes = {\n SLOT: 'slot',\n DISMISSED: 'dismissed',\n CAN_DISMISS: 'can-dismiss',\n HIDDEN: 'hidden'\n};\n\nconst slots = {\n ICON: 'icon',\n TEXT: 'text',\n BUTTON: 'button'\n};\n\nconst events = {\n DISMISSED: `${elementName}-dismissed`,\n UNDISMISSED: `${elementName}-undismissed`\n};\n\nexport const BANNER_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n slots,\n events\n};\n", "import { getShadowElement } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IIconButtonComponent } from '../icon-button';\nimport { IBannerComponent } from './banner';\nimport { BANNER_CONSTANTS } from './banner-constants';\n\nexport interface IBannerAdapter extends IBaseAdapter {\n addRootClass(className: string): void;\n removeRootClass(className: string): void;\n addDismissButtonAttribute(name: string, value?: string): void;\n removeDismissButtonAttribute(name: string): void;\n addDismissEventListener(event: string, callback: (event: Event) => void): void;\n removeDismissEventListener(event: string, callback: (event: Event) => void): void;\n}\n\nexport class BannerAdapter extends BaseAdapter<IBannerComponent> implements IBannerAdapter {\n private _rootElement: HTMLElement;\n private _forgeIconButtonDismiss: IIconButtonComponent;\n private _buttonDismiss: HTMLButtonElement;\n\n constructor(component: IBannerComponent) {\n super(component);\n this._rootElement = getShadowElement(component, BANNER_CONSTANTS.selectors.BANNER);\n }\n\n public addRootClass(name: string): void {\n this._rootElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._rootElement.classList.remove(name);\n }\n\n public addDismissButtonAttribute(name: string, value = ''): void {\n this.forgeIconButtonDismiss.setAttribute(name, value);\n }\n\n public removeDismissButtonAttribute(name: string): void {\n this.forgeIconButtonDismiss.removeAttribute(name);\n }\n\n public addDismissEventListener(event: string, callback: (event: Event) => void): void {\n this.buttonDismiss.addEventListener(event, callback);\n }\n\n public removeDismissEventListener(event: string, callback: (event: Event) => void): void {\n this.buttonDismiss.removeEventListener(event, callback);\n }\n\n public get forgeIconButtonDismiss(): IIconButtonComponent {\n if (!this._forgeIconButtonDismiss) {\n this._forgeIconButtonDismiss = getShadowElement(this._component, BANNER_CONSTANTS.selectors.FORGE_DISMISS_BUTTON) as IIconButtonComponent;\n }\n\n return this._forgeIconButtonDismiss;\n }\n\n public get buttonDismiss(): HTMLButtonElement {\n if (!this._buttonDismiss) {\n this._buttonDismiss = getShadowElement(this._component, BANNER_CONSTANTS.selectors.DISMISS_BUTTON) as HTMLButtonElement;\n }\n\n return this._buttonDismiss;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IBannerAdapter } from './banner-adapter';\nimport { BANNER_CONSTANTS } from './banner-constants';\n\nexport interface IBannerFoundation extends ICustomElementFoundation {\n dismissed: boolean;\n canDismiss: boolean;\n}\n\nexport class BannerFoundation implements IBannerFoundation {\n private _dismissed = false;\n private _canDismiss = true;\n private _dismissBanner: () => void;\n\n constructor(private _adapter: IBannerAdapter) {\n this._dismissBanner = () => this._dismiss();\n }\n\n public connect(): void {\n this._addDismissEventListener();\n }\n\n public disconnect(): void {\n this._removeDismissEventListener();\n }\n\n private _dismiss(): void {\n this.dismissed = true;\n }\n\n private _syncDismissedState(): void {\n if (this.dismissed) {\n this._setDismissedClass();\n this._adapter.emitHostEvent(BANNER_CONSTANTS.events.DISMISSED);\n } else {\n this._setUndissmissedClass();\n this._adapter.emitHostEvent(BANNER_CONSTANTS.events.UNDISMISSED);\n }\n }\n\n private _setUndissmissedClass(): void {\n this._adapter.removeRootClass(BANNER_CONSTANTS.classes.DISMISSED);\n }\n\n private _setDismissedClass(): void {\n this._adapter.addRootClass(BANNER_CONSTANTS.classes.DISMISSED);\n }\n\n private _syncCanDismissState(): void {\n if (this.canDismiss) {\n this._adapter.removeDismissButtonAttribute(BANNER_CONSTANTS.attributes.HIDDEN);\n } else {\n this._adapter.addDismissButtonAttribute(BANNER_CONSTANTS.attributes.HIDDEN);\n }\n }\n\n private _addDismissEventListener(): void {\n this._adapter.addDismissEventListener('click', this._dismissBanner);\n }\n\n private _removeDismissEventListener(): void {\n this._adapter.removeDismissEventListener('click', this._dismissBanner);\n }\n\n public get dismissed(): boolean {\n return !!this._dismissed;\n }\n public set dismissed(val: boolean) {\n if (this.dismissed === !!val) {\n return;\n }\n\n this._dismissed = !!val;\n this._syncDismissedState();\n }\n\n public get canDismiss(): boolean {\n return !!this._canDismiss;\n }\n public set canDismiss(val: boolean) {\n if (this._canDismiss === !!val) {\n return;\n }\n\n this._canDismiss = !!val;\n this._syncCanDismissState();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconCancel } from '@tylertech/tyler-icons/standard';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { TooltipComponent } from '../tooltip';\nimport { BannerAdapter } from './banner-adapter';\nimport { BANNER_CONSTANTS } from './banner-constants';\nimport { BannerFoundation } from './banner-foundation';\n\nconst template = '<template><div class=\\\"forge-banner\\\" part=\\\"root\\\"><div class=\\\"forge-banner__container\\\" part=\\\"container\\\"><div class=\\\"forge-banner__container-wrapper\\\" part=\\\"wrapper\\\"><div class=\\\"forge-banner__container-wrapper-icon\\\" part=\\\"icon-container\\\"><slot name=\\\"icon\\\"></slot></div><div class=\\\"forge-banner__container-wrapper-subsection\\\" part=\\\"subsection-wrapper\\\"><div class=\\\"forge-banner__container-wrapper-subsection-text forge-typography--body2\\\" part=\\\"subsection-text\\\"><slot></slot></div><div class=\\\"forge-banner__container-wrapper-subsection-action\\\" part=\\\"action-subsection\\\"><slot name=\\\"button\\\"></slot></div></div></div><forge-icon-button class=\\\"forge-banner__container-dismiss\\\" part=\\\"dismiss-icon-button\\\" aria-label=\\\"Dismiss this banner\\\" part=\\\"dismiss-button\\\"><forge-icon name=\\\"cancel\\\" part=\\\"dismiss-button-icon\\\"></forge-icon></forge-icon-button><forge-tooltip>Dismiss</forge-tooltip></div></div></template>';\nconst styles = '@media (min-width:600px){.forge-banner{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:600px;max-height:600px}.forge-banner.forge-banner--dismissed{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.forge-banner__container{border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom-width:1px;border-bottom-style:solid;min-height:48px;-webkit-box-align:center;align-items:center;padding:0 24px 0 24px}.forge-banner__container-wrapper{-webkit-box-flex:1;flex:1 1 auto;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.forge-banner__container-wrapper-icon{margin-right:16px}.forge-banner__container-wrapper-subsection{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-banner__container-wrapper-subsection-text{padding:14px 0 14px 0;margin-right:24px}.forge-banner__container-wrapper-subsection-action ::slotted(forge-button){margin-right:16px}.forge-banner__container-dismiss[hidden]{display:none}}@media (max-width:599px){.forge-banner{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:600px;max-height:600px}.forge-banner.forge-banner--dismissed{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.forge-banner__container{border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom-width:1px;border-bottom-style:solid;min-height:48px;padding:16px 12px 16px 12px}.forge-banner__container-wrapper{-webkit-box-flex:1;flex:1 1 auto;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-banner__container-wrapper-icon{margin-right:16px}.forge-banner__container-wrapper-subsection{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-banner__container-wrapper-subsection-action ::slotted(forge-button){margin-top:12px}.forge-banner__container-dismiss{margin-top:-12px;margin-right:-12px}.forge-banner__container-dismiss[hidden]{display:none}}:host{display:block}:host([hidden]){display:none}:host(:not([theme])) .forge-banner,:host([theme=\\\"\\\"]) .forge-banner,:host([theme=default]) .forge-banner{background:#e8eaf6;background:var(--forge-banner-theme-background,var(--forge-banner-theme-default-background,#e8eaf6));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-default-font-color,rgba(0,0,0,.87)))}:host(:not([theme])) .forge-banner .forge-banner__container-wrapper-icon,:host([theme=\\\"\\\"]) .forge-banner .forge-banner__container-wrapper-icon,:host([theme=default]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-default-icon-color,rgba(0,0,0,.54)))}:host(:not([theme])) .forge-banner .forge-banner__container-dismiss,:host([theme=\\\"\\\"]) .forge-banner .forge-banner__container-dismiss,:host([theme=default]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-default-icon-color,rgba(0,0,0,.54)))}:host([theme=danger]) .forge-banner{background:#ffcdd2;background:var(--forge-banner-theme-background,var(--forge-banner-theme-danger-background,#ffcdd2));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-danger-font-color,rgba(0,0,0,.87)))}:host([theme=danger]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-danger-icon-color,rgba(0,0,0,.54)))}:host([theme=danger]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-danger-icon-color,rgba(0,0,0,.54)))}:host([theme=warning]) .forge-banner{background:#ffdba6;background:var(--forge-banner-theme-background,var(--forge-banner-theme-warning-background,#ffdba6));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-warning-font-color,rgba(0,0,0,.87)))}:host([theme=warning]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-warning-icon-color,rgba(0,0,0,.54)))}:host([theme=warning]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-warning-icon-color,rgba(0,0,0,.54)))}:host([theme=success]) .forge-banner{background:#a5d6a7;background:var(--forge-banner-theme-background,var(--forge-banner-theme-success-background,#a5d6a7));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-success-font-color,rgba(0,0,0,.87)))}:host([theme=success]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-success-icon-color,rgba(0,0,0,.54)))}:host([theme=success]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-success-icon-color,rgba(0,0,0,.54)))}:host([theme=info-primary]) .forge-banner{background:#bbdefb;background:var(--forge-banner-theme-background,var(--forge-banner-theme-info-primary-background,#bbdefb));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-info-primary-font-color,rgba(0,0,0,.87)))}:host([theme=info-primary]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-primary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-primary]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-primary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-secondary]) .forge-banner{background:#e0e0e0;background:var(--forge-banner-theme-background,var(--forge-banner-theme-info-secondary-background,#e0e0e0));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-info-secondary-font-color,rgba(0,0,0,.87)))}:host([theme=info-secondary]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-secondary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-secondary]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-secondary-icon-color,rgba(0,0,0,.54)))}';\n\nexport interface IBannerComponent extends IBaseComponent {\n dismissed: boolean;\n canDismiss: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-banner': IBannerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-banner-dismissed': CustomEvent<void>;\n 'forge-banner-undismissed': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-banner>` element.\n * \n * @tag forge-banner\n */\n@CustomElement({\n name: BANNER_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n IconComponent,\n TooltipComponent\n ]\n})\nexport class BannerComponent extends BaseComponent implements IBannerComponent {\n public static get observedAttributes(): string[] {\n return [\n BANNER_CONSTANTS.attributes.DISMISSED,\n BANNER_CONSTANTS.attributes.CAN_DISMISS\n ];\n }\n\n protected _foundation: BannerFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconCancel);\n attachShadowTemplate(this, template, styles);\n this._foundation = new BannerFoundation(new BannerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BANNER_CONSTANTS.attributes.DISMISSED:\n this.dismissed = coerceBoolean(newValue);\n break;\n case BANNER_CONSTANTS.attributes.CAN_DISMISS:\n this.canDismiss = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether the component is dismissed (hidden) or not. */\n @FoundationProperty()\n public declare dismissed: boolean;\n\n /** Controls the visibility of the dismiss button. */\n @FoundationProperty()\n public declare canDismiss: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BannerComponent } from './banner';\n\nexport * from './banner-adapter';\nexport * from './banner-constants';\nexport * from './banner-foundation';\nexport * from './banner';\n\nexport function defineBannerComponent(): void {\n defineCustomElement(BannerComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}banner`;\n\nconst classes = {\n BANNER: 'forge-banner',\n DISMISSED: 'forge-banner--dismissed'\n};\n\nconst selectors = {\n BANNER: '.forge-banner',\n FORGE_DISMISS_BUTTON: 'forge-icon-button.forge-banner__container-dismiss',\n DISMISS_BUTTON: '.forge-banner__container-dismiss',\n ICON: 'i',\n FORGE_BUTTON: 'forge-button'\n};\n\nconst attributes = {\n SLOT: 'slot',\n DISMISSED: 'dismissed',\n CAN_DISMISS: 'can-dismiss',\n HIDDEN: 'hidden'\n};\n\nconst slots = {\n ICON: 'icon',\n TEXT: 'text',\n BUTTON: 'button'\n};\n\nconst events = {\n DISMISSED: `${elementName}-dismissed`,\n UNDISMISSED: `${elementName}-undismissed`\n};\n\nexport const BANNER_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n slots,\n events\n};\n", "import { getShadowElement } from '@tylertech/forge-core';\n\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IIconButtonComponent } from '../icon-button';\nimport { IBannerComponent } from './banner';\nimport { BANNER_CONSTANTS } from './banner-constants';\n\nexport interface IBannerAdapter extends IBaseAdapter {\n addRootClass(className: string): void;\n removeRootClass(className: string): void;\n addDismissButtonAttribute(name: string, value?: string): void;\n removeDismissButtonAttribute(name: string): void;\n addDismissEventListener(event: string, callback: (event: Event) => void): void;\n removeDismissEventListener(event: string, callback: (event: Event) => void): void;\n}\n\nexport class BannerAdapter extends BaseAdapter<IBannerComponent> implements IBannerAdapter {\n private _rootElement: HTMLElement;\n private _forgeIconButtonDismiss: IIconButtonComponent;\n private _buttonDismiss: HTMLButtonElement;\n\n constructor(component: IBannerComponent) {\n super(component);\n this._rootElement = getShadowElement(component, BANNER_CONSTANTS.selectors.BANNER);\n }\n\n public addRootClass(name: string): void {\n this._rootElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._rootElement.classList.remove(name);\n }\n\n public addDismissButtonAttribute(name: string, value = ''): void {\n this.forgeIconButtonDismiss.setAttribute(name, value);\n }\n\n public removeDismissButtonAttribute(name: string): void {\n this.forgeIconButtonDismiss.removeAttribute(name);\n }\n\n public addDismissEventListener(event: string, callback: (event: Event) => void): void {\n this.buttonDismiss.addEventListener(event, callback);\n }\n\n public removeDismissEventListener(event: string, callback: (event: Event) => void): void {\n this.buttonDismiss.removeEventListener(event, callback);\n }\n\n public get forgeIconButtonDismiss(): IIconButtonComponent {\n if (!this._forgeIconButtonDismiss) {\n this._forgeIconButtonDismiss = getShadowElement(this._component, BANNER_CONSTANTS.selectors.FORGE_DISMISS_BUTTON) as IIconButtonComponent;\n }\n\n return this._forgeIconButtonDismiss;\n }\n\n public get buttonDismiss(): HTMLButtonElement {\n if (!this._buttonDismiss) {\n this._buttonDismiss = getShadowElement(this._component, BANNER_CONSTANTS.selectors.DISMISS_BUTTON) as HTMLButtonElement;\n }\n\n return this._buttonDismiss;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IBannerAdapter } from './banner-adapter';\nimport { BANNER_CONSTANTS } from './banner-constants';\n\nexport interface IBannerFoundation extends ICustomElementFoundation {\n dismissed: boolean;\n canDismiss: boolean;\n}\n\nexport class BannerFoundation implements IBannerFoundation {\n private _dismissed = false;\n private _canDismiss = true;\n private _dismissBanner: () => void;\n\n constructor(private _adapter: IBannerAdapter) {\n this._dismissBanner = () => this._dismiss();\n }\n\n public connect(): void {\n this._addDismissEventListener();\n }\n\n public disconnect(): void {\n this._removeDismissEventListener();\n }\n\n private _dismiss(): void {\n this.dismissed = true;\n }\n\n private _syncDismissedState(): void {\n if (this.dismissed) {\n this._setDismissedClass();\n this._adapter.emitHostEvent(BANNER_CONSTANTS.events.DISMISSED);\n } else {\n this._setUndissmissedClass();\n this._adapter.emitHostEvent(BANNER_CONSTANTS.events.UNDISMISSED);\n }\n }\n\n private _setUndissmissedClass(): void {\n this._adapter.removeRootClass(BANNER_CONSTANTS.classes.DISMISSED);\n }\n\n private _setDismissedClass(): void {\n this._adapter.addRootClass(BANNER_CONSTANTS.classes.DISMISSED);\n }\n\n private _syncCanDismissState(): void {\n if (this.canDismiss) {\n this._adapter.removeDismissButtonAttribute(BANNER_CONSTANTS.attributes.HIDDEN);\n } else {\n this._adapter.addDismissButtonAttribute(BANNER_CONSTANTS.attributes.HIDDEN);\n }\n }\n\n private _addDismissEventListener(): void {\n this._adapter.addDismissEventListener('click', this._dismissBanner);\n }\n\n private _removeDismissEventListener(): void {\n this._adapter.removeDismissEventListener('click', this._dismissBanner);\n }\n\n public get dismissed(): boolean {\n return !!this._dismissed;\n }\n public set dismissed(val: boolean) {\n if (this.dismissed === !!val) {\n return;\n }\n\n this._dismissed = !!val;\n this._syncDismissedState();\n }\n\n public get canDismiss(): boolean {\n return !!this._canDismiss;\n }\n public set canDismiss(val: boolean) {\n if (this._canDismiss === !!val) {\n return;\n }\n\n this._canDismiss = !!val;\n this._syncCanDismissState();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconCancel } from '@tylertech/tyler-icons/standard';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { TooltipComponent } from '../tooltip';\nimport { BannerAdapter } from './banner-adapter';\nimport { BANNER_CONSTANTS } from './banner-constants';\nimport { BannerFoundation } from './banner-foundation';\n\nconst template = '<template><div class=\\\"forge-banner\\\" part=\\\"root\\\"><div class=\\\"forge-banner__container\\\" part=\\\"container\\\"><div class=\\\"forge-banner__container-wrapper\\\" part=\\\"wrapper\\\"><div class=\\\"forge-banner__container-wrapper-icon\\\" part=\\\"icon-container\\\"><slot name=\\\"icon\\\"></slot></div><div class=\\\"forge-banner__container-wrapper-subsection\\\" part=\\\"subsection-wrapper\\\"><div class=\\\"forge-banner__container-wrapper-subsection-text forge-typography--body2\\\" part=\\\"subsection-text\\\"><slot></slot></div><div class=\\\"forge-banner__container-wrapper-subsection-action\\\" part=\\\"action-subsection\\\"><slot name=\\\"button\\\"></slot></div></div></div><forge-icon-button class=\\\"forge-banner__container-dismiss\\\" part=\\\"dismiss-icon-button\\\" part=\\\"dismiss-button\\\"><forge-icon name=\\\"cancel\\\" part=\\\"dismiss-button-icon\\\"></forge-icon></forge-icon-button><forge-tooltip type=\\\"label\\\">Dismiss</forge-tooltip></div></div></template>';\nconst styles = '@media (min-width:600px){.forge-banner{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:600px;max-height:600px}.forge-banner.forge-banner--dismissed{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.forge-banner__container{border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom-width:1px;border-bottom-style:solid;min-height:48px;-webkit-box-align:center;align-items:center;padding:0 24px 0 24px}.forge-banner__container-wrapper{-webkit-box-flex:1;flex:1 1 auto;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.forge-banner__container-wrapper-icon{margin-right:16px}.forge-banner__container-wrapper-subsection{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-banner__container-wrapper-subsection-text{padding:14px 0 14px 0;margin-right:24px}.forge-banner__container-wrapper-subsection-action ::slotted(forge-button){margin-right:16px}.forge-banner__container-dismiss[hidden]{display:none}}@media (max-width:599px){.forge-banner{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:600px;max-height:600px}.forge-banner.forge-banner--dismissed{-webkit-transition:max-height .3s ease-in-out;transition:max-height .3s ease-in-out;overflow:hidden;max-height:0}.forge-banner__container{border-bottom-color:#e0e0e0;border-bottom-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;border-bottom-width:1px;border-bottom-style:solid;min-height:48px;padding:16px 12px 16px 12px}.forge-banner__container-wrapper{-webkit-box-flex:1;flex:1 1 auto;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-banner__container-wrapper-icon{margin-right:16px}.forge-banner__container-wrapper-subsection{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-banner__container-wrapper-subsection-action ::slotted(forge-button){margin-top:12px}.forge-banner__container-dismiss{margin-top:-12px;margin-right:-12px}.forge-banner__container-dismiss[hidden]{display:none}}:host{display:block}:host([hidden]){display:none}:host(:not([theme])) .forge-banner,:host([theme=\\\"\\\"]) .forge-banner,:host([theme=default]) .forge-banner{background:#e8eaf6;background:var(--forge-banner-theme-background,var(--forge-banner-theme-default-background,#e8eaf6));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-default-font-color,rgba(0,0,0,.87)))}:host(:not([theme])) .forge-banner .forge-banner__container-wrapper-icon,:host([theme=\\\"\\\"]) .forge-banner .forge-banner__container-wrapper-icon,:host([theme=default]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-default-icon-color,rgba(0,0,0,.54)))}:host(:not([theme])) .forge-banner .forge-banner__container-dismiss,:host([theme=\\\"\\\"]) .forge-banner .forge-banner__container-dismiss,:host([theme=default]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-default-icon-color,rgba(0,0,0,.54)))}:host([theme=danger]) .forge-banner{background:#ffcdd2;background:var(--forge-banner-theme-background,var(--forge-banner-theme-danger-background,#ffcdd2));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-danger-font-color,rgba(0,0,0,.87)))}:host([theme=danger]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-danger-icon-color,rgba(0,0,0,.54)))}:host([theme=danger]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-danger-icon-color,rgba(0,0,0,.54)))}:host([theme=warning]) .forge-banner{background:#ffdba6;background:var(--forge-banner-theme-background,var(--forge-banner-theme-warning-background,#ffdba6));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-warning-font-color,rgba(0,0,0,.87)))}:host([theme=warning]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-warning-icon-color,rgba(0,0,0,.54)))}:host([theme=warning]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-warning-icon-color,rgba(0,0,0,.54)))}:host([theme=success]) .forge-banner{background:#a5d6a7;background:var(--forge-banner-theme-background,var(--forge-banner-theme-success-background,#a5d6a7));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-success-font-color,rgba(0,0,0,.87)))}:host([theme=success]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-success-icon-color,rgba(0,0,0,.54)))}:host([theme=success]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-success-icon-color,rgba(0,0,0,.54)))}:host([theme=info-primary]) .forge-banner{background:#bbdefb;background:var(--forge-banner-theme-background,var(--forge-banner-theme-info-primary-background,#bbdefb));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-info-primary-font-color,rgba(0,0,0,.87)))}:host([theme=info-primary]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-primary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-primary]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-primary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-secondary]) .forge-banner{background:#e0e0e0;background:var(--forge-banner-theme-background,var(--forge-banner-theme-info-secondary-background,#e0e0e0));color:rgba(0,0,0,.87);color:var(--forge-banner-theme-on-background,var(--forge-banner-theme-info-secondary-font-color,rgba(0,0,0,.87)))}:host([theme=info-secondary]) .forge-banner .forge-banner__container-wrapper-icon{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-secondary-icon-color,rgba(0,0,0,.54)))}:host([theme=info-secondary]) .forge-banner .forge-banner__container-dismiss{color:rgba(0,0,0,.54);color:var(--forge-banner-theme-icon,var(--forge-banner-theme-info-secondary-icon-color,rgba(0,0,0,.54)))}';\n\nexport interface IBannerComponent extends IBaseComponent {\n dismissed: boolean;\n canDismiss: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-banner': IBannerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-banner-dismissed': CustomEvent<void>;\n 'forge-banner-undismissed': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-banner>` element.\n * \n * @tag forge-banner\n */\n@CustomElement({\n name: BANNER_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n IconComponent,\n TooltipComponent\n ]\n})\nexport class BannerComponent extends BaseComponent implements IBannerComponent {\n public static get observedAttributes(): string[] {\n return [\n BANNER_CONSTANTS.attributes.DISMISSED,\n BANNER_CONSTANTS.attributes.CAN_DISMISS\n ];\n }\n\n protected _foundation: BannerFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconCancel);\n attachShadowTemplate(this, template, styles);\n this._foundation = new BannerFoundation(new BannerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BANNER_CONSTANTS.attributes.DISMISSED:\n this.dismissed = coerceBoolean(newValue);\n break;\n case BANNER_CONSTANTS.attributes.CAN_DISMISS:\n this.canDismiss = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Controls whether the component is dismissed (hidden) or not. */\n @FoundationProperty()\n public declare dismissed: boolean;\n\n /** Controls the visibility of the dismiss button. */\n @FoundationProperty()\n public declare canDismiss: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { BannerComponent } from './banner';\n\nexport * from './banner-adapter';\nexport * from './banner-constants';\nexport * from './banner-foundation';\nexport * from './banner';\n\nexport function defineBannerComponent(): void {\n defineCustomElement(BannerComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "slots", "events", "BANNER_CONSTANTS", "BannerAdapter", "BaseAdapter", "component", "getShadowElement", "BANNER_CONSTANTS", "name", "value", "event", "callback", "BannerFoundation", "_adapter", "BANNER_CONSTANTS", "val", "template", "styles", "BannerComponent", "BaseComponent", "IconRegistry", "tylIconCancel", "attachShadowTemplate", "BannerFoundation", "BannerAdapter", "BANNER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconButtonComponent", "IconComponent", "TooltipComponent", "defineBannerComponent", "defineCustomElement", "BannerComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{f as t}from"./chunk.UVXKHQQZ.js";var o=500;function c(s=class{}){class r extends s{constructor(){super(...arguments);this._longpressStartListener=this._onLongpressStart.bind(this);this._longpressEndListener=this._onLongpressEnd.bind(this);this._longpressContextMenuListener=this._onLongpressContextMenu.bind(this);this._longpressClickPrevent=this._onLongpressClickPrevent.bind(this);this._longpressDelay=o}_startLongpressListener(e){let n=t?"pointerdown":"touchstart";e.addEventListener(n,this._longpressStartListener)}_stopLongpressListener(e){let n=t?"pointerdown":"touchstart";e.removeEventListener(n,this._longpressStartListener),this._unlistenLongpressEnd(e)}_onLongpressStart(e){e.target.setPointerCapture(e.pointerId),this._listenLongpressEnd(e.target),this._longpressTimeout=window.setTimeout(()=>{this._onLongpress(),t||navigator.vibrate(1),e.target.addEventListener("click",this._longpressClickPrevent,{capture:!0,once:!0})},this._longpressDelay)}_onLongpressClickPrevent(e){e.stopPropagation()}_onLongpressEnd(e){this._clearTimeout(),this._unlistenLongpressEnd(e.target)}_onLongpressContextMenu(e){this._clearTimeout(),e.target.removeEventListener("click",this._longpressClickPrevent,{capture:!0}),this._unlistenLongpressEnd(e.target)}_listenLongpressEnd(e){t?(e.addEventListener("pointerup",this._longpressEndListener),e.addEventListener("pointercancel",this._longpressEndListener),e.addEventListener("contextmenu",this._longpressContextMenuListener)):e.addEventListener("touchend",this._longpressEndListener)}_unlistenLongpressEnd(e){t?(e.removeEventListener("pointerup",this._longpressEndListener),e.removeEventListener("pointercancel",this._longpressEndListener),e.removeEventListener("contextmenu",this._longpressContextMenuListener)):e.removeEventListener("touchend",this._longpressEndListener)}_clearTimeout(){window.clearTimeout(this._longpressTimeout),this._longpressTimeout=void 0}}return r}export{c as a};
|
|
7
|
+
//# sourceMappingURL=chunk.DOAQODLZ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/core/mixins/interactions/longpress/with-longpress-listener.ts"],
|
|
4
|
+
"sourcesContent": ["import { AbstractConstructor, canUserHoverElements, MixinBase } from '../../../../constants';\n\n/**\n * The delay in milliseconds before a longpress event is detected.\n */\nexport const LONGPRESS_TRIGGER_DELAY = 500;\n\nexport declare abstract class WithLongpressListenerContract {\n /**\n * The delay in milliseconds before a longpress event is detected.\n */\n protected _longpressDelay: number;\n\n /**\n * Called when a longpress event is detected.\n */\n protected abstract _onLongpress(): void;\n\n /**\n * Called after a longpress event has been detected, but after the user has released the pointer.\n */\n protected _onLongpressEnd(evt: PointerEvent | TouchEvent): void;\n\n /**\n * Starts listening for longpress events.\n */\n protected _startLongpressListener(el: HTMLElement): void;\n\n /**\n * Stops listening for longpress events.\n */\n protected _stopLongpressListener(el: HTMLElement): void;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function WithLongpressListener<TBase extends MixinBase<object>>(base: TBase = (class {} as unknown) as TBase) {\n abstract class LongpressListener extends base {\n private _longpressTimeout: number | undefined;\n private _longpressStartListener = this._onLongpressStart.bind(this);\n private _longpressEndListener = this._onLongpressEnd.bind(this);\n private _longpressContextMenuListener = this._onLongpressContextMenu.bind(this);\n private _longpressClickPrevent = this._onLongpressClickPrevent.bind(this);\n \n protected _longpressDelay = LONGPRESS_TRIGGER_DELAY;\n\n protected abstract _onLongpress(): void;\n\n protected _startLongpressListener(el: HTMLElement): void {\n const type = canUserHoverElements ? 'pointerdown' : 'touchstart';\n el.addEventListener(type, this._longpressStartListener);\n }\n\n protected _stopLongpressListener(el: HTMLElement): void {\n const type = canUserHoverElements ? 'pointerdown' : 'touchstart';\n el.removeEventListener(type, this._longpressStartListener);\n this._unlistenLongpressEnd(el);\n }\n\n private _onLongpressStart(evt: PointerEvent): void {\n (evt.target as HTMLElement).setPointerCapture(evt.pointerId);\n this._listenLongpressEnd(evt.target as HTMLElement);\n this._longpressTimeout = window.setTimeout(() => {\n this._onLongpress();\n\n if (!canUserHoverElements) {\n navigator.vibrate(1);\n }\n\n // We need to prevent any ghost click events from firing after a longpress is detected\n (evt.target as HTMLElement).addEventListener('click', this._longpressClickPrevent, { capture: true, once: true });\n }, this._longpressDelay);\n }\n\n private _onLongpressClickPrevent(evt: MouseEvent): void {\n evt.stopPropagation();\n }\n\n protected _onLongpressEnd(evt: PointerEvent | TouchEvent): void {\n this._clearTimeout();\n this._unlistenLongpressEnd(evt.target as HTMLElement);\n }\n\n private _onLongpressContextMenu(evt: PointerEvent | TouchEvent): void {\n this._clearTimeout();\n (evt.target as HTMLElement).removeEventListener('click', this._longpressClickPrevent, { capture: true });\n this._unlistenLongpressEnd(evt.target as HTMLElement);\n }\n\n private _listenLongpressEnd(el: HTMLElement): void {\n if (!canUserHoverElements) {\n el.addEventListener('touchend', this._longpressEndListener);\n } else {\n el.addEventListener('pointerup', this._longpressEndListener);\n el.addEventListener('pointercancel', this._longpressEndListener);\n el.addEventListener('contextmenu', this._longpressContextMenuListener);\n }\n }\n\n private _unlistenLongpressEnd(el: HTMLElement): void {\n if (!canUserHoverElements) {\n el.removeEventListener('touchend', this._longpressEndListener);\n } else {\n el.removeEventListener('pointerup', this._longpressEndListener);\n el.removeEventListener('pointercancel', this._longpressEndListener);\n el.removeEventListener('contextmenu', this._longpressContextMenuListener);\n }\n }\n\n private _clearTimeout(): void {\n window.clearTimeout(this._longpressTimeout);\n this._longpressTimeout = undefined;\n }\n }\n\n return LongpressListener as AbstractConstructor<WithLongpressListenerContract> & TBase;\n}\n"],
|
|
5
|
+
"mappings": "wCAKO,IAAMA,EAA0B,IA8BhC,SAASC,EAAuDC,EAAe,KAAM,CAAC,EAAwB,CACnH,MAAeC,UAA0BD,CAAK,CAA9C,kCAEE,KAAQ,wBAA0B,KAAK,kBAAkB,KAAK,IAAI,EAClE,KAAQ,sBAAwB,KAAK,gBAAgB,KAAK,IAAI,EAC9D,KAAQ,8BAAgC,KAAK,wBAAwB,KAAK,IAAI,EAC9E,KAAQ,uBAAyB,KAAK,yBAAyB,KAAK,IAAI,EAExE,KAAU,gBAAkBF,EAIlB,wBAAwBI,EAAuB,CACvD,IAAMC,EAAOC,EAAuB,cAAgB,aACpDF,EAAG,iBAAiBC,EAAM,KAAK,uBAAuB,CACxD,CAEU,uBAAuBD,EAAuB,CACtD,IAAMC,EAAOC,EAAuB,cAAgB,aACpDF,EAAG,oBAAoBC,EAAM,KAAK,uBAAuB,EACzD,KAAK,sBAAsBD,CAAE,CAC/B,CAEQ,kBAAkBG,EAAyB,CAChDA,EAAI,OAAuB,kBAAkBA,EAAI,SAAS,EAC3D,KAAK,oBAAoBA,EAAI,MAAqB,EAClD,KAAK,kBAAoB,OAAO,WAAW,IAAM,CAC/C,KAAK,aAAa,EAEbD,GACH,UAAU,QAAQ,CAAC,EAIpBC,EAAI,OAAuB,iBAAiB,QAAS,KAAK,uBAAwB,CAAE,QAAS,GAAM,KAAM,EAAK,CAAC,CAClH,EAAG,KAAK,eAAe,CACzB,CAEQ,yBAAyBA,EAAuB,CACtDA,EAAI,gBAAgB,CACtB,CAEU,gBAAgBA,EAAsC,CAC9D,KAAK,cAAc,EACnB,KAAK,sBAAsBA,EAAI,MAAqB,CACtD,CAEQ,wBAAwBA,EAAsC,CACpE,KAAK,cAAc,EAClBA,EAAI,OAAuB,oBAAoB,QAAS,KAAK,uBAAwB,CAAE,QAAS,EAAK,CAAC,EACvG,KAAK,sBAAsBA,EAAI,MAAqB,CACtD,CAEQ,oBAAoBH,EAAuB,CAC5CE,GAGHF,EAAG,iBAAiB,YAAa,KAAK,qBAAqB,EAC3DA,EAAG,iBAAiB,gBAAiB,KAAK,qBAAqB,EAC/DA,EAAG,iBAAiB,cAAe,KAAK,6BAA6B,GAJrEA,EAAG,iBAAiB,WAAY,KAAK,qBAAqB,CAM9D,CAEQ,sBAAsBA,EAAuB,CAC9CE,GAGHF,EAAG,oBAAoB,YAAa,KAAK,qBAAqB,EAC9DA,EAAG,oBAAoB,gBAAiB,KAAK,qBAAqB,EAClEA,EAAG,oBAAoB,cAAe,KAAK,6BAA6B,GAJxEA,EAAG,oBAAoB,WAAY,KAAK,qBAAqB,CAMjE,CAEQ,eAAsB,CAC5B,OAAO,aAAa,KAAK,iBAAiB,EAC1C,KAAK,kBAAoB,MAC3B,CACF,CAEA,OAAOD,CACT",
|
|
6
|
+
"names": ["LONGPRESS_TRIGGER_DELAY", "WithLongpressListener", "base", "LongpressListener", "el", "type", "canUserHoverElements", "evt"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as o,b as E,c as S,f as V}from"./chunk.JRROGJ2G.js";import{d as H}from"./chunk.NPCUVYWP.js";import{q as p,r as v,s as f,t as m}from"./chunk.EWT2PBEP.js";import{d as R,l as N}from"./chunk.L7BSLZCB.js";import{a as z}from"./chunk.ZY3ETQ3D.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as x}from"./chunk.UVXKHQQZ.js";import{a as C,e as k,f as B,k as O}from"./chunk.TPXXHX5J.js";import{v as L}from"./chunk.HZUQXCOQ.js";import{k as h,l as w}from"./chunk.J2M2MXP2.js";import{d as c}from"./chunk.M3QDAYD2.js";var g=class extends z{constructor(e){super(e);this._defaultSlotElement=B(this._component,o.selectors.DEFAULT_SLOT),this._rootElement=B(this._component,o.selectors.ROOT),this._scrollContainer=B(this._component,o.selectors.SCROLL_CONTAINER)}initializeContainerSizeObserver(e){this._resizeObserver=new ResizeObserver(()=>e()),this._resizeObserver.observe(this._component)}initializeScrollObserver(e){this._scrollContainer.addEventListener("scroll",e,{passive:!0})}destroyContainerSizeObserver(){var e;(e=this._resizeObserver)==null||e.disconnect(),this._resizeObserver=void 0}destroyScrollObserver(e){this._scrollContainer.removeEventListener("scroll",e,{passive:!0})}setVertical(e){L(this._scrollContainer,!!e,"aria-orientation","vertical")}setScrollBackwardButtonListener(e){var i;(i=this._backwardScrollButton)==null||i.addEventListener("click",e)}setScrollForwardButtonListener(e){var i;(i=this._forwardScrollButton)==null||i.addEventListener("click",e)}addSlotListener(e){this._defaultSlotElement.addEventListener("slotchange",e)}getTabs(){return Array.from(this._component.querySelectorAll(S.elementName))}async tryScrollTabIntoView(e){if(await new Promise(requestAnimationFrame),!e.isConnected||!e.selected&&!e.matches(":focus"))return;let i=this._component.vertical,r=i?this._scrollContainer.offsetTop:this._scrollContainer.offsetLeft,s=i?e.offsetTop:e.offsetLeft,a=i?e.offsetHeight:e.offsetWidth,l=i?this._scrollContainer.scrollTop:this._scrollContainer.scrollLeft,b=i?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth,_=s-(o.numbers.SCROLL_MARGIN+r),u=s+a-b+(o.numbers.SCROLL_MARGIN-r),A=Math.min(_,Math.max(u,l)),T=e.matches(":focus")?"smooth":"instant";this._scrollContainer.scrollTo({behavior:T,[i?"left":"top"]:0,[i?"top":"left"]:A})}getScrollState(){let{scrollHeight:e,scrollWidth:i,scrollLeft:r,scrollTop:s,clientHeight:a,clientWidth:l}=this._scrollContainer,b=this._component.vertical?a+s:l+r,_=this._component.vertical?e:i,u=b===_;return{isScrolledStart:(this._component.vertical?b-a:b-l)===0,isScrolledEnd:u}}isScrollable(){let{scrollHeight:e,scrollWidth:i,clientHeight:r,clientWidth:s}=this._scrollContainer;return this._component.vertical?e>r:i>s}setScrollButtons(e){var i,r;e?(this._backwardScrollButton=this._createScrollButton(this._component.vertical?m.name:v.name),this._rootElement.insertAdjacentElement("afterbegin",this._backwardScrollButton),this._forwardScrollButton=this._createScrollButton(this._component.vertical?p.name:f.name),this._rootElement.insertAdjacentElement("beforeend",this._forwardScrollButton)):((i=this._backwardScrollButton)==null||i.remove(),this._backwardScrollButton=void 0,(r=this._forwardScrollButton)==null||r.remove(),this._forwardScrollButton=void 0)}syncScrollButtons({backwardEnabled:e,forwardEnabled:i}){var r,s;if(this._backwardScrollButton){let a=!e;a&&this._backwardScrollButton.matches(":focus")&&((r=this._forwardScrollButton)==null||r.focus()),this._backwardScrollButton.disabled=a}if(this._forwardScrollButton){let a=!i;a&&this._forwardScrollButton.matches(":focus")&&((s=this._backwardScrollButton)==null||s.focus()),this._forwardScrollButton.disabled=a}}scroll(e){let i=this._component.vertical?this._scrollContainer.offsetHeight:this._scrollContainer.offsetWidth;this._scrollContainer.scrollBy({behavior:"smooth",[this._component.vertical?"top":"left"]:i*(e==="forward"?1:-1)})}updateScrollButtonIcons(e){var s,a;let i=(s=this._backwardScrollButton)==null?void 0:s.querySelector("forge-icon");i&&(i.name=e?m.name:v.name);let r=(a=this._forwardScrollButton)==null?void 0:a.querySelector("forge-icon");r&&(r.name=e?p.name:f.name)}_createScrollButton(e){let i=document.createElement("forge-icon-button");i.classList.add(o.classes.SCROLL_BUTTON),i.shape="squared",i.type="button",i.tabIndex=-1,i.setAttribute("aria-hidden","true");let r=document.createElement("forge-icon");return r.name=e,i.appendChild(r),i}};var y=class{constructor(t){this._adapter=t;this._isInitialized=!1;this._disabled=!1;this._vertical=!1;this._clustered=!1;this._stacked=!1;this._secondary=!1;this._inverted=!1;this._autoActivate=!1;this._scrollButtons=!1;this._tabs=[];this._scrollButtonsVisible=!1;this._tabsChangedListener=()=>this._onTabsChanged(),this._tabSelectedListener=e=>this._onTabSelected(e),this._keydownListener=e=>this._onKeydown(e),this._resizeListener=()=>this._onResize(),this._scrollListener=()=>this._onScroll(),this._scrollBackwardButtonListener=()=>this._onScrollBackward(),this._scrollForwardButtonListener=()=>this._onScrollForward()}initialize(){this._adapter.addSlotListener(this._tabsChangedListener),this._adapter.addHostListener(S.events.SELECT,this._tabSelectedListener),this._adapter.addHostListener("keydown",this._keydownListener),this._adapter.setVertical(this._vertical),this._scrollButtons&&(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState()),this._tryScrollActiveTabIntoView(),this._isInitialized=!0}destroy(){this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._isInitialized=!1}async _onTabsChanged(){this._tabs=this._adapter.getTabs(),this._syncTabState(),this._tryScrollActiveTabIntoView()}_onTabSelected(t){this._selectTab(t.target)}async _onKeydown(t){var s,a;let e=this._vertical?"vertical":"horizontal";if(!(((s=E.get("default"))==null?void 0:s.has(t.key))||((a=E.get(e))==null?void 0:a.has(t.key))))return;t.preventDefault();let r=-1;if(t.key==="Home")r=this._tabs.findIndex(l=>!l.disabled);else if(t.key==="End")r=this._tabs.reduceRight((l,b,_)=>!b.disabled&&l===-1?_:l,-1);else{let l=this._tabs.findIndex(u=>u.matches(":focus")),b=t.key==="ArrowLeft"||t.key==="ArrowUp",_=u=>{var T;r=u+(b?-1:1),r=r<0?this._tabs.length-1:r%this._tabs.length,!this._tabs.every(D=>D.disabled)&&((T=this._tabs[r])!=null&&T.disabled)&&_(r)};_(l)}r!==-1&&(this._autoActivate?this._selectTab(this._tabs[r]):(this._tabs[r].focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(this._tabs[r])))}async _selectTab(t,e=!0){if(!t||t.disabled)return;let i=this._tabs.find(r=>r.selected);if(i!==t){if(e){let r=this._tabs.indexOf(t);if(!this._adapter.emitHostEvent(o.events.CHANGE,r,!0,!0))return}t.selected=!0,t.focus({preventScroll:!0}),await this._adapter.tryScrollTabIntoView(t),i&&(i.selected=!1),this._activeTab=this._tabs.indexOf(t)}}_syncTabState(){this._tabs.forEach((t,e)=>{t.selected=e===this._activeTab,t.disabled=this._disabled,t.vertical=this._vertical,t.stacked=this._stacked,t.secondary=this._secondary,t.inverted=this._inverted})}_onResize(){this._detectScrollableStatus()}_onScroll(){this._updateScrollState()}_onScrollBackward(){this._adapter.scroll("backward")}_onScrollForward(){this._adapter.scroll("forward")}_detectScrollableStatus(){let t=this._adapter.isScrollable();this._scrollButtonsVisible!==t&&(this._adapter.setScrollButtons(t),t?(this._adapter.initializeScrollObserver(this._scrollListener),this._updateScrollState(),this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener),this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener)):this._adapter.destroyScrollObserver(this._scrollListener),this._scrollButtonsVisible=t)}_updateScrollState(){let{isScrolledEnd:t,isScrolledStart:e}=this._adapter.getScrollState(),i={backwardEnabled:!e,forwardEnabled:!t};this._adapter.syncScrollButtons(i)}_tryScrollActiveTabIntoView(){this._tabScrollAnimationFrame&&window.cancelAnimationFrame(this._tabScrollAnimationFrame),this._tabScrollAnimationFrame=window.requestAnimationFrame(()=>{this._tabScrollAnimationFrame=void 0,this._adapter.isScrollable()&&typeof this._activeTab=="number"&&this._activeTab>=0&&this._tabs[this._activeTab]&&this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab])})}get disabled(){return this._disabled}set disabled(t){t=!!t,this._disabled!==t&&(this._disabled=t,this._tabs.forEach(e=>e.disabled=this._disabled),this._adapter.toggleHostAttribute(o.attributes.DISABLED,this._disabled))}get activeTab(){return this._activeTab}set activeTab(t){if(this._activeTab!==t)if(this._activeTab=t!=null?t:void 0,typeof this._activeTab=="number"){let e=this._tabs[this._activeTab];this._selectTab(e,!1),this._adapter.setHostAttribute(o.attributes.ACTIVE_TAB,String(this._activeTab))}else this._tabs.forEach(e=>e.selected=!1),this._adapter.removeHostAttribute(o.attributes.ACTIVE_TAB)}get vertical(){return this._vertical}set vertical(t){t=!!t,this._vertical!==t&&(this._vertical=t,this._isInitialized&&this._adapter.setVertical(this._vertical),this._tabs.forEach(e=>e.vertical=this._vertical),this._scrollButtonsVisible&&this._adapter.updateScrollButtonIcons(this._vertical),this._adapter.toggleHostAttribute(S.attributes.VERTICAL,this._vertical))}get clustered(){return this._clustered}set clustered(t){t=!!t,this._clustered!==t&&(this._clustered=t,this._adapter.toggleHostAttribute(o.attributes.CLUSTERED,this._clustered))}get stacked(){return this._stacked}set stacked(t){t=!!t,this._stacked!==t&&(this._stacked=t,this._tabs.forEach(e=>e.stacked=this._stacked),this._adapter.toggleHostAttribute(o.attributes.STACKED,this._stacked))}get secondary(){return this._secondary}set secondary(t){t=!!t,this._secondary!==t&&(this._secondary=t,this._tabs.forEach(e=>e.secondary=this._secondary),this._adapter.toggleHostAttribute(o.attributes.SECONDARY,this._secondary))}get inverted(){return this._inverted}set inverted(t){t=!!t,this._inverted!==t&&(this._inverted=t,this._tabs.forEach(e=>e.inverted=this._inverted),this._adapter.toggleHostAttribute(o.attributes.INVERTED,this._inverted))}get autoActivate(){return this._autoActivate}set autoActivate(t){t=!!t,this._autoActivate!==t&&(this._autoActivate=t,this._adapter.toggleHostAttribute(o.attributes.AUTO_ACTIVATE,this._autoActivate))}get scrollButtons(){return this._scrollButtons}set scrollButtons(t){t=!!t,this._scrollButtons!==t&&(this._scrollButtons=!!t,this._isInitialized&&(this._scrollButtons?(this._adapter.initializeContainerSizeObserver(this._resizeListener),this._adapter.initializeScrollObserver(this._scrollListener),this._detectScrollableStatus(),this._updateScrollState(),this._tryScrollActiveTabIntoView()):(this._adapter.destroyContainerSizeObserver(),this._adapter.destroyScrollObserver(this._scrollListener),this._adapter.setScrollButtons(this._scrollButtons),this._scrollButtonsVisible=!1)),this._adapter.setHostAttribute(o.attributes.SCROLL_BUTTONS,String(this._scrollButtons)))}};var F='<template><div class="forge-tab-bar" part="container"><div role="tablist" class="scroll-container" part="scroll-container"><slot></slot></div></div></template>',K=":host{position:relative;display:block}:host([hidden]){display:none}.forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, space-between);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 1);--_tab-bar-divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-outline, #e0e0e0));--_tab-bar-divider-thickness:var(--forge-tab-bar-divider-thickness, 1px)}.forge-tab-bar{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(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_tab-bar-justify);justify-content:var(--_tab-bar-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-bar-stretch);flex:var(--_tab-bar-stretch)}::slotted([selected]){z-index:1}forge-icon-button{--forge-icon-button-shape-squared:0px}:host([vertical]) .forge-tab-bar{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-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])) .forge-tab-bar{border-bottom:none;border-top:variale(divider-thickness) solid var(--_tab-bar-divider-color)}:host([inverted][vertical]) .forge-tab-bar{border-bottom:none;border-top:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}:host([clustered]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 0)}:host([clustered=start]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start)}:host([clustered=center]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, center)}:host([clustered=end]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-end)}",n=class extends O{constructor(){super();R.define([v,f,m,p]),k(this,F,K),this._foundation=new y(new g(this))}static get observedAttributes(){return[o.attributes.DISABLED,o.attributes.ACTIVE_TAB,o.attributes.VERTICAL,o.attributes.CLUSTERED,o.attributes.STACKED,o.attributes.SECONDARY,o.attributes.INVERTED,o.attributes.AUTO_ACTIVATE,o.attributes.SCROLL_BUTTONS]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.destroy()}attributeChangedCallback(e,i,r){switch(e){case o.attributes.DISABLED:this.disabled=h(r);break;case o.attributes.ACTIVE_TAB:this.activeTab=r?w(r):void 0;break;case o.attributes.VERTICAL:this.vertical=h(r);break;case o.attributes.CLUSTERED:this.clustered=h(r);break;case o.attributes.STACKED:this.stacked=h(r);break;case o.attributes.SECONDARY:this.secondary=h(r);break;case o.attributes.INVERTED:this.inverted=h(r);break;case o.attributes.AUTO_ACTIVATE:this.autoActivate=h(r);break;case o.attributes.SCROLL_BUTTONS:this.scrollButtons=h(r);break}}};c([d()],n.prototype,"disabled",2),c([d()],n.prototype,"activeTab",2),c([d()],n.prototype,"vertical",2),c([d()],n.prototype,"clustered",2),c([d()],n.prototype,"stacked",2),c([d()],n.prototype,"secondary",2),c([d()],n.prototype,"inverted",2),c([d()],n.prototype,"autoActivate",2),c([d()],n.prototype,"scrollButtons",2),n=c([x({name:o.elementName,dependencies:[V,H,N]})],n);function bt(){C(n)}export{g as a,y as b,n as c,bt as d};
|
|
7
|
+
//# sourceMappingURL=chunk.EPVNVBZI.js.map
|
|
@@ -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 { IIconButtonComponent } from '../../icon-button/icon-button';\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 _rootElement: HTMLElement;\n private readonly _scrollContainer: HTMLElement;\n private _resizeObserver: ResizeObserver | undefined;\n private _backwardScrollButton: IIconButtonComponent | undefined;\n private _forwardScrollButton: IIconButtonComponent | 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._rootElement = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.ROOT);\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?.addEventListener('click', listener);\n }\n \n public setScrollForwardButtonListener(listener: EventListener): void {\n this._forwardScrollButton?.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._rootElement.insertAdjacentElement('afterbegin', this._backwardScrollButton);\n\n this._forwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name);\n this._rootElement.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 if (this._backwardScrollButton) {\n const disabled = !backwardEnabled;\n if (disabled && this._backwardScrollButton.matches(':focus')) {\n this._forwardScrollButton?.focus();\n }\n this._backwardScrollButton.disabled = disabled;\n }\n\n if (this._forwardScrollButton) {\n const disabled = !forwardEnabled;\n if (disabled && this._forwardScrollButton.matches(':focus')) {\n this._backwardScrollButton?.focus();\n }\n this._forwardScrollButton.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): IIconButtonComponent {\n const iconButton = document.createElement('forge-icon-button');\n iconButton.classList.add(TAB_BAR_CONSTANTS.classes.SCROLL_BUTTON);\n iconButton.shape = 'squared';\n iconButton.type = 'button';\n iconButton.tabIndex = -1;\n iconButton.setAttribute('aria-hidden', 'true');\n\n const icon = document.createElement('forge-icon');\n icon.name = iconName;\n iconButton.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=\\\"forge-tab-bar\\\" part=\\\"container\\\"><div role=\\\"tablist\\\" class=\\\"scroll-container\\\" part=\\\"scroll-container\\\"><slot></slot></div></div></template>';\nconst styles = ':host{position:relative;display:block}:host([hidden]){display:none}.forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, space-between);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 1);--_tab-bar-divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-outline, #e0e0e0));--_tab-bar-divider-thickness:var(--forge-tab-bar-divider-thickness, 1px)}.forge-tab-bar{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(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_tab-bar-justify);justify-content:var(--_tab-bar-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-bar-stretch);flex:var(--_tab-bar-stretch)}::slotted([selected]){z-index:1}forge-icon-button{--forge-icon-button-shape-squared:0px}:host([vertical]) .forge-tab-bar{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-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])) .forge-tab-bar{border-bottom:none;border-top:variale(divider-thickness) solid var(--_tab-bar-divider-color)}:host([inverted][vertical]) .forge-tab-bar{border-bottom:none;border-top:var(--_tab-bar-divider-thickness) solid var(--_tab-bar-divider-color)}:host([clustered]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start);--_tab-bar-stretch:var(--forge-tab-bar-stretch, 0)}:host([clustered=start]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-start)}:host([clustered=center]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, center)}:host([clustered=end]) .forge-tab-bar{--_tab-bar-justify:var(--forge-tab-bar-justify, flex-end)}';\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", "TAB_CONSTANTS", "tab", "isVertical", "scrollContainerOffset", "offset", "extent", "scroll", "hostExtent", "min", "max", "to", "behavior", "scrollHeight", "scrollWidth", "scrollLeft", "scrollTop", "clientHeight", "clientWidth", "scrollPosition", "scrollSize", "isScrolledEnd", "_b", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowDown", "tylIconKeyboardArrowRight", "backwardEnabled", "forwardEnabled", "disabled", "which", "amount", "vertical", "backButtonIcon", "nextButtonIcon", "iconName", "iconButton", "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{a as d,b as i}from"./chunk.UVXKHQQZ.js";import{a as t,e as g,k as n}from"./chunk.TPXXHX5J.js";import{d as o}from"./chunk.M3QDAYD2.js";var b=`${i}badge`,f={DOT:"dot",HIDE:"hide",THEME:"theme",STRONG:"strong"},s={OPEN:"open"},c={ROOT:".forge-badge"},h={THEME:"default"},e={elementName:b,attributes:f,selectors:c,classes:s,defaults:h};var l='<template><div class="forge-badge" part="root"><slot name="start"></slot><slot></slot><slot name="end"></slot></div></template>',m=':host{display:-webkit-box;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]){display:none}.forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000));--_badge-shape:var(--forge-badge-shape, var(--forge-shape-full, 9999px));--_badge-height:var(--forge-badge-height, 20px);--_badge-min-width:var(--forge-badge-min-width, 0);--_badge-max-width:var(--forge-badge-max-width, auto);--_badge-padding-inline:var(--forge-badge-padding-inline, var(--forge-spacing-xsmall, 8px));--_badge-padding-block:var(--forge-badge-padding-block, 0);--_badge-border-width:var(--forge-badge-border-width, var(--forge-border-thin, 1px));--_badge-border-style:var(--forge-badge-border-style, none);--_badge-border-color:var(--forge-badge-border-color, var(--_badge-color));--_badge-gap:var(--forge-badge-gap, var(--forge-spacing-xsmall, 8px));--_badge-font-weight:var(--forge-badge-font-weight, bold);--_badge-dot-size:var(--forge-badge-dot-size, 8px);--_badge-dot-height:var(--forge-badge-dot-height, var(--_badge-dot-size));--_badge-dot-width:var(--forge-badge-dot-width, var(--_badge-dot-size));--_badge-dot-padding:var(--forge-badge-dot-padding, 0);--_badge-transition-duration:var(--forge-badge-transition-duration, var(--forge-animation-duration-short4, 200ms));--_badge-transition-easing:var(--forge-badge-transition-easing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)))}.forge-badge{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);background:var(--_badge-background);color:var(--_badge-color);height:var(--_badge-height);min-width:var(--_badge-min-width);max-width:var(--_badge-max-width);border-width:var(--_badge-border-width);border-style:var(--_badge-border-style);border-color:var(--_badge-border-color);display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;gap:var(--_badge-gap);border-radius:var(--_badge-shape);padding-inline:var(--_badge-padding-inline);padding-block:var(--_badge-padding-block);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;-webkit-transition:-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing),-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);font-weight:var(--_badge-font-weight);text-overflow:ellipsis;white-space:nowrap}::slotted(:is([slot=start],[slot=end])){font-size:inherit}:host([hide]) .forge-badge{-webkit-transform:scale(0);transform:scale(0)}:host([dot]) .forge-badge{--_badge-height:var(--_badge-dot-height);--_badge-min-width:var(--forge-badge-min-width, auto);padding:var(--_badge-dot-padding);width:var(--_badge-dot-width)}:host([dot]) .forge-badge>slot{display:none}:host([theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary-container, #d1d5ed));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary-container, #222c62))}:host([strong][theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary, #3f51b5));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary, #ffffff))}:host([theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary-container, #fff0c3));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary-container, #8a6804))}:host([strong][theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000))}:host([theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary-container, #d0d7ff));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary-container, #213189))}:host([strong][theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary, #3d5afe));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success-container, #cde0ce));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success-container, #19441b))}:host([strong][theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success, #2e7d32));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success, #ffffff))}:host([theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning-container, #f4d3c2));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning-container, #712700))}:host([strong][theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning, #d14900));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning, #ffffff))}:host(:not([strong]):is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error-container, #ecc2c9));--_badge-color:var(--forge-badge-color, var(--forge-theme-error, #b00020))}:host([strong]:is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error, #b00020));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-error, #ffffff))}:host(:not([strong]):is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info-container, #c7daf0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info-container, #0b3768))}:host([strong]:is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info, #1565c0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info, #ffffff))}:host(:not([strong])[theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-container-low, #ebebeb));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-container-low, #000000))}:host([strong][theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-inverse, #333333));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-inverse, #ffffff))}',a=class extends n{constructor(){super(),g(this,l,m)}get dot(){return this.hasAttribute(e.attributes.DOT)}set dot(r){this.toggleAttribute(e.attributes.DOT,r)}get theme(){var r;return(r=this.getAttribute(e.attributes.THEME))!=null?r:e.defaults.THEME}set theme(r){this.setAttribute(e.attributes.THEME,r)}get strong(){return this.hasAttribute(e.attributes.STRONG)}set strong(r){this.toggleAttribute(e.attributes.STRONG,r)}get hide(){return this.hasAttribute(e.attributes.HIDE)}set hide(r){this.hasAttribute(e.attributes.HIDE)!==r&&this.toggleAttribute(e.attributes.HIDE,r)}};a=o([d({name:e.elementName})],a);function O(){t(a)}export{e as a,a as b,O as c};
|
|
7
|
+
//# sourceMappingURL=chunk.F2327OUE.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/badge/badge-constants.ts", "../../src/badge/badge.ts", "../../src/badge/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX, Theme } from '../constants';\r\n\r\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}badge`;\r\n\r\nconst attributes = {\r\n DOT: 'dot',\r\n HIDE: 'hide',\r\n THEME: 'theme',\r\n STRONG: 'strong'\r\n};\r\n\r\nconst classes = {\r\n OPEN: 'open'\r\n};\r\n\r\nconst selectors = {\r\n ROOT: '.forge-badge'\r\n};\r\n\r\nconst defaults = {\r\n THEME: 'default' as BadgeTheme\r\n};\r\n\r\nexport const BADGE_CONSTANTS = {\r\n elementName,\r\n attributes,\r\n selectors,\r\n classes,\r\n defaults\r\n};\r\n\r\nexport type BadgeTheme = Theme | 'default' | 'info-primary' | 'info-secondary' | 'danger';\r\n", "import { attachShadowTemplate, coerceBoolean, CustomElement } from '@tylertech/forge-core';\r\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\r\nimport { BadgeTheme, BADGE_CONSTANTS } from './badge-constants';\r\n\r\nconst template = '<template><div class=\\\"forge-badge\\\" part=\\\"root\\\"><slot name=\\\"start\\\"></slot><slot></slot><slot name=\\\"end\\\"></slot></div></template>';\r\nconst styles = ':host{display:-webkit-box;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]){display:none}.forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000));--_badge-shape:var(--forge-badge-shape, var(--forge-shape-full, 9999px));--_badge-height:var(--forge-badge-height, 20px);--_badge-min-width:var(--forge-badge-min-width, 0);--_badge-max-width:var(--forge-badge-max-width, auto);--_badge-padding-inline:var(--forge-badge-padding-inline, var(--forge-spacing-xsmall, 8px));--_badge-padding-block:var(--forge-badge-padding-block, 0);--_badge-border-width:var(--forge-badge-border-width, var(--forge-border-thin, 1px));--_badge-border-style:var(--forge-badge-border-style, none);--_badge-border-color:var(--forge-badge-border-color, var(--_badge-color));--_badge-gap:var(--forge-badge-gap, var(--forge-spacing-xsmall, 8px));--_badge-font-weight:var(--forge-badge-font-weight, bold);--_badge-dot-size:var(--forge-badge-dot-size, 8px);--_badge-dot-height:var(--forge-badge-dot-height, var(--_badge-dot-size));--_badge-dot-width:var(--forge-badge-dot-width, var(--_badge-dot-size));--_badge-dot-padding:var(--forge-badge-dot-padding, 0);--_badge-transition-duration:var(--forge-badge-transition-duration, var(--forge-animation-duration-short4, 200ms));--_badge-transition-easing:var(--forge-badge-transition-easing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)))}.forge-badge{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);background:var(--_badge-background);color:var(--_badge-color);height:var(--_badge-height);min-width:var(--_badge-min-width);max-width:var(--_badge-max-width);border-width:var(--_badge-border-width);border-style:var(--_badge-border-style);border-color:var(--_badge-border-color);display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;gap:var(--_badge-gap);border-radius:var(--_badge-shape);padding-inline:var(--_badge-padding-inline);padding-block:var(--_badge-padding-block);overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;pointer-events:none;-webkit-transition:-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing);transition:transform var(--_badge-transition-duration) var(--_badge-transition-easing),-webkit-transform var(--_badge-transition-duration) var(--_badge-transition-easing);font-weight:var(--_badge-font-weight);text-overflow:ellipsis;white-space:nowrap}::slotted(:is([slot=start],[slot=end])){font-size:inherit}:host([hide]) .forge-badge{-webkit-transform:scale(0);transform:scale(0)}:host([dot]) .forge-badge{--_badge-height:var(--_badge-dot-height);--_badge-min-width:var(--forge-badge-min-width, auto);padding:var(--_badge-dot-padding);width:var(--_badge-dot-width)}:host([dot]) .forge-badge>slot{display:none}:host([theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary-container, #d1d5ed));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary-container, #222c62))}:host([strong][theme=primary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-primary, #3f51b5));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-primary, #ffffff))}:host([theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary-container, #fff0c3));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary-container, #8a6804))}:host([strong][theme=secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-secondary, #ffc107));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-secondary, #000000))}:host([theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary-container, #d0d7ff));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary-container, #213189))}:host([strong][theme=tertiary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-tertiary, #3d5afe));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-tertiary, #ffffff))}:host([theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success-container, #cde0ce));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success-container, #19441b))}:host([strong][theme=success]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-success, #2e7d32));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-success, #ffffff))}:host([theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning-container, #f4d3c2));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning-container, #712700))}:host([strong][theme=warning]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-warning, #d14900));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-warning, #ffffff))}:host(:not([strong]):is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error-container, #ecc2c9));--_badge-color:var(--forge-badge-color, var(--forge-theme-error, #b00020))}:host([strong]:is([theme=error],[theme=danger])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-error, #b00020));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-error, #ffffff))}:host(:not([strong]):is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info-container, #c7daf0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info-container, #0b3768))}:host([strong]:is([theme=info],[theme=info-primary])) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-info, #1565c0));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-info, #ffffff))}:host(:not([strong])[theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-container-low, #ebebeb));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-container-low, #000000))}:host([strong][theme=info-secondary]) .forge-badge{--_badge-background:var(--forge-badge-background, var(--forge-theme-surface-inverse, #333333));--_badge-color:var(--forge-badge-color, var(--forge-theme-on-surface-inverse, #ffffff))}';\r\n\r\nexport interface IBadgeComponent extends IBaseComponent {\r\n dot: boolean;\r\n theme: BadgeTheme;\r\n strong: boolean;\r\n hide: boolean;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n 'forge-badge': IBadgeComponent;\r\n }\r\n}\r\n\r\n/**\r\n * @tag forge-badge\r\n * \r\n * @summary Badges are non-interactive components used to inform status, counts, or as a descriptive label.\r\n * \r\n * @property {boolean} dot - Controls whether the badge will be a small dot without any content visible.\r\n * @property {BadgeTheme} theme - The theme of the badge.\r\n * @property {boolean} strong - Controls whether the badge will have a stronger visual appearance.\r\n * @property {boolean} hide - Controls whether the badge is visible.\r\n * \r\n * @attribute {boolean} dot - When present, the badge will be a small dot without any content visible.\r\n * @attribute {BadgeTheme} theme - The theme of the badge.\r\n * @attribute {boolean} strong - Controls whether the badge will have a stronger visual appearance.\r\n * @attribute {boolean} hide - Controls whether the badge is visible.\r\n * \r\n * @cssproperty --forge-badge-background - The background color.\r\n * @cssproperty --forge-badge-color - The text color.\r\n * @cssproperty --forge-badge-shape - The shape radius.\r\n * @cssproperty --forge-badge-padding-inline - The inline padding.\r\n * @cssproperty --forge-badge-padding-block - The block padding.\r\n * @cssproperty --forge-badge-border-width - The border width.\r\n * @cssproperty --forge-badge-border-color - The border color.\r\n * @cssproperty --forge-badge-border-style - The border style.\r\n * @cssproperty --forge-badge-gap - The spacing between the content within the badge.\r\n * \r\n * @slot - Default content placed inside the badge.\r\n * @slot start - Content placed before the default content.\r\n * @slot end - Content placed after the default content.\r\n */\r\n@CustomElement({\r\n name: BADGE_CONSTANTS.elementName\r\n})\r\nexport class BadgeComponent extends BaseComponent implements IBadgeComponent {\r\n constructor() {\r\n super();\r\n attachShadowTemplate(this, template, styles);\r\n }\r\n\r\n public get dot(): boolean {\r\n return this.hasAttribute(BADGE_CONSTANTS.attributes.DOT);\r\n }\r\n public set dot(value: boolean) {\r\n this.toggleAttribute(BADGE_CONSTANTS.attributes.DOT, value);\r\n }\r\n\r\n public get theme(): BadgeTheme {\r\n return this.getAttribute(BADGE_CONSTANTS.attributes.THEME) as BadgeTheme ?? BADGE_CONSTANTS.defaults.THEME;\r\n }\r\n public set theme(value: BadgeTheme) {\r\n this.setAttribute(BADGE_CONSTANTS.attributes.THEME, value);\r\n }\r\n\r\n public get strong(): boolean {\r\n return this.hasAttribute(BADGE_CONSTANTS.attributes.STRONG);\r\n }\r\n public set strong(value: boolean) {\r\n this.toggleAttribute(BADGE_CONSTANTS.attributes.STRONG, value);\r\n }\r\n\r\n public get hide(): boolean {\r\n return this.hasAttribute(BADGE_CONSTANTS.attributes.HIDE);\r\n }\r\n public set hide(value: boolean) {\r\n if (this.hasAttribute(BADGE_CONSTANTS.attributes.HIDE) !== value) {\r\n this.toggleAttribute(BADGE_CONSTANTS.attributes.HIDE, value);\r\n }\r\n }\r\n}\r\n", "import { defineCustomElement } from '@tylertech/forge-core';\r\n\r\nimport { BadgeComponent } from './badge';\r\n\r\nexport * from './badge-constants';\r\nexport * from './badge';\r\n\r\nexport function defineBadgeComponent(): void {\r\n defineCustomElement(BadgeComponent);\r\n}\r\n"],
|
|
5
|
+
"mappings": "6IAEA,IAAMA,EAA2C,GAAGC,SAE9CC,EAAa,CACjB,IAAK,MACL,KAAM,OACN,MAAO,QACP,OAAQ,QACV,EAEMC,EAAU,CACd,KAAM,MACR,EAEMC,EAAY,CAChB,KAAM,cACR,EAEMC,EAAW,CACf,MAAO,SACT,EAEaC,EAAkB,CAC7B,YAAAN,EACA,WAAAE,EACA,UAAAE,EACA,QAAAD,EACA,SAAAE,CACF,ECzBA,IAAME,EAAW,kIACXC,EAAS,w0OA+CFC,EAAN,cAA6BC,CAAyC,CAC3E,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,CAC7C,CAEA,IAAW,KAAe,CACxB,OAAO,KAAK,aAAaI,EAAgB,WAAW,GAAG,CACzD,CACA,IAAW,IAAIC,EAAgB,CAC7B,KAAK,gBAAgBD,EAAgB,WAAW,IAAKC,CAAK,CAC5D,CAEA,IAAW,OAAoB,CAjEjC,IAAAC,EAkEI,OAAOA,EAAA,KAAK,aAAaF,EAAgB,WAAW,KAAK,IAAlD,KAAAE,EAAqEF,EAAgB,SAAS,KACvG,CACA,IAAW,MAAMC,EAAmB,CAClC,KAAK,aAAaD,EAAgB,WAAW,MAAOC,CAAK,CAC3D,CAEA,IAAW,QAAkB,CAC3B,OAAO,KAAK,aAAaD,EAAgB,WAAW,MAAM,CAC5D,CACA,IAAW,OAAOC,EAAgB,CAChC,KAAK,gBAAgBD,EAAgB,WAAW,OAAQC,CAAK,CAC/D,CAEA,IAAW,MAAgB,CACzB,OAAO,KAAK,aAAaD,EAAgB,WAAW,IAAI,CAC1D,CACA,IAAW,KAAKC,EAAgB,CAC1B,KAAK,aAAaD,EAAgB,WAAW,IAAI,IAAMC,GACzD,KAAK,gBAAgBD,EAAgB,WAAW,KAAMC,CAAK,CAE/D,CACF,EAnCaJ,EAANM,EAAA,CAHNC,EAAc,CACb,KAAMJ,EAAgB,WACxB,CAAC,GACYH,GC7CN,SAASQ,GAA6B,CAC3CC,EAAoBC,CAAc,CACpC",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "defaults", "BADGE_CONSTANTS", "template", "styles", "BadgeComponent", "BaseComponent", "attachShadowTemplate", "BADGE_CONSTANTS", "value", "_a", "__decorateClass", "CustomElement", "defineBadgeComponent", "defineCustomElement", "BadgeComponent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as C,j as x}from"./chunk.HPCXVNG6.js";import{a as S}from"./chunk.ZY3ETQ3D.js";import{a as u}from"./chunk.NVUMRW44.js";import{a as T,b as I}from"./chunk.UVXKHQQZ.js";import{e as y,f as b,k as A}from"./chunk.TPXXHX5J.js";import{k as L}from"./chunk.J2M2MXP2.js";import{a as g,d as h}from"./chunk.M3QDAYD2.js";var F=`${I}state-layer`,Y={TARGET:"target",DISABLED:"disabled"},$=g({},Y),V={SURFACE:".forge-state-layer"},W={HOVERED:"forge-state-layer--hovered",PRESSED:"forge-state-layer--pressed"},s={elementName:F,attributes:$,selectors:V,classes:W},d=class n{constructor(e,t){this.x=e;this.y=t}static fromPointerEvent(e){return new n(e.pageX,e.pageY)}},P=150,N=450,f=225,M=.2,D=10,R=75,H=.35,O="::after",w="forwards",k="cubic-bezier(0.2, 0, 0, 1)",B=(r=>(r[r.INACTIVE=0]="INACTIVE",r[r.TOUCH_DELAY=1]="TOUCH_DELAY",r[r.HOLDING=2]="HOLDING",r[r.WAITING_FOR_CLICK=3]="WAITING_FOR_CLICK",r))(B||{});function G(n){let{height:e,width:t}=n.getBoundingClientRect(),i=Math.max(e,t),r=Math.max(H*i,R),a=Math.floor(i*M),_=`${(Math.sqrt(t**2+e**2)+D+r)/a}`,c=`${a}px`;return{rippleScale:_,rippleSize:c,initialSize:a}}function U(n,e,t){let{height:i,width:r}=n.getBoundingClientRect(),a={x:(r-e)/2,y:(i-e)/2},o;return X(t)?o=K(n,t):o={x:r/2,y:i/2},o={x:o.x-e/2,y:o.y-e/2},{startPoint:o,endPoint:a}}function K(n,e){let{scrollX:t,scrollY:i}=window,{left:r,top:a}=n.getBoundingClientRect(),o=t+r,p=i+a,{x:_,y:c}=e;return{x:_-o,y:c-p}}function z(n,e,t){let{height:i,width:r}=n.getBoundingClientRect();return e>=0&&e<=r&&t>=0&&t<=i}function X(n){return n&&(n instanceof d||["x","y"].every(e=>e in n))}var m=class extends S{constructor(t){super(t);this._targetElement=null;this._surfaceElement=b(t,s.selectors.SURFACE)}destroy(){typeof this._destroyDeferListener=="function"&&(this._destroyDeferListener(),this._destroyDeferListener=void 0),this._targetElement=null}async deferInitialization(t){if(!this._targetElement)return;let{userInteraction:i,destroy:r}=C(this._targetElement);this._destroyDeferListener=r;let a=await i;t(a.type==="pointerenter"?a:void 0)}addTargetListener(t,i){var r;(r=this._targetElement)==null||r.addEventListener(t,i)}removeTargetListener(t,i){var r;(r=this._targetElement)==null||r.removeEventListener(t,i)}setHovered(t){this._surfaceElement.classList.toggle(s.classes.HOVERED,t)}setPressed(t){this._surfaceElement.classList.toggle(s.classes.PRESSED,t)}getTargetElement(){return this._targetElement}setTargetElement(t){this._targetElement=t}trySetTarget(t){this._targetElement=x(this._component,t)}startAnimation(t){var E;if(!this._surfaceElement)return;this.setPressed(!0),(E=this._rippleAnimation)==null||E.cancel();let{rippleSize:i,rippleScale:r,initialSize:a}=G(this._component),{startPoint:o,endPoint:p}=U(this._component,a,t),_=`${o.x}px, ${o.y}px`,c=`${p.x}px, ${p.y}px`;this._rippleAnimation=this._surfaceElement.animate({top:[0,0],left:[0,0],height:[i,i],width:[i,i],transform:[`translate(${_}) scale(1)`,`translate(${c}) scale(${r})`]},{pseudoElement:O,duration:N,easing:k,fill:w})}async endAnimation(){var r;let t=this._rippleAnimation,i=(r=t==null?void 0:t.currentTime)!=null?r:1/0;if(i>=f){this.setPressed(!1);return}await new Promise(a=>{setTimeout(a,f-i)}),this._rippleAnimation===t&&this.setPressed(!1)}inBounds(t,i){return z(this._component,t,i)}};var v=class{constructor(e){this._adapter=e;this._target=null;this._disabled=!1;this._attached=!1;this._deferred=!0;this._pointerState=0;this._checkBoundsAfterContextMenu=!1;this._pointerEnterListener=t=>this._onPointerEnter(t),this._pointerLeaveListener=t=>this._onPointerLeave(t),this._pointerDownListener=t=>this._onPointerDown(t),this._pointerUpListener=t=>this._onPointerUp(t),this._pointerCancelListener=t=>this._onPointerCancel(t),this._clickListener=()=>this._onClick(),this._contextmenuListener=()=>this._onContextmenu()}initialize(){this._adapter.trySetTarget(this._target),this._adapter.addTargetListener("click",this._clickListener),this._deferInitialization()}disconnect(){this._pointerStartEvent=void 0,this._pointerState=0,this._adapter.setHovered(!1),this._adapter.setPressed(!1),this._removeListeners(),this._adapter.destroy()}playAnimation(e){this._adapter.startAnimation(e),this._endAnimation()}_deferInitialization(){this._adapter.deferInitialization(this._onDeferredInitialize.bind(this))}_applyListeners(){this._disabled||(this._adapter.addTargetListener("pointerenter",this._pointerEnterListener),this._adapter.addTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.addTargetListener("pointerdown",this._pointerDownListener),this._adapter.addTargetListener("pointerup",this._pointerUpListener),this._adapter.addTargetListener("pointercancel",this._pointerCancelListener),this._adapter.addTargetListener("contextmenu",this._contextmenuListener),this._attached=!0)}_removeListeners(){this._adapter.removeTargetListener("pointerenter",this._pointerEnterListener),this._adapter.removeTargetListener("pointerleave",this._pointerLeaveListener),this._adapter.removeTargetListener("pointerdown",this._pointerDownListener),this._adapter.removeTargetListener("pointerup",this._pointerUpListener),this._adapter.removeTargetListener("pointercancel",this._pointerCancelListener),this._adapter.removeTargetListener("click",this._clickListener),this._adapter.removeTargetListener("contextmenu",this._contextmenuListener),this._attached=!1}_onDeferredInitialize(e){this._adapter.isConnected&&(this._applyListeners(),(e==null?void 0:e.type)==="pointerenter"&&this._pointerEnterListener(e),this._deferred=!1)}_onPointerEnter(e){this._canHandleEvent(e)&&this._adapter.setHovered(!0)}_onPointerLeave(e){this._canHandleEvent(e)&&(this._adapter.setHovered(!1),this._pointerState!==0&&this._adapter.endAnimation())}async _onPointerDown(e){if(this._pointerStartEvent=e,!!this._canHandleEvent(e)){if(!this._isTouch(e.pointerType)){this._pointerState=3,this._startAnimation(e);return}this._checkBoundsAfterContextMenu&&!this._adapter.inBounds(e.x,e.y)||(this._checkBoundsAfterContextMenu=!1,this._pointerState=1,await new Promise(t=>setTimeout(t,P)),this._pointerState===1&&(this._pointerState=2,this._startAnimation(e)))}}_onPointerUp(e){if(this._canHandleEvent(e)){if(this._pointerState===2){this._pointerState=3;return}if(this._pointerState===1){this._pointerState=3,this._startAnimation(this._pointerStartEvent);return}}}_onClick(){if(!this._disabled){if(this._pointerState===3){this._endAnimation();return}this._pointerState===0&&(this._startAnimation(this._pointerStartEvent),this._endAnimation())}}_onPointerCancel(e){this._canHandleEvent(e)&&this._endAnimation()}_onContextmenu(){this._disabled||(this._checkBoundsAfterContextMenu=!0,this._adapter.endAnimation())}_startAnimation(e){let t=e?d.fromPointerEvent(e):void 0;this._adapter.startAnimation(t)}_endAnimation(){this._pointerState=0,this._adapter.endAnimation(),this._pointerStartEvent=void 0}_canHandleEvent({type:e,isPrimary:t,buttons:i,pointerType:r,pointerId:a}){if(this._disabled||!t||this._pointerStartEvent&&this._pointerStartEvent.pointerId!==a)return!1;if(e==="pointerenter"||e==="pointerleave")return!this._isTouch(r);let o=i===1;return this._isTouch(r)||o}_isTouch(e){return e==="touch"}get isAttached(){return this._attached}get targetElement(){return this._adapter.getTargetElement()}set targetElement(e){this._removeListeners(),this._attached||(this._adapter.destroy(),this._deferred=!1),this._adapter.setTargetElement(e),this._deferred||this._deferInitialization()}get target(){return this._adapter.getHostAttribute(s.attributes.TARGET)}set target(e){this._target!==e&&(this._target=e,this._adapter.isConnected&&(this._removeListeners(),this._attached||(this._adapter.destroy(),this._deferred=!1),this._adapter.trySetTarget(e),this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.TARGET,!!this._target,this._target))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._disabled=e,this._adapter.isConnected&&(this._disabled?this._removeListeners():this._deferred||this._deferInitialization()),this._adapter.toggleHostAttribute(s.attributes.DISABLED,this._disabled))}};var Z='<template><div class="forge-state-layer" part="surface"></div></template>',q=':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:"";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}',l=class extends A{constructor(){super();y(this,Z,q),this._foundation=new v(new m(this))}static get observedAttributes(){return[s.attributes.TARGET,s.attributes.DISABLED]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,r){switch(t){case s.attributes.TARGET:this.target=r;break;case s.attributes.DISABLED:this.disabled=L(r);break}}playAnimation(t){this._foundation.playAnimation(t)}};h([u()],l.prototype,"targetElement",2),h([u()],l.prototype,"target",2),h([u()],l.prototype,"disabled",2),l=h([T({name:s.elementName})],l);export{s as a,d as b,P as c,N as d,f as e,M as f,D as g,R as h,H as i,O as j,w as k,k as l,B as m,m as n,v as o,l as p};
|
|
7
|
+
//# sourceMappingURL=chunk.FTADCSFT.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/state-layer/state-layer-constants.ts", "../../src/state-layer/state-layer-utils.ts", "../../src/state-layer/state-layer-adapter.ts", "../../src/state-layer/state-layer-foundation.ts", "../../src/state-layer/state-layer.ts"],
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName = `${COMPONENT_NAME_PREFIX}state-layer`;\n\nconst observedAttributes = {\n TARGET: 'target',\n DISABLED: 'disabled'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst selectors = {\n SURFACE: '.forge-state-layer'\n};\n\nconst classes = {\n HOVERED: 'forge-state-layer--hovered',\n PRESSED: 'forge-state-layer--pressed'\n};\n\nexport const STATE_LAYER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n classes\n};\n\nexport class StateLayerCoords {\n constructor(public x: number, public y: number) {}\n\n public static fromPointerEvent(event: PointerEvent): StateLayerCoords {\n return new StateLayerCoords(event.pageX, event.pageY);\n }\n}\n\nexport const TOUCH_DELAY_MS = 150;\nexport const PRESS_GROW_MS = 450;\nexport const MINIMUM_PRESS_MS = 225;\nexport const INITIAL_ORIGIN_SCALE = 0.2;\nexport const PADDING = 10;\nexport const SOFT_EDGE_MINIMUM_SIZE = 75;\nexport const SOFT_EDGE_CONTAINER_RATIO = 0.35;\nexport const PRESS_PSEUDO = '::after';\nexport const ANIMATION_FILL = 'forwards';\nexport const EASING = 'cubic-bezier(0.2, 0, 0, 1)';\n\n/**\n * Interaction states for the state layer.\n *\n * On Touch:\n * - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n * - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n *\n * On Mouse or Pen:\n * - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`\n */\nexport enum PointerState {\n /**\n * Initial state of the control, no touch in progress.\n *\n * Transitions:\n * - on touch down: transition to `TOUCH_DELAY`.\n * - on mouse down: transition to `WAITING_FOR_CLICK`.\n */\n INACTIVE,\n /**\n * Touch down has been received, waiting to determine if it's a swipe or\n * scroll.\n *\n * Transitions:\n * - on touch up: begin press; transition to `WAITING_FOR_CLICK`.\n * - on cancel: transition to `INACTIVE`.\n * - after `TOUCH_DELAY_MS`: begin press; transition to `HOLDING`.\n */\n TOUCH_DELAY,\n /**\n * A touch has been deemed to be a press\n *\n * Transitions:\n * - on up: transition to `WAITING_FOR_CLICK`.\n */\n HOLDING,\n /**\n * The user touch has finished, transition into rest state.\n *\n * Transitions:\n * - on click end press; transition to `INACTIVE`.\n */\n WAITING_FOR_CLICK\n}\n", "import { INITIAL_ORIGIN_SCALE, PADDING, SOFT_EDGE_CONTAINER_RATIO, SOFT_EDGE_MINIMUM_SIZE, StateLayerCoords } from './state-layer-constants';\n\nexport function calcRippleSize(hostEl: HTMLElement): { rippleScale: string; rippleSize: string; initialSize: number } {\n const { height, width } = hostEl.getBoundingClientRect();\n const maxDim = Math.max(height, width);\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE);\n const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2);\n const maxRadius = hypotenuse + PADDING;\n const rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`;\n const rippleSize = `${initialSize}px`;\n return { rippleScale, rippleSize, initialSize };\n}\n\nexport function getTranslationCoordinates(hostEl: HTMLElement, initialSize: number, coords?: StateLayerCoords): { startPoint: { x: number; y: number }; endPoint: { x: number; y: number } } {\n const { height, width } = hostEl.getBoundingClientRect();\n const endPoint = {\n x: (width - initialSize) / 2,\n y: (height - initialSize) / 2\n };\n\n let startPoint;\n if (isValidCoords(coords)) {\n startPoint = toNormalizedCoords(hostEl, coords);\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2\n };\n }\n\n startPoint = {\n x: startPoint.x - (initialSize / 2),\n y: startPoint.y - (initialSize / 2)\n };\n\n return { startPoint, endPoint };\n}\n\nexport function toNormalizedCoords(hostEl: HTMLElement, coords: StateLayerCoords): { x: number; y: number } {\n const { scrollX, scrollY } = window;\n const { left, top } = hostEl.getBoundingClientRect();\n const documentX = scrollX + left;\n const documentY = scrollY + top;\n const { x, y } = coords;\n return { x: x - documentX, y: y - documentY };\n}\n\nexport function isInBounds(hostEl: HTMLElement, x: number, y: number): boolean {\n const { height, width } = hostEl.getBoundingClientRect();\n return x >= 0 && x <= width && y >= 0 && y <= height;\n}\n\nfunction isValidCoords(value: any): value is StateLayerCoords {\n return value && (value instanceof StateLayerCoords || ['x', 'y'].every(key => key in value));\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { locateTargetHeuristic, createUserInteractionListener } from '../core/utils/utils';\nimport { IStateLayerComponent } from './state-layer';\nimport { ANIMATION_FILL, EASING, MINIMUM_PRESS_MS, PRESS_GROW_MS, PRESS_PSEUDO, StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { calcRippleSize, getTranslationCoordinates, isInBounds } from './state-layer-utils';\n\nexport interface IStateLayerAdapter extends IBaseAdapter {\n destroy(): void;\n deferInitialization(listener: (evt?: PointerEvent) => void): void;\n getTargetElement(): HTMLElement | null;\n setTargetElement(el: HTMLElement | null): void;\n trySetTarget(value?: string | null): void;\n addTargetListener(type: string, listener: EventListener): void;\n removeTargetListener(type: string, listener: EventListener): void;\n setHovered(hovered: boolean): void;\n setPressed(pressed: boolean): void;\n startAnimation(coords?: StateLayerCoords): void;\n endAnimation(): Promise<void>;\n inBounds(x: number, y: number): boolean;\n}\n\nexport class StateLayerAdapter extends BaseAdapter<IStateLayerComponent> implements IStateLayerAdapter {\n private readonly _surfaceElement: HTMLElement;\n private _targetElement: HTMLElement | null = null;\n private _rippleAnimation: Animation | undefined;\n private _destroyDeferListener: (() => void) | undefined;\n\n constructor(component: IStateLayerComponent) {\n super(component);\n this._surfaceElement = getShadowElement(component, STATE_LAYER_CONSTANTS.selectors.SURFACE);\n }\n\n public destroy(): void {\n if (typeof this._destroyDeferListener === 'function') {\n this._destroyDeferListener();\n this._destroyDeferListener = undefined;\n }\n this._targetElement = null;\n }\n\n public async deferInitialization(listener: (evt?: PointerEvent) => void): Promise<void> {\n if (!this._targetElement) {\n return;\n }\n const { userInteraction, destroy } = createUserInteractionListener(this._targetElement);\n this._destroyDeferListener = destroy;\n const evt = await userInteraction;\n listener(evt.type === 'pointerenter' ? evt as PointerEvent : undefined);\n }\n\n public addTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: EventListener): void {\n this._targetElement?.removeEventListener(type, listener);\n }\n\n public setHovered(hovered: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.HOVERED, hovered);\n }\n \n public setPressed(pressed: boolean): void {\n this._surfaceElement.classList.toggle(STATE_LAYER_CONSTANTS.classes.PRESSED, pressed);\n }\n\n public getTargetElement(): HTMLElement | null {\n return this._targetElement;\n }\n\n public setTargetElement(el: HTMLElement | null): void {\n this._targetElement = el;\n }\n\n public trySetTarget(value?: string | null): void {\n this._targetElement = locateTargetHeuristic(this._component, value);\n }\n\n public startAnimation(coords?: StateLayerCoords): void {\n if (!this._surfaceElement) {\n return;\n }\n\n this.setPressed(true);\n this._rippleAnimation?.cancel();\n\n const { rippleSize, rippleScale, initialSize } = calcRippleSize(this._component);\n const { startPoint, endPoint } = getTranslationCoordinates(this._component, initialSize, coords);\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`;\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;\n\n this._rippleAnimation = this._surfaceElement.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [rippleSize, rippleSize],\n width: [rippleSize, rippleSize],\n transform: [\n `translate(${translateStart}) scale(1)`,\n `translate(${translateEnd}) scale(${rippleScale})`\n ]\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: EASING,\n fill: ANIMATION_FILL\n });\n }\n\n public async endAnimation(): Promise<void> {\n const animation = this._rippleAnimation;\n const pressAnimationPlayState = animation?.currentTime ?? Infinity;\n\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.setPressed(false);\n return;\n }\n\n await new Promise(resolve => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState);\n });\n\n if (this._rippleAnimation !== animation) {\n return;\n }\n\n this.setPressed(false);\n }\n\n public inBounds(x: number, y: number): boolean {\n return isInBounds(this._component, x, y);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\n\nimport { IStateLayerAdapter } from './state-layer-adapter';\nimport { PointerState, StateLayerCoords, STATE_LAYER_CONSTANTS, TOUCH_DELAY_MS } from './state-layer-constants';\n\nexport interface IStateLayerFoundation extends ICustomElementFoundation {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\nexport class StateLayerFoundation implements IStateLayerFoundation {\n // State\n private _target: string | null = null;\n private _disabled = false;\n private _attached = false;\n private _deferred = true;\n private _pointerStartEvent: PointerEvent | undefined;\n private _pointerState: PointerState = PointerState.INACTIVE;\n private _checkBoundsAfterContextMenu = false;\n\n // Listeners\n private _pointerEnterListener: EventListener;\n private _pointerLeaveListener: EventListener;\n private _pointerDownListener: EventListener;\n private _pointerUpListener: EventListener;\n private _pointerCancelListener: EventListener;\n private _clickListener: EventListener;\n private _contextmenuListener: EventListener;\n\n constructor(private _adapter: IStateLayerAdapter) {\n this._pointerEnterListener = (evt: PointerEvent) => this._onPointerEnter(evt);\n this._pointerLeaveListener = (evt: PointerEvent) => this._onPointerLeave(evt);\n this._pointerDownListener = (evt: PointerEvent) => this._onPointerDown(evt);\n this._pointerUpListener = (evt: PointerEvent) => this._onPointerUp(evt);\n this._pointerCancelListener = (evt: PointerEvent) => this._onPointerCancel(evt);\n this._clickListener = () => this._onClick();\n this._contextmenuListener = () => this._onContextmenu();\n }\n\n public initialize(): void {\n this._adapter.trySetTarget(this._target);\n\n // Clicks could be triggered programmatically so we need to listen for them regardless\n // of deferred initialization status\n this._adapter.addTargetListener('click', this._clickListener);\n\n // We defer initialization until the first pointerenter event is received.\n //\n // This is a performance optimization to avoid attaching many listeners to the target element\n // until the user is first interacting with it.\n this._deferInitialization();\n }\n\n public disconnect(): void {\n this._pointerStartEvent = undefined;\n this._pointerState = PointerState.INACTIVE;\n this._adapter.setHovered(false);\n this._adapter.setPressed(false);\n this._removeListeners(); // Must be called before destroying adapter\n this._adapter.destroy();\n }\n\n public playAnimation(coords?: StateLayerCoords): void {\n this._adapter.startAnimation(coords);\n this._endAnimation();\n }\n\n private _deferInitialization(): void {\n this._adapter.deferInitialization(this._onDeferredInitialize.bind(this));\n }\n\n private _applyListeners(): void {\n if (this._disabled) {\n return;\n }\n\n this._adapter.addTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.addTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.addTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.addTargetListener('pointerup', this._pointerUpListener);\n this._adapter.addTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.addTargetListener('contextmenu', this._contextmenuListener);\n this._attached = true;\n }\n\n private _removeListeners(): void {\n this._adapter.removeTargetListener('pointerenter', this._pointerEnterListener);\n this._adapter.removeTargetListener('pointerleave', this._pointerLeaveListener);\n this._adapter.removeTargetListener('pointerdown', this._pointerDownListener);\n this._adapter.removeTargetListener('pointerup', this._pointerUpListener);\n this._adapter.removeTargetListener('pointercancel', this._pointerCancelListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._adapter.removeTargetListener('contextmenu', this._contextmenuListener);\n this._attached = false;\n }\n\n private _onDeferredInitialize(evt?: PointerEvent): void {\n if (!this._adapter.isConnected) {\n return;\n }\n\n this._applyListeners();\n\n if (evt?.type === 'pointerenter') {\n // Manually trigger the pointerenter listener since this is in response to a pointerenter event already\n this._pointerEnterListener(evt);\n }\n \n this._deferred = false;\n }\n\n private _onPointerEnter(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._adapter.setHovered(true);\n }\n\n private _onPointerLeave(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n this._adapter.setHovered(false);\n\n if (this._pointerState !== PointerState.INACTIVE) {\n this._adapter.endAnimation();\n }\n }\n\n private async _onPointerDown(evt: PointerEvent): Promise<void> {\n this._pointerStartEvent = evt;\n\n if (!this._canHandleEvent(evt)) {\n return;\n }\n \n if (!this._isTouch(evt.pointerType)) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(evt);\n return;\n }\n\n // after a longpress contextmenu event, an extra `pointerdown` can be\n // dispatched to the pressed element. Check that the down is within\n // bounds of the element in this case.\n if (this._checkBoundsAfterContextMenu && !this._adapter.inBounds(evt.x, evt.y)) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = false;\n\n this._pointerState = PointerState.TOUCH_DELAY;\n await new Promise(resolve => setTimeout(resolve, TOUCH_DELAY_MS));\n\n if (this._pointerState !== PointerState.TOUCH_DELAY) {\n return;\n }\n\n this._pointerState = PointerState.HOLDING;\n this._startAnimation(evt);\n }\n\n private _onPointerUp(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n\n if (this._pointerState === PointerState.HOLDING) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n return;\n }\n\n if (this._pointerState === PointerState.TOUCH_DELAY) {\n this._pointerState = PointerState.WAITING_FOR_CLICK;\n this._startAnimation(this._pointerStartEvent);\n return;\n }\n }\n\n private _onClick(): void {\n if (this._disabled) {\n return;\n }\n\n if (this._pointerState === PointerState.WAITING_FOR_CLICK) {\n this._endAnimation();\n return;\n }\n\n if (this._pointerState === PointerState.INACTIVE) {\n this._startAnimation(this._pointerStartEvent);\n this._endAnimation();\n }\n }\n\n private _onPointerCancel(evt: PointerEvent): void {\n if (!this._canHandleEvent(evt)) {\n return;\n }\n this._endAnimation();\n }\n\n private _onContextmenu(): void {\n if (this._disabled) {\n return;\n }\n\n this._checkBoundsAfterContextMenu = true;\n this._adapter.endAnimation();\n }\n\n private _startAnimation(evt?: PointerEvent): void {\n const coords = evt ? StateLayerCoords.fromPointerEvent(evt) : undefined;\n this._adapter.startAnimation(coords);\n }\n\n private _endAnimation(): void {\n this._pointerState = PointerState.INACTIVE;\n this._adapter.endAnimation();\n this._pointerStartEvent = undefined;\n }\n\n private _canHandleEvent({ type, isPrimary, buttons, pointerType, pointerId }: PointerEvent): boolean {\n if (this._disabled || !isPrimary) {\n return false;\n }\n\n if (this._pointerStartEvent && this._pointerStartEvent.pointerId !== pointerId) {\n return false;\n }\n\n if (type === 'pointerenter' || type === 'pointerleave') {\n return !this._isTouch(pointerType);\n }\n\n const isPrimaryButton = buttons === 1;\n return this._isTouch(pointerType) || isPrimaryButton;\n }\n\n private _isTouch(pointerType: string): boolean {\n return pointerType === 'touch';\n }\n\n public get isAttached(): boolean {\n return this._attached;\n }\n\n public get targetElement(): HTMLElement | null {\n return this._adapter.getTargetElement();\n }\n public set targetElement(el: HTMLElement | null) {\n // Always remove the listeners from the previous target element\n this._removeListeners();\n\n // If unattached destroy the defer listener to recreate on the new target element\n if (!this._attached) {\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.setTargetElement(el);\n\n // If we are not already deferring attaching the listeners, then do that now\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n public get target(): string | null {\n return this._adapter.getHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET);\n }\n public set target(value: string | null) {\n if (this._target !== value) {\n this._target = value;\n\n if (this._adapter.isConnected) {\n // Always remove the listeners from the previous target element\n this._removeListeners();\n\n if (!this._attached) {\n this._adapter.destroy();\n this._deferred = false;\n }\n\n this._adapter.trySetTarget(value);\n\n if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.TARGET, Boolean(this._target), this._target as string);\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\n if (this._adapter.isConnected) {\n if (this._disabled) {\n this._removeListeners();\n } else if (!this._deferred) {\n this._deferInitialization();\n }\n }\n\n this._adapter.toggleHostAttribute(STATE_LAYER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { StateLayerAdapter } from './state-layer-adapter';\nimport { StateLayerFoundation } from './state-layer-foundation';\nimport { StateLayerCoords, STATE_LAYER_CONSTANTS } from './state-layer-constants';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-state-layer\\\" part=\\\"surface\\\"></div></template>';\nconst styles = ':host{border-radius:inherit;position:absolute;inset:0;overflow:hidden;display:-webkit-box;display:flex;margin:auto;pointer-events:none;-webkit-tap-highlight-color:transparent}:host([hidden]){display:none}:host([disabled]){display:none}.forge-state-layer{--_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));--_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));--_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);--_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));--_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);--_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);--_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);--_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms)}.forge-state-layer::after,.forge-state-layer::before{content:\\\"\\\";opacity:0;position:absolute}.forge-state-layer::before{background-color:var(--_state-layer-hover-color);inset:0;-webkit-transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear;transition:opacity var(--_state-layer-hover-duration) linear,background-color var(--_state-layer-hover-duration) linear}.forge-state-layer::after{background:radial-gradient(closest-side,var(--_state-layer-pressed-color) max(100% - 70px,65%),transparent 100%);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity var(--_state-layer-animation-duration) linear;transition:opacity var(--_state-layer-animation-duration) linear}.forge-state-layer--hovered::before{background-color:var(--_state-layer-hover-color);opacity:var(--_state-layer-hover-opacity)}.forge-state-layer--pressed::after{opacity:var(--_state-layer-pressed-opacity);-webkit-transition-duration:var(--_state-layer-pressed-duration);transition-duration:var(--_state-layer-pressed-duration)}@media screen and (forced-colors:active){:host{display:none}}';\n\nexport interface IStateLayerComponent extends IBaseComponent {\n targetElement: HTMLElement | null;\n target: string | null;\n disabled: boolean;\n playAnimation(coords?: StateLayerCoords): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-state-layer': IStateLayerComponent;\n }\n}\n\n/**\n * @tag forge-state-layer\n * \n * @summary State layers show the interaction status of an element.\n * \n * @description \n * A state layer is a semi-transparent overlay on an element that indicates its interaction\n * state. State layers provide a systematic approach to visualizing states by using opacity.\n * A layer can be applied to an entire element or in a circular shape. Only one state layer\n * can be applied at a given time.\n * \n * @property {HTMLElement} targetElement - The element to attach the state layer to.\n * @property {string} target - The id of the element to attach the state layer to.\n * @property {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @attribute {string} target - The id of the element to attach the state layer to.\n * @attribute {boolean} disabled - Controls whether the state layer is disabled.\n * \n * @cssproperty --forge-state-layer-color - The color of the state layer. Defaults to the on-surface theme.\n * @cssproperty --forge-state-layer-hover-color - The color of the state layer when hovered.\n * @cssproperty --forge-state-layer-hover-opacity - The opacity of the state layer when hovered.\n * @cssproperty --forge-state-layer-pressed-color - The color of the state layer when pressed.\n * @cssproperty --forge-state-layer-pressed-opacity - The opacity of the state layer when pressed.\n * @cssproperty --forge-state-layer-hover-duration - The duration of the hover animation.\n * @cssproperty --forge-state-layer-animation-duration - The duration of the animation.\n * @cssproperty --forge-state-layer-pressed-duration - The duration of the pressed animation.\n * \n * @csspart surface - The surface element.\n */\n@CustomElement({\n name: STATE_LAYER_CONSTANTS.elementName\n})\nexport class StateLayerComponent extends BaseComponent implements IStateLayerComponent {\n public static get observedAttributes(): string[] {\n return [\n STATE_LAYER_CONSTANTS.attributes.TARGET,\n STATE_LAYER_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: StateLayerFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new StateLayerFoundation(new StateLayerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case STATE_LAYER_CONSTANTS.attributes.TARGET:\n this.target = newValue;\n break;\n case STATE_LAYER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare targetElement: HTMLElement | null;\n\n @FoundationProperty()\n public declare target: string | null;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n /**\n * Triggers the animation to run.\n * \n * Note: If coordinates are not provided, the transition will originate from the center of the target element.\n * \n * @param {StateLayerCoords} [coords] - The coordinates to play the animation from.\n */\n public playAnimation(coords?: StateLayerCoords): void {\n this._foundation.playAnimation(coords);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "attributes", "__spreadValues", "selectors", "classes", "STATE_LAYER_CONSTANTS", "StateLayerCoords", "_StateLayerCoords", "x", "y", "event", "TOUCH_DELAY_MS", "PRESS_GROW_MS", "MINIMUM_PRESS_MS", "INITIAL_ORIGIN_SCALE", "PADDING", "SOFT_EDGE_MINIMUM_SIZE", "SOFT_EDGE_CONTAINER_RATIO", "PRESS_PSEUDO", "ANIMATION_FILL", "EASING", "PointerState", "calcRippleSize", "hostEl", "height", "width", "maxDim", "softEdgeSize", "SOFT_EDGE_CONTAINER_RATIO", "SOFT_EDGE_MINIMUM_SIZE", "initialSize", "INITIAL_ORIGIN_SCALE", "rippleScale", "PADDING", "rippleSize", "getTranslationCoordinates", "coords", "endPoint", "startPoint", "isValidCoords", "toNormalizedCoords", "scrollX", "scrollY", "left", "top", "documentX", "documentY", "x", "y", "isInBounds", "value", "StateLayerCoords", "key", "StateLayerAdapter", "BaseAdapter", "component", "getShadowElement", "STATE_LAYER_CONSTANTS", "listener", "userInteraction", "destroy", "createUserInteractionListener", "evt", "type", "_a", "hovered", "pressed", "el", "value", "locateTargetHeuristic", "coords", "rippleSize", "rippleScale", "initialSize", "calcRippleSize", "startPoint", "endPoint", "getTranslationCoordinates", "translateStart", "translateEnd", "PRESS_PSEUDO", "PRESS_GROW_MS", "EASING", "ANIMATION_FILL", "animation", "pressAnimationPlayState", "MINIMUM_PRESS_MS", "resolve", "x", "y", "isInBounds", "StateLayerFoundation", "_adapter", "evt", "coords", "resolve", "TOUCH_DELAY_MS", "StateLayerCoords", "type", "isPrimary", "buttons", "pointerType", "pointerId", "isPrimaryButton", "el", "STATE_LAYER_CONSTANTS", "value", "template", "styles", "StateLayerComponent", "BaseComponent", "attachShadowTemplate", "StateLayerFoundation", "StateLayerAdapter", "STATE_LAYER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coords", "__decorateClass", "FoundationProperty", "CustomElement"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a,d as M}from"./chunk.VN7JOJVU.js";import{a as C}from"./chunk.LEVFMI2Q.js";import{a as O}from"./chunk.ZY3ETQ3D.js";import{a as d}from"./chunk.NVUMRW44.js";import{a as x,b as D}from"./chunk.UVXKHQQZ.js";import{a as T,e as R,f as E,k as N}from"./chunk.TPXXHX5J.js";import{a as y}from"./chunk.MGLWXAZO.js";import{l as A,t as I,u as g}from"./chunk.HZUQXCOQ.js";import{b as m,d as f,k as _}from"./chunk.J2M2MXP2.js";import{a as L,d as l}from"./chunk.M3QDAYD2.js";var Y=`${D}stepper`,F={STEPPER:"forge-stepper",LINEAR:"forge-stepper--linear",ALTERNATIVE:"forge-stepper--alternative",CLUSTERED:"forge-stepper--clustered",FIXED:"forge-stepper--fixed",ALIGN_LEFT:"forge-stepper--align-left",ALIGN_CENTER:"forge-stepper--align-center",ALIGN_RIGHT:"forge-stepper--align-right",VERTICAL:"forge-stepper--vertical",FOCUSED:"forge-stepper--focused"},K={STEPPER:`.${F.STEPPER}`},k={SELECTED_INDEX:"selected-index",LINEAR:"linear",ALTERNATIVE:"alternative",LAYOUT_MODE:"layout-mode",LAYOUT_ALIGN:"layout-align",DISABLED:"disabled",VERTICAL:"vertical"},n={ARROW_LEFT_KEY:"ArrowLeft",ARROW_RIGHT_KEY:"ArrowRight",ARROW_UP_KEY:"ArrowUp",ARROW_DOWN_KEY:"ArrowDown",END_KEY:"End",ENTER_KEY:"Enter",HOME_KEY:"Home",SPACE_KEY:"Space",TAB_KEY:"Tab"},u={ARROW_LEFT_KEYCODE:37,ARROW_RIGHT_KEYCODE:39,END_KEYCODE:35,HOME_KEYCODE:36,ENTER_KEYCODE:13,SPACE_KEYCODE:32},P=[n.ARROW_LEFT_KEY,n.ARROW_RIGHT_KEY,n.ARROW_DOWN_KEY,n.ARROW_UP_KEY,n.END_KEY,n.HOME_KEY,n.ENTER_KEY,n.SPACE_KEY,n.TAB_KEY],H={[u.ARROW_LEFT_KEYCODE]:n.ARROW_LEFT_KEY,[u.ARROW_RIGHT_KEYCODE]:n.ARROW_RIGHT_KEY,[u.END_KEYCODE]:n.END_KEY,[u.HOME_KEYCODE]:n.HOME_KEY,[u.ENTER_KEYCODE]:n.ENTER_KEY,[u.SPACE_KEYCODE]:n.SPACE_KEY},i={elementName:Y,classes:F,selectors:K,attributes:k,numbers:u,strings:n,ACCEPTABLE_KEYS:P,KEYCODE_MAP:H};var c=class S{static createStepElement(t,e,s){var p,v;let o=document.createElement(a.elementName);return o.index=e,o.completed=t.completed||!1,o.editable=t.editable||!1,o.selected=s.selectedIndex===e,o.alternative=s.alternative,o.error=t.error||!1,o.disabled=t.disabled||!1,o.vertical=(v=(p=t.vertical)!=null?p:s.vertical)!=null?v:!1,o.ignoreUserExpansion=t.ignoreUserExpansion||!1,o.expanded=t.expanded||!1,s.linear&&e>s.selectedIndex&&(o.tabIndex=-1),o.textContent=t.label,t.optionalLabel&&o.appendChild(this.createStepOptionalLabel(t.optionalLabel)),o}static createStepOptionalLabel(t){let e=document.createElement("span");return e.slot="optional",e.textContent=t||"",e}static setLinearState(t,e){let s=t.classList.contains(i.classes.LINEAR);s&&!e&&(t.classList.remove(i.classes.LINEAR),s=!1),!s&&e&&t.classList.add(i.classes.LINEAR)}static setAlternativeState(t,e){let s=t.classList.contains(i.classes.ALTERNATIVE);s&&!e&&(t.classList.remove(i.classes.ALTERNATIVE),s=!1),!s&&e&&t.classList.add(i.classes.ALTERNATIVE)}static setLayoutMode(t,e){switch(e){case"clustered":t.classList.contains(i.classes.FIXED)&&t.classList.remove(i.classes.FIXED),t.classList.add(i.classes.CLUSTERED);break;case"fixed":t.classList.contains(i.classes.CLUSTERED)&&t.classList.remove(i.classes.CLUSTERED),t.classList.add(i.classes.FIXED);break}}static setLayoutAlign(t,e){switch(t.classList.contains(i.classes.ALIGN_LEFT)&&t.classList.remove(i.classes.ALIGN_LEFT),t.classList.contains(i.classes.ALIGN_CENTER)&&t.classList.remove(i.classes.ALIGN_CENTER),t.classList.contains(i.classes.ALIGN_RIGHT)&&t.classList.remove(i.classes.ALIGN_RIGHT),e){case"left":t.classList.add(i.classes.ALIGN_LEFT);break;case"center":t.classList.add(i.classes.ALIGN_CENTER);break;case"right":t.classList.add(i.classes.ALIGN_RIGHT);break}}static createSteps(t){let e=[];return t.steps.forEach((s,o)=>{let p=S.createStepElement(s,o,t);e.push(p)}),e[0].setAttribute(a.attributes.FIRST,""),e[e.length-1].setAttribute(a.attributes.LAST,""),e}};var h=class extends O{constructor(e){super(e);this._rootElement=E(e,i.selectors.STEPPER),this._slotElement=this._rootElement.querySelector("slot")}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","tablist")}patchSafari(){this._applyToSteps(e=>e.setAttribute("safari",""))}addSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}removeSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}getLastStep(){let e=this._getSteps();return e.item(e.length-1)}setSelected(e){this._getSteps().forEach(s=>{s===e?s.selected=!0:s.selected=!1})}assignIndices(){this._getSteps().forEach((s,o)=>{s.index=o})}assignFirstLastStep(){let e=this._getSteps();e&&e.length>1&&(e[0].setAttribute("first",""),e[e.length-1].setAttribute("last",""))}setLayoutAlign(e){c.setLayoutAlign(this._rootElement,e)}setLayoutMode(e){c.setLayoutMode(this._rootElement,e),this._applyToSteps(s=>s.setAttribute(a.attributes.CLUSTERED,""))}setAlternativeState(e){c.setAlternativeState(this._rootElement,e),this._applyToSteps(s=>s.alternative=e)}setVertical(e){g(this._rootElement,e,i.classes.VERTICAL),this._applyToSteps(s=>s.vertical=e)}setLinearState(e){c.setLinearState(this._rootElement,e)}removeRootListener(e,s){this._rootElement.removeEventListener("click",s)}addRootListener(e,s){this._rootElement.addEventListener(e,s)}setSelectedByIndex(e){this._applyToSteps(s=>{s.selected&&s.index!==e&&(s.selected=!1),s.index===e&&(s.selected=!0)})}applyConfiguredSteps(e){this._component.querySelectorAll(a.elementName).forEach(s=>{this._component.removeChild(s)}),e.forEach(s=>this._component.appendChild(s))}tryGetFocusedStep(){let e,s=I(this._component.ownerDocument);return this._applyToSteps(o=>{s===E(o,a.selectors.STEP)&&(e=o)}),e}getFocusedOrSelectedStep(){let e=this.tryGetFocusedStep();return e||(e=this._getSteps()[0],e.focus()),e}getStep(e){let s=0,o=this._getSteps();return e<0?o.item(o.length-1):(o.length>e&&(s=e),o.item(s))}toggleDisabled(e){this._applyToSteps(s=>s.disabled=e)}toggleRootClass(e,s){g(this._rootElement,s,e)}isStepperFocused(){return this._rootElement.classList.contains(i.classes.FOCUSED)}setStepsListener(e,s){this._applyToSteps(o=>o.addEventListener(e,s))}removeStepsListener(e,s){this._applyToSteps(o=>o.removeEventListener(e,s))}_applyToSteps(e){this._getSteps().forEach(e)}_getSteps(){return this._component.querySelectorAll(a.elementName)}};var b=class{constructor(t){this._adapter=t;this._steps=[];this._selectedIndex=0;this._linear=!1;this._alternative=!1;this._layoutMode="fixed";this._layoutAlign="center";this._initialize=!1;this._clickListener=e=>this._handleClick(e),this._keyListener=e=>this._onKeydown(e),this._stepFocusListener=()=>this._onStepFocus(),this._stepBlurListener=()=>this._onStepBlur(),this._stepExpandedContentFocusInListener=e=>this._onStepExpandedContentFocusIn(e),this._stepExpandedContentFocusOutListener=e=>this._onStepExpandedContentFocusOut(e),this._slotChangeListener=e=>this._onSlotChange(e)}initialize(){this._adapter.initializeAccessibility(),this._adapter.assignIndices(),this._adapter.setLinearState(this._linear),this._adapter.setAlternativeState(this._alternative),this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setLayoutMode(this._layoutMode),this._adapter.addRootListener("click",this._clickListener),this._adapter.addHostListener("keydown",this._keyListener),this._adapter.assignFirstLastStep(),this._adapter.addRootListener(a.events.EXPANDED_CONTENT_FOCUSIN,this._stepExpandedContentFocusInListener),this._adapter.addRootListener(a.events.EXPANDED_CONTENT_FOCUSOUT,this._stepExpandedContentFocusOutListener),this._applySelectedIndex(),this._patchBrowser(),this._adapter.setStepsListener("blur",this._stepBlurListener),this._adapter.setStepsListener("focus",this._stepFocusListener),this._initialize||this._adapter.addSlotChangeListener(this._slotChangeListener),this._initialize=!0}disconnect(){this._adapter.removeRootListener("click",this._clickListener),this._adapter.removeHostListener("keydown",this._keyListener),this._adapter.removeSlotChangeListener(this._slotChangeListener),this._adapter.removeStepsListener("blur",this._stepBlurListener),this._adapter.removeStepsListener("focus",this._stepFocusListener)}get steps(){return this._steps.map(t=>L({},t))}set steps(t){if(Array.isArray(t)&&t.length>0)this._steps=[...t.map(e=>L({},e))];else{this._steps=[];return}this._renderConfiguration()}get selectedIndex(){return this._selectedIndex}set selectedIndex(t){if(!m(t))t=0;else if(!f(t)){let e=Number(t);t=isNaN(e)?0:e}this._selectedIndex!==t&&(this._selectedIndex=t,this._adapter.setHostAttribute(i.attributes.SELECTED_INDEX,this._selectedIndex.toString()),this._applySelectedIndex())}get linear(){return this._linear}set linear(t){t=!!t,this._linear!==t&&(this._linear=t,this._adapter.setLinearState(this._linear),this._adapter.setHostAttribute(i.attributes.LINEAR,this._linear.toString()))}get alternative(){return this._alternative}set alternative(t){t=!!t,this._alternative!==t&&(this._alternative=t,this._adapter.setAlternativeState(this._alternative),this._adapter.setHostAttribute(i.attributes.ALTERNATIVE,this._alternative.toString()))}get layoutMode(){return this._layoutMode}set layoutMode(t){/^(fixed|clustered)$/.test(t)&&this._layoutMode!==t&&(this._layoutMode=t,this._adapter.setHostAttribute(i.attributes.LAYOUT_MODE,this._layoutMode),this._adapter.setLayoutMode(this._layoutMode))}get layoutAlign(){return this._layoutAlign}set layoutAlign(t){/^(left|center|right)$/.test(t)&&this._layoutAlign!==t&&(this._layoutAlign=t,this._adapter.setLayoutAlign(this._layoutAlign),this._adapter.setHostAttribute(i.attributes.LAYOUT_ALIGN,this._layoutAlign))}get disabled(){return this._disabled}set disabled(t){t!==this._disabled&&(this._disabled=t,this._applyDisabled())}get vertical(){return this._vertical}set vertical(t){t!==this._vertical&&(this._vertical=t,this._applyVertical(),this._adapter.toggleHostAttribute(i.attributes.VERTICAL,this._vertical))}_applyVertical(){this._adapter.setVertical(this._vertical)}_applyDisabled(){this._disabled?this._adapter.setHostAttribute(i.attributes.DISABLED,"disabled"):this._adapter.removeHostAttribute(i.attributes.DISABLED),this._adapter.toggleDisabled(this._disabled)}_applySelectedIndex(){this._adapter.setSelectedByIndex(this._selectedIndex)}_handleClick(t){if(t.preventDefault(),this._linear)return;let e=C(t),s=e.find(p=>p.classList&&p.classList.contains(a.classes.STEP)),o=e.find(p=>p.localName===a.elementName);s&&o&&!o.selected&&!o.disabled&&this._adapter.emitHostEvent(a.events.SELECT,o.index,!0,!0)&&(this._adapter.setSelected(o),this.selectedIndex=o.index)}_renderConfiguration(){let t=c.createSteps({steps:this._steps,vertical:this._vertical,selectedIndex:this._selectedIndex,alternative:this._alternative,layoutAlign:this._layoutAlign,layoutMode:this._layoutMode,linear:this._linear});this.disconnect(),this._adapter.applyConfiguredSteps(t),this.initialize()}_onKeydown(t){if(this._linear)return;let e=this._getKeyFromEvent(t);if(!this._adapter.isStepperFocused()||!e)return;[a.strings.HOME_KEY,a.strings.END_KEY,a.strings.ARROW_DOWN_KEY,i.strings.ARROW_UP_KEY].includes(e)&&t.preventDefault();let s=this._vertical?this._determineVerticalMoveTarget(e):this._determineMoveTarget(e);s&&this._moveFocusTo(s)}_moveFocusTo(t){E(t,a.selectors.STEP).focus()}_getKeyFromEvent(t){return i.ACCEPTABLE_KEYS.includes(t.key)?t.key:i.KEYCODE_MAP[t.keyCode]}_determineMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_RIGHT_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_LEFT_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_determineVerticalMoveTarget(t){let e=this._adapter.getFocusedOrSelectedStep();if(e)switch(t){case i.strings.ARROW_DOWN_KEY:return this._adapter.getStep(e.index+1);case i.strings.ARROW_UP_KEY:return this._adapter.getStep(e.index-1);case i.strings.HOME_KEY:return this._adapter.getStep(0);case i.strings.END_KEY:return this._adapter.getLastStep()}return e}_onSlotChange(t){this.disconnect(),this.initialize()}_onStepExpandedContentFocusIn(t){let e=this._adapter.getStep(t.detail.index+1);e&&e.setStepTabIndex(0),t.detail.setStepTabIndex(0)}_onStepExpandedContentFocusOut(t){let e=t.target,s=this._adapter.getStep(e.index+1);s&&s.setStepTabIndex(-1),e.setStepTabIndex(-1)}_onStepFocus(){this._adapter.toggleRootClass(i.classes.FOCUSED,!0)}_onStepBlur(){this._adapter.toggleRootClass(i.classes.FOCUSED,!1)}_patchBrowser(){new y().SAFARI()&&this._adapter.patchSafari()}};var w='<template><div class="forge-stepper" part="root"><slot></slot></div></template>',B=".forge-stepper{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap;overflow:hidden}.forge-stepper:not(.forge-stepper--vertical) ::slotted(*){display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;min-width:112px}.forge-stepper--fixed ::slotted(*){-webkit-box-flex:1;flex:1}.forge-stepper--alternative{-webkit-box-align:start;align-items:flex-start}.forge-stepper--alternative ::slotted(*){min-width:160px}.forge-stepper--align-left{-webkit-box-pack:start;justify-content:flex-start}.forge-stepper--align-center{-webkit-box-pack:center;justify-content:center}.forge-stepper--align-right{-webkit-box-pack:end;justify-content:flex-end}:host{display:block}:host([hidden]){display:none}:host([vertical]) .forge-stepper{display:unset;-webkit-box-align:unset;align-items:unset;white-space:unset;overflow:unset}",r=class extends N{constructor(){super();R(this,w,B),this._foundation=new b(new h(this))}static get observedAttributes(){return[i.attributes.SELECTED_INDEX,i.attributes.LINEAR,i.attributes.ALTERNATIVE,i.attributes.LAYOUT_MODE,i.attributes.LAYOUT_ALIGN,i.attributes.DISABLED,i.attributes.VERTICAL]}async connectedCallback(){await A(this),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,s,o){switch(e){case i.attributes.SELECTED_INDEX:this.selectedIndex=Number(o)||0;break;case i.attributes.LINEAR:this.linear=_(o);break;case i.attributes.ALTERNATIVE:this.alternative=_(o);break;case i.attributes.LAYOUT_MODE:this.layoutMode=o;break;case i.attributes.LAYOUT_ALIGN:this.layoutAlign=o;break;case i.attributes.DISABLED:this.disabled=_(o);break;case i.attributes.VERTICAL:this.vertical=_(o);break}}};l([d()],r.prototype,"steps",2),l([d()],r.prototype,"selectedIndex",2),l([d()],r.prototype,"linear",2),l([d()],r.prototype,"alternative",2),l([d()],r.prototype,"layoutMode",2),l([d()],r.prototype,"layoutAlign",2),l([d()],r.prototype,"disabled",2),l([d()],r.prototype,"vertical",2),r=l([x({name:i.elementName,dependencies:[M]})],r);function Re(){T(r)}export{i as a,h as b,b as c,r as d,Re as e};
|
|
7
|
+
//# sourceMappingURL=chunk.GAHE4QVB.js.map
|