@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
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/autocomplete/autocomplete-constants.ts", "../../src/autocomplete/autocomplete-adapter.ts", "../../src/autocomplete/autocomplete-utils.ts", "../../src/autocomplete/autocomplete-foundation.ts", "../../src/autocomplete/autocomplete.ts", "../../src/autocomplete/autocomplete-component-delegate.ts", "../../src/autocomplete/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX, KEYSTROKE_DEBOUNCE_THRESHOLD } from '../constants';\nimport { IListItemComponent } from '../list';\nimport { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownOptionGroupBuilder } from '../list-dropdown';\nimport { IPopupPosition } from '../popup';\nimport { FIELD_CONSTANTS } from '../field/field-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}autocomplete`;\n\nconst attributes = {\n MODE: 'mode',\n MULTIPLE: 'multiple',\n DEBOUNCE: 'debounce',\n FILTER_ON_FOCUS: 'filter-on-focus',\n FILTER_FOCUS_FIRST: 'filter-focus-first',\n ALLOW_UNMATCHED: 'allow-unmatched',\n POPUP_TARGET: 'popup-target',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n OPEN: 'open',\n MATCH_KEY: 'match-key',\n FILTER_TEXT: 'filter-text',\n DROPDOWN_ICON_OPEN: 'data-forge-dropdown-icon-open'\n};\n\nconst selectors = {\n INPUT: FIELD_CONSTANTS.selectors.INPUT,\n DROPDOWN_ICON: '[data-forge-dropdown-icon],[data-forge-dropdown-icon],[forge-dropdown-icon],.forge-dropdown-icon',\n CLEAR_BUTTON: '[data-forge-autocomplete-clear],[forge-autocomplete-clear]'\n};\n\nconst numbers = {\n DEFAULT_DEBOUNCE_TIME: KEYSTROKE_DEBOUNCE_THRESHOLD,\n NUM_SKELETON_ITEMS: 3\n};\n\nconst events = {\n CHANGE: `${elementName}-change`,\n SELECT: `${elementName}-select`,\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const AUTOCOMPLETE_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n numbers,\n events\n};\n\nexport type AutocompleteOptionBuilder<T = any> = (option: IAutocompleteOption<T>, filterText: string, parentElement: IListItemComponent) => HTMLElement;\nexport type AutocompleteOptionGroupBuilder<T = any> = ListDropdownOptionGroupBuilder<T>;\nexport type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) => IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[] | Promise<IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[]>;\nexport type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<IAutocompleteOption<T>>) => string;\n\nexport enum AutocompleteMode {\n Default = 'default',\n Stateless = 'stateless'\n}\n\nexport interface IAutocompleteOption<T = any> extends IListDropdownOption<T> {}\nexport interface IAutocompleteOptionGroup<T = any> extends IListDropdownOptionGroup<T> {}\n\nexport interface IAutocompletePopupConfiguration {\n filterText: string;\n popupTarget: string;\n dropdownConfig: IListDropdownConfig;\n popupClasses: string[];\n popupOffset: IPopupPosition;\n syncPopupWidth: boolean;\n listener: (value: string) => void;\n scrollEndListener: () => void;\n}\n\nexport interface IAutocompleteSelectEventData<T = any> {\n value: T;\n}\n\nexport interface IAutocompleteForceFilterOptions {\n preserveValue: boolean;\n}\n", "import { getShadowElement, deepQuerySelectorAll, getActiveElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IAutocompleteComponent } from './autocomplete';\nimport { AUTOCOMPLETE_CONSTANTS, IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';\nimport { TEXT_FIELD_CONSTANTS } from '../text-field';\nimport { IListDropdown, IListDropdownConfig, ListDropdown } from '../list-dropdown';\nimport { CHIP_FIELD_CONSTANTS } from '../chip-field';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../popup';\n\nexport interface IAutocompleteAdapter extends IBaseAdapter {\n setInputElement(): HTMLInputElement;\n setInputAttribute(name: string, value: string): void;\n addInputListener(type: string, listener: (evt: Event) => void): void;\n removeInputListener(type: string, listener: (evt: Event) => void): void;\n initializeInputAccessibility(identifier: string): void;\n isWrappingChipField(): boolean;\n show(config: IListDropdownConfig, popupTarget: string): void;\n hide(listener: () => void): void;\n focus(): void;\n setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n setSelectedText(value: string): void;\n getInputValue(): string;\n setInputValue(value: string): void;\n selectInputValue(): void;\n setDismissListener(listener: () => void): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n hasFocus(): boolean;\n hasInputElement(): boolean;\n setDropdownIconListener(type: string, listener: EventListener): void;\n removeDropdownIconListener(type: string, listener: EventListener): void;\n setClearButtonListener(type: string, listener: EventListener): void;\n removeClearButtonListener(type: string, listener: EventListener): void;\n getPopupElement(): HTMLElement | null;\n propagateKey(key: string): void;\n updateActiveDescendant(id: string): void;\n getTargetElementWidth(selector: string): number;\n activateFirstOption(): void;\n activateSelectedOption(): void;\n activateOptionByIndex(value: number): void;\n setBusyVisibility(busy: boolean): void;\n getActiveOptionIndex(): number | null;\n clearActiveOption(): void;\n setSelectedOptions(options: IAutocompleteOption[]): void;\n queueDropdownPositionUpdate(): void;\n}\n\n/**\n * The DOM adapter for the `<forge-autocomplete>` element.\n */\nexport class AutocompleteAdapter extends BaseAdapter<IAutocompleteComponent> implements IAutocompleteAdapter {\n private _inputElement: HTMLInputElement;\n private _listDropdown?: IListDropdown;\n private _targetElement?: HTMLElement;\n \n constructor(component: IAutocompleteComponent) {\n super(component);\n this.setInputElement();\n }\n\n public setInputElement(): HTMLInputElement {\n const inputElements = deepQuerySelectorAll(this._component, AUTOCOMPLETE_CONSTANTS.selectors.INPUT, false);\n if (inputElements.length) {\n this._inputElement = inputElements[0] as HTMLInputElement;\n }\n return this._inputElement;\n }\n\n public setInputAttribute(name: string, value: string): void {\n this._inputElement.setAttribute(name, value);\n }\n\n public addInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.addEventListener(type, listener);\n }\n\n public removeInputListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement.removeEventListener(type, listener);\n }\n\n public initializeInputAccessibility(identifier: string): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'polite');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._inputElement.setAttribute('aria-autocomplete', 'list');\n }\n\n public isWrappingChipField(): boolean {\n return !!this._component.querySelector(CHIP_FIELD_CONSTANTS.elementName);\n }\n\n public show(config: IListDropdownConfig, popupTarget: string): void {\n this._targetElement = this._getTargetElement(popupTarget);\n if (!this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n this._inputElement.setAttribute('aria-expanded', 'true');\n this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._tryToggleDropdownIconRotation(true);\n }\n\n public hide(listener: () => void): void {\n if (!this._listDropdown) {\n return;\n }\n const { targetElement } = this._listDropdown.dropdownElement as IPopupComponent;\n targetElement.removeEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n this.setBusyVisibility(false);\n this._tryToggleDropdownIconRotation(false);\n this._inputElement.removeAttribute('aria-activedescendant');\n this._inputElement.removeAttribute('aria-controls');\n this._inputElement.setAttribute('aria-expanded', 'false');\n this._listDropdown.close();\n this._listDropdown = undefined;\n }\n\n\n public setBusyVisibility(isVisible: boolean): void {\n this._listDropdown?.setBusyVisibility(isVisible);\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public focus(): void {\n window.requestAnimationFrame(() => this._inputElement.focus());\n }\n\n public setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setSelectedText(value: string): void {\n this._inputElement.value = value;\n }\n\n public getInputValue(): string {\n return this._inputElement.value;\n }\n\n public setInputValue(value: string): void {\n this._inputElement.value = value;\n }\n\n public selectInputValue(): void {\n window.requestAnimationFrame(() => this._inputElement.select());\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public hasFocus(): boolean {\n const activeElement = getActiveElement(this._component.ownerDocument) as HTMLElement;\n return activeElement === this._inputElement || this.isFocusWithinPopup(activeElement);\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public setDropdownIconListener(type: string, listener: EventListener): void {\n window.requestAnimationFrame(() => {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON);\n if (dropdownIcon) {\n dropdownIcon.addEventListener(type, listener);\n }\n });\n }\n\n public removeDropdownIconListener(type: string, listener: EventListener): void {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON);\n if (dropdownIcon) {\n dropdownIcon.removeEventListener(type, listener);\n }\n }\n\n public setClearButtonListener(type: string, listener: EventListener): void {\n window.requestAnimationFrame(() => {\n const clearButton = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.CLEAR_BUTTON);\n if (clearButton) {\n clearButton.addEventListener(type, listener);\n }\n });\n }\n\n public removeClearButtonListener(type: string, listener: EventListener): void {\n const clearButton = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.CLEAR_BUTTON);\n if (clearButton) {\n clearButton.removeEventListener(type, listener);\n }\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n toggleAttribute(this._inputElement, !!id, 'aria-activedescendant', id);\n }\n\n public getTargetElementWidth(selector: string): number {\n if (!this._targetElement) {\n this._targetElement = this._getTargetElement(selector);\n }\n return this._targetElement.getBoundingClientRect().width;\n }\n\n public getPopupElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateOptionByIndex(value: number): void {\n this._listDropdown?.activateOption(value);\n }\n\n public getActiveOptionIndex(): number | null {\n return this._listDropdown?.getActiveOptionIndex() ?? null;\n }\n\n public clearActiveOption(): void {\n this._listDropdown?.clearActiveOption();\n }\n\n public setSelectedOptions(options: IAutocompleteOption[]): void {\n if (this._listDropdown) {\n const values = options.map(o => o.value);\n this._listDropdown.setSelectedValues(values);\n }\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.getPopupElement()) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.getPopupElement() as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _getTargetElement(selector?: string): HTMLElement {\n return selector ? this._component.querySelector(selector) || this._getDefaultTargetElement() : this._getDefaultTargetElement();\n }\n\n private _getDefaultTargetElement(): HTMLElement {\n // This component is often used with the text-field, if so, let's target our popup around one if its internal elements for proper alignnment\n const textField = this._component.querySelector('forge-text-field');\n if (textField && textField.shadowRoot) {\n const textFieldRoot = getShadowElement(textField, TEXT_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (textFieldRoot) {\n return textFieldRoot;\n }\n }\n\n // This component is often used with the chip-field, if so, let's target our popup around one if its internal elements for proper alignnment\n const chipField = this._component.querySelector('forge-chip-field');\n if (chipField && chipField.shadowRoot) {\n const chipFieldRoot = getShadowElement(chipField, CHIP_FIELD_CONSTANTS.selectors.ROOT) as HTMLElement;\n if (chipFieldRoot) {\n return chipFieldRoot;\n }\n }\n\n return this._component.querySelector('input') || this._component;\n }\n\n private _tryToggleDropdownIconRotation(state: boolean): void {\n const dropdownIcon = this._component.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.DROPDOWN_ICON) as HTMLElement;\n if (dropdownIcon) {\n toggleAttribute(dropdownIcon, state, AUTOCOMPLETE_CONSTANTS.attributes.DROPDOWN_ICON_OPEN);\n }\n }\n}\n", "import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';\nimport { isDefined, isObject, isDeepEqual } from '@tylertech/forge-core';\n\n/** The available option types. */\nexport enum OptionType { Option, Group }\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isOptionType(options: IAutocompleteOption[] | IAutocompleteOptionGroup[], type: OptionType): boolean {\n const isOptionGroups = options.some((o: IAutocompleteOption | IAutocompleteOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('options') && (o.hasOwnProperty('text') || o.hasOwnProperty('builder')));\n const isOptionTypes = options.some((o: IAutocompleteOption | IAutocompleteOptionGroup) => isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value'));\n return (isOptionGroups && type === OptionType.Group) || (isOptionTypes && type === OptionType.Option);\n}\n\n/** A utility function to find the matching option in the provided options by the value provided. */\nexport function getSelectedOption(options: IAutocompleteOption[], value: string): IAutocompleteOption | undefined {\n return options.find(o => o.value === value);\n}\n\n/** A predicate function that will determine if an option value is equal regardless of primitive type or complex object type. */\nexport function optionEqualPredicate(option: IAutocompleteOption, value: any, property: string | null = null): boolean {\n if (property) {\n if (!(property in option.value) || !(property in value)) {\n return false;\n }\n return isDeepEqual(option.value[property], value[property]);\n }\n return isDeepEqual(option.value, value);\n}\n", "import { debounce, isDefined, isString, Platform, randomChars } from '@tylertech/forge-core';\nimport { highlightTextHTML } from '../core';\nimport { IListItemComponent } from '../list';\nimport { IListDropdownConfig, IListDropdownOption, ListDropdownAsyncStyle, ListDropdownFooterBuilder, ListDropdownHeaderBuilder, ListDropdownOptionBuilder } from '../list-dropdown';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../list-dropdown/list-dropdown-aware-foundation';\nimport { IAutocompleteAdapter } from './autocomplete-adapter';\nimport { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, AUTOCOMPLETE_CONSTANTS, IAutocompleteForceFilterOptions, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';\nimport { getSelectedOption, isOptionType, optionEqualPredicate, OptionType } from './autocomplete-utils';\n\nexport interface IAutocompleteFoundation extends IListDropdownAwareFoundation {\n mode: AutocompleteMode;\n multiple: boolean;\n value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;\n debounce: number;\n filterOnFocus: boolean;\n filterFocusFirst: boolean;\n allowUnmatched: boolean;\n popupTarget: string;\n filterText: string;\n optionBuilder: AutocompleteOptionBuilder | null | undefined;\n filter: AutocompleteFilterCallback | null | undefined;\n selectedTextBuilder: AutocompleteSelectedTextBuilder;\n isInitialized: boolean;\n open: boolean;\n matchKey: string | null | undefined;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n beforeValueChange: (value: any) => boolean | Promise<boolean>;\n forceFilter(opts: IAutocompleteForceFilterOptions): void;\n}\n\n/**\n * The foundation class behind the `<forge-autocomplete>` element.\n */\nexport class AutocompleteFoundation extends ListDropdownAwareFoundation implements IAutocompleteFoundation {\n private _isInitialized = false;\n private _isDropdownOpen = false;\n private _mode: AutocompleteMode = AutocompleteMode.Default;\n private _multiple = false;\n private _debounce = AUTOCOMPLETE_CONSTANTS.numbers.DEFAULT_DEBOUNCE_TIME;\n private _allowUnmatched = false;\n private _popupTarget: string;\n private _filterOnFocus = true;\n private _filterFocusFirst = true;\n private _optionBuilder?: AutocompleteOptionBuilder | null;\n private _filter?: AutocompleteFilterCallback | null;\n private _selectedTextBuilder: AutocompleteSelectedTextBuilder;\n private _options: IAutocompleteOption[] | IAutocompleteOptionGroup[] = [];\n private _filterText = '';\n private _selectedOptions: IAutocompleteOption[] = [];\n private _values: any[] = [];\n private _pendingFilterPromises: Array<Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]>> = [];\n private _identifier: string;\n private _matchKey?: string | null = null;\n private _filterFn: () => Promise<void>;\n private _clickListener: (evt: MouseEvent) => void;\n private _focusListener: (evt: FocusEvent) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _inputListener: (evt: KeyboardEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _dropdownIconClickListener: (evt: MouseEvent) => void;\n private _dropdownIconMouseDownListener: (evt: MouseEvent) => void;\n private _clearButtonListener: (evt: MouseEvent) => void;\n private _dropdownScrollEndListener: () => void;\n private _dismissListener: () => void;\n private _activeChangeListener: (id: string) => void;\n private _targetWidthCallback: () => number;\n private _beforeValueChange: (value: any) => boolean | Promise<boolean>;\n private _valueChanging: Promise<boolean> | undefined;\n\n constructor(private _adapter: IAutocompleteAdapter) {\n super();\n this._clickListener = evt => this._onClick(evt);\n this._focusListener = () => this._onFocus();\n this._blurListener = evt => this._onBlur(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._dropdownIconClickListener = evt => this._onDropdownIconClick(evt);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dropdownIconMouseDownListener = evt => this._onDropdownIconMouseDown(evt);\n this._clearButtonListener = evt => this._onClear(evt);\n this._dismissListener = () => this._onDismiss();\n this._activeChangeListener = id => this._adapter.updateActiveDescendant(id);\n this._targetWidthCallback = () => this._adapter.getTargetElementWidth(this._popupTarget);\n this._identifier = randomChars();\n }\n\n public async initialize(): Promise<void> {\n if (!this._adapter.hasInputElement() && !this._adapter.setInputElement()) {\n throw new Error('An input element is required as a child of the autocomplete component.');\n }\n\n this._setInputListener();\n this._setFilterCallback();\n this._attachListeners();\n this._initializeAccessibility();\n\n if (this._values.length) {\n if (!this._selectedOptions.length) {\n try {\n await this._executeFilter();\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._isInitialized) {\n this._detachListeners();\n this._isInitialized = false;\n }\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n }\n\n public async forceFilter({ preserveValue }: IAutocompleteForceFilterOptions): Promise<void> {\n // Clear any existing options since they are expected to no longer be valid\n this._options = [];\n\n // Execute the filter callback to fetch new options if the consumer has provided any.\n // This allows us to update the current value(s) with new label(s) if there are any matches\n await this._executeFilter(true, true);\n\n // Edge case, but if the consumer has a need to preserve the existing selection if it doesn't exist in the new options, this will support that\n if (preserveValue) {\n this._options.push(...this._selectedOptions as IAutocompleteOption<any>[] & IAutocompleteOptionGroup[]);\n }\n\n // This will update our current state, but it's expected that consumers will manage their own values so it's likely that this will be called again soon\n this._applyValue(this._values);\n }\n\n private _attachListeners(): void {\n this._adapter.addInputListener('click', this._clickListener);\n this._adapter.addInputListener('focus', this._focusListener);\n this._adapter.addInputListener('blur', this._blurListener);\n this._adapter.addInputListener('input', this._inputListener);\n this._adapter.addInputListener('keydown', this._keydownListener);\n this._adapter.setDropdownIconListener('click', this._dropdownIconClickListener);\n this._adapter.setDropdownIconListener('mousedown', this._dropdownIconMouseDownListener);\n this._adapter.setClearButtonListener('click', this._clearButtonListener);\n }\n\n private _detachListeners(): void {\n this._adapter.removeInputListener('click', this._clickListener);\n this._adapter.removeInputListener('focus', this._focusListener);\n this._adapter.removeInputListener('blur', this._blurListener);\n this._adapter.removeInputListener('input', this._inputListener);\n this._adapter.removeInputListener('keydown', this._keydownListener);\n this._adapter.removeDropdownIconListener('click', this._dropdownIconClickListener);\n this._adapter.removeDropdownIconListener('mousedown', this._dropdownIconMouseDownListener);\n this._adapter.removeClearButtonListener('click', this._clearButtonListener);\n }\n\n private _setInputListener(): void {\n this._inputListener = (evt: KeyboardEvent) => this._onInput(evt);\n }\n\n private _setFilterCallback(): void {\n this._filterFn = isDefined(this._debounce) && this._debounce > 0 ? debounce(this._debounceFilter, this._debounce, false) : this._debounceFilter;\n }\n\n private _initializeAccessibility(): void {\n this._adapter.initializeInputAccessibility(this._identifier);\n }\n\n private get _flatOptions(): IAutocompleteOption[] {\n if (isOptionType(this._options, OptionType.Group)) {\n return (this._options as IAutocompleteOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IAutocompleteOption[]);\n }\n return this._options as IAutocompleteOption[];\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._isDropdownOpen && this._filterOnFocus) {\n this._showDropdown();\n }\n }\n\n private _onDropdownIconMouseDown(evt: MouseEvent): void {\n evt.preventDefault(); // Always avoid changing focus when clicking the dropdown\n }\n\n private _onDropdownIconClick(evt: MouseEvent): void {\n if (!this._isDropdownOpen) {\n this._adapter.focus();\n window.requestAnimationFrame(() => this._showDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onClear(evt: MouseEvent): void {\n this._filterText = '';\n this._clearValue();\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n private _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n private _onFocus(): void {\n if (!this._isDropdownOpen && this._adapter.getInputValue() && !Platform.isMobile) {\n this._adapter.selectInputValue();\n }\n }\n\n private _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n this._applyBlur();\n }\n\n private _applyBlur(): void {\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n\n // If we are in stateless mode, we don't need to do anything further\n if (this._mode === AutocompleteMode.Stateless) {\n return;\n }\n\n if (!this._selectedOptions.length) {\n if (!this._allowUnmatched) {\n this._filterText = '';\n this._adapter.setSelectedText('');\n }\n } else {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n }\n\n private _onInput(evt: KeyboardEvent): void {\n if (this._selectedOptions.length && !this._multiple && (!this._adapter.getInputValue() || this._allowUnmatched) && !this._adapter.isWrappingChipField()) {\n this._selectedOptions = [];\n this._values = [];\n this._emitChangeEvent();\n }\n this._filterText = this._adapter.getInputValue();\n this._filterFn();\n }\n\n private async _debounceFilter({ checkFocus = true } = {}): Promise<void> {\n // There is the potential that the user could have started a filter, then moved focus to another element\n // while a debounced filter is running. This check detects that scenario and stops all pending filters.\n if (!checkFocus && !this._adapter.hasFocus()) {\n this._pendingFilterPromises = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n // Keep track of these variables so we can use them when each filter callback completes\n const filterText = this._filterText; // Filter text just before the execution\n const filterPromise = this._executeFilter(); // Execute the filter and keep track of the filter promise object for use after it resolves\n\n // Keep track of all pending promises\n this._pendingFilterPromises.push(filterPromise);\n\n // If the dropdown is open, show the spinner and execute the filter. If not open, then we need to\n // show the dropdown (which will handle showing the spinner and executing the filter for us) so\n // we use the promise from that method instead.\n if (this._isDropdownOpen) {\n this._adapter.setBusyVisibility(true);\n } else {\n this._showDropdown({ filter: false });\n }\n\n try {\n await filterPromise;\n } catch {\n // When an exception occurs, we just flush the pending promises and clean up\n this._pendingFilterPromises = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n // We only continue if the filter text before this result matches the latest filter text\n if (filterText === this._filterText) {\n this._pendingFilterPromises = [];\n this._onFilterComplete();\n } else {\n // If this is not the latest filter result, we ignore it and remove it from the pending promises\n const promiseIndex = this._pendingFilterPromises.indexOf(filterPromise);\n if (promiseIndex !== -1) {\n this._pendingFilterPromises.splice(promiseIndex, 1);\n }\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n switch (evt.key) {\n case 'Tab':\n if (this._isDropdownOpen && !this._multiple) {\n this._selectActiveOption(false);\n }\n break;\n case 'Esc':\n case 'Escape':\n if (this._isDropdownOpen) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Down':\n case 'ArrowDown':\n evt.preventDefault();\n if (!this._isDropdownOpen) {\n this._showDropdown({ activateFirst: true, activateSelected: true });\n } else {\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Up':\n case 'ArrowUp':\n evt.preventDefault();\n if (this._isDropdownOpen) {\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Enter':\n case 'Home':\n case 'End':\n if (this._isDropdownOpen) {\n if (evt.key === 'Enter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n this._adapter.propagateKey(evt.key);\n }\n break;\n case 'Backspace':\n case 'Delete':\n const input = evt.target as HTMLInputElement;\n const value = this._adapter.getInputValue();\n const isRemovingAllChars = input.value.substring(input.selectionStart as number, input.selectionEnd as number) === input.value;\n const isBackspacingLastChar = value.length === 1 && input.selectionEnd === 1;\n const isDeletingLastChar = value.length === 1 && input.selectionEnd === 0;\n const isEmpty = !value || isRemovingAllChars || isBackspacingLastChar || isDeletingLastChar;\n \n // We only clear the value on empty when not around a chip-field and NOT in multiple mode\n if (!this._adapter.isWrappingChipField() && isEmpty && !this._multiple && this._values.length) {\n this._clearValue();\n }\n break;\n }\n }\n\n private _executeFilter(sendFilterText = true, sendValue = false): Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]> {\n if (!this._filter || typeof this._filter !== 'function') {\n throw new Error('A filter callback must be provided. Did you set the \"filter\" property?');\n }\n const filter = this._filter;\n\n const filterText = sendFilterText ? this._filterText : '';\n const value = sendValue ? this._getValue() : null;\n\n return new Promise<IAutocompleteOption[] | IAutocompleteOptionGroup[]>((resolve, reject) => {\n return Promise.resolve(filter(filterText, value))\n .then(options => {\n this._options = options;\n resolve(this._options);\n })\n .catch(e => reject(`An unexpected error occurred while filtering: ${e}`));\n });\n }\n\n private _onFilterComplete(): void {\n if (!this._adapter.hasFocus()) {\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n return;\n }\n\n if (this._options.length) {\n const sendFilterText = this._allowUnmatched && !this._selectedOptions.length;\n this._dropdownReady({ userTriggered: sendFilterText });\n\n if (this._filterFocusFirst && this._filterText) {\n this._adapter.activateFirstOption();\n }\n } else {\n this._closeDropdown();\n }\n }\n\n private _clearValue(): void {\n this._selectedOptions = [];\n this._values = [];\n\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions([]);\n this._adapter.clearActiveOption();\n }\n\n this._emitChangeEvent();\n }\n\n private async _showDropdown({ filter = true, userTriggered = true, activateFirst = false, activateSelected = false } = {}): Promise<void> {\n const sendFilterText = this._allowUnmatched && !this._selectedOptions.length;\n this._isDropdownOpen = true;\n let listOptionBuilder: ListDropdownOptionBuilder<HTMLElement> | undefined;\n if (this._optionBuilder) {\n const optionBuilder = this._optionBuilder;\n listOptionBuilder = (option: IListDropdownOption, parentElement: HTMLElement) => {\n return optionBuilder(option, this._filterText, parentElement as IListItemComponent);\n };\n }\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._values],\n id: `forge-autocomplete-${this._identifier}`,\n asyncStyle: ListDropdownAsyncStyle.Skeleton,\n optionLimit: this._optionLimit,\n popupClasses: this._popupClasses,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n transform: label => {\n if (this._filterText) {\n // Highlight the filter text within the label\n const highlightElement = highlightTextHTML(label, this._filterText);\n if (highlightElement) {\n return highlightElement;\n }\n }\n return label;\n },\n allowBusy: true,\n optionBuilder: listOptionBuilder,\n syncWidth: this._syncPopupWidth,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n selectCallback: (value: any) => this._onSelect(value),\n closeCallback: () => this._closeDropdown()\n };\n\n this._adapter.show(config, this._popupTarget);\n this._adapter.toggleHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.OPEN, this._isDropdownOpen);\n\n if (filter) {\n if (this._options.length) {\n this._adapter.setBusyVisibility(true);\n }\n try {\n await this._executeFilter(sendFilterText);\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n\n // If we have any pending filter promises, then we will let those complete and update the dropdown separately after\n if (this._pendingFilterPromises.length) {\n return;\n }\n\n this._dropdownReady({ userTriggered, activateFirst, activateSelected });\n }\n\n private _dropdownReady({ userTriggered = true, activateFirst = false, activateSelected = false } = {}): void {\n if (!this._isDropdownOpen || !this._options.length || (userTriggered && !this._adapter.hasFocus())) {\n this._closeDropdown();\n return;\n }\n\n this._sortSelectedOptions();\n this._adapter.setBusyVisibility(false);\n this._adapter.setOptions(this._options);\n this._adapter.setSelectedOptions(this._selectedOptions);\n this._adapter.setDismissListener(this._dismissListener);\n\n if (activateSelected && this._selectedOptions.length) {\n this._adapter.activateSelectedOption();\n } else if (activateFirst) {\n this._adapter.activateFirstOption();\n }\n }\n\n private _closeDropdown(): void {\n if (this._multiple) {\n this._filterText = '';\n }\n this._isDropdownOpen = false;\n this._adapter.hide(this._dismissListener);\n this._sortSelectedOptions();\n this._adapter.toggleHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.OPEN, this._isDropdownOpen);\n }\n\n private _sortSelectedOptions(): void {\n // When in multiple selection mode, we need to make sure that the selected options appear at the top of the list\n if (this._multiple && this._selectedOptions.length && isOptionType(this._options, OptionType.Option)) {\n const selectedOptions: IAutocompleteOption[] = [];\n const unselectedOptions: IAutocompleteOption[] = [];\n\n (this._options as IAutocompleteOption[]).forEach(option => {\n if (this._selectedOptions.find(o => optionEqualPredicate(o, option.value, this._matchKey))) {\n selectedOptions.push(option);\n } else {\n unselectedOptions.push(option);\n }\n });\n\n this._options = [...selectedOptions, ...unselectedOptions];\n }\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {string} selectedValue The string value to select.\n */\n private async _onSelect(selectedValue: string, keepFocus = true): Promise<void> {\n if (this._valueChanging) {\n return;\n }\n\n // If we are in stateless mode, then we need to just emit an event when selecting an option. The\n // selected values are not tracked in stateless mode\n if (this._mode === AutocompleteMode.Stateless) {\n const data: IAutocompleteSelectEventData = { value: selectedValue };\n const result = this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SELECT, data, true, true);\n if (result) {\n this._filterText = '';\n if (!this._multiple) {\n this._closeDropdown();\n }\n }\n return;\n }\n\n const select = (): void => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => optionEqualPredicate(o, selectedValue, this._matchKey)) as IAutocompleteOption;\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n if (this._multiple) {\n const selectedOption = getSelectedOption(this._selectedOptions, value);\n if (selectedOption) {\n const index = this._selectedOptions.indexOf(selectedOption);\n this._selectedOptions.splice(index, 1);\n } else {\n this._selectedOptions.push(option);\n }\n } else {\n if (isDefined(value)) {\n this._selectedOptions[0] = option;\n this._filterText = label;\n } else {\n this._selectedOptions = [];\n this._filterText = '';\n }\n }\n\n // Update the dropdown selection status if its open\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions(this._selectedOptions);\n }\n\n // Keep the values in sync with the currently selected options\n this._values = this._selectedOptions.map(o => o.value);\n\n // Update the selected text in the input\n this._adapter.setSelectedText(this._getSelectedText());\n\n // Select the text in the input to allow for the next filter\n if (!Platform.isMobile && keepFocus) {\n this._adapter.selectInputValue();\n }\n\n this._emitChangeEvent();\n this._tryUpdateDropdownPosition();\n };\n\n // We close the dropdown immediately if in single selection mode\n if (this._isDropdownOpen && !this._multiple) {\n this._closeDropdown();\n }\n\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, selectedValue, this._matchKey));\n const shouldContinue = await this._valueChanging;\n if (shouldContinue) {\n select();\n } else {\n this._tryUpdateDropdownPosition();\n }\n this._valueChanging = undefined;\n } else {\n select();\n }\n }\n\n private _selectActiveOption(keepFocus = true): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (typeof activeOptionIndex === 'number' && activeOptionIndex >= 0) {\n const option = this._flatOptions[activeOptionIndex];\n if (option) {\n this._onSelect(option.value, keepFocus);\n }\n }\n }\n\n private _emitChangeEvent(): void {\n this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.CHANGE, this._getValue(), true);\n }\n\n private _tryUpdateDropdownPosition(): void {\n if (this._isDropdownOpen) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n /**\n * Retrieves the current value(s) from the selected options array based on whether\n * we are in multi-select mode or not.\n */\n private _getValue(): string | string[] | null | undefined {\n if (!this._values) {\n return null;\n }\n\n if (!this._values.length) {\n return this._multiple ? [] : null;\n }\n\n return this._multiple ? [...this._values] : this._values[0];\n }\n\n /**\n * Creates the selected text value from the selected label values.\n */\n private _getSelectedText(): string {\n if (this._adapter.isWrappingChipField()) {\n return '';\n }\n\n if (this._selectedTextBuilder) {\n return this._selectedTextBuilder(this._selectedOptions);\n } else {\n if (this._multiple) {\n if (this._values.length) {\n if (this._values.length === 1) {\n return this._selectedOptions[0]?.label ?? '';\n } else {\n return `${this._values.length} options selected`;\n }\n } else {\n return '';\n }\n } else {\n return this._selectedOptions.filter(o => o && o.label).map(o => o.label).join(' ').trim();\n }\n }\n }\n\n /**\n * Handles the user dismissing the dropdown. This is only called if the blur event was triggered\n * from within the popup element itself (in a custom template most likely).\n * @param keepFocus Keep focus on the dropdown or not.\n */\n private _onDismiss(): void {\n this._closeDropdown();\n }\n\n private async _applyValue(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined): Promise<void> {\n let values: any[] = [];\n this._selectedOptions = [];\n\n if (!Array.isArray(value)) {\n values = isDefined(value) ? [value] : [];\n } else {\n values = value;\n }\n\n // If this is not a multi-select, then make sure we only allow one selected value\n if (!this._multiple && values.length > 1) {\n values = [values[0]];\n }\n\n if (isOptionType(values, OptionType.Option)) {\n this._values = values.map((o: IAutocompleteOption) => o.value);\n this._selectedOptions = values as IAutocompleteOption[];\n } else {\n this._values = values as any[];\n }\n\n // Ensure that the values passed are actually existing options\n const allOptions = this._flatOptions;\n if (values.length && allOptions.length) {\n this._updateSelectedOptions(values);\n }\n\n // Execute the filter now if we have a value, but not options yet (only if it has been initialized already)\n if (this._values.length && !this._selectedOptions.length && !!this._filter && this._isInitialized) {\n try {\n await this._executeFilter(false, true);\n } catch (e) {\n console.error(e);\n }\n this._updateSelectedOptions(this._values);\n }\n\n // Update filter text to match the label when on in multiselect mode\n if (!this._multiple) {\n this._filterText = this._selectedOptions.length ? this._selectedOptions[0].label : '';\n } else {\n this._filterText = '';\n }\n\n // Update the state of the component based on the existence of a selected value\n if (this._isInitialized) {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n\n // When the value is changed programmatically we should update the selected options\n if (this._isDropdownOpen) {\n this._adapter.setSelectedOptions(this._selectedOptions);\n }\n }\n\n private _updateSelectedOptions(values: Array<any | IAutocompleteOption>): void {\n const flatOptions = [...this._flatOptions, ...this._selectedOptions];\n\n if (this._selectedOptions.length) {\n this._selectedOptions = [];\n }\n\n if (isOptionType(values, OptionType.Option)) {\n for (const option of values as IAutocompleteOption[]) {\n const actualOption = flatOptions.find(o => optionEqualPredicate(o, option.value, this._matchKey));\n if (actualOption) {\n this._selectedOptions.push(actualOption);\n } else {\n this._selectedOptions.push(option);\n }\n }\n } else {\n for (const value of values as any[]) {\n const actualOption = flatOptions.find(o => optionEqualPredicate(o, value, this._matchKey));\n if (actualOption) {\n this._selectedOptions.push(actualOption);\n } else if (this._allowUnmatched) {\n this._selectedOptions.push({ label: value, value });\n }\n }\n }\n }\n\n /** Gets/sets the mode state. */\n public get mode(): AutocompleteMode {\n return this._mode;\n }\n public set mode(value: AutocompleteMode) {\n if (this._mode !== value) {\n this._mode = value;\n if (this._mode === AutocompleteMode.Stateless) {\n this._selectedOptions = [];\n if (this._isDropdownOpen) {\n this._closeDropdown();\n }\n }\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n /** Gets/sets the multi-select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE, isDefined(this._multiple) ? this._multiple.toString() : '');\n }\n }\n\n /** Gets/sets the value of the component. */\n public get value(): string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined {\n return this._getValue();\n }\n public set value(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined) {\n let values: Array<string | IAutocompleteOption | IAutocompleteOption[] | string[]> = [];\n\n if (value == null) {\n values = [];\n } else if (Array.isArray(value)) {\n values = structuredClone(value);\n } else if (isString(value)) {\n values = [value];\n } else {\n values = [structuredClone(value)];\n }\n\n const hasNewValue = values.length !== this._values.length || values.some(v => !this._values.includes(v));\n if (!hasNewValue) {\n return;\n }\n\n // We only apply the new values if they have actually changed\n this._applyValue(value);\n }\n\n /** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */\n public get filterOnFocus(): boolean {\n return this._filterOnFocus;\n }\n public set filterOnFocus(value: boolean) {\n if (this._filterOnFocus !== value) {\n this._filterOnFocus = value;\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS, isDefined(this._filterOnFocus) ? this._filterOnFocus.toString() : '');\n }\n }\n\n /** Gets/sets whether the first option in the dropdown will be focused automatically when opened or not. */\n public get filterFocusFirst(): boolean {\n return this._filterFocusFirst;\n }\n public set filterFocusFirst(value: boolean) {\n if (this._filterFocusFirst !== value) {\n this._filterFocusFirst = value;\n this._adapter.toggleHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.FILTER_FOCUS_FIRST, this._filterFocusFirst);\n }\n }\n\n /** Controls whether unmatched text entered by the user will stay visible an option in the dropdown is not found. */\n public get allowUnmatched(): boolean {\n return this._allowUnmatched;\n }\n public set allowUnmatched(value: boolean) {\n if (this._allowUnmatched !== value) {\n this._allowUnmatched = value;\n\n if (isDefined(this._allowUnmatched)) {\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED, this._allowUnmatched.toString());\n }\n }\n }\n\n /** Gets/sets the property key to match the value to an option. */\n public get matchKey(): string | null | undefined {\n return this._matchKey;\n }\n public set matchKey(value: string | null | undefined) {\n if (this._matchKey !== value) {\n this._matchKey = value;\n }\n }\n\n /** Gets/sets the selector that will be used to find an element to attach the popup to. Defaults to the input element. */\n public get popupTarget(): string {\n return this._popupTarget;\n }\n public set popupTarget(value: string) {\n if (this._popupTarget !== value) {\n this._popupTarget = value;\n }\n }\n\n /**\n * Gets/sets the filter text.\n * \n * Setting the filter text only applies when allowUnmatched is enabled.\n */\n public get filterText(): string {\n return this._filterText;\n }\n public set filterText(value: string) {\n if (this._filterText !== value) {\n this._filterText = this._allowUnmatched ? value : '';\n\n if (this._isInitialized && this._allowUnmatched) {\n this._adapter.setInputValue(this._filterText);\n\n if (this._isDropdownOpen) {\n this._debounceFilter({ checkFocus: false });\n }\n }\n }\n }\n\n /** Gets/sets the list of classes to apply to the popup element. */\n public get popupClasses(): string | string[] {\n return Array.isArray(this._popupClasses) ? [...this._popupClasses] : [this._popupClasses];\n }\n public set popupClasses(value: string | string[]) {\n if (this._popupClasses !== value) {\n this._popupClasses = Array.isArray(value) ? [...value] : [value];\n }\n }\n\n /** Gets/sets the builder callback to use for the popup header. */\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n /** Gets/sets the builder callback to use for the popup footer. */\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n /** Gets/sets whether the popup width is synchronized with the popup target. */\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n if (this._syncPopupWidth !== value) {\n this._syncPopupWidth = value;\n }\n }\n\n /** Gets/sets the maximum number of options to display in the dropdown. */\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n if (this._optionLimit !== value) {\n this._optionLimit = value;\n }\n }\n\n /** Gets/sets the debounce delay (milliseconds) for keyboard events. */\n public get debounce(): number {\n return this._debounce;\n }\n public set debounce(value: number) {\n if (this._debounce !== value) {\n this._debounce = value;\n\n if (this._isInitialized) {\n this._setFilterCallback();\n }\n\n this._adapter.setHostAttribute(AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE, isDefined(this._debounce) ? this._debounce.toString() : '');\n }\n }\n\n /** Sets the item builder callback that will be executed when building the option list in the dropdown. */\n public get optionBuilder(): AutocompleteOptionBuilder | null | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(fn: AutocompleteOptionBuilder | null | undefined) {\n this._optionBuilder = fn;\n }\n\n /** Sets the filter callback that will be executed when fetching options for the autocomplete dropdown. */\n public get filter(): AutocompleteFilterCallback | null | undefined {\n return this._filter;\n }\n public set filter(cb: AutocompleteFilterCallback | null | undefined) {\n if (this._filter !== cb) {\n this._filter = cb;\n\n // If we have a value, but don't have any options yet then execute the filter\n if (this._isInitialized && this._values.length && !this._flatOptions.length && !!this._filter) {\n this._executeFilter().then(() => {\n this._updateSelectedOptions(this._values);\n this._adapter.setSelectedText(this._getSelectedText());\n });\n }\n }\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text. */\n public get selectedTextBuilder(): AutocompleteSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: AutocompleteSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\n\n // If there are selected options, set the selected text again\n if (this._selectedOptions.length) {\n this._adapter.setSelectedText(this._getSelectedText());\n }\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n if (!this._isDropdownOpen) {\n return;\n }\n this._options = [...this._options, ...options] as IAutocompleteOption[] | IAutocompleteOptionGroup[];\n this._adapter.appendOptions(options);\n }\n\n public get isInitialized(): boolean {\n return this._isInitialized;\n }\n\n public get open(): boolean {\n return this._isDropdownOpen;\n }\n public set open(value: boolean) {\n if (this._isDropdownOpen !== value) {\n if (value) {\n this._showDropdown({ userTriggered: false });\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get beforeValueChange(): (value: any) => boolean | Promise<boolean> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: (value: any) => boolean | Promise<boolean>) {\n if (value !== this._beforeValueChange) {\n this._beforeValueChange = value;\n }\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getPopupElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, ensureChild, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';\nimport { DividerComponent } from '../divider';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent, ListItemComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { PopupComponent } from '../popup';\nimport { SkeletonComponent } from '../skeleton';\nimport { TextFieldComponent } from '../text-field';\nimport { AutocompleteAdapter } from './autocomplete-adapter';\nimport { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, AUTOCOMPLETE_CONSTANTS, IAutocompleteForceFilterOptions, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';\nimport { AutocompleteFoundation } from './autocomplete-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface IAutocompleteComponent extends IListDropdownAware {\n mode: `${AutocompleteMode}`;\n multiple: boolean;\n value: any;\n debounce: number;\n filterOnFocus: boolean;\n filterFocusFirst: boolean;\n allowUnmatched: boolean;\n matchKey: string | null | undefined;\n popupTarget: string;\n filterText: string;\n filter: AutocompleteFilterCallback | null | undefined;\n optionBuilder: AutocompleteOptionBuilder | null | undefined;\n selectedTextBuilder: AutocompleteSelectedTextBuilder;\n popupElement: HTMLElement | null;\n beforeValueChange: (value: any) => boolean | Promise<boolean>;\n isInitialized: boolean;\n open: boolean;\n appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;\n openDropdown(): void;\n closeDropdown(): void;\n forceFilter(opts?: IAutocompleteForceFilterOptions): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-autocomplete': IAutocompleteComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-autocomplete-change': CustomEvent<any>;\n 'forge-autocomplete-select': CustomEvent<IAutocompleteSelectEventData>;\n 'forge-autocomplete-scrolled-bottom': CustomEvent<void>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-autocomplete>` element.\n * \n * @tag forge-autocomplete\n */\n@CustomElement({\n name: AUTOCOMPLETE_CONSTANTS.elementName,\n dependencies: [\n TextFieldComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n DividerComponent,\n SkeletonComponent,\n LinearProgressComponent,\n IconComponent\n ]\n})\nexport class AutocompleteComponent extends ListDropdownAware implements IAutocompleteComponent {\n public static get observedAttributes(): string[] {\n return [\n AUTOCOMPLETE_CONSTANTS.attributes.MODE,\n AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE,\n AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE,\n AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS,\n AUTOCOMPLETE_CONSTANTS.attributes.FILTER_FOCUS_FIRST,\n AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED,\n AUTOCOMPLETE_CONSTANTS.attributes.POPUP_TARGET,\n AUTOCOMPLETE_CONSTANTS.attributes.POPUP_CLASSES,\n AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL,\n AUTOCOMPLETE_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n AUTOCOMPLETE_CONSTANTS.attributes.OPTION_LIMIT,\n AUTOCOMPLETE_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n AUTOCOMPLETE_CONSTANTS.attributes.OPEN,\n AUTOCOMPLETE_CONSTANTS.attributes.MATCH_KEY,\n AUTOCOMPLETE_CONSTANTS.attributes.FILTER_TEXT\n ];\n }\n\n private _foundation: AutocompleteFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new AutocompleteFoundation(new AutocompleteAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(AUTOCOMPLETE_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, AUTOCOMPLETE_CONSTANTS.selectors.INPUT).then(() => this._foundation.initialize());\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case AUTOCOMPLETE_CONSTANTS.attributes.MODE:\n this.mode = newValue as AutocompleteMode;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.DEBOUNCE:\n this.debounce = coerceNumber(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.FILTER_ON_FOCUS:\n this.filterOnFocus = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.FILTER_FOCUS_FIRST:\n this.filterFocusFirst = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.ALLOW_UNMATCHED:\n this.allowUnmatched = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.POPUP_TARGET:\n this.popupTarget = newValue;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.MATCH_KEY:\n this.matchKey = newValue;\n break;\n case AUTOCOMPLETE_CONSTANTS.attributes.FILTER_TEXT:\n this.filterText = newValue;\n break;\n }\n }\n\n /** Gets/sets the interaction mode. */\n @FoundationProperty()\n public declare mode: `${AutocompleteMode}`;\n\n /** Gets/sets the multi-select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the debounce delay (milliseconds) for keyboard events. */\n @FoundationProperty()\n public declare debounce: number;\n\n /** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */\n @FoundationProperty()\n public declare filterOnFocus: boolean;\n\n /** Gets/sets whether the first option in the dropdown will be focused automatically when opened or not. */\n @FoundationProperty()\n public declare filterFocusFirst: boolean;\n\n /** Controls whether unmatched text entered by the user will stay visible an option in the dropdown is not found. */\n @FoundationProperty()\n public declare allowUnmatched: boolean;\n\n /** Gets/sets the selector that will be used to find an element to attach the popup to. Defaults to the input element. */\n @FoundationProperty()\n public declare popupTarget: string;\n\n /**\n * Gets/sets the filter text.\n * \n * Setting the filter text only applies when allowUnmatched is enabled.\n */\n @FoundationProperty()\n public declare filterText: string;\n\n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: AutocompleteOptionBuilder | null | undefined;\n\n /** Sets the filter callback that will be executed when fetching options for the autocomplete dropdown. */\n @FoundationProperty()\n public declare filter: AutocompleteFilterCallback | null | undefined;\n\n /** Sets the selected text builder callback that will be executed when getting the selected text. */\n @FoundationProperty()\n public declare selectedTextBuilder: AutocompleteSelectedTextBuilder;\n\n /** Controls the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the property key to match the value to an option. */\n @FoundationProperty()\n public declare matchKey: string | null | undefined;\n\n /** Returns whether the component has been initialized or not yet. */\n @FoundationProperty({ set: false })\n public declare isInitialized: boolean;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | null;\n\n /** Sets the callback to be executed when the user selects an option, before the UI is updated to allow for validation. */\n @FoundationProperty()\n public declare beforeValueChange: (value: any) => boolean | Promise<boolean>;\n\n /** Adds options to the dropdown while it is open. Has no effect if the dropdown is closed. */\n public appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n /** Opens the dropdown. */\n public openDropdown(): void {\n this.open = true;\n }\n\n /** Closes the dropdown. */\n public closeDropdown(): void {\n this.open = false;\n }\n\n /**\n * Forces the filter callback to be executed to update the current selection state with new options.\n * @param opts\n */\n public forceFilter(opts: IAutocompleteForceFilterOptions = { preserveValue: false }): void {\n this._foundation.forceFilter(opts);\n }\n}\n", "import { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, TextFieldComponentDelegate, ITextFieldComponentDelegateOptions } from '../text-field';\nimport { IAutocompleteComponent } from './autocomplete';\nimport { AUTOCOMPLETE_CONSTANTS } from './autocomplete-constants';\nimport { IconComponentDelegate, IIconComponentDelegateConfig } from '../icon';\nimport { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { ITextFieldComponentDelegateConfig } from '../text-field/text-field-component-delegate';\n\nexport type AutocompleteComponentDelegateProps = Partial<IAutocompleteComponent>;\nexport interface IAutocompleteComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n useDropdownIcon?: boolean;\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\n\nexport interface IAutocompleteComponentDelegateConfig extends IBaseComponentDelegateConfig<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {}\n\nexport class AutocompleteComponentDelegate extends FormFieldComponentDelegate<IAutocompleteComponent, IAutocompleteComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: IAutocompleteComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IAutocompleteComponent {\n const autocomplete = document.createElement(AUTOCOMPLETE_CONSTANTS.elementName) as IAutocompleteComponent;\n this._attachTextField(autocomplete);\n return autocomplete;\n }\n\n public get textFieldDelegate(): TextFieldComponentDelegate {\n return this._textFieldDelegate;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._textFieldDelegate.inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._textFieldDelegate.inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._element.addEventListener(AUTOCOMPLETE_CONSTANTS.events.CHANGE, (evt: CustomEvent) => listener(evt.detail));\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(autocomplete: IAutocompleteComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n\n if (!textFieldConfig.options) {\n textFieldConfig.options = {};\n }\n\n if (this._config.options?.useDropdownIcon !== false && !textFieldConfig.options?.trailingElement) {\n textFieldConfig.options.trailingElement = this._createDropdownIconElement();\n }\n\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n autocomplete.appendChild(this._textFieldDelegate.element);\n }\n\n private _createDropdownIconElement(): HTMLElement {\n const config: IIconComponentDelegateConfig = {\n props: {\n slot: 'trailing',\n name: 'arrow_drop_down'\n },\n options: {\n attributes: { 'forge-dropdown-icon': '' }\n }\n };\n return new IconComponentDelegate(config).element;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AutocompleteComponent } from './autocomplete';\n\nexport * from './autocomplete-adapter';\nexport * from './autocomplete-component-delegate';\nexport * from './autocomplete-constants';\nexport * from './autocomplete-foundation';\nexport * from './autocomplete-utils';\nexport * from './autocomplete';\n\nexport function defineAutocompleteComponent(): void {\n defineCustomElement(AutocompleteComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "FIELD_CONSTANTS", "numbers", "events", "AUTOCOMPLETE_CONSTANTS", "AutocompleteMode", "AutocompleteAdapter", "BaseAdapter", "component", "inputElements", "deepQuerySelectorAll", "AUTOCOMPLETE_CONSTANTS", "name", "value", "type", "listener", "identifier", "CHIP_FIELD_CONSTANTS", "config", "popupTarget", "ListDropdown", "targetElement", "POPUP_CONSTANTS", "isVisible", "_a", "dropdownElement", "options", "target", "activeElement", "getActiveElement", "dropdownIcon", "clearButton", "key", "id", "toggleAttribute", "selector", "_b", "values", "o", "dropdownEl", "textField", "textFieldRoot", "getShadowElement", "TEXT_FIELD_CONSTANTS", "chipField", "chipFieldRoot", "state", "OptionType", "isOptionType", "options", "type", "isOptionGroups", "o", "isDefined", "isObject", "isOptionTypes", "getSelectedOption", "value", "optionEqualPredicate", "option", "property", "isDeepEqual", "AutocompleteFoundation", "ListDropdownAwareFoundation", "_adapter", "AUTOCOMPLETE_CONSTANTS", "evt", "id", "randomChars", "preserveValue", "isDefined", "debounce", "isOptionType", "previousValue", "currentValue", "Platform", "checkFocus", "filterText", "filterPromise", "e", "promiseIndex", "input", "value", "isRemovingAllChars", "isBackspacingLastChar", "isDeletingLastChar", "isEmpty", "sendFilterText", "sendValue", "filter", "resolve", "reject", "options", "userTriggered", "activateFirst", "activateSelected", "listOptionBuilder", "optionBuilder", "option", "parentElement", "config", "label", "highlightElement", "highlightTextHTML", "selectedOptions", "unselectedOptions", "o", "optionEqualPredicate", "selectedValue", "keepFocus", "data", "select", "selectedOption", "getSelectedOption", "index", "activeOptionIndex", "_a", "_b", "values", "allOptions", "flatOptions", "actualOption", "isString", "v", "fn", "cb", "template", "styles", "AutocompleteComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowDropDown", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "attachShadowTemplate", "AutocompleteFoundation", "AutocompleteAdapter", "AUTOCOMPLETE_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "options", "opts", "__decorateClass", "FoundationProperty", "CustomElement", "TextFieldComponent", "PopupComponent", "ListComponent", "ListItemComponent", "DividerComponent", "SkeletonComponent", "LinearProgressComponent", "IconComponent", "AutocompleteComponentDelegate", "FormFieldComponentDelegate", "config", "autocomplete", "AUTOCOMPLETE_CONSTANTS", "value", "listener", "evt", "_a", "_b", "_c", "_d", "_e", "_f", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "IconComponentDelegate", "defineAutocompleteComponent", "defineCustomElement", "AutocompleteComponent"]
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "FIELD_CONSTANTS", "numbers", "KEYSTROKE_DEBOUNCE_THRESHOLD", "events", "AUTOCOMPLETE_CONSTANTS", "AutocompleteMode", "AutocompleteAdapter", "BaseAdapter", "component", "inputElements", "deepQuerySelectorAll", "AUTOCOMPLETE_CONSTANTS", "name", "value", "type", "listener", "identifier", "CHIP_FIELD_CONSTANTS", "config", "popupTarget", "ListDropdown", "targetElement", "POPUP_CONSTANTS", "isVisible", "_a", "dropdownElement", "options", "target", "activeElement", "getActiveElement", "dropdownIcon", "clearButton", "key", "id", "toggleAttribute", "selector", "_b", "values", "o", "dropdownEl", "textField", "textFieldRoot", "getShadowElement", "TEXT_FIELD_CONSTANTS", "chipField", "chipFieldRoot", "state", "OptionType", "isOptionType", "options", "type", "isOptionGroups", "o", "isDefined", "isObject", "isOptionTypes", "getSelectedOption", "value", "optionEqualPredicate", "option", "property", "isDeepEqual", "AutocompleteFoundation", "ListDropdownAwareFoundation", "_adapter", "AUTOCOMPLETE_CONSTANTS", "evt", "id", "randomChars", "preserveValue", "isDefined", "debounce", "isOptionType", "previousValue", "currentValue", "Platform", "checkFocus", "filterText", "filterPromise", "e", "promiseIndex", "input", "value", "isRemovingAllChars", "isBackspacingLastChar", "isDeletingLastChar", "isEmpty", "sendFilterText", "sendValue", "filter", "resolve", "reject", "options", "userTriggered", "activateFirst", "activateSelected", "listOptionBuilder", "optionBuilder", "option", "parentElement", "config", "label", "highlightElement", "highlightTextHTML", "selectedOptions", "unselectedOptions", "o", "optionEqualPredicate", "selectedValue", "keepFocus", "data", "select", "selectedOption", "getSelectedOption", "index", "activeOptionIndex", "_a", "_b", "values", "allOptions", "flatOptions", "actualOption", "isString", "v", "fn", "cb", "template", "styles", "AutocompleteComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowDropDown", "tylIconCheckBox", "tylIconCheckBoxOutlineBlank", "attachShadowTemplate", "AutocompleteFoundation", "AutocompleteAdapter", "AUTOCOMPLETE_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "options", "opts", "__decorateClass", "FoundationProperty", "CustomElement", "TextFieldComponent", "PopupComponent", "ListComponent", "ListItemComponent", "DividerComponent", "SkeletonComponent", "LinearProgressComponent", "IconComponent", "AutocompleteComponentDelegate", "FormFieldComponentDelegate", "config", "autocomplete", "AUTOCOMPLETE_CONSTANTS", "value", "listener", "evt", "_a", "_b", "_c", "_d", "_e", "_f", "textFieldConfig", "__spreadValues", "TextFieldComponentDelegate", "IconComponentDelegate", "defineAutocompleteComponent", "defineCustomElement", "AutocompleteComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{d as A}from"./chunk.OJHNLDNM.js";import{A as _}from"./chunk.EWT2PBEP.js";import{d as E,l as I}from"./chunk.L7BSLZCB.js";import{a as f}from"./chunk.ZY3ETQ3D.js";import{a as n}from"./chunk.NVUMRW44.js";import{a as g,b as y}from"./chunk.UVXKHQQZ.js";import{a as u,e as b,f as m,k as v}from"./chunk.TPXXHX5J.js";import{n as h}from"./chunk.HZUQXCOQ.js";import{k as d}from"./chunk.J2M2MXP2.js";import{d as p}from"./chunk.M3QDAYD2.js";var T=`${y}app-bar-search`,x={ROOT:".forge-app-bar-search",INPUT:"input"},L={DISABLED:"disabled",VALUE:"value",PLACEHOLDER:"placeholder"},C={INPUT:`${T}-input`},e={elementName:T,selectors:x,attributes:L,events:C};var s=class{constructor(a){this._adapter=a;this._disabled=!1;this._keydownListener=a=>this._onKeydown(a)}initialize(){this._adapter.initialize(),this._tryForwardInputState(),this._adapter.addInputEventListener("keydown",this._keydownListener)}_tryForwardInputState(){this._disabled&&this._adapter.setInputProperty("disabled",this._disabled),this._adapter.hasHostAttribute(e.attributes.VALUE)&&this._adapter.setInputProperty("value",this._adapter.getHostAttribute(e.attributes.VALUE)),this._adapter.hasHostAttribute(e.attributes.PLACEHOLDER)&&this._adapter.setInputProperty("placeholder",this._adapter.getHostAttribute(e.attributes.PLACEHOLDER))}_onKeydown({key:a,target:t}){if(!this._disabled&&a==="Enter"){let r={value:t.value};this._adapter.emitHostEvent(e.events.INPUT,r,!0)}}disconnect(){this._adapter.removeInputEventListener("keydown",this._keydownListener)}get disabled(){return this._disabled}set disabled(a){a!==this._disabled&&(this._disabled=a,this._adapter.setInputProperty("disabled",this._disabled),this._adapter.toggleHostAttribute(e.attributes.DISABLED,this._disabled))}get value(){return this._adapter.getInputProperty("value")}set value(a){this._adapter.setInputProperty("value",a)}get placeholder(){return this._adapter.getInputProperty("placeholder")}set placeholder(a){this._adapter.setInputProperty("placeholder",a)}};var c=class extends f{constructor(t){super(t);this._rootElement=m(t,e.selectors.ROOT)}initialize(){let t=this._component.querySelector(e.selectors.INPUT);if(t){this._inputElement=t,this._inputElement.hasAttribute("slot")||(this._inputElement.slot="input");let r=document.createElement("forge-focus-indicator");r.targetElement=this._inputElement,this._rootElement.appendChild(r)}}addInputEventListener(t,r){var o;(o=this._inputElement)==null||o.addEventListener(t,r)}removeInputEventListener(t,r){var o;(o=this._inputElement)==null||o.removeEventListener(t,r)}setInputProperty(t,r){this._inputElement&&(this._inputElement[t]=r)}getInputProperty(t){var r;return(r=this._inputElement)==null?void 0:r[t]}};var S='<template><div class="forge-app-bar-search" part="root"><slot name="start"><forge-icon name="search" class="icon" part="icon"></forge-icon></slot><slot name="input"></slot><slot name="end"></slot></div></template>',k=':host{display:block}:host([hidden]){display:none}.forge-app-bar-search{--_app-bar-search-color:var(--forge-app-bar-search-color, currentColor);--_app-bar-search-height:var(--forge-app-bar-search-height, 36px);--_app-bar-search-padding:var(--forge-app-bar-search-padding, 8px);--_app-bar-search-shape:var(--forge-app-bar-search-shape, var(--forge-shape-small, 2px));--_app-bar-search-gap:var(--forge-app-bar-search-gap, 4px);--_app-bar-search-input-placeholder-color:var(--forge-app-bar-search-input-placeholder-color, var(--_app-bar-search-color));--_app-bar-search-input-placeholder-opacity:var(--forge-app-bar-search-input-placeholder-opacity, 0.38);--_app-bar-search-background-color:var(--forge-app-bar-search-background-color, var(--_app-bar-search-color));--_app-bar-search-background-color-opacity:var(--forge-app-bar-search-background-color-opacity, 0.08);--_app-bar-search-border-color:var(--forge-app-bar-search-border-color, var(--_app-bar-search-color));--_app-bar-search-border-opacity:var(--forge-app-bar-search-border-opacity, 0.54);--_app-bar-search-border-hover-opacity:var(--forge-app-bar-search-border-hover-opacity, 0.87);--_app-bar-search-transition-duration:var(--forge-app-bar-search-transition-duration, var(--forge-animation-duration-short3, 150ms));--_app-bar-search-transition-timing-function:var(--forge-app-bar-search-transition-timing-function, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-app-bar-search{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-flex:1;flex:1 1 auto;gap:var(--_app-bar-search-gap);height:var(--_app-bar-search-height);width:100%;padding-inline:var(--_app-bar-search-padding);-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_app-bar-search-shape)}.forge-app-bar-search:hover::after{opacity:var(--_app-bar-search-border-hover-opacity)}.forge-app-bar-search::before{content:"";position:absolute;inset:0;pointer-events:none;background-color:var(--_app-bar-search-background-color);opacity:var(--_app-bar-search-background-color-opacity)}.forge-app-bar-search::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--_app-bar-search-border-opacity);border-radius:var(--_app-bar-search-shape);outline:1px solid var(--_app-bar-search-border-color);-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:var(--_app-bar-search-transition-duration);transition-duration:var(--_app-bar-search-transition-duration);-webkit-transition-timing-function:var(--_app-bar-search-transition-timing-function);transition-timing-function:var(--_app-bar-search-transition-timing-function)}:host([disabled]){cursor:not-allowed}:host([disabled]) .forge-app-bar-search{pointer-events:none;opacity:38%}:host([disabled]) ::slotted(input){pointer-events:none}forge-focus-indicator{--forge-focus-indicator-color:currentColor;--forge-focus-indicator-outward-offset:0px}::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);display:block;overflow:hidden;background:0 0;color:currentColor;border:none;width:100%;margin:0;outline:0}::slotted(input)::-webkit-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::-moz-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input):-ms-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::-ms-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}',i=class extends v{constructor(){super();E.define(_),b(this,S,k),this._foundation=new s(new c(this))}static get observedAttributes(){return[e.attributes.DISABLED,e.attributes.VALUE,e.attributes.PLACEHOLDER]}connectedCallback(){this.querySelector(e.selectors.INPUT)?this._foundation.initialize():h(this).then(()=>this._foundation.initialize())}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,r,o){switch(t){case e.attributes.DISABLED:this.disabled=d(o);break;case e.attributes.VALUE:this.value=o;break;case e.attributes.PLACEHOLDER:this.placeholder=o;break}}};p([n()],i.prototype,"value",2),p([n()],i.prototype,"disabled",2),p([n()],i.prototype,"placeholder",2),i=p([g({name:e.elementName,dependencies:[I,A]})],i);function ae(){u(i)}export{e as a,s as b,c,i as d,ae as e};
|
|
7
|
+
//# sourceMappingURL=chunk.ZJQLVAJY.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app-bar/search/app-bar-search-constants.ts", "../../src/app-bar/search/app-bar-search-foundation.ts", "../../src/app-bar/search/app-bar-search-adapter.ts", "../../src/app-bar/search/app-bar-search.ts", "../../src/app-bar/search/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-search`;\n\nconst selectors = {\n ROOT: '.forge-app-bar-search',\n INPUT: 'input'\n};\n\nconst attributes = {\n DISABLED: 'disabled',\n VALUE: 'value',\n PLACEHOLDER: 'placeholder'\n};\n\nconst events = {\n INPUT: `${elementName}-input`\n};\n\nexport const APP_BAR_SEARCH_CONSTANTS = {\n elementName,\n selectors,\n attributes,\n events\n};\n\nexport interface IAppBarSearchInputEventData {\n value: string;\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IAppBarSearchAdapter } from './app-bar-search-adapter';\nimport { APP_BAR_SEARCH_CONSTANTS, IAppBarSearchInputEventData } from './app-bar-search-constants';\n\nexport interface IAppBarSearchFoundation extends ICustomElementFoundation {\n disabled: boolean;\n value: string;\n placeholder: string;\n}\n\nexport class AppBarSearchFoundation implements IAppBarSearchFoundation {\n private _disabled = false;\n\n private _keydownListener = (evt: KeyboardEvent): void => this._onKeydown(evt);\n\n constructor(private _adapter: IAppBarSearchAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._tryForwardInputState();\n this._adapter.addInputEventListener('keydown', this._keydownListener);\n }\n\n private _tryForwardInputState(): void {\n if (this._disabled) {\n this._adapter.setInputProperty('disabled', this._disabled);\n }\n if (this._adapter.hasHostAttribute(APP_BAR_SEARCH_CONSTANTS.attributes.VALUE)) {\n this._adapter.setInputProperty('value', this._adapter.getHostAttribute(APP_BAR_SEARCH_CONSTANTS.attributes.VALUE) as string);\n }\n if (this._adapter.hasHostAttribute(APP_BAR_SEARCH_CONSTANTS.attributes.PLACEHOLDER)) {\n this._adapter.setInputProperty('placeholder', this._adapter.getHostAttribute(APP_BAR_SEARCH_CONSTANTS.attributes.PLACEHOLDER) as string);\n }\n }\n\n private _onKeydown({ key, target }: KeyboardEvent): void {\n if (this._disabled) {\n return;\n }\n\n if (key === 'Enter') {\n const data: IAppBarSearchInputEventData = {\n value: (target as HTMLInputElement).value\n };\n this._adapter.emitHostEvent(APP_BAR_SEARCH_CONSTANTS.events.INPUT, data, true);\n }\n }\n\n public disconnect(): void {\n this._adapter.removeInputEventListener('keydown', this._keydownListener);\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (value !== this._disabled) {\n this._disabled = value;\n this._adapter.setInputProperty('disabled', this._disabled);\n this._adapter.toggleHostAttribute(APP_BAR_SEARCH_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get value(): string {\n return this._adapter.getInputProperty('value');\n }\n public set value(value: string) {\n this._adapter.setInputProperty('value', value);\n }\n\n public get placeholder(): string {\n return this._adapter.getInputProperty('placeholder');\n }\n\n public set placeholder(value: string) {\n this._adapter.setInputProperty('placeholder', value);\n }\n}\n", "import { addClass, getShadowElement, removeClass, toggleAttribute } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IAppBarSearchComponent } from './app-bar-search';\nimport { APP_BAR_SEARCH_CONSTANTS } from './app-bar-search-constants';\n\nexport interface IAppBarSearchAdapter extends IBaseAdapter {\n initialize(): void;\n addInputEventListener(type: string, listener: (evt: Event) => void): void;\n removeInputEventListener(type: string, listener: (evt: Event) => void): void;\n setInputProperty<T extends keyof HTMLInputElement>(name: T, value: HTMLInputElement[T]): void;\n getInputProperty<T extends keyof HTMLInputElement>(name: T): HTMLInputElement[T];\n}\n\nexport class AppBarSearchAdapter extends BaseAdapter<IAppBarSearchComponent> implements IAppBarSearchAdapter {\n private _rootElement: HTMLElement;\n private _inputElement: HTMLInputElement;\n\n constructor(component: IAppBarSearchComponent) {\n super(component);\n this._rootElement = getShadowElement(component, APP_BAR_SEARCH_CONSTANTS.selectors.ROOT);\n }\n\n public initialize(): void {\n const inputElement = this._component.querySelector(APP_BAR_SEARCH_CONSTANTS.selectors.INPUT);\n if (inputElement) {\n this._inputElement = inputElement as HTMLInputElement;\n\n if (!this._inputElement.hasAttribute('slot')) {\n this._inputElement.slot = 'input';\n }\n\n const focusIndicator = document.createElement('forge-focus-indicator');\n focusIndicator.targetElement = this._inputElement;\n this._rootElement.appendChild(focusIndicator);\n }\n }\n\n public addInputEventListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement?.addEventListener(type, listener);\n }\n\n public removeInputEventListener(type: string, listener: (evt: Event) => void): void {\n this._inputElement?.removeEventListener(type, listener);\n }\n\n public setInputProperty<T extends keyof HTMLInputElement>(name: T, value: HTMLInputElement[T]): void {\n if (this._inputElement) {\n this._inputElement[name] = value;\n }\n }\n\n public getInputProperty<T extends keyof HTMLInputElement>(name: T): HTMLInputElement[T] {\n return this._inputElement?.[name];\n }\n}\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, FoundationProperty, ensureInputElement } from '@tylertech/forge-core';\nimport { tylIconSearch } from '@tylertech/tyler-icons/standard';\nimport { AppBarSearchFoundation } from './app-bar-search-foundation';\nimport { AppBarSearchAdapter } from './app-bar-search-adapter';\nimport { IAppBarSearchInputEventData, APP_BAR_SEARCH_CONSTANTS } from './app-bar-search-constants';\nimport { FocusIndicatorComponent } from '../../focus-indicator';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><div class=\\\"forge-app-bar-search\\\" part=\\\"root\\\"><slot name=\\\"start\\\"><forge-icon name=\\\"search\\\" class=\\\"icon\\\" part=\\\"icon\\\"></forge-icon></slot><slot name=\\\"input\\\"></slot><slot name=\\\"end\\\"></slot></div></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}.forge-app-bar-search{--_app-bar-search-color:var(--forge-app-bar-search-color, currentColor);--_app-bar-search-height:var(--forge-app-bar-search-height, 36px);--_app-bar-search-padding:var(--forge-app-bar-search-padding, 8px);--_app-bar-search-shape:var(--forge-app-bar-search-shape, var(--forge-shape-small, 2px));--_app-bar-search-gap:var(--forge-app-bar-search-gap, 4px);--_app-bar-search-input-placeholder-color:var(--forge-app-bar-search-input-placeholder-color, var(--_app-bar-search-color));--_app-bar-search-input-placeholder-opacity:var(--forge-app-bar-search-input-placeholder-opacity, 0.38);--_app-bar-search-background-color:var(--forge-app-bar-search-background-color, var(--_app-bar-search-color));--_app-bar-search-background-color-opacity:var(--forge-app-bar-search-background-color-opacity, 0.08);--_app-bar-search-border-color:var(--forge-app-bar-search-border-color, var(--_app-bar-search-color));--_app-bar-search-border-opacity:var(--forge-app-bar-search-border-opacity, 0.54);--_app-bar-search-border-hover-opacity:var(--forge-app-bar-search-border-hover-opacity, 0.87);--_app-bar-search-transition-duration:var(--forge-app-bar-search-transition-duration, var(--forge-animation-duration-short3, 150ms));--_app-bar-search-transition-timing-function:var(--forge-app-bar-search-transition-timing-function, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-app-bar-search{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-flex:1;flex:1 1 auto;gap:var(--_app-bar-search-gap);height:var(--_app-bar-search-height);width:100%;padding-inline:var(--_app-bar-search-padding);-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_app-bar-search-shape)}.forge-app-bar-search:hover::after{opacity:var(--_app-bar-search-border-hover-opacity)}.forge-app-bar-search::before{content:\\\"\\\";position:absolute;inset:0;pointer-events:none;background-color:var(--_app-bar-search-background-color);opacity:var(--_app-bar-search-background-color-opacity)}.forge-app-bar-search::after{content:\\\"\\\";position:absolute;inset:0;pointer-events:none;opacity:var(--_app-bar-search-border-opacity);border-radius:var(--_app-bar-search-shape);outline:1px solid var(--_app-bar-search-border-color);-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-duration:var(--_app-bar-search-transition-duration);transition-duration:var(--_app-bar-search-transition-duration);-webkit-transition-timing-function:var(--_app-bar-search-transition-timing-function);transition-timing-function:var(--_app-bar-search-transition-timing-function)}:host([disabled]){cursor:not-allowed}:host([disabled]) .forge-app-bar-search{pointer-events:none;opacity:38%}:host([disabled]) ::slotted(input){pointer-events:none}forge-focus-indicator{--forge-focus-indicator-color:currentColor;--forge-focus-indicator-outward-offset:0px}::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);display:block;overflow:hidden;background:0 0;color:currentColor;border:none;width:100%;margin:0;outline:0}::slotted(input)::-webkit-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::-moz-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input):-ms-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::-ms-input-placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}::slotted(input)::placeholder{color:currentColor;opacity:var(--_app-bar-search-input-placeholder-opacity)}';\n\nexport interface IAppBarSearchComponent extends IBaseComponent {\n disabled: boolean;\n value: string;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-search': IAppBarSearchComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-app-bar-search-input': CustomEvent<IAppBarSearchInputEventData>;\n }\n}\n\n/**\n * @tag forge-app-bar-search\n * \n * @slot - The default (unnamed) slot is where child `<input>` elements will be placed.\n * @slot action - Places actions at the end of the input.\n * \n * @csspart root - The root element\n * @csspart container - The input container element.\n * @csspart icon-container - The icon container element.\n * @csspart icon - The <forge-icon> element.\n * @csspart context - The context container element.\n * @csspart context-divider - The context divider element.\n * @csspart context-button - The context button element.\n * @csspart context-button-text - The context button text element.\n * @csspart context-button-icon - The context button icon element.\n * @csspart global-icon-container - The global icon container element.\n * @csspart global-icon - The global icon <forge-icon> element.\n * @csspart actions-container - The action container element around the slot.\n * \n * @cssproperty --mdc-theme-on-primary - Controls the border-color of the container outline, the font-color, and icon color.\n * @cssproperty --mdc-theme-on-surface - Controls the font color of the buttons.\n * @cssproperty --mdc-theme-text-secondary-on-background - Controls the placeholder font color.\n * @cssproperty --forge-app-bar-search-theme-background - Controls the background-color of the container.\n * @cssproperty --forge-app-bar-search-theme-background-focused - Controls the focused background-color of the container.\n * @cssproperty --forge-app-bar-search-theme-hover-opacity - Controls the hover opacity of the outline.\n * @cssproperty --forge-app-bar-search-theme-disabled-opacity - Controls the disabled opacity of the component.\n */\n@CustomElement({\n name: APP_BAR_SEARCH_CONSTANTS.elementName,\n dependencies: [\n IconComponent,\n FocusIndicatorComponent\n ]\n})\nexport class AppBarSearchComponent extends BaseComponent implements IAppBarSearchComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_SEARCH_CONSTANTS.attributes.DISABLED,\n APP_BAR_SEARCH_CONSTANTS.attributes.VALUE,\n APP_BAR_SEARCH_CONSTANTS.attributes.PLACEHOLDER\n ];\n }\n\n private _foundation: AppBarSearchFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconSearch);\n attachShadowTemplate(this, template, styles);\n this._foundation = new AppBarSearchFoundation(new AppBarSearchAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(APP_BAR_SEARCH_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureInputElement(this).then(() => this._foundation.initialize());\n }\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 APP_BAR_SEARCH_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case APP_BAR_SEARCH_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case APP_BAR_SEARCH_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: string;\n\n @FoundationProperty()\n public declare disabled: boolean;\n \n @FoundationProperty()\n public declare placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarSearchComponent } from './app-bar-search';\n\nexport * from './app-bar-search-adapter';\nexport * from './app-bar-search-constants';\nexport * from './app-bar-search-foundation';\nexport * from './app-bar-search';\n\nexport function defineAppBarSearchComponent(): void {\n defineCustomElement(AppBarSearchComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "selectors", "attributes", "events", "APP_BAR_SEARCH_CONSTANTS", "AppBarSearchFoundation", "_adapter", "evt", "APP_BAR_SEARCH_CONSTANTS", "key", "target", "data", "value", "AppBarSearchAdapter", "BaseAdapter", "component", "getShadowElement", "APP_BAR_SEARCH_CONSTANTS", "inputElement", "focusIndicator", "type", "listener", "_a", "name", "value", "template", "styles", "AppBarSearchComponent", "BaseComponent", "IconRegistry", "tylIconSearch", "attachShadowTemplate", "AppBarSearchFoundation", "AppBarSearchAdapter", "APP_BAR_SEARCH_CONSTANTS", "ensureInputElement", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconComponent", "FocusIndicatorComponent", "defineAppBarSearchComponent", "defineCustomElement", "AppBarSearchComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as S}from"./chunk.INQZNXG6.js";import{a as k}from"./chunk.KZMXTOLO.js";import{b as O}from"./chunk.OJHNLDNM.js";import{c as m}from"./chunk.EWT2PBEP.js";import{d as y}from"./chunk.L7BSLZCB.js";import{a as I}from"./chunk.FTADCSFT.js";import{a as B,b as P}from"./chunk.KD4DVSJR.js";import{k as L,n as T}from"./chunk.QG5EYBS3.js";import{a as v}from"./chunk.ZY3ETQ3D.js";import{a}from"./chunk.NVUMRW44.js";import{j as d,l as _,m as h}from"./chunk.UVXKHQQZ.js";import{a as A}from"./chunk.NHOGZDLN.js";import{f as p,k as E}from"./chunk.TPXXHX5J.js";import{k as l}from"./chunk.J2M2MXP2.js";import{a as g,d as s}from"./chunk.M3QDAYD2.js";var C={TYPE:"type",DISABLED:"disabled",POPOVER_ICON:"popover-icon",ANCHOR:"anchor",HREF:"href",TARGET:"target",DOWNLOAD:"download",REL:"rel",DENSE:"dense",TABINDEX:"tabindex"},N=g({},C),D={ROOT:"forge-button",POPOVER_ICON:"forge-button__popover-icon"},w={ROOT:"[part=root]",END_SLOT:"slot[name=end]"},r={observedAttributes:C,attributes:N,selectors:w,classes:D};var R=P(B(S(k(E)))),n=class extends R{constructor(){super();y.define(m)}static get observedAttributes(){return Object.values(r.observedAttributes)}connectedCallback(){super.connectedCallback(),this._foundation.initialize()}attributeChangedCallback(t,i,o){switch(t){case r.observedAttributes.TYPE:this.type=o;return;case r.observedAttributes.DISABLED:this.disabled=l(o);return;case r.observedAttributes.POPOVER_ICON:this.popoverIcon=l(o);return;case r.observedAttributes.ANCHOR:this.anchor=l(o);return;case r.observedAttributes.HREF:this.href=o;return;case r.observedAttributes.TARGET:this.target=o;return;case r.observedAttributes.DOWNLOAD:this.download=o;return;case r.observedAttributes.REL:this.rel=o;return;case r.observedAttributes.DENSE:this.dense=l(o);return}super.attributeChangedCallback(t,i,o)}labelClickedCallback(){this._foundation.click({animateStateLayer:!0})}labelChangedCallback(t){this[h]({ariaLabel:t},{setAttribute:!this.hasAttribute("aria-label")})}get form(){return this[d].form}get name(){var t;return(t=this.getAttribute("name"))!=null?t:""}set name(t){this.setAttribute("name",t)}get value(){var t;return(t=this.getAttribute("value"))!=null?t:""}set value(t){this.setAttribute("value",t)}click(){this._foundation.click({animateStateLayer:!0})}focus(t){this._foundation.focus(t)}};n.formAssociated=!0,s([a()],n.prototype,"type",2),s([a()],n.prototype,"disabled",2),s([a()],n.prototype,"popoverIcon",2),s([a()],n.prototype,"anchor",2),s([a()],n.prototype,"href",2),s([a()],n.prototype,"target",2),s([a()],n.prototype,"download",2),s([a()],n.prototype,"rel",2),s([a()],n.prototype,"dense",2);var H=class{constructor(e){this._adapter=e;this._type="button";this._disabled=!1;this._popoverIcon=!1;this._anchor=!1;this._href="";this._target="";this._download="";this._rel="";this._dense=!1;this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._anchorFocusListener=()=>this._adapter.focusHost(),this._adapter.addHostListener("keydown",this._keydownListener)}initialize(){this._adapter.initialize(),this._anchor?this._adapter.addAnchorEventListener("focus",this._anchorFocusListener):this._adapter.addHostListener("click",this._clickListener)}click({animateStateLayer:e=!1}={}){this._disabled||(this._anchor?this._adapter.clickAnchor():this._adapter.clickHost(),e&&this._adapter.animateStateLayer())}focus(e){this._adapter.focusHost(e),(e==null?void 0:e.focusVisible)!==!1&&this._adapter.forceFocusVisible()}async _onClick(e){let t=this._type==="submit"||this._type==="reset";!t&&this._adapter.hasPopoverTarget()&&this._adapter.managePopover()||(await new Promise(i=>setTimeout(i)),!(e.defaultPrevented||this._disabled)&&t&&this._adapter.clickFormButton(this._type))}async _onKeydown(e){if(e.key===" "&&!this._anchor){e.preventDefault(),this.click();return}await new Promise(t=>setTimeout(t)),!(e.defaultPrevented||this._disabled)&&e.key==="Enter"&&(this._anchor?this._adapter.clickAnchor():this.click())}_toggleAnchor(){this._anchor?(this._adapter.initializeAnchor(),this._manageAnchorListeners(),this.disabled=!1):(this._adapter.removeAnchor(),this._manageAnchorListeners())}_manageAnchorListeners(){this._anchor?(this._adapter.removeHostListener("click",this._clickListener),this._adapter.addAnchorEventListener("focus",this._anchorFocusListener)):(this._adapter.addHostListener("click",this._clickListener),this._adapter.removeAnchorEventListener("focus",this._anchorFocusListener))}get type(){return this._type}set type(e){this._type!==e&&(this._type=e,this._adapter.setHostAttribute(r.attributes.TYPE,e))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._anchor&&(e=!1),this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(r.attributes.DISABLED,e))}get popoverIcon(){return this._popoverIcon}set popoverIcon(e){e=!!e,this._popoverIcon!==e&&(this._popoverIcon=e,this._adapter.toggleDefaultPopoverIcon(this._popoverIcon),this._adapter.toggleHostAttribute(r.attributes.POPOVER_ICON,e))}get anchor(){return this._anchor}set anchor(e){e=!!e,this._anchor!==e&&(this._anchor=e,this._toggleAnchor(),this._adapter.toggleHostAttribute(r.attributes.ANCHOR,e))}get href(){return this._href}set href(e){e=(e!=null?e:"").trim(),this._href!==e&&(this._href=e,this.anchor=this._href.length>0,this._anchor&&this._adapter.setAnchorProperty("href",this._href),this._adapter.toggleHostAttribute(r.attributes.HREF,!!this._href,this._href))}get target(){return this._target}set target(e){this._target!==e&&(this._target=e!=null?e:"_self",this._adapter.setAnchorProperty("target",e),this._adapter.toggleHostAttribute(r.attributes.TARGET,!!this._target,this._target))}get download(){return this._download}set download(e){this._download!==e&&(this._download=e,this._adapter.setAnchorProperty("download",this._download),this._adapter.toggleHostAttribute(r.attributes.DOWNLOAD,!!this._download,this._download))}get rel(){return this._rel}set rel(e){this._rel!==e&&(this._rel=e,this._adapter.setAnchorProperty("rel",this._rel),this._adapter.toggleHostAttribute(r.attributes.REL,!!this._rel,this._rel))}get dense(){return this._dense}set dense(e){e=!!e,this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(r.attributes.DENSE,e))}};var F=class extends v{constructor(t){super(t);this._rootElement=p(this._component,r.selectors.ROOT),this._focusIndicatorElement=p(this._component,O.elementName),this._stateLayerElement=p(this._component,I.elementName),this._endSlotElement=p(this._component,r.selectors.END_SLOT)}initialize(){this._applyHostSemantics()}initializeAnchor(){this._anchorElement=this._createAnchorRootElement(),this._rootElement.insertAdjacentElement("afterend",this._anchorElement),this._applyHostSemantics()}removeAnchor(){var t;(t=this._anchorElement)==null||t.remove(),this._anchorElement=void 0,this._applyHostSemantics()}setAnchorProperty(t,i){this._anchorElement&&(this._anchorElement[t]=i)}setDisabled(t){if(this._anchorElement){this.hasHostAttribute("aria-disabled")&&this.removeHostAttribute("aria-disabled"),this._focusIndicatorElement.isConnected||this._rootElement.append(this._focusIndicatorElement),this._stateLayerElement.isConnected||(this._stateLayerElement.disabled&&(this._stateLayerElement.disabled=!1),this._rootElement.append(this._stateLayerElement));return}t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement),this._component[_]=!t,this._component[h]({ariaDisabled:t?"true":null})}clickAnchor(){var t;(t=this._anchorElement)==null||t.click()}clickHost(){HTMLElement.prototype.click.call(this._component)}forceFocusVisible(){this._focusIndicatorElement.active=!0}clickFormButton(t){var i;if(this._component.form)if(t==="submit"){this._component[d].setFormValue(this._component.value);let o=document.createElement("button");o.type=t,T(this._component,o,L),this._component.form.addEventListener("submit",c=>{Object.defineProperty(c,"submitter",{configurable:!0,enumerable:!0,get:()=>this._component})},{capture:!0,once:!0}),this._component.insertAdjacentElement("afterend",o),o.click(),o.remove()}else t==="reset"&&((i=this._component.form)==null||i.reset())}addAnchorEventListener(t,i){this._rootElement.addEventListener(t,i)}removeAnchorEventListener(t,i){this._rootElement.removeEventListener(t,i)}hasPopoverTarget(){return this._component.hasAttribute("popovertarget")||!!this._component.popoverTargetElement}managePopover(){if(this._component.form||!this.hasPopoverTarget()||!A())return!1;let t=this._locatePopoverTargetElement();if(!t)return!1;let i=this._component.getAttribute("popovertargetaction")||"toggle",o=t.matches(":popover-open");switch(i){case"show":return o||t.showPopover(),!0;case"hide":return o&&t.hidePopover(),!1;case"toggle":default:let c=t.togglePopover();if(c&&t.popover!=="manual"){let f=u=>{u.stopPropagation(),t.matches(":popover-open")&&t.hidePopover()};this._component.addEventListener("click",f,{capture:!0,once:!0}),t.addEventListener("beforetoggle",async()=>{await new Promise(u=>setTimeout(u)),this._component.removeEventListener("click",f,{capture:!0})},{once:!0})}return c}}toggleDefaultPopoverIcon(t){if(t){if(!this._endSlotElement.querySelector("forge-icon")){let o=document.createElement("forge-icon");o.classList.add(r.classes.POPOVER_ICON),o.name=m.name,this._endSlotElement.append(o)}}else{let i=this._endSlotElement.querySelector("forge-icon");i==null||i.remove()}}animateStateLayer(){var t;this._stateLayerElement.disabled||(t=this._stateLayerElement)==null||t.playAnimation()}_locatePopoverTargetElement(){var i;let t=(i=this._component.popoverTargetElement)!=null?i:null;if(!t){let o=this._component.ownerDocument.getRootNode();if(!o)return null;let c=this._component.getAttribute("popovertarget");t=o.querySelector(`#${c}`)}return t}_applyHostSemantics(){let t=this._component.getAttribute("role"),i=!t||["button","link"].includes(t);this._component[h]({role:this._anchorElement?"link":"button"},{setAttribute:i}),this._component[_]=!!this._anchorElement||!this._component.disabled}_createAnchorRootElement(){let t=document.createElement("a");return t.setAttribute("aria-hidden","true"),t.tabIndex=-1,this._component.href&&(t.href=this._component.href),this._component.target&&(t.target=this._component.target),this._component.download&&(t.download=this._component.download),this._component.rel&&(t.rel=this._component.rel),t}};export{r as a,n as b,H as c,F as d};
|
|
7
|
+
//# sourceMappingURL=chunk.ZSHN7Z45.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/button/base/base-button-constants.ts", "../../src/button/base/base-button.ts", "../../src/button/base/base-button-foundation.ts", "../../src/button/base/base-button-adapter.ts"],
|
|
4
|
+
"sourcesContent": ["const observedAttributes = {\n TYPE: 'type',\n DISABLED: 'disabled',\n POPOVER_ICON: 'popover-icon',\n ANCHOR: 'anchor',\n HREF: 'href',\n TARGET: 'target',\n DOWNLOAD: 'download',\n REL: 'rel',\n DENSE: 'dense',\n TABINDEX: 'tabindex'\n} as const;\n\nconst attributes = {\n ...observedAttributes\n} as const;\n\nconst classes = {\n ROOT: 'forge-button',\n POPOVER_ICON: 'forge-button__popover-icon'\n} as const;\n\nconst selectors = {\n ROOT:'[part=root]',\n END_SLOT: 'slot[name=end]'\n} as const;\n\nexport const BASE_BUTTON_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors,\n classes\n} as const;\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonTarget = '_blank' | '_self' | '_parent' | '_top';\nexport type ButtonClickOptions = { animateStateLayer?: boolean };\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { IconRegistry } from '../../icon/icon-registry';\nimport { WithFocusable, IWithFocusable } from '../../core/mixins/focus/with-focusable';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ExperimentalFocusOptions, internals, setDefaultAria } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonType } from './base-button-constants';\nimport { BaseButtonFoundation } from './base-button-foundation';\nimport { WithLabelAwareness, IWithLabelAwareness } from '../../core/mixins/label/with-label-aware';\nimport { IWithElementInternals, WithElementInternals } from '../../core/mixins/internals/with-element-internals';\nimport { IWithDefaultAria, WithDefaultAria } from '../../core/mixins/internals/with-default-aria';\n\nexport interface IBaseButton extends IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n name: string;\n value: string;\n dense: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n form: HTMLFormElement | null;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nconst BaseButtonClass = WithDefaultAria(WithElementInternals(WithLabelAwareness(WithFocusable(BaseComponent))));\n\nexport abstract class BaseButton<T extends BaseButtonFoundation<IBaseButtonAdapter>> extends BaseButtonClass implements IBaseButton {\n public static get observedAttributes(): string[] {\n return Object.values(BASE_BUTTON_CONSTANTS.observedAttributes);\n }\n\n public static readonly formAssociated = true;\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowDropDown);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_BUTTON_CONSTANTS.observedAttributes.TYPE:\n this.type = newValue as ButtonType;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.POPOVER_ICON:\n this.popoverIcon = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = coerceBoolean(newValue);\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.HREF:\n this.href = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.TARGET:\n this.target = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DOWNLOAD:\n this.download = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.REL:\n this.rel = newValue;\n return;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DENSE:\n this.dense = coerceBoolean(newValue);\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public labelClickedCallback(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({ ariaLabel: value }, { setAttribute: !this.hasAttribute('aria-label') });\n }\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(name: string) {\n this.setAttribute('name', name);\n }\n\n public get value(): string {\n return this.getAttribute('value') ?? '';\n }\n public set value(value: string) {\n this.setAttribute('value', value);\n }\n\n @FoundationProperty()\n public declare type: ButtonType;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popoverIcon: boolean;\n\n @FoundationProperty()\n public declare anchor: boolean;\n\n @FoundationProperty()\n public declare href: string;\n\n @FoundationProperty()\n public declare target: string;\n\n @FoundationProperty()\n public declare download: string;\n\n @FoundationProperty()\n public declare rel: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n public override click(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public override focus(options: ExperimentalFocusOptions): void {\n this._foundation.focus(options);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonClickOptions, ButtonType } from './base-button-constants';\n\nexport interface IBaseButtonFoundation extends ICustomElementFoundation {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n dense: boolean;\n click(options: ButtonClickOptions): void;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nexport abstract class BaseButtonFoundation<T extends IBaseButtonAdapter> implements IBaseButtonFoundation {\n private _type: ButtonType = 'button'; // We default our buttons to the \"button\" type instead of \"submit\" as that is more common\n private _disabled = false;\n private _popoverIcon = false;\n private _anchor = false;\n private _href = '';\n private _target = '';\n private _download = '';\n private _rel = '';\n private _dense = false;\n\n private _clickListener: EventListener;\n private _keydownListener: EventListener;\n private _anchorFocusListener: EventListener;\n\n constructor(protected _adapter: T) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._anchorFocusListener = () => this._adapter.focusHost(); // Always ensure our host is focused when the anchor is focused\n this._adapter.addHostListener('keydown', this._keydownListener);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (this._anchor) {\n // When we're in anchor mode, we swap to us an `<a>` internally as the root. Since the `<a>`\n // element is interactive by default, we can remove our click listener since the anchor will\n // take over the default interaction handling\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n // When we're in button mode, we need to handle the click event on the host element\n this._adapter.addHostListener('click', this._clickListener);\n }\n }\n\n /**\n * Handles overriding the the `click()` method on the HTMLElement instance\n */\n public click({ animateStateLayer = false }: ButtonClickOptions = {}): void {\n if (this._disabled) {\n return;\n }\n\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this._adapter.clickHost();\n }\n\n if (animateStateLayer) {\n this._adapter.animateStateLayer();\n }\n }\n\n public focus(options?: ExperimentalFocusOptions): void {\n this._adapter.focusHost(options);\n\n if (options?.focusVisible !== false) {\n this._adapter.forceFocusVisible();\n }\n }\n\n protected async _onClick(evt: MouseEvent): Promise<void> {\n const isFormType = this._type === 'submit' || this._type === 'reset';\n\n // Custom elements do not work with the popover* attributes by default so we need to manually\n // manage the popover functionality for now...\n if (!isFormType && this._adapter.hasPopoverTarget()) {\n const isOpen = this._adapter.managePopover();\n\n // If the popover was opened successfully we can stop here since there is no need to\n // handle any other scenarios\n if (isOpen) {\n return;\n }\n }\n\n // Wait a cycle to allow the click event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n // We allow for our click event to bubble first before we handle it in case the developer\n // wants to prevent the default behavior\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n\n // For button types of submit or reset, we need to manually submit or reset the form\n // since the click event doesn't do that for us with custom elements\n if (isFormType) {\n this._adapter.clickFormButton(this._type);\n }\n }\n\n /**\n * Handle keydown events on the host element to manually trigger click events.\n */\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n // Handle the special case for the space key (when not an anchor) to avoid\n // scrolling when triggered\n if (evt.key === ' ' && !this._anchor) {\n evt.preventDefault();\n this.click();\n return;\n }\n\n // Wait a cycle for the keydown event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n \n if (evt.key === 'Enter') {\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this.click();\n }\n }\n }\n\n private _toggleAnchor(): void {\n if (this._anchor) {\n this._adapter.initializeAnchor();\n this._manageAnchorListeners();\n this.disabled = false; // Anchor elements are always enabled\n } else {\n this._adapter.removeAnchor();\n this._manageAnchorListeners();\n }\n }\n\n private _manageAnchorListeners(): void {\n if (this._anchor) {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.removeAnchorEventListener('focus', this._anchorFocusListener);\n }\n }\n\n public get type(): ButtonType {\n return this._type;\n }\n public set type(type: ButtonType) {\n if (this._type !== type) {\n this._type = type;\n this._adapter.setHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TYPE, type);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n\n if (this._disabled === value) {\n return;\n }\n\n // When we're in anchor mode we need to ensure that the anchor is always enabled\n if (this._anchor) {\n value = false;\n }\n\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DISABLED, value);\n }\n\n public get popoverIcon(): boolean {\n return this._popoverIcon;\n }\n public set popoverIcon(value: boolean) {\n value = Boolean(value);\n if (this._popoverIcon !== value) {\n this._popoverIcon = value;\n this._adapter.toggleDefaultPopoverIcon(this._popoverIcon);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.POPOVER_ICON, value);\n }\n }\n\n /**\n * Anchor properties\n */\n\n public get anchor(): boolean {\n return this._anchor;\n }\n public set anchor(value: boolean) {\n value = Boolean(value);\n if (this._anchor !== value) {\n this._anchor = value;\n this._toggleAnchor();\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.ANCHOR, value);\n }\n }\n\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n value = (value ?? '').trim();\n if (this._href !== value) {\n this._href = value;\n this.anchor = this._href.length > 0;\n if (this._anchor) {\n this._adapter.setAnchorProperty('href', this._href);\n }\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.HREF, !!this._href, this._href);\n }\n }\n\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value ?? '_self';\n this._adapter.setAnchorProperty('target', value);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TARGET, !!this._target, this._target);\n }\n }\n\n public get download(): string {\n return this._download;\n }\n public set download(value: string) {\n if (this._download !== value) {\n this._download = value;\n this._adapter.setAnchorProperty('download', this._download);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);\n }\n }\n\n public get rel(): string {\n return this._rel;\n }\n public set rel(value: string) {\n if (this._rel !== value) {\n this._rel = value;\n this._adapter.setAnchorProperty('rel', this._rel);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.REL, !!this._rel, this._rel);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n value = Boolean(value);\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DENSE, value);\n }\n }\n}\n", "import { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { IBaseButton } from './base-button';\nimport { BASE_BUTTON_CONSTANTS } from './base-button-constants';\nimport { BUTTON_FORM_ATTRIBUTES, cloneAttributes } from '../../core/utils/reflect-utils';\nimport { internals, isFocusable, setDefaultAria } from '../../constants';\nimport { supportsPopover } from '../../core/utils/feature-detection';\n\nexport interface IBaseButtonAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAnchor(): void;\n removeAnchor(): void;\n setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void;\n setDisabled(value: boolean): void;\n clickAnchor(): void;\n clickHost(): void;\n clickFormButton(type: string): void;\n forceFocusVisible(): void;\n addAnchorEventListener(type: string, listener: EventListener): void;\n removeAnchorEventListener(type: string, listener: EventListener): void;\n hasPopoverTarget(): boolean;\n managePopover(): boolean;\n toggleDefaultPopoverIcon(value: boolean): void;\n animateStateLayer(): void;\n}\n\nexport abstract class BaseButtonAdapter extends BaseAdapter<IBaseButton> implements IBaseButtonAdapter {\n protected _rootElement: HTMLElement;\n protected _anchorElement: HTMLAnchorElement | undefined;\n protected _focusIndicatorElement: IFocusIndicatorComponent;\n protected _stateLayerElement: IStateLayerComponent;\n protected _endSlotElement: HTMLSlotElement;\n\n constructor(component: IBaseButton) {\n super(component);\n this._rootElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.ROOT) as HTMLButtonElement;\n this._focusIndicatorElement = getShadowElement(this._component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n this._endSlotElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.END_SLOT) as HTMLSlotElement;\n }\n\n public initialize(): void {\n this._applyHostSemantics();\n }\n\n public initializeAnchor(): void {\n this._anchorElement = this._createAnchorRootElement();\n this._rootElement.insertAdjacentElement('afterend', this._anchorElement);\n this._applyHostSemantics();\n }\n\n public removeAnchor(): void {\n this._anchorElement?.remove();\n this._anchorElement = undefined;\n this._applyHostSemantics();\n }\n\n public setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void {\n if (this._anchorElement) {\n this._anchorElement[name] = value;\n }\n }\n\n public setDisabled(value: boolean): void {\n if (this._anchorElement) {\n if (this.hasHostAttribute('aria-disabled')) {\n this.removeHostAttribute('aria-disabled');\n }\n if (!this._focusIndicatorElement.isConnected) {\n this._rootElement.append(this._focusIndicatorElement);\n }\n if (!this._stateLayerElement.isConnected) {\n if (this._stateLayerElement.disabled) {\n this._stateLayerElement.disabled = false;\n }\n this._rootElement.append(this._stateLayerElement);\n }\n return; // Cannot disable an anchor element\n }\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n\n this._component[isFocusable] = !value;\n this._component[setDefaultAria]({ ariaDisabled: value ? 'true' : null });\n }\n\n public clickAnchor(): void {\n this._anchorElement?.click();\n }\n\n public clickHost(): void {\n // Calling click() on the prototype ensures we don't end up in an infinite\n // recursion since the host overrides the HTMLElement.click() method\n HTMLElement.prototype.click.call(this._component);\n }\n\n public forceFocusVisible(): void {\n this._focusIndicatorElement.active = true;\n }\n\n public clickFormButton(type: string): void {\n if (!this._component.form) {\n return; // Nothing for us to do if there is no form element associated to us\n }\n\n if (type === 'submit') {\n // We need to set the form value to the button value before submitting the form\n this._component[internals].setFormValue(this._component.value);\n\n // We don't use a real <button> since the host is the semantic button, so for\n // the \"submit\" button type we need to create a temporary button and click it\n // to trigger the form submission\n const tempBtn = document.createElement('button');\n tempBtn.type = type;\n cloneAttributes(this._component, tempBtn, BUTTON_FORM_ATTRIBUTES);\n\n // form.requestSubmit(submitter) does not work with form associated custom\n // elements. This patches the dispatched submit event to add the correct `submitter`.\n // See https://github.com/WICG/webcomponents/issues/814\n this._component.form.addEventListener('submit', evt => {\n Object.defineProperty(evt, 'submitter', {\n configurable: true,\n enumerable: true,\n get: () => this._component\n });\n }, { capture: true, once: true });\n\n this._component.insertAdjacentElement('afterend', tempBtn);\n tempBtn.click();\n tempBtn.remove();\n } else if (type === 'reset') {\n this._component.form?.reset();\n }\n }\n\n public addAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public hasPopoverTarget(): boolean {\n return this._component.hasAttribute('popovertarget') || !!this._component.popoverTargetElement;\n }\n\n /**\n * We are emulating native behavior here since custom elements do not support integrating with the\n * native popover element. This method will attempt to find the popover target element and handle\n * its `popovertargetaction`\n */\n public managePopover(): boolean {\n if (this._component.form || !this.hasPopoverTarget() || !supportsPopover()) {\n return false;\n }\n \n const popoverElement = this._locatePopoverTargetElement();\n if (!popoverElement) {\n return false;\n }\n\n const action = this._component.getAttribute('popovertargetaction') || 'toggle';\n const isPopoverOpen = popoverElement.matches(':popover-open');\n\n switch (action) {\n case 'show':\n if (!isPopoverOpen) {\n popoverElement.showPopover();\n }\n return true;\n case 'hide':\n if (isPopoverOpen) {\n popoverElement.hidePopover();\n }\n return false;\n case 'toggle':\n default:\n const result = popoverElement.togglePopover();\n\n // When the popover is open and is using an \"auto\" popover mode, we need to handle\n // clicking ourselves again to close without re-opening the popover. We do this by\n // adding a click listener to the component that will stop propagation of the event\n // and then remove itself after the first click (or when the popover is closed externally).\n if (result && popoverElement.popover !== 'manual') {\n const listener: EventListener = evt => {\n evt.stopPropagation();\n\n // The popover will already be closed via pointer, but we need to ensure that\n // it closes via keyboard as well so we perform the following check regardless\n if (popoverElement.matches(':popover-open')) {\n popoverElement.hidePopover();\n }\n };\n this._component.addEventListener('click', listener, { capture: true, once: true });\n popoverElement.addEventListener('beforetoggle', async () => {\n await new Promise<void>(resolve => setTimeout(resolve)); // Wait a cycle to allow the click event to propagate first\n this._component.removeEventListener('click', listener, { capture: true });\n }, { once: true });\n }\n\n return result;\n }\n }\n\n public toggleDefaultPopoverIcon(value: boolean): void {\n if (value) {\n // We support a built-in \"popover icon\" for convenience that can be used to indicate that the button will show a popover\n const hasIcon = this._endSlotElement.querySelector('forge-icon');\n if (!hasIcon) {\n const icon = document.createElement('forge-icon');\n icon.classList.add(BASE_BUTTON_CONSTANTS.classes.POPOVER_ICON);\n icon.name = tylIconArrowDropDown.name;\n this._endSlotElement.append(icon);\n }\n } else {\n const icon = this._endSlotElement.querySelector('forge-icon');\n icon?.remove();\n }\n }\n\n public animateStateLayer(): void {\n if (this._stateLayerElement.disabled) {\n return;\n }\n this._stateLayerElement?.playAnimation();\n }\n\n private _locatePopoverTargetElement(): HTMLElement | null {\n let popoverElement = this._component.popoverTargetElement ?? null;\n\n if (!popoverElement) {\n const rootNode = this._component.ownerDocument.getRootNode() as Document | ShadowRoot;\n if (!rootNode) {\n return null;\n }\n\n const targetId = this._component.getAttribute('popovertarget');\n popoverElement = rootNode.querySelector(`#${targetId}`);\n }\n\n return popoverElement;\n }\n\n private _applyHostSemantics(): void {\n const role = this._component.getAttribute('role');\n const setAttribute = !role || ['button', 'link'].includes(role);\n this._component[setDefaultAria]({ role: this._anchorElement ? 'link' : 'button' }, { setAttribute });\n this._component[isFocusable] = !!this._anchorElement || !this._component.disabled;\n }\n\n /**\n * Our anchor element is the interactive element that will be used to trigger the click event when it is present.\n * \n * We use the <a> element as an overlay on top of all content to ensure that it provides the native functionality,\n * while removing it from the accessibility tree and tab order so that it does not interfere with the host semantics.\n */\n private _createAnchorRootElement(): HTMLAnchorElement {\n const a = document.createElement('a');\n a.setAttribute('aria-hidden', 'true');\n a.tabIndex = -1;\n if (this._component.href) {\n a.href = this._component.href;\n }\n if (this._component.target) {\n a.target = this._component.target;\n }\n if (this._component.download) {\n a.download = this._component.download;\n }\n if (this._component.rel) {\n a.rel = this._component.rel;\n }\n return a;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["observedAttributes", "attributes", "__spreadValues", "classes", "selectors", "BASE_BUTTON_CONSTANTS", "BaseButtonClass", "WithDefaultAria", "WithElementInternals", "WithLabelAwareness", "WithFocusable", "BaseComponent", "BaseButton", "IconRegistry", "tylIconArrowDropDown", "BASE_BUTTON_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "value", "setDefaultAria", "internals", "_a", "options", "__decorateClass", "FoundationProperty", "BaseButtonFoundation", "_adapter", "evt", "animateStateLayer", "options", "isFormType", "resolve", "type", "BASE_BUTTON_CONSTANTS", "value", "BaseButtonAdapter", "BaseAdapter", "component", "getShadowElement", "BASE_BUTTON_CONSTANTS", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "_a", "name", "value", "isFocusable", "setDefaultAria", "type", "internals", "tempBtn", "cloneAttributes", "BUTTON_FORM_ATTRIBUTES", "evt", "listener", "supportsPopover", "popoverElement", "action", "isPopoverOpen", "result", "resolve", "icon", "tylIconArrowDropDown", "rootNode", "targetId", "role", "setAttribute", "a"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as S}from"./chunk.LEN33O6V.js";import{d as N,e as F}from"./chunk.NPCUVYWP.js";import{k as d,z as m}from"./chunk.EWT2PBEP.js";import{d as h}from"./chunk.L7BSLZCB.js";import{a as A}from"./chunk.YTBNAGLS.js";import{a as C}from"./chunk.ZY3ETQ3D.js";import{a as E}from"./chunk.NVUMRW44.js";import{a as B,b as L}from"./chunk.UVXKHQQZ.js";import{a as I,e as T,f as c,k as D}from"./chunk.TPXXHX5J.js";import{k as f}from"./chunk.J2M2MXP2.js";import{a as _,b as x,d as p}from"./chunk.M3QDAYD2.js";var R=`${L}quantity-field`,q={INVALID:"invalid",REQUIRED:"required",DISABLED:"disabled"},O={ROOT:"forge-quantity-field",INVALID:"forge-quantity-field--invalid",REQUIRED:"forge-quantity-field--required"},a={INCREMENT_BUTTON:"increment-button",DECREMENT_BUTTON:"decrement-button",LABEL:"label",HELPER_TEXT:"helper-text"},w={ROOT:`.${O.ROOT}`,INCREMENT_BUTTON_SLOT:`slot[name=${a.INCREMENT_BUTTON}]`,DECREMENT_BUTTON_SLOT:`slot[name=${a.DECREMENT_BUTTON}]`,INCREMENT_BUTTON:`[slot=${a.INCREMENT_BUTTON}], button[slot=${a.INCREMENT_BUTTON}]`,DECREMENT_BUTTON:`[slot=${a.DECREMENT_BUTTON}], button[slot=${a.DECREMENT_BUTTON}]`,TEXT_FIELD:"forge-text-field",INPUT:"input[type=number]",LABEL:`[slot=${a.LABEL}]`,HELPER_TEXT:`[slot=${a.HELPER_TEXT}]`},i={elementName:R,classes:O,slots:a,selectors:w,attributes:q};var v=class extends C{constructor(t){super(t);this._rootElement=c(t,i.selectors.ROOT),this._incrementButtonSlot=c(this._component,i.selectors.INCREMENT_BUTTON_SLOT),this._decrementButtonSlot=c(this._component,i.selectors.DECREMENT_BUTTON_SLOT)}initializeButtons(){this._incrementButton&&!this._incrementButton.hasAttribute("tabindex")&&(this._incrementButton.tabIndex=-1),this._decrementButton&&!this._decrementButton.hasAttribute("tabindex")&&(this._decrementButton.tabIndex=-1)}addRootClass(t){this._rootElement.classList.add(t)}removeRootClass(t){this._rootElement.classList.remove(t)}inputHasAttribute(t){return this.inputElement?this.inputElement.hasAttribute(t):!1}addIncrementButtonSlotListener(t){this._incrementButtonSlot.addEventListener("slotchange",t)}removeIncrementButtonSlotListener(t){this._incrementButtonSlot&&this._incrementButtonSlot.removeEventListener("slotchange",t)}addDecrementButtonSlotListener(t){this._decrementButtonSlot.addEventListener("slotchange",t)}removeDecrementButtonSlotListener(t){this._decrementButtonSlot&&this._decrementButtonSlot.removeEventListener("slotchange",t)}addTextFieldAttribute(t,e=""){this._textFieldComponent&&this._textFieldComponent.setAttribute(t,e)}removeTextFieldAttribute(t){this._textFieldComponent&&this._textFieldComponent.removeAttribute(t)}addIncrementEventListener(t,e){this._incrementButtonElement.addEventListener(t,e)}removeIncrementEventListener(t,e){this._incrementButtonElement&&this._incrementButtonElement.removeEventListener(t,e)}addDecrementEventListener(t,e){this._decrementButtonElement.addEventListener(t,e)}removeDecrementEventListener(t,e){this._decrementButtonElement&&this._decrementButtonElement.removeEventListener(t,e)}addIncrementButtonAttribute(t,e=""){this._incrementButtonElement.setAttribute(t,e)}removeIncrementButtonAttribute(t){this._incrementButtonElement.removeAttribute(t)}addDecrementButtonAttribute(t,e=""){this._decrementButtonElement.setAttribute(t,e)}removeDecrementButtonAttribute(t){this._decrementButtonElement.removeAttribute(t)}increment(){let t=this.inputElement;if(!t)return;let e=+t.value,n=this._calcPrecision(this._inputStep),o=parseFloat((e+this._inputStep).toFixed(n));this._inputMax&&this._inputMax<o&&(o=this._inputMax),this._setInputValue(o)}decrement(){let t=this.inputElement;if(!t)return;let e=+t.value,n=this._calcPrecision(this._inputStep),o=parseFloat((e-this._inputStep).toFixed(n));this._inputMin&&this._inputMin>o&&(o=this._inputMin),this._setInputValue(o)}addInputDisabledAttributeChangeListener(t){this._setupInputDisabledAttributeMutationObserver(t)}removeInputDisabledAttributeChangeListener(){this._cleanupInputDisabledAttributeMutationObserver()}_setInputValue(t){this.inputElement&&(this.inputElement.value=`${t}`,this.inputElement.dispatchEvent(new Event("input")),this.inputElement.dispatchEvent(new Event("change")))}_isNullOrUndefinedOrEmpty(t){return t==null||t===""}_setupInputDisabledAttributeMutationObserver(t){if(!this.inputElement)return;this._cleanupInputDisabledAttributeMutationObserver();let e=o=>this._inputDisabledAttributeMutationCallback(o,t);this._inputAttributeMutationObserver=new MutationObserver(e);let n={attributes:!0,attributeOldValue:!0,attributeFilter:[i.attributes.DISABLED]};this._inputAttributeMutationObserver.observe(this.inputElement,n)}_cleanupInputDisabledAttributeMutationObserver(){this._inputAttributeMutationObserver&&(this._inputAttributeMutationObserver.disconnect(),delete this._inputAttributeMutationObserver)}_inputDisabledAttributeMutationCallback(t,e){for(let n of t)n.type!=="attributes"||!n.attributeName||n.attributeName!==i.attributes.DISABLED||n.target[n.attributeName]===n.oldValue||e()}get _incrementButtonElement(){return this._incrementButton||(this._incrementButton=this._component.querySelector(i.selectors.INCREMENT_BUTTON)),this._incrementButton}get _decrementButtonElement(){return this._decrementButton||(this._decrementButton=this._component.querySelector(i.selectors.DECREMENT_BUTTON)),this._decrementButton}get _textFieldComponent(){return this._textField||(this._textField=this._component.querySelector(i.selectors.TEXT_FIELD)),this._textField}get inputElement(){return this._inputElement||(this._inputElement=this._component.querySelector(i.selectors.INPUT)),this._inputElement}get _inputStep(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.step)?1:+t.step}get _inputMax(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.max)?null:+t.max}get _inputMin(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.min)?null:+t.min}_calcPrecision(t){let e=String(t);return e.includes(".")?e.split(".")[1].length:0}};var b=class{constructor(r){this._adapter=r;this._incrementValue=()=>this._adapter.increment(),this._decrementValue=()=>this._adapter.decrement(),this._incrementButtonSlotChanged=()=>this._onIncrementButtonSlotChanged(),this._decrementButtonSlotChanged=()=>this._onDecrementButtonSlotChanged(),this._adapter.addIncrementButtonSlotListener(this._incrementButtonSlotChanged),this._adapter.addDecrementButtonSlotListener(this._decrementButtonSlotChanged)}connect(){this._adapter.addInputDisabledAttributeChangeListener(()=>this._syncDisabledStateOfButtons()),this._syncDisabledStateOfButtons(),this._adapter.initializeButtons()}disconnect(){this._removeIncrementEventListener(),this._removeDecrementEventListener(),this._removeIncrementButtonSlotListener(),this._removeDecrementButtonSlotListener(),this._adapter.removeInputDisabledAttributeChangeListener()}_onIncrementButtonSlotChanged(){this._addIncrementEventListener()}_onDecrementButtonSlotChanged(){this._addDecrementEventListener()}_addIncrementEventListener(){this._adapter.addIncrementEventListener("click",this._incrementValue)}_addDecrementEventListener(){this._adapter.addDecrementEventListener("click",this._decrementValue)}_removeIncrementEventListener(){this._adapter.removeIncrementEventListener("click",this._incrementValue)}_removeDecrementEventListener(){this._adapter.removeDecrementEventListener("click",this._decrementValue)}_removeIncrementButtonSlotListener(){this._adapter.removeIncrementButtonSlotListener(this._incrementButtonSlotChanged)}_removeDecrementButtonSlotListener(){this._adapter.removeDecrementButtonSlotListener(this._decrementButtonSlotChanged)}_syncDisabledStateOfButtons(){this._adapter.inputHasAttribute(i.attributes.DISABLED)?(this._adapter.addDecrementButtonAttribute(i.attributes.DISABLED),this._adapter.addIncrementButtonAttribute(i.attributes.DISABLED)):(this._adapter.removeIncrementButtonAttribute(i.attributes.DISABLED),this._adapter.removeDecrementButtonAttribute(i.attributes.DISABLED))}get required(){return this._required}set required(r){this._required!==r&&(this._required=r,this._required?(this._adapter.setHostAttribute(i.attributes.REQUIRED),this._adapter.addRootClass(i.classes.REQUIRED)):(this._adapter.removeHostAttribute(i.attributes.REQUIRED),this._adapter.removeRootClass(i.classes.REQUIRED)))}get invalid(){return this._invalid}set invalid(r){this._invalid!==r&&(this._invalid=r,this._invalid?(this._adapter.setHostAttribute(i.attributes.INVALID),this._adapter.addRootClass(i.classes.INVALID),this._adapter.addTextFieldAttribute(i.attributes.INVALID)):(this._adapter.removeHostAttribute(i.attributes.INVALID),this._adapter.removeRootClass(i.classes.INVALID),this._adapter.removeTextFieldAttribute(i.attributes.INVALID)))}};var U='<template><div class="forge-quantity-field" part="root"><slot name="label"></slot><div class="forge-quantity-field__row" part="row"><slot name="decrement-button"></slot><slot></slot><slot name="increment-button"></slot></div><slot name="helper-text"></slot></div></template>',k='.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}',s=class extends D{constructor(){super();T(this,U,k),this._foundation=new b(new v(this)),h.define([m,d])}static get observedAttributes(){return[i.attributes.INVALID,i.attributes.REQUIRED]}connectedCallback(){this._requiredElementsPresent()?this._foundation.connect():this._ensureElementsPresent().then(()=>{this._foundation.connect()})}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,e,n){switch(t){case i.attributes.INVALID:this.invalid=f(n);break;case i.attributes.REQUIRED:this.required=f(n);break}}_ensureElementsPresent(){return new Promise(t=>{if(this._requiredElementsPresent()){t();return}let e=new MutationObserver(n=>{n.reduce((l,u)=>l+u.addedNodes.length,0)>0&&this._requiredElementsPresent()&&(e.disconnect(),t())});e.observe(this,{childList:!0,subtree:!0})})}_requiredElementsPresent(){let t=this.querySelector(i.selectors.INPUT),e=this.querySelector(i.selectors.DECREMENT_BUTTON),n=this.querySelector(i.selectors.INCREMENT_BUTTON);return!!t&&!!e&&!!n}};p([E()],s.prototype,"invalid",2),p([E()],s.prototype,"required",2),s=p([B({name:i.elementName,dependencies:[N]})],s);var M=class extends A{constructor(t){super(t);h.define([m,d])}_build(){let t=document.createElement(i.elementName);return this._attachButton(t,m.name,"decrement-button"),this._attachTextField(t),this._attachButton(t,d.name,"increment-button"),t}_configure(){var t,e,n,o,l;this.inputElement.value=(e=(t=this._config.options)==null?void 0:t.value)!=null?e:"0",this.inputElement.style.textAlign="center",this.inputElement.style.width="64px",(n=this._config.options)!=null&&n.helperText&&this.setHelperText(this._config.options.helperText),typeof((o=this._config.options)==null?void 0:o.label)=="string"&&this._createLabel(this._config.options.label),((l=this._config.options)==null?void 0:l.step)!==void 0&&(this.inputElement.step=this._config.options.step)}get value(){return this._textFieldDelegate.inputElement.value}set value(t){this._textFieldDelegate.inputElement.value=t}get disabled(){return this._textFieldDelegate.inputElement.disabled}set disabled(t){this._textFieldDelegate.inputElement.disabled=t}get invalid(){return this._element.invalid||!1}set invalid(t){this._element.invalid=t}get inputElement(){return this._textFieldDelegate.inputElement}get labelElement(){return this._labelElement}onChange(t){this._textFieldDelegate.inputElement.addEventListener("input",e=>t(e.target.value))}onFocus(t){this._textFieldDelegate.inputElement.addEventListener("focus",e=>t(e))}onBlur(t){this._textFieldDelegate.inputElement.addEventListener("blur",e=>t(e))}_attachTextField(t){var n,o,l,u,y;let e={props:_({},(o=(n=this._config.options)==null?void 0:n.textFieldDelegateConfig)==null?void 0:o.props),options:x(_({},(u=(l=this._config.options)==null?void 0:l.textFieldDelegateConfig)==null?void 0:u.options),{id:(y=this._config.options)==null?void 0:y.id,type:"number"})};this._textFieldDelegate=new S(e),t.appendChild(this._textFieldDelegate.element)}setLabel(t){t?this._labelElement?this._labelElement.textContent=t:this._createLabel(t):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(t){t?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=t):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}_createLabel(t){var e;this._labelElement=document.createElement("label"),this._labelElement.textContent=t,this._labelElement.slot="label",(e=this._config.options)!=null&&e.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_attachButton(t,e,n){return new F({options:{iconName:e,parent:t,attributes:{slot:n}}})}};function ft(){I(s)}export{i as a,v as b,b as c,s as d,M as e,ft as f};
|
|
7
|
+
//# sourceMappingURL=chunk.ZTBOQMRE.js.map
|