@tylertech/forge 2.13.2 → 2.14.0-dev.1
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 +2804 -504
- package/dist/button/forge-button.css +1 -1
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/core/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/chunk.2BNDXFI5.js +7 -0
- package/dist/esm/chunks/chunk.2BNDXFI5.js.map +7 -0
- package/dist/esm/chunks/{chunk.PYG4YVBA.js → chunk.2DXG2R3M.js} +2 -2
- package/dist/esm/chunks/chunk.2DXG2R3M.js.map +7 -0
- package/dist/esm/chunks/{chunk.UUX4QJ4D.js → chunk.3KQL7VAZ.js} +1 -1
- package/dist/esm/chunks/{chunk.UUX4QJ4D.js.map → chunk.3KQL7VAZ.js.map} +2 -2
- package/dist/esm/chunks/chunk.44IJE5UL.js +7 -0
- package/dist/esm/chunks/chunk.44IJE5UL.js.map +7 -0
- package/dist/esm/chunks/{chunk.MIYZJUXH.js → chunk.47A2CN5U.js} +2 -2
- package/dist/esm/chunks/{chunk.MIYZJUXH.js.map → chunk.47A2CN5U.js.map} +2 -2
- package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.4BEI55KI.js} +2 -2
- package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.4BEI55KI.js.map} +2 -2
- package/dist/esm/chunks/{chunk.EC6JSIQW.js → chunk.4DAIIJ37.js} +1 -1
- package/dist/esm/chunks/{chunk.EC6JSIQW.js.map → chunk.4DAIIJ37.js.map} +2 -2
- package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.4FSAAN6W.js} +2 -2
- package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.4FSAAN6W.js.map} +2 -2
- package/dist/esm/chunks/chunk.4NI63FGK.js +7 -0
- package/dist/esm/chunks/chunk.4NI63FGK.js.map +7 -0
- package/dist/esm/chunks/{chunk.KBMLP7UT.js → chunk.4WPFFNLH.js} +2 -2
- package/dist/esm/chunks/{chunk.KBMLP7UT.js.map → chunk.4WPFFNLH.js.map} +3 -3
- package/dist/esm/chunks/chunk.4X2OFZDL.js +7 -0
- package/dist/esm/chunks/chunk.4X2OFZDL.js.map +7 -0
- package/dist/esm/chunks/chunk.5FPFRE4H.js +7 -0
- package/dist/esm/chunks/chunk.5FPFRE4H.js.map +7 -0
- package/dist/esm/chunks/chunk.6OKJPSUE.js +7 -0
- package/dist/esm/chunks/chunk.6OKJPSUE.js.map +7 -0
- package/dist/esm/chunks/{chunk.AMFXGOSA.js → chunk.6YPD6CQM.js} +1 -1
- package/dist/esm/chunks/{chunk.AMFXGOSA.js.map → chunk.6YPD6CQM.js.map} +2 -2
- package/dist/esm/chunks/chunk.72AUOVCD.js +7 -0
- package/dist/esm/chunks/chunk.72AUOVCD.js.map +7 -0
- package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.73AYD2BF.js} +2 -2
- package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.73AYD2BF.js.map} +2 -2
- package/dist/esm/chunks/chunk.77Y3EABF.js +7 -0
- package/dist/esm/chunks/chunk.77Y3EABF.js.map +7 -0
- package/dist/esm/chunks/chunk.7A6MX6CS.js +7 -0
- package/dist/esm/chunks/chunk.7A6MX6CS.js.map +7 -0
- package/dist/esm/chunks/{chunk.V55E5JD5.js → chunk.7UKA4E5A.js} +2 -2
- package/dist/esm/chunks/{chunk.V55E5JD5.js.map → chunk.7UKA4E5A.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GVQVA7P3.js → chunk.7XFU2W25.js} +1 -1
- package/dist/esm/chunks/{chunk.GVQVA7P3.js.map → chunk.7XFU2W25.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MYNPY3AQ.js → chunk.AFLH5HUG.js} +2 -2
- package/dist/esm/chunks/{chunk.MYNPY3AQ.js.map → chunk.AFLH5HUG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.24D46RLZ.js → chunk.ARJ3EVVO.js} +2 -2
- package/dist/esm/chunks/{chunk.24D46RLZ.js.map → chunk.ARJ3EVVO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.OOW3UKT4.js → chunk.BE7PZANN.js} +2 -2
- package/dist/esm/chunks/{chunk.OOW3UKT4.js.map → chunk.BE7PZANN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.BJE6O5ES.js} +2 -2
- package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.BJE6O5ES.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2GY2VPJG.js → chunk.BJZ7RB5F.js} +1 -1
- package/dist/esm/chunks/{chunk.2GY2VPJG.js.map → chunk.BJZ7RB5F.js.map} +2 -2
- package/dist/esm/chunks/chunk.BTBHIIGI.js +7 -0
- package/dist/esm/chunks/chunk.BTBHIIGI.js.map +7 -0
- package/dist/esm/chunks/chunk.C7AN6FMW.js +7 -0
- package/dist/esm/chunks/chunk.C7AN6FMW.js.map +7 -0
- package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.DFJUCHEO.js} +2 -2
- package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.DFJUCHEO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.AWCBH5KW.js → chunk.DONAMICM.js} +1 -1
- package/dist/esm/chunks/{chunk.AWCBH5KW.js.map → chunk.DONAMICM.js.map} +2 -2
- package/dist/esm/chunks/chunk.DQJPIDVW.js +7 -0
- package/dist/esm/chunks/chunk.DQJPIDVW.js.map +7 -0
- package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.DT7MZR5Y.js} +2 -2
- package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.DT7MZR5Y.js.map} +2 -2
- package/dist/esm/chunks/chunk.DYNEJBYK.js +7 -0
- package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.DYNEJBYK.js.map} +2 -2
- package/dist/esm/chunks/chunk.E6CYXNS2.js +7 -0
- package/dist/esm/chunks/chunk.E6CYXNS2.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZFD3OE45.js → chunk.EGRUD7S7.js} +2 -2
- package/dist/esm/chunks/{chunk.ZFD3OE45.js.map → chunk.EGRUD7S7.js.map} +2 -2
- package/dist/esm/chunks/chunk.ESR2NHOS.js +7 -0
- package/dist/esm/chunks/chunk.ESR2NHOS.js.map +7 -0
- package/dist/esm/chunks/{chunk.55BOUOT6.js → chunk.F2B24WLK.js} +2 -2
- package/dist/esm/chunks/{chunk.55BOUOT6.js.map → chunk.F2B24WLK.js.map} +2 -2
- package/dist/esm/chunks/chunk.F3MP6AXF.js +29 -0
- package/dist/esm/chunks/chunk.F3MP6AXF.js.map +7 -0
- package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.FRYLJWYL.js} +2 -2
- package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.FRYLJWYL.js.map} +2 -2
- package/dist/esm/chunks/chunk.FVRSGKJD.js +7 -0
- package/dist/esm/chunks/chunk.FVRSGKJD.js.map +7 -0
- package/dist/esm/chunks/chunk.G3ZTZ4AN.js +7 -0
- package/dist/esm/chunks/chunk.G3ZTZ4AN.js.map +7 -0
- package/dist/esm/chunks/{chunk.MNPORZ4F.js → chunk.G45OZEIS.js} +2 -2
- package/dist/esm/chunks/{chunk.MNPORZ4F.js.map → chunk.G45OZEIS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5PXABBKU.js → chunk.G5MGGEFP.js} +2 -2
- package/dist/esm/chunks/{chunk.5PXABBKU.js.map → chunk.G5MGGEFP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.Y6FFG7XO.js → chunk.GO5A4GKZ.js} +1 -1
- package/dist/esm/chunks/{chunk.Y6FFG7XO.js.map → chunk.GO5A4GKZ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.L54GENPD.js → chunk.H4Z4DHPA.js} +2 -2
- package/dist/esm/chunks/{chunk.L54GENPD.js.map → chunk.H4Z4DHPA.js.map} +2 -2
- package/dist/esm/chunks/chunk.HBMNXZES.js +7 -0
- package/dist/esm/chunks/chunk.HBMNXZES.js.map +7 -0
- package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.HPDBSBQJ.js} +2 -2
- package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.HPDBSBQJ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.HU27X3IT.js} +2 -2
- package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.HU27X3IT.js.map} +2 -2
- package/dist/esm/chunks/{chunk.ORF746AF.js → chunk.HV6SPRC4.js} +2 -2
- package/dist/esm/chunks/{chunk.ORF746AF.js.map → chunk.HV6SPRC4.js.map} +2 -2
- package/dist/esm/chunks/chunk.I5BAZWUF.js +7 -0
- package/dist/esm/chunks/chunk.I5BAZWUF.js.map +7 -0
- package/dist/esm/chunks/chunk.IGTXLDZS.js +7 -0
- package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.IGTXLDZS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GXUYYBVO.js → chunk.ILRWZHH3.js} +2 -2
- package/dist/esm/chunks/chunk.ILRWZHH3.js.map +7 -0
- package/dist/esm/chunks/{chunk.Z6S62LZJ.js → chunk.INCKI5IX.js} +2 -2
- package/dist/esm/chunks/{chunk.Z6S62LZJ.js.map → chunk.INCKI5IX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.J2H5RXTX.js} +2 -2
- package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.J2H5RXTX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.G76HB2FK.js → chunk.J2M2MXP2.js} +1 -1
- package/dist/esm/chunks/{chunk.G76HB2FK.js.map → chunk.J2M2MXP2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.SVGEVCXA.js → chunk.J6WCFQSS.js} +2 -2
- package/dist/esm/chunks/{chunk.SVGEVCXA.js.map → chunk.J6WCFQSS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.HWVLZ44Q.js → chunk.JEN6YP2Q.js} +2 -2
- package/dist/esm/chunks/{chunk.HWVLZ44Q.js.map → chunk.JEN6YP2Q.js.map} +2 -2
- package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.JHBCYICS.js} +2 -2
- package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.JHBCYICS.js.map} +2 -2
- package/dist/esm/chunks/chunk.JHY2CKEH.js +7 -0
- package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.JHY2CKEH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.FL6SJHQU.js → chunk.K2C4W3CO.js} +2 -2
- package/dist/esm/chunks/{chunk.FL6SJHQU.js.map → chunk.K2C4W3CO.js.map} +3 -3
- package/dist/esm/chunks/chunk.K6AFP52A.js +7 -0
- package/dist/esm/chunks/chunk.K6AFP52A.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.KE6GOYAB.js} +2 -2
- package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.KE6GOYAB.js.map} +2 -2
- package/dist/esm/chunks/{chunk.B3IJU6XJ.js → chunk.KTGSZEAG.js} +1 -1
- package/dist/esm/chunks/{chunk.B3IJU6XJ.js.map → chunk.KTGSZEAG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BMFJLHDR.js → chunk.KU5CXXGS.js} +2 -2
- package/dist/esm/chunks/{chunk.BMFJLHDR.js.map → chunk.KU5CXXGS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.KZO4DT2S.js} +2 -2
- package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.KZO4DT2S.js.map} +3 -3
- package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.LDN4HLF7.js} +2 -2
- package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.LDN4HLF7.js.map} +2 -2
- package/dist/esm/chunks/chunk.LFLREB3C.js +7 -0
- package/dist/esm/chunks/chunk.LFLREB3C.js.map +7 -0
- package/dist/esm/chunks/{chunk.E37HEAJ5.js → chunk.LIKJD4SK.js} +1 -1
- package/dist/esm/chunks/{chunk.E37HEAJ5.js.map → chunk.LIKJD4SK.js.map} +2 -2
- package/dist/esm/chunks/{chunk.S76NW5JY.js → chunk.LYOQ2RGP.js} +2 -2
- package/dist/esm/chunks/{chunk.S76NW5JY.js.map → chunk.LYOQ2RGP.js.map} +2 -2
- package/dist/esm/chunks/chunk.MHOS3IHQ.js +7 -0
- package/dist/esm/chunks/chunk.MHOS3IHQ.js.map +7 -0
- package/dist/esm/chunks/{chunk.IARIRFXO.js → chunk.MLV25D2G.js} +2 -2
- package/dist/esm/chunks/{chunk.IARIRFXO.js.map → chunk.MLV25D2G.js.map} +2 -2
- package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.MXTDW27J.js} +2 -2
- package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.MXTDW27J.js.map} +2 -2
- package/dist/esm/chunks/{chunk.LZMYHIO2.js → chunk.MZLPUI6R.js} +1 -1
- package/dist/esm/chunks/{chunk.LZMYHIO2.js.map → chunk.MZLPUI6R.js.map} +2 -2
- package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.N4PVZUJX.js} +2 -2
- package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.N4PVZUJX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.NW7NV2A2.js} +7 -7
- package/dist/esm/chunks/chunk.NW7NV2A2.js.map +7 -0
- package/dist/esm/chunks/{chunk.LGEYSCS2.js → chunk.O4FB4BV5.js} +2 -2
- package/dist/esm/chunks/{chunk.LGEYSCS2.js.map → chunk.O4FB4BV5.js.map} +2 -2
- package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.O73S5LF3.js} +2 -2
- package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.O73S5LF3.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.OV4QNVJH.js} +2 -2
- package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.OV4QNVJH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.OZ5BPXNV.js} +2 -2
- package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.OZ5BPXNV.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VHKQHMK3.js → chunk.P3IA2WTO.js} +2 -2
- package/dist/esm/chunks/{chunk.VHKQHMK3.js.map → chunk.P3IA2WTO.js.map} +3 -3
- package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PALRSBSY.js} +2 -2
- package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PALRSBSY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.R4NDFXVA.js → chunk.PN26D52V.js} +2 -2
- package/dist/esm/chunks/{chunk.R4NDFXVA.js.map → chunk.PN26D52V.js.map} +2 -2
- package/dist/esm/chunks/chunk.PYIFIHDK.js +7 -0
- package/dist/esm/chunks/chunk.PYIFIHDK.js.map +7 -0
- package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.RB5BTA5N.js} +2 -2
- package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.RB5BTA5N.js.map} +2 -2
- package/dist/esm/chunks/{chunk.NYMNX3S7.js → chunk.RBAVT3XQ.js} +2 -2
- package/dist/esm/chunks/{chunk.NYMNX3S7.js.map → chunk.RBAVT3XQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.RE5X26QT.js +29 -0
- package/dist/esm/chunks/chunk.RE5X26QT.js.map +7 -0
- package/dist/esm/chunks/chunk.RG6CDWEX.js +7 -0
- package/dist/esm/chunks/chunk.RG6CDWEX.js.map +7 -0
- package/dist/esm/chunks/chunk.RHFNK6EE.js +7 -0
- package/dist/esm/chunks/chunk.RHFNK6EE.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZMXKZJRM.js → chunk.ROR6JMAE.js} +2 -2
- package/dist/esm/chunks/{chunk.ZMXKZJRM.js.map → chunk.ROR6JMAE.js.map} +2 -2
- package/dist/esm/chunks/chunk.RYMPSU4J.js +7 -0
- package/dist/esm/chunks/chunk.RYMPSU4J.js.map +7 -0
- package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.SAQVWOVK.js} +2 -2
- package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.SAQVWOVK.js.map} +3 -3
- package/dist/esm/chunks/chunk.SD4LLO5A.js +12 -0
- package/dist/esm/chunks/chunk.SD4LLO5A.js.map +7 -0
- package/dist/esm/chunks/{chunk.TCAOLSLI.js → chunk.SXTTEIIH.js} +2 -2
- package/dist/esm/chunks/{chunk.TCAOLSLI.js.map → chunk.SXTTEIIH.js.map} +2 -2
- package/dist/esm/chunks/{chunk.MWD47ZZU.js → chunk.T76JYRPR.js} +2 -2
- package/dist/esm/chunks/{chunk.MWD47ZZU.js.map → chunk.T76JYRPR.js.map} +3 -3
- package/dist/esm/chunks/chunk.TR5YMNJJ.js +7 -0
- package/dist/esm/chunks/chunk.TR5YMNJJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.DRXMITOO.js → chunk.TWZXQQQO.js} +2 -2
- package/dist/esm/chunks/{chunk.DRXMITOO.js.map → chunk.TWZXQQQO.js.map} +3 -3
- package/dist/esm/chunks/chunk.U6WGJELL.js +7 -0
- package/dist/esm/chunks/chunk.U6WGJELL.js.map +7 -0
- package/dist/esm/chunks/chunk.U724KSZU.js +7 -0
- package/dist/esm/chunks/chunk.U724KSZU.js.map +7 -0
- package/dist/esm/chunks/{chunk.LZHDRATV.js → chunk.UBD2DPQN.js} +2 -2
- package/dist/esm/chunks/{chunk.LZHDRATV.js.map → chunk.UBD2DPQN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.UF43SSFY.js} +2 -2
- package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.UF43SSFY.js.map} +2 -2
- package/dist/esm/chunks/chunk.ULIFS3UR.js +7 -0
- package/dist/esm/chunks/chunk.ULIFS3UR.js.map +7 -0
- package/dist/esm/chunks/{chunk.2LHBE2QZ.js → chunk.UT7QUGAO.js} +2 -2
- package/dist/esm/chunks/{chunk.2LHBE2QZ.js.map → chunk.UT7QUGAO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.STS5TIUV.js → chunk.V4TCOZLK.js} +1 -1
- package/dist/esm/chunks/chunk.V4TCOZLK.js.map +7 -0
- package/dist/esm/chunks/chunk.V7WKXEZC.js +7 -0
- package/dist/esm/chunks/chunk.V7WKXEZC.js.map +7 -0
- package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.VAKNDCLP.js} +2 -2
- package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.VAKNDCLP.js.map} +3 -3
- package/dist/esm/chunks/chunk.VC2BG2RS.js +7 -0
- package/dist/esm/chunks/chunk.VC2BG2RS.js.map +7 -0
- package/dist/esm/chunks/{chunk.3L7T5WYL.js → chunk.WP4QOOIS.js} +2 -2
- package/dist/esm/chunks/{chunk.3L7T5WYL.js.map → chunk.WP4QOOIS.js.map} +2 -2
- package/dist/esm/chunks/chunk.WY7DECJD.js +7 -0
- package/dist/esm/chunks/chunk.WY7DECJD.js.map +7 -0
- package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.X5LGVZGO.js} +2 -2
- package/dist/esm/chunks/chunk.X5LGVZGO.js.map +7 -0
- package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.XHV3GQ7L.js} +2 -2
- package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.XHV3GQ7L.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.XUW3GG46.js} +2 -2
- package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.XUW3GG46.js.map} +2 -2
- package/dist/esm/chunks/chunk.XZ4WI7VK.js +7 -0
- package/dist/esm/chunks/chunk.XZ4WI7VK.js.map +7 -0
- package/dist/esm/chunks/{chunk.MMVZJLXE.js → chunk.Y4GKBJGI.js} +2 -2
- package/dist/esm/chunks/{chunk.MMVZJLXE.js.map → chunk.Y4GKBJGI.js.map} +2 -2
- package/dist/esm/chunks/chunk.Y66GSZJB.js +7 -0
- package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.Y66GSZJB.js.map} +3 -3
- package/dist/esm/chunks/chunk.Y72NANFX.js +7 -0
- package/dist/esm/chunks/chunk.Y72NANFX.js.map +7 -0
- package/dist/esm/chunks/chunk.YBEBD4CN.js +7 -0
- package/dist/esm/chunks/chunk.YBEBD4CN.js.map +7 -0
- package/dist/esm/chunks/{chunk.D4SNVKDA.js → chunk.YI4JTY4T.js} +1 -1
- package/dist/esm/chunks/{chunk.D4SNVKDA.js.map → chunk.YI4JTY4T.js.map} +2 -2
- package/dist/esm/chunks/{chunk.E43TT4RI.js → chunk.YPZNIYQL.js} +1 -1
- package/dist/esm/chunks/{chunk.E43TT4RI.js.map → chunk.YPZNIYQL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.F5I55MXD.js → chunk.ZUNZKRRK.js} +2 -2
- package/dist/esm/chunks/{chunk.F5I55MXD.js.map → chunk.ZUNZKRRK.js.map} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/delegates/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/mask/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +7 -0
- package/dist/esm/stack/index.js.map +7 -0
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/theme/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/floating-action-button/forge-floating-action-button.css +1 -1
- package/dist/floating-label/forge-floating-label.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/utils/forge-utils.css +1 -1
- package/esm/app-bar/app-bar.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +2 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
- package/esm/autocomplete/autocomplete-adapter.d.ts +11 -10
- package/esm/autocomplete/autocomplete-adapter.js +4 -1
- package/esm/autocomplete/autocomplete-constants.d.ts +11 -12
- package/esm/autocomplete/autocomplete-constants.js +1 -0
- package/esm/autocomplete/autocomplete-foundation.d.ts +14 -7
- package/esm/autocomplete/autocomplete-foundation.js +26 -4
- package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
- package/esm/autocomplete/autocomplete.d.ts +10 -4
- package/esm/autocomplete/autocomplete.js +10 -3
- package/esm/badge/badge.js +1 -1
- package/esm/busy-indicator/busy-indicator.js +2 -2
- package/esm/button/button-constants.d.ts +1 -0
- package/esm/button/button-constants.js +2 -1
- package/esm/button/button.d.ts +1 -1
- package/esm/button/button.js +6 -7
- package/esm/calendar/calendar-foundation.js +1 -0
- package/esm/calendar/calendar.js +1 -1
- package/esm/card/card.js +1 -1
- package/esm/checkbox/checkbox-adapter.d.ts +1 -2
- package/esm/checkbox/checkbox-adapter.js +12 -8
- package/esm/checkbox/checkbox-foundation.js +0 -3
- package/esm/chip-field/chip-field-adapter.d.ts +2 -0
- package/esm/chip-field/chip-field-adapter.js +8 -3
- package/esm/chip-field/chip-field-foundation.js +1 -0
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chips/chip/chip-adapter.d.ts +17 -2
- package/esm/chips/chip/chip-adapter.js +90 -15
- package/esm/chips/chip/chip-constants.d.ts +4 -0
- package/esm/chips/chip/chip-constants.js +6 -2
- package/esm/chips/chip/chip-foundation.d.ts +2 -0
- package/esm/chips/chip/chip-foundation.js +38 -13
- package/esm/chips/chip/chip.d.ts +2 -0
- package/esm/chips/chip/chip.js +5 -2
- package/esm/chips/chip-set/chip-set-adapter.d.ts +4 -0
- package/esm/chips/chip-set/chip-set-adapter.js +24 -0
- package/esm/chips/chip-set/chip-set-foundation.d.ts +3 -0
- package/esm/chips/chip-set/chip-set-foundation.js +8 -0
- package/esm/chips/chip-set/chip-set.d.ts +1 -0
- package/esm/chips/chip-set/chip-set.js +3 -0
- package/esm/circular-progress/circular-progress.js +1 -1
- package/esm/color-picker/color-picker-foundation.d.ts +1 -0
- package/esm/color-picker/color-picker-foundation.js +19 -8
- package/esm/core/mask/intermediate-time-parser.d.ts +49 -0
- package/esm/core/mask/intermediate-time-parser.js +106 -0
- package/esm/core/mask/time-input-mask.d.ts +0 -1
- package/esm/core/mask/time-input-mask.js +79 -58
- package/esm/core/mask/time-segment-parser.d.ts +22 -0
- package/esm/core/mask/time-segment-parser.js +46 -0
- package/esm/core/utils/date-utils.js +2 -2
- package/esm/core/utils/time-utils.d.ts +1 -0
- package/esm/core/utils/time-utils.js +20 -3
- package/esm/core/utils/utils.d.ts +0 -6
- package/esm/core/utils/utils.js +0 -10
- package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
- package/esm/date-picker/base/base-date-picker.d.ts +2 -2
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
- package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
- package/esm/dialog/dialog-adapter.d.ts +0 -2
- package/esm/dialog/dialog-adapter.js +1 -10
- package/esm/dialog/dialog-foundation.js +2 -3
- package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
- package/esm/file-picker/file-picker-adapter.js +3 -2
- package/esm/file-picker/file-picker-foundation.d.ts +2 -0
- package/esm/file-picker/file-picker-foundation.js +15 -38
- package/esm/file-picker/file-picker.d.ts +1 -0
- package/esm/file-picker/file-picker.js +3 -0
- package/esm/floating-action-button/floating-action-button-constants.js +1 -1
- package/esm/icon-button/icon-button-constants.js +1 -1
- package/esm/icon-button/icon-button.d.ts +1 -1
- package/esm/icon-button/icon-button.js +6 -6
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -0
- package/esm/linear-progress/linear-progress.js +2 -2
- package/esm/list/list-item/list-item-foundation.js +1 -2
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
- package/esm/list-dropdown/list-dropdown-adapter.d.ts +2 -0
- package/esm/list-dropdown/list-dropdown-adapter.js +6 -0
- package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
- package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
- package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
- package/esm/list-dropdown/list-dropdown-aware.js +12 -0
- package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -3
- package/esm/list-dropdown/list-dropdown-constants.js +2 -0
- package/esm/list-dropdown/list-dropdown-foundation.js +5 -6
- package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
- package/esm/list-dropdown/list-dropdown-utils.js +40 -18
- package/esm/menu/menu-adapter.d.ts +2 -0
- package/esm/menu/menu-adapter.js +7 -0
- package/esm/menu/menu-constants.js +1 -1
- package/esm/menu/menu-foundation.d.ts +12 -3
- package/esm/menu/menu-foundation.js +28 -17
- package/esm/menu/menu.d.ts +6 -1
- package/esm/menu/menu.js +9 -3
- package/esm/popup/popup-adapter.js +9 -1
- package/esm/popup/popup-constants.d.ts +1 -0
- package/esm/popup/popup-constants.js +2 -1
- package/esm/popup/popup-foundation.d.ts +4 -0
- package/esm/popup/popup-foundation.js +7 -0
- package/esm/popup/popup.d.ts +2 -0
- package/esm/popup/popup.js +4 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
- package/esm/quantity-field/quantity-field-adapter.js +8 -0
- package/esm/quantity-field/quantity-field-foundation.js +1 -0
- package/esm/quantity-field/quantity-field.js +6 -0
- package/esm/radio/radio-adapter.d.ts +3 -3
- package/esm/radio/radio-adapter.js +17 -15
- package/esm/radio/radio-foundation.js +1 -1
- package/esm/ripple/forge-ripple.d.ts +4 -0
- package/esm/ripple/forge-ripple.js +8 -0
- package/esm/select/core/base-select-adapter.js +8 -6
- package/esm/select/core/base-select-constants.d.ts +2 -0
- package/esm/select/core/base-select-constants.js +3 -1
- package/esm/select/core/base-select-foundation.d.ts +0 -9
- package/esm/select/core/base-select-foundation.js +5 -26
- package/esm/select/core/select-utils.js +1 -1
- package/esm/select/option-group/option-group.d.ts +12 -1
- package/esm/select/option-group/option-group.js +7 -0
- package/esm/select/select/select.js +5 -3
- package/esm/slider/slider.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/stack/index.d.ts +10 -0
- package/esm/stack/index.js +14 -0
- package/esm/stack/stack-adapter.d.ts +15 -0
- package/esm/stack/stack-adapter.js +18 -0
- package/esm/stack/stack-constants.d.ts +29 -0
- package/esm/stack/stack-constants.js +36 -0
- package/esm/stack/stack-foundation.d.ts +39 -0
- package/esm/stack/stack-foundation.js +70 -0
- package/esm/stack/stack.d.ts +41 -0
- package/esm/stack/stack.js +74 -0
- package/esm/switch/switch.js +38 -13
- package/esm/table/table-foundation.d.ts +7 -0
- package/esm/table/table-foundation.js +9 -0
- package/esm/table/table-utils.js +6 -3
- package/esm/table/table.d.ts +7 -0
- package/esm/table/table.js +8 -0
- package/esm/table/types.d.ts +8 -4
- package/esm/text-field/text-field.js +1 -1
- package/esm/time-picker/time-picker-adapter.d.ts +4 -0
- package/esm/time-picker/time-picker-adapter.js +8 -0
- package/esm/time-picker/time-picker-component-delegate.js +1 -6
- package/esm/time-picker/time-picker-foundation.d.ts +3 -0
- package/esm/time-picker/time-picker-foundation.js +46 -14
- package/esm/toast/toast.js +1 -1
- package/esm/toolbar/toolbar.js +2 -2
- package/esm/tooltip/tooltip-foundation.d.ts +1 -0
- package/esm/tooltip/tooltip-foundation.js +3 -0
- package/esm/tooltip/tooltip.js +1 -1
- package/esm/view-switcher/view-switcher.js +1 -1
- package/package.json +31 -4
- package/styles/busy-indicator/_mixins.scss +1 -0
- package/styles/chip-field/_selector.scss +12 -13
- package/styles/chip-field/chip-field.scss +1 -1
- package/styles/chips/chip/_mixins.scss +19 -6
- package/styles/field/_base.scss +2 -2
- package/styles/field/_selector.scss +1 -1
- package/styles/list/list-item/_mixins.scss +28 -17
- package/styles/list/list-item/_variables.scss +13 -4
- package/styles/popup/popup.scss +4 -0
- package/styles/stack/_mixins.scss +49 -0
- package/styles/stack/_variables.scss +6 -0
- package/styles/stack/stack.scss +46 -0
- package/styles/toolbar/_mixins.scss +1 -2
- package/styles/toolbar/toolbar.scss +13 -0
- package/styles/view-switcher/_mixins.scss +2 -0
- package/dist/esm/chunks/chunk.2CEW64ZM.js +0 -7
- package/dist/esm/chunks/chunk.2CEW64ZM.js.map +0 -7
- package/dist/esm/chunks/chunk.36VS7FMU.js +0 -7
- package/dist/esm/chunks/chunk.36VS7FMU.js.map +0 -7
- package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
- package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
- package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
- package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
- package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
- package/dist/esm/chunks/chunk.5EQPGUZH.js +0 -7
- package/dist/esm/chunks/chunk.5EQPGUZH.js.map +0 -7
- package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
- package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
- package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
- package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
- package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
- package/dist/esm/chunks/chunk.7TDB3VFH.js.map +0 -7
- package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
- package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
- package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
- package/dist/esm/chunks/chunk.BTI5I25G.js.map +0 -7
- package/dist/esm/chunks/chunk.BYRJ7577.js +0 -7
- package/dist/esm/chunks/chunk.DB2WESQC.js +0 -7
- package/dist/esm/chunks/chunk.DB2WESQC.js.map +0 -7
- package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
- package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
- package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
- package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
- package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
- package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
- package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
- package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
- package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
- package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
- package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
- package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
- package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
- package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
- package/dist/esm/chunks/chunk.GXUYYBVO.js.map +0 -7
- package/dist/esm/chunks/chunk.HYMB3XDK.js +0 -9
- package/dist/esm/chunks/chunk.HYMB3XDK.js.map +0 -7
- package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
- package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
- package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
- package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
- package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
- package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
- package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
- package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
- package/dist/esm/chunks/chunk.O5I3ZMDA.js +0 -7
- package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
- package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
- package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
- package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
- package/dist/esm/chunks/chunk.PYG4YVBA.js.map +0 -7
- package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
- package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
- package/dist/esm/chunks/chunk.QH4DLM3R.js +0 -7
- package/dist/esm/chunks/chunk.QH4DLM3R.js.map +0 -7
- package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
- package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
- package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
- package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
- package/dist/esm/chunks/chunk.QZHEP4X2.js +0 -29
- package/dist/esm/chunks/chunk.QZHEP4X2.js.map +0 -7
- package/dist/esm/chunks/chunk.STS5TIUV.js.map +0 -7
- package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
- package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
- package/dist/esm/chunks/chunk.VW4JVRH7.js +0 -7
- package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
- package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
- package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
- package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
- package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
- package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
- package/dist/esm/chunks/chunk.Y4L7AVUS.js +0 -7
- package/dist/esm/chunks/chunk.Y4L7AVUS.js.map +0 -7
- package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
- package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
- package/dist/esm/chunks/chunk.YWRCWMNO.js +0 -7
- package/dist/esm/chunks/chunk.YWRCWMNO.js.map +0 -7
- package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
- package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/time-picker/time-picker-constants.ts", "../../src/time-picker/time-picker-adapter.ts", "../../src/time-picker/time-picker-utils.ts", "../../src/time-picker/time-picker-foundation.ts", "../../src/time-picker/time-picker.ts", "../../src/time-picker/time-picker-component-delegate.ts", "../../src/time-picker/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport IMask, { Masked, InputMask } from 'imask';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}time-picker`;\n\nconst attributes = {\n TOGGLE: 'forge-time-picker-toggle',\n VALUE: 'value',\n OPEN: 'open',\n ALLOW_SECONDS: 'allow-seconds',\n MASKED: 'masked',\n SHOW_MASK_FORMAT: 'show-mask-format',\n USE_24_HOUR_TIME: 'use-24-hour-time',\n ALLOW_INVALID_TIME: 'allow-invalid-time',\n MIN: 'min',\n MAX: 'max',\n START_TIME: 'start-time',\n STEP: 'step',\n ALLOW_INPUT: 'allow-input',\n SHOW_NOW: 'show-now',\n SHOW_HOUR_OPTIONS: 'show-hour-options',\n DISABLED: 'disabled',\n POPUP_CLASSES: 'popup-classes',\n ALLOW_DROPDOWN: 'allow-dropdown'\n};\n\nconst selectors = {\n INPUT: 'input, input[forge-time-picker-input]',\n TOGGLE: `[${attributes.TOGGLE}]`\n};\n\nconst events = {\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n INPUT: `${elementName}-input`,\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n DEFAULT_MINUTE_STEP: 60,\n MAX_DAY_MILLIS: 86400000,\n MAX_DAY_MINUTES: 1440\n};\n\nexport const TIME_PICKER_CONSTANTS = {\n elementName,\n attributes,\n selectors,\n events,\n numbers\n};\n\nexport type TimePickerValidationCallback = (time: string) => boolean;\nexport type TimePickerParseCallback = (time: string) => number | null;\nexport type TimePickerFormatCallback = (value: number | null) => string;\nexport type TimePickerCustomOptionCallback<T> = (value: T, use24HourTime: boolean, allowSeconds: boolean) => number;\nexport type TimePickerCoercionCallback = (rawValue: string, coercedValue: string, allowSeconds: boolean) => string;\nexport type TimePickerPrepareMaskCallback = (value: string, masked: Masked<string>, flags: IMask.AppendFlags, maskInstance: InputMask<IMask.AnyMaskedOptions>) => string;\n\nexport interface ITimePickerOption<T = any> extends IListDropdownOption<T> {\n toMilliseconds: TimePickerCustomOptionCallback<T>;\n}\nexport interface ITimePickerOptionValue {\n time: number | null;\n metadata?: any;\n isCustom?: boolean;\n customCallback?: TimePickerCustomOptionCallback<any>;\n}\n", "import { getShadowElement, emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';\nimport { ITimePickerComponent } from './time-picker';\nimport { BaseAdapter } from '../core';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\nimport { ITimeInputMaskOptions, TimeInputMask } from '../core/mask/time-input-mask';\nimport { TEXT_FIELD_CONSTANTS, ITextFieldComponent } from '../text-field';\nimport { ICON_BUTTON_CONSTANTS, IIconButtonComponent } from '../icon-button';\nimport { ICON_CONSTANTS, IIconComponent } from '../icon';\nimport { IListDropdownConfig, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { IListDropdown, ListDropdown } from '../list-dropdown';\n\nexport interface ITimePickerAdapter extends BaseAdapter<ITimePickerComponent> {\n initialize(): void;\n initializeMask(options: ITimeInputMaskOptions): void;\n destroy(): void;\n destroyMask(): void;\n initializeAccessibility(identifier: string): void;\n addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;\n addToggleListener(type: string, listener: (event: Event) => void): void;\n removeToggleListener(type: string, listener: (event: Event) => void): void;\n hasInputElement(): boolean;\n tryCreateToggle(): void;\n tryFocusInput(): void;\n tryBlurInput(): void;\n selectInputText(): void;\n getInputValue(): string;\n setInputValue(value: string, emitEvents: boolean): void;\n isInputDisabled(): boolean;\n isInputFocused(): boolean;\n setDisabled(isDisabled: boolean): void;\n attachDropdown(config: IListDropdownConfig): void;\n detachDropdown(): void;\n setActiveDescendant(id: string): void;\n propagateKey(key: string): void;\n getTargetElementWidth(selector: string): number;\n emitInputEvent(type: string, data?: any): void;\n setInputReadonly(value: boolean): void;\n setToggleDisabled(value: boolean): void;\n activateFirstOption(): void;\n getActiveOption(): IListDropdownOption | undefined;\n}\n\nexport class TimePickerAdapter extends BaseAdapter<ITimePickerComponent> implements ITimePickerAdapter {\n private _inputElement: HTMLInputElement;\n private _toggleElement?: HTMLElement;\n private _inputMask?: TimeInputMask;\n private _listDropdown?: IListDropdown;\n private _targetElement?: HTMLElement;\n\n constructor(component: ITimePickerComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._inputElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT) as HTMLInputElement;\n }\n\n public initializeMask(options: ITimeInputMaskOptions): void {\n if (this._inputMask) {\n this._inputMask.destroy();\n }\n this._inputMask = new TimeInputMask(this._inputElement, options);\n }\n\n public destroy(): void {\n this._targetElement = undefined;\n this._toggleElement = undefined as any;\n this._inputElement = undefined as any;\n }\n\n public destroyMask(): void {\n if (this._inputMask) {\n this._inputMask.destroy();\n this._inputMask = undefined;\n }\n }\n\n public initializeAccessibility(identifier: string): void {\n this._inputElement.setAttribute('autocomplete', 'off');\n this._inputElement.setAttribute('autocorrect', 'off');\n this._inputElement.setAttribute('autocapitalize', 'off');\n this._inputElement.setAttribute('spellcheck', 'false');\n this._inputElement.setAttribute('role', 'combobox');\n this._inputElement.setAttribute('aria-live', 'assertive');\n this._inputElement.setAttribute('aria-atomic', 'true');\n this._inputElement.setAttribute('aria-haspopup', 'true');\n this._inputElement.setAttribute('aria-expanded', 'false');\n }\n\n public addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n this._inputElement.addEventListener(type, listener, { capture });\n }\n\n public removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void {\n if (this._inputElement) {\n this._inputElement.removeEventListener(type, listener, { capture });\n }\n }\n\n public addToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.addEventListener(type, listener);\n }\n }\n\n public removeToggleListener(type: string, listener: (event: Event) => void): void {\n if (this._toggleElement) {\n this._toggleElement.removeEventListener(type, listener);\n }\n }\n\n public hasInputElement(): boolean {\n return !!this._inputElement;\n }\n\n public tryCreateToggle(): void {\n const textField = this._component.querySelector(TEXT_FIELD_CONSTANTS.elementName) as ITextFieldComponent;\n const toggleElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.TOGGLE);\n if (textField) {\n const existingIconButton = textField.querySelector(`${ICON_BUTTON_CONSTANTS.elementName}[slot=trailing]`);\n if (existingIconButton || toggleElement) {\n this._toggleElement = (existingIconButton || toggleElement) as IIconButtonComponent;\n return;\n }\n\n const iconButtonElement = document.createElement(ICON_BUTTON_CONSTANTS.elementName) as IIconButtonComponent;\n iconButtonElement.slot = 'trailing';\n iconButtonElement.dense = true;\n iconButtonElement.densityLevel = 3;\n iconButtonElement.style.marginRight = '4px'; // Override default trailing slot margin in text-field\n\n const buttonElement = document.createElement('button');\n buttonElement.type = 'button';\n buttonElement.tabIndex = -1;\n buttonElement.setAttribute('aria-label', 'Toggle time dropdown');\n\n const iconElement = document.createElement(ICON_CONSTANTS.elementName) as IIconComponent;\n iconElement.name = 'clock_outline';\n buttonElement.appendChild(iconElement);\n iconButtonElement.appendChild(buttonElement);\n\n textField.appendChild(iconButtonElement);\n this._toggleElement = iconButtonElement;\n } else if (toggleElement) {\n this._toggleElement = toggleElement as HTMLElement;\n }\n }\n\n public tryFocusInput(): void {\n this._inputElement.select();\n }\n\n public tryBlurInput(): void {\n this._inputElement.blur();\n }\n\n public selectInputText(): void {\n this._inputElement.select();\n }\n\n public isInputDisabled(): boolean {\n return this._inputElement.disabled;\n }\n\n public isInputFocused(): boolean {\n return getActiveElement() === this._inputElement;\n }\n\n public setInputValue(value: string, emitEvents: boolean): void {\n if (this._inputElement.value === value) {\n return;\n }\n\n this._inputElement.value = value;\n\n if (this._inputMask) {\n this._inputMask.update();\n }\n\n if (emitEvents) {\n this._emitInputEvent('change');\n this._emitInputEvent('input');\n }\n }\n\n public getInputValue(): string {\n return this._inputMask ? this._inputMask.maskedValue : this._inputElement.value;\n }\n\n public setDisabled(isDisabled: boolean): void {\n this._inputElement.disabled = isDisabled;\n this._inputElement.setAttribute('aria-disabled', isDisabled.toString());\n this.setToggleDisabled(isDisabled);\n }\n\n public attachDropdown(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._inputElement, config);\n this._listDropdown.open();\n this._inputElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n \n public detachDropdown(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n this._inputElement.removeAttribute('aria-controls');\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public setActiveDescendant(id: string): void {\n toggleAttribute(this._inputElement, !!id, 'aria-activedescendant', id);\n }\n\n public getTargetElementWidth(selector: string): number {\n const targetElement = this._getTargetElement(selector);\n return targetElement.getBoundingClientRect().width;\n }\n\n private _emitInputEvent(type: string): void {\n this._inputElement.dispatchEvent(new Event(type));\n }\n\n public emitInputEvent(type: string, data?: any): void {\n emitEvent(this._inputElement, type, data);\n }\n\n public setInputReadonly(value: boolean): void {\n this._inputElement.readOnly = value;\n }\n\n public setToggleDisabled(value: boolean): void {\n if (this._toggleElement) {\n this._toggleElement.setAttribute('aria-disabled', value.toString());\n if ('disabled' in this._toggleElement) {\n (this._toggleElement as HTMLButtonElement).disabled = value;\n } else {\n const button = this._toggleElement.querySelector('button') as HTMLButtonElement;\n if (button) {\n button.disabled = value;\n }\n }\n }\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOption(): IListDropdownOption | undefined {\n return this._listDropdown?.getActiveOption();\n }\n\n private _getTargetElement(selector?: string): HTMLElement {\n if (this._targetElement) {\n return this._targetElement;\n }\n this._targetElement = selector ? this._component.querySelector(selector) as HTMLElement || this._getDefaultTargetElement() : this._getDefaultTargetElement();\n return this._targetElement;\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(TEXT_FIELD_CONSTANTS.elementName) as HTMLElement;\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 return this._component; // Otherwise we just use the time-picker host as the target\n }\n}\n", "import { tokenize24HourTimeString, tokenize12HourTimeString, TWENTY_FOUR_HOUR_TIME_REGEX, TWELVE_HOUR_TIME_REGEX } from '../core/utils/time-utils';\n\nexport function timeStringToMillis(time: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!time || /^\\s*$/.test(time)) {\n return null;\n }\n\n let hours = 0;\n let minutes = 0;\n let seconds = 0;\n\n if (TWENTY_FOUR_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize24HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n } else if (TWELVE_HOUR_TIME_REGEX.test(time)) {\n const tokens = tokenize12HourTimeString(time);\n hours = +tokens.hours || 0;\n minutes = +tokens.minutes || 0;\n seconds = +tokens.seconds || 0;\n if (hours === 12 && tokens.meridiem === 'AM') {\n hours = 0;\n }\n if (hours < 12 && tokens.meridiem === 'PM') {\n hours += 12;\n }\n } else {\n return null;\n }\n\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(seconds) : 0);\n}\n\nexport function millisToTimeString(value: number | null | undefined, use24HourTime: boolean, allowSeconds: boolean): string | null {\n if (typeof value !== 'number' || value < 0) {\n return null;\n }\n\n let hours = Math.min(millisToHours(value), 23);\n const minutes = Math.min(millisToMinutesClamped(value), 59);\n const totalMinutes = value / (1000 * 60);\n const meridiem = totalMinutes < 720 ? 'AM' : 'PM';\n\n if (!use24HourTime) {\n hours = hours <= 12 ? hours : hours - 12;\n if (hours === 0) {\n hours = 12;\n }\n }\n\n let time = `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;\n\n if (allowSeconds) {\n const seconds = Math.min(millisToSecondsClamped(value), 59);\n time += `:${String(seconds).padStart(2, '0')}`;\n }\n\n if (!use24HourTime) {\n time += ` ${meridiem}`;\n }\n\n return time;\n}\n\nexport function millisToHours(millis: number): number {\n return Math.abs(Math.floor(millis / (1000 * 60 * 60)));\n}\n\nexport function millisToMinutesClamped(millis: number): number {\n return Math.abs(Math.floor(millisToMinutes(millis) % 60));\n}\n\nexport function millisToMinutes(millis: number): number {\n return millis / (1000 * 60);\n}\n\nexport function millisToSecondsClamped(millis: number): number {\n return Math.abs(Math.floor(millisToSeconds(millis) % 60));\n}\n\nexport function millisToSeconds(millis: number): number {\n return millis / 1000;\n}\n\nexport function hoursToMillis(hours: number): number {\n return hours * 60 * 60 * 1000;\n}\n\nexport function minutesToMillis(minutes: number): number {\n return minutes * 60 * 1000;\n}\n\nexport function secondsToMillis(seconds: number): number {\n return seconds * 1000;\n}\n\nexport function stripSecondsFromMillis(millis: number): number {\n return millis - secondsToMillis(millisToSecondsClamped(millis));\n}\n\nexport function getCurrentTimeOfDayMillis(allowSeconds: boolean): number {\n const date = new Date();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n return hoursToMillis(hours) + minutesToMillis(minutes) + (allowSeconds ? secondsToMillis(date.getSeconds()) : 0);\n}\n\n/**\n * Combines a `Date` object with a 24-hour time string from the time-picker component.\n * @param date The `Date` object to adjust.\n * @param time The 24-hour time string.\n * @param useSeconds If your 24-hour time string contains seconds, set this to `true`.\n * @returns The same `Date` object that was provided, with the newly adjusted time.\n */\nexport function mergeDateWithTime(date: Date, time: string, useSeconds = false): Date {\n if (!date) {\n date = new Date();\n }\n\n const millis = timeStringToMillis(time, true, useSeconds);\n if (!millis) {\n date.setHours(0, 0, 0);\n return date;\n }\n\n let hours = millisToHours(millis);\n \n const twentyThreeHoursInMillis = 82800000;\n if (hours > twentyThreeHoursInMillis) {\n hours = twentyThreeHoursInMillis;\n } else if (hours < 0) {\n hours = 0;\n }\n\n const minutes = millisToMinutesClamped(millis);\n const seconds = useSeconds ? millisToSecondsClamped(millis) : 0;\n date.setHours(hours, minutes, seconds);\n\n return date;\n}\n", "import { ICustomElementFoundation, Platform, debounce, randomChars } from '@tylertech/forge-core';\nimport { ITimePickerAdapter } from './time-picker-adapter';\nimport { ITimeInputMaskOptions } from '../core/mask/time-input-mask';\nimport { isSupportedTimeFormat, TWENTY_FOUR_HOUR_TIME_REGEX, tryCoerceTimeString } from '../core/utils/time-utils';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOptionValue,\n ITimePickerOption,\n TimePickerValidationCallback,\n TimePickerParseCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IListDropdownConfig, ListDropdownType, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';\nimport { timeStringToMillis, millisToTimeString, minutesToMillis, getCurrentTimeOfDayMillis, millisToMinutes, stripSecondsFromMillis } from './time-picker-utils';\n\nexport interface ITimePickerFoundation extends ICustomElementFoundation {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n}\n\nexport class TimePickerFoundation implements ITimePickerFoundation {\n // State vars\n private _value?: number | null = null;\n private _masked = true;\n private _use24HourTime = false;\n private _showMaskFormat = false;\n private _min?: number | null = null;\n private _max?: number | null = null;\n private _restrictedTimes: number[] = [];\n private _startTime?: number | null = null;\n private _step = TIME_PICKER_CONSTANTS.numbers.DEFAULT_MINUTE_STEP;\n private _allowInput = true;\n private _identifier: string;\n private _open = false;\n private _allowSeconds = false;\n private _allowInvalidTime = false;\n private _popupTarget: string;\n private _showNow = false;\n private _showHourOptions = true;\n private _customOptions: ITimePickerOption[] = [];\n private _validationCallback: TimePickerValidationCallback;\n private _parseCallback: TimePickerParseCallback;\n private _formatCallback: TimePickerFormatCallback;\n private _coercionCallback: TimePickerCoercionCallback;\n private _prepareMaskCallback: TimePickerPrepareMaskCallback;\n private _disabled = false;\n private _popupClasses: string[] = [];\n private _allowDropdown = true;\n \n // Internal state vars\n private _isInitialized = false;\n\n // Listeners\n private _inputListener: (evt: Event) => void;\n private _inputKeydownListener: (evt: KeyboardEvent) => void;\n private _toggleMousedownListener: (evt: MouseEvent) => void;\n private _inputFocusListener: (evt: Event) => void;\n private _inputBlurListener: (evt: Event) => void;\n private _inputMousedownListener: (evt: MouseEvent) => void;\n \n constructor(private _adapter: ITimePickerAdapter) {\n this._identifier = randomChars(); // This is a unique identifier for this instance of the time picker (used for a11y purposes)\n\n // Set up listeners\n this._inputListener = evt => this._onInput(evt);\n this._inputKeydownListener = evt => this._onInputKeydown(evt);\n this._toggleMousedownListener = evt => this._onToggleMousedown(evt);\n this._inputFocusListener = evt => this._onInputFocus(evt);\n this._inputBlurListener = evt => this._onInputBlur(evt);\n this._inputMousedownListener = evt => this._onInputMousedown(evt);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n \n // We require an input element to be a child of this component\n if (!this._adapter.hasInputElement()) {\n throw new Error('Unable to locate <input> element to attach to.');\n }\n\n this._adapter.initializeAccessibility(this._identifier);\n\n // Detect if a value already exists in the input and set our values based on that\n if (!this._value) {\n const inputValue = this._adapter.getInputValue();\n this._setValue(this._convertTimeStringToMillis(inputValue, this._use24HourTime, this._allowSeconds));\n }\n\n // Attach required listeners\n this._adapter.addInputListener('focus', this._inputFocusListener);\n this._adapter.addInputListener('blur', this._inputBlurListener);\n this._adapter.addInputListener('keydown', this._inputKeydownListener, true);\n\n // Ensure our input has the correct time format (make sure not to emit input events manually at this point)\n this._formatInputValue(false);\n\n // Apply our state\n if (typeof this._value === 'number') {\n this._applyValue(this._value, false);\n }\n this._applyAllowInput();\n this._applyAllowDropdown();\n this._applyDisabled();\n this._applyMask();\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n\n // Remove listeners\n this._adapter.removeInputListener('input', this._inputListener);\n this._adapter.removeInputListener('focus', this._inputFocusListener);\n this._adapter.removeInputListener('blur', this._inputBlurListener);\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.removeInputListener('keydown', this._inputKeydownListener, true);\n\n // If we are using an input mask, let's destroy that now\n if (this._masked) {\n this._adapter.destroyMask();\n }\n\n // Ensure we remove our dropdown\n this._closeDropdown();\n\n // Cleanup any resources used in the adapter\n this._adapter.destroy();\n }\n\n /** Called when the input mask changes or the `input` event occurs on our `<input>` element. */\n private _onInput(evt: Event): void {\n this._handleInput(this._adapter.getInputValue());\n }\n\n private _onInputKeydown(evt: KeyboardEvent): void {\n if (evt.shiftKey) {\n switch (evt.code) {\n case 'Backspace':\n case 'Delete':\n evt.preventDefault();\n const result = this._trySetValue(null);\n if (result) {\n this._formatInputValue();\n }\n return;\n }\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Esc':\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n this._closeDropdown(true);\n }\n break;\n case 'Down':\n case 'ArrowDown':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (!this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n // TODO: Should we cycle the hours, minutes, seconds, or meridiem where the cursor is instead of opening the dropdown?\n } else {\n this._adapter.propagateKey(evt.code);\n }\n }\n break;\n case 'Up':\n case 'ArrowUp':\n if (this._allowDropdown) {\n evt.preventDefault();\n if (this._open) {\n this._adapter.propagateKey(evt.code);\n } else {\n // TODO: cycle the hours, minutes, seconds, or meridiem where the cursor is\n }\n }\n break;\n case 'Enter':\n case 'NumpadEnter':\n case 'Home':\n case 'End':\n if (this._open) {\n if (evt.code === 'Enter' || evt.code === 'NumpadEnter') {\n evt.stopPropagation();\n }\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'KeyN':\n evt.preventDefault();\n const nowMillis = getCurrentTimeOfDayMillis(this._allowSeconds);\n if (this._value !== nowMillis) {\n const timeString = millisToTimeString(nowMillis, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._applyValue(nowMillis);\n this._selectInputText();\n }\n }\n break;\n }\n }\n\n private _selectActiveOption(): void {\n const activeOption = this._adapter.getActiveOption();\n if (activeOption) {\n this._onSelect(activeOption.value);\n }\n }\n\n private _onToggleMousedown(evt: Event): void {\n if (this._disabled || !this.allowDropdown) {\n return;\n }\n\n evt.stopPropagation();\n\n if (this._adapter.isInputDisabled()) {\n return;\n }\n\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown(true);\n } else {\n if (!Platform.isMobile) {\n this._adapter.tryFocusInput();\n } else {\n this._adapter.tryBlurInput();\n }\n this._openDropdown();\n }\n }\n\n private _onInputFocus(evt: Event): void {\n if (this._allowInput) {\n this._adapter.selectInputText();\n }\n }\n\n private _onInputBlur(evt: Event): void {\n this._formatInputValue();\n if (this._open && !this._adapter.isInputFocused()) {\n this._closeDropdown(true);\n }\n }\n\n private _onInputMousedown(evt: MouseEvent): void {\n if (!this._allowInput && !this._open) {\n this._openDropdown();\n this._adapter.tryFocusInput();\n window.requestAnimationFrame(() => this._adapter.selectInputText());\n }\n }\n\n private _applyDisabled(): void {\n this._adapter.setDisabled(this._disabled);\n }\n\n private _applyMask(): void {\n if (this._masked && this._allowInput) {\n const options: ITimeInputMaskOptions = {\n showMaskFormat: this._showMaskFormat,\n use24HourTime: this._use24HourTime,\n showSeconds: this._allowSeconds,\n prepareCallback: this._prepareMaskCallback,\n onChange: debounce((value: string) => this._handleInput(value), 0, true) // debounce this to avoid multiple callbacks for same value\n };\n this._adapter.initializeMask(options);\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n }\n }\n\n private _applyAllowInput(): void {\n this._adapter.setInputReadonly(!this._allowInput);\n if (this._allowInput) {\n this._adapter.removeInputListener('mousedown', this._inputMousedownListener);\n // If not using an input mask we need to attach our own `input` listener, otherwise\n // we use the mask to notify us of changes\n if (!this._masked) {\n this._adapter.addInputListener('input', this._inputListener);\n }\n } else {\n this._adapter.addInputListener('mousedown', this._inputMousedownListener);\n this._adapter.removeInputListener('input', this._inputListener);\n }\n }\n\n private _applyAllowDropdown(): void {\n this._adapter.setToggleDisabled(!this._allowDropdown);\n if (this._allowDropdown) {\n this._adapter.removeToggleListener('mousedown', this._toggleMousedownListener);\n this._adapter.tryCreateToggle();\n this._adapter.addToggleListener('mousedown', this._toggleMousedownListener);\n } else if (this._open) {\n this._closeDropdown(true);\n }\n }\n\n private _applyAllowSeconds(): void {\n const originalValue = this._value;\n if (!this._allowSeconds) {\n // If we are not using seconds, we need to remove our seconds from the value\n if (typeof this._value !== 'number') {\n return;\n }\n\n this._setValue(stripSecondsFromMillis(this._value));\n\n if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which does not include the seconds\n const timeString = millisToTimeString(this._value, true, false);\n this._emitChangeEvent(timeString);\n }\n } else if (this._isInitialized && originalValue !== this._value) {\n // We need to emit a change event with our new value which includes the seconds\n const timeString = millisToTimeString(this._value, true, true);\n this._emitChangeEvent(timeString);\n }\n }\n\n private _handleInput(value: string): void {\n const rawValue = value;\n\n if (!this._allowInput) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown(true);\n }\n\n // Let's attempt to coerce our time string into a known format to help with ease of entry\n value = tryCoerceTimeString(value, this._use24HourTime, this._allowSeconds);\n\n // If we were provided a custom coercion callback then we need to call that now to perform any further coercion by the consumer\n if (typeof this._coercionCallback === 'function') {\n value = this._coercionCallback.call(null, rawValue, value, this._allowSeconds);\n }\n\n // Validate the time format and make sure it's supported\n if (!this._isValidTimeFormat(value)) {\n value = '';\n }\n\n // Convert the time string to milliseconds\n let millis: number | null | undefined;\n if (!this._masked && typeof this._parseCallback === 'function') {\n millis = this._parseCallback.call(null, value);\n } else {\n millis = this._convertTimeStringToMillis(value, this._use24HourTime, this._allowSeconds);\n }\n\n // Validate that our time can be chosen as a valid value\n millis = this._validateMillis(millis);\n\n // Update our value\n this._trySetValue(millis);\n }\n\n private _emitChangeEvent(value: string | null, force = false): boolean {\n return this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CHANGE, value, true, !force);\n }\n\n private _trySetValue(millis: number | null | undefined): boolean {\n // If our value hasn't changed, we can just return\n if (millis === this._value) {\n return false;\n }\n\n // Convert our milliseconds to a 24-hour time string to use as our normalized value\n const timeString = millisToTimeString(millis, true, this._allowSeconds);\n\n // If we are using an input mask, we need to dispatch our custom input event to let consumers know input happened (before our change event)\n if (this._masked) {\n this._adapter.emitInputEvent(TIME_PICKER_CONSTANTS.events.INPUT, timeString);\n }\n\n // Only emit our change event if the value is different\n if (this._value !== millis) {\n const canContinue = this._emitChangeEvent(timeString);\n if (canContinue) {\n this._setValue(millis);\n return true;\n }\n }\n\n return false;\n }\n\n private _setValue(value: number | null | undefined): void {\n this._value = this._normalizeTimeValue(value);\n }\n\n private _validateMillis(millis: number | null | undefined): number | null | undefined {\n // Trap for min/max validation\n if (typeof millis === 'number') {\n const isBelowMin = typeof this._min === 'number' && millis < this._min;\n const isAboveMax = typeof this._max === 'number' && millis > this._max;\n if (isBelowMin || isAboveMax) {\n millis = null;\n }\n }\n \n // Trap for restricted times\n if (typeof millis === 'number' && this._restrictedTimes.length) {\n if (this._restrictedTimes.includes(millis)) {\n millis = null;\n }\n }\n\n return millis;\n }\n\n private _isValidTimeFormat(value: string): boolean {\n if (!this._masked && typeof this._validationCallback === 'function') {\n return this._validationCallback.call(this, value);\n }\n return isSupportedTimeFormat(value);\n }\n\n private _isValidInputValue(value: string): boolean {\n return TWENTY_FOUR_HOUR_TIME_REGEX.test(value);\n }\n\n private _onSelect(value: ITimePickerOptionValue): void {\n this._closeDropdown(true);\n\n // Check if the \"Now\" option was selected\n if (!value.isCustom && value.metadata === 'now') {\n value.time = getCurrentTimeOfDayMillis(this._allowSeconds);\n }\n\n // Check if this is a custom option, and then call the provided callback for it\n if (value.isCustom) {\n if (typeof value.customCallback === 'function') {\n const result = value.customCallback.call(null, value.metadata);\n if (typeof result !== 'number') {\n throw new Error('Custom options must provide a time of day value in milliseconds.');\n }\n value.time = result;\n } else {\n throw new Error('You must implement a `toMilliseconds` callback that returns the time value to use for this custom option.');\n }\n }\n\n // Make sure the time is different than what is already populated or we can just return\n if (this._value === value.time) {\n return;\n }\n\n // Emit the change event\n const timeString = millisToTimeString(value.time, true, this._allowSeconds);\n const canContinue = this._emitChangeEvent(timeString);\n if (!canContinue) {\n return;\n }\n\n // This will update our state and the UI at once\n this._applyValue(value.time);\n\n // Select full input text\n this._selectInputText();\n }\n\n private _selectInputText(): void {\n // We need to select the text of the input in the next cycle to allow time for the UI to update\n // with the selected text (assuming it still has focus)\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n if (this._adapter.isInputFocused()) {\n this._adapter.selectInputText();\n }\n });\n });\n }\n\n private _applyValue(value: number | null | undefined, emitEvents = true): void {\n this._setValue(value);\n const formattedValue = this._formatValue(this._value);\n if (this._adapter.getInputValue() !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n }\n }\n\n private _normalizeTimeValue(value: number | null | undefined): number | null {\n if (value == null) {\n return null;\n } else if (value < 0) {\n return 0;\n } else if (value > TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS) {\n return TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MILLIS;\n }\n return value;\n }\n\n private _openDropdown(): void {\n const options = this._generateTimeOptions();\n\n if (!this.allowDropdown || !options.length) {\n return;\n }\n \n this._formatInputValue();\n this._open = true;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n \n const selectableOptions = options.filter(o => !o.divider && !o.disabled);\n let selectedValues: ITimePickerOptionValue[] = [];\n let activeStartIndex: number | undefined;\n \n // Find closest match in list of time options and activate/select it\n if (options.length) {\n if (this._value != null) {\n const optionIndex = this._findClosestOptionIndex(this._value, selectableOptions);\n if (optionIndex >= 0) {\n const isExactMatch = selectableOptions[optionIndex].value.time === this._value;\n if (isExactMatch) {\n selectedValues = [selectableOptions[optionIndex].value];\n } else {\n activeStartIndex = optionIndex;\n }\n }\n } else if (typeof this._startTime === 'number') {\n const optionIndex = this._findClosestOptionIndex(this._startTime, selectableOptions);\n if (optionIndex >= 0 && optionIndex < selectableOptions.length) {\n activeStartIndex = optionIndex;\n }\n }\n }\n\n const config: IListDropdownConfig<ITimePickerOptionValue> = {\n id: `forge-time-picker-${this._identifier}`,\n selectedValues,\n syncWidth: true,\n activeStartIndex,\n popupClasses: this._popupClasses,\n popupStatic: true,\n type: ListDropdownType.Standard,\n options,\n selectCallback: value => this._onSelect(value),\n closeCallback: () => this._closeDropdown(true),\n activeChangeCallback: id => this._adapter.setActiveDescendant(id),\n targetWidthCallback: () => this._adapter.getTargetElementWidth(this._popupTarget)\n };\n this._adapter.attachDropdown(config);\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.OPEN, undefined, false);\n }\n\n private _closeDropdown(emitCloseEvent = false): void {\n this._open = false;\n this._adapter.removeHostAttribute(TIME_PICKER_CONSTANTS.attributes.OPEN);\n this._adapter.detachDropdown();\n if (emitCloseEvent) {\n this._adapter.emitHostEvent(TIME_PICKER_CONSTANTS.events.CLOSE, true, false);\n }\n }\n\n private _findClosestOptionIndex(value: number, options: Array<IListDropdownOption<ITimePickerOptionValue>>): number {\n const closestItem = options.reduce((prev, curr) => {\n return Math.abs((curr.value.time || 0) - value) < Math.abs((prev.value.time || 0) - value) ? curr : prev;\n });\n return options.indexOf(closestItem);\n }\n\n private _formatInputValue(emitEvents = true): void {\n const inputValue = this._adapter.getInputValue();\n \n // If we allow invalid times, we can leave the input value as-is (only when unmasked)\n if (this._allowInvalidTime && !this._masked && inputValue && !this._value) {\n return;\n }\n\n const formattedValue = this._formatValue(this._value);\n \n if (inputValue !== formattedValue) {\n this._adapter.setInputValue(formattedValue, emitEvents);\n }\n }\n\n private _generateTimeOptions(): Array<IListDropdownOption<ITimePickerOptionValue>> {\n const minMinutes = this._min != null ? Math.max(millisToMinutes(this._min), 0) : 0;\n const maxMinutes = this._max != null ? Math.min(millisToMinutes(this._max), TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) : TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES;\n const minuteStep = this._step;\n const times: IListDropdownOption[] = [];\n let leadingOptions: IListDropdownOption[] = [];\n \n if (this._showHourOptions) {\n for (let totalMinutes = minMinutes; totalMinutes <= maxMinutes; totalMinutes += minuteStep) {\n if (totalMinutes === TIME_PICKER_CONSTANTS.numbers.MAX_DAY_MINUTES) {\n break;\n }\n const millis = minutesToMillis(totalMinutes);\n const disabled = this._restrictedTimes.includes(millis);\n const label = millisToTimeString(millis, this._use24HourTime, false) || '';\n const value: ITimePickerOptionValue = { time: millis };\n times.push({ label, value, disabled });\n }\n\n // Add divider between AM/PM times\n const firstPmIndex = times.findIndex(t => t.value.time / 1000 / 60 >= 720);\n if (firstPmIndex >= 0 && firstPmIndex < times.length - 1) {\n times.splice(firstPmIndex, 0, { label: '', value: null, divider: true });\n }\n }\n\n\n // Check if we need to prepend a \"Now\" option\n if (this._showNow) {\n const value: ITimePickerOptionValue = { time: null, metadata: 'now' };\n leadingOptions.push({ label: 'Now', value });\n }\n\n // Check for any custom provided options to prepend\n if (Array.isArray(this._customOptions) && this._customOptions.length) {\n const options = this._customOptions.map(o => {\n const value: ITimePickerOptionValue = { time: null, metadata: o.value, isCustom: true, customCallback: o.toMilliseconds };\n return { label: o.label, value };\n });\n leadingOptions = [...leadingOptions, ...options];\n }\n\n // Append all leading options\n if (leadingOptions.length) {\n if (times.length) {\n times.splice(0, 0, { label: '', value: null, divider: true });\n }\n leadingOptions.forEach((o, index) => times.splice(index, 0, o));\n }\n\n return times;\n }\n\n private _convertTimeStringToMillis(value: string | null, use24HourTime: boolean, allowSeconds: boolean): number | null {\n if (!value || !this._isValidTimeFormat(value)) {\n value = '';\n }\n return timeStringToMillis(value, use24HourTime, allowSeconds);\n }\n\n private _formatValue(value: number | null | undefined): string {\n if (!this._masked && typeof this._formatCallback === 'function') {\n return this._formatCallback.call(null, value, this._use24HourTime, this._allowSeconds);\n }\n return millisToTimeString(this._value, this._use24HourTime, this._allowSeconds) || '';\n }\n\n private _warnInvalidFormat(value: string): void {\n console.warn(`The specified value \"${value}\" does not conform to the required format. The format is \"HH:mm\", \"HH:mm:ss\" where HH is 00-23, mm is 00-59, and ss is 00-59.`);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n if (this._isInitialized) {\n this._open = value;\n if (this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n }\n\n public get masked(): boolean {\n return this._masked;\n }\n public set masked(value: boolean) {\n if (this._masked !== value) {\n this._masked = value;\n if (this._isInitialized) {\n if (this._masked) {\n this._adapter.removeInputListener('input', this._inputListener);\n this._applyMask();\n } else {\n this._adapter.destroyMask();\n this._formatInputValue();\n this._adapter.addInputListener('input', this._inputListener);\n }\n }\n }\n }\n\n public get showMaskFormat(): boolean {\n return this._showMaskFormat;\n }\n public set showMaskFormat(value: boolean) {\n if (this._showMaskFormat !== value) {\n this._showMaskFormat = value;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n }\n\n public get allowSeconds(): boolean {\n return this._allowSeconds;\n }\n public set allowSeconds(value: boolean) {\n if (this._allowSeconds !== value) {\n this._allowSeconds = !!value;\n this._applyAllowSeconds();\n if (this._isInitialized) {\n this._applyMask();\n this._formatInputValue();\n }\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS, `${!!value}`);\n }\n }\n\n public get use24HourTime(): boolean {\n return this._use24HourTime;\n }\n public set use24HourTime(value: boolean) {\n if (this._use24HourTime !== value) {\n this._use24HourTime = !!value;\n if (this._isInitialized) {\n this._adapter.destroyMask();\n this._formatInputValue();\n this._applyMask();\n }\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME, `${!!value}`);\n }\n }\n\n public get allowInvalidTime(): boolean {\n return this._allowInvalidTime;\n }\n public set allowInvalidTime(value: boolean) {\n if (this._allowInvalidTime !== value) {\n this._allowInvalidTime = !!value;\n this._adapter.setHostAttribute(TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME, `${!!value}`);\n }\n }\n\n public get value(): string | null {\n return millisToTimeString(this._value, true, this._allowSeconds);\n }\n public set value(value: string | null) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n const millis = this._validateMillis(this._convertTimeStringToMillis(value, true, true));\n this._setValue(millis);\n if (this._isInitialized) {\n this._applyValue(this._value);\n }\n }\n\n public get min(): string | null {\n return millisToTimeString(this._min, true, this._allowSeconds);\n }\n public set min(value: string | null) {\n if (this._min !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._min = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n\n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get max(): string | null {\n return millisToTimeString(this._max, true, this._allowSeconds);\n }\n public set max(value: string | null) {\n if (this._max !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._max = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n \n // Validate and reset our millis to ensure within range\n const millis = this._validateMillis(this._value);\n this._setValue(millis);\n\n if (this._isInitialized) {\n this._applyValue(millis);\n }\n }\n }\n\n public get restrictedTimes(): string[] {\n return this._restrictedTimes\n .map(t => millisToTimeString(t, true, this._allowSeconds))\n .filter(v => typeof v === 'string') as string[];\n }\n public set restrictedTimes(value: string[]) {\n if (!Array.isArray(value)) {\n value = [];\n }\n this._restrictedTimes = value\n .filter(v => typeof v === 'string')\n .map(v => this._convertTimeStringToMillis(v, true, true))\n .filter(v => typeof v === 'number') as number[];\n }\n\n public get startTime(): string | null {\n return millisToTimeString(this._startTime, true, this._allowSeconds);\n }\n public set startTime(value: string | null) {\n if (this._startTime !== value) {\n if (value && !this._isValidInputValue(value)) {\n this._warnInvalidFormat(value);\n return;\n }\n this._startTime = this._convertTimeStringToMillis(value, true, this._allowSeconds);\n }\n }\n\n public get step(): number {\n return this._step;\n }\n public set step(value: number) {\n this._step = value;\n }\n\n public get allowInput(): boolean {\n return this._allowInput;\n }\n public set allowInput(value: boolean) {\n if (this._allowInput !== value) {\n this._allowInput = value;\n if (this._isInitialized) {\n this._applyAllowInput();\n this._applyMask();\n }\n }\n }\n\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 public get showNow(): boolean {\n return this._showNow;\n }\n public set showNow(value: boolean) {\n if (this._showNow !== value) {\n this._showNow = value;\n }\n }\n\n public get showHourOptions(): boolean {\n return this._showHourOptions;\n }\n public set showHourOptions(value: boolean) {\n if (this._showHourOptions !== value) {\n this._showHourOptions = value;\n }\n }\n\n public get customOptions(): ITimePickerOption[] {\n return this._customOptions;\n }\n public set customOptions(value: ITimePickerOption[]) {\n this._customOptions = Array.isArray(value) ? value : [];\n }\n\n public set validationCallback(cb: TimePickerValidationCallback) {\n this._validationCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public set parseCallback(cb: TimePickerParseCallback) {\n this._parseCallback = cb;\n }\n\n public set formatCallback(cb: TimePickerFormatCallback) {\n this._formatCallback = cb;\n }\n\n public set coercionCallback(cb: TimePickerCoercionCallback) {\n this._coercionCallback = cb;\n }\n\n public set prepareMaskCallback(cb: TimePickerPrepareMaskCallback) {\n this._prepareMaskCallback = cb;\n if (this._isInitialized) {\n this._applyMask();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = !!value;\n if (this._isInitialized) {\n this._applyDisabled();\n }\n this._adapter.toggleHostAttribute(TIME_PICKER_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get popupClasses(): string | string[] {\n if (Array.isArray(this._popupClasses)) {\n return [...this._popupClasses];\n }\n\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n if (Array.isArray(value)) {\n this._popupClasses = [...value];\n } else {\n this._popupClasses = [value];\n }\n }\n\n public get allowDropdown(): boolean {\n return this._allowDropdown;\n }\n public set allowDropdown(value: boolean) {\n if (this._allowDropdown !== value) {\n this._allowDropdown = value;\n if (this._isInitialized) {\n this._applyAllowDropdown();\n }\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean, coerceNumber, ensureChild } from '@tylertech/forge-core';\nimport { tylIconClockOutline } from '@tylertech/tyler-icons/extended';\nimport { tylIconClose } from '@tylertech/tyler-icons/standard';\nimport { TimePickerAdapter } from './time-picker-adapter';\nimport { TimePickerFoundation } from './time-picker-foundation';\nimport {\n TIME_PICKER_CONSTANTS,\n ITimePickerOption,\n TimePickerParseCallback,\n TimePickerValidationCallback,\n TimePickerFormatCallback,\n TimePickerCoercionCallback,\n TimePickerPrepareMaskCallback\n} from './time-picker-constants';\nimport { IconRegistry, IconComponent } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { PopupComponent } from '../popup';\nimport { DialogComponent } from '../dialog';\nimport { ListComponent, ListItemComponent } from '../list';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:block}:host([hidden]){display:none}';\n\nexport interface ITimePickerComponent extends IBaseComponent {\n value: string | null | undefined;\n open: boolean;\n allowSeconds: boolean;\n masked: boolean;\n showMaskFormat: boolean;\n use24HourTime: boolean;\n allowInvalidTime: boolean;\n min: string | null | undefined;\n max: string | null | undefined;\n restrictedTimes: string[];\n startTime: string | null | undefined;\n step: number;\n allowInput: boolean;\n showNow: boolean;\n showHourOptions: boolean;\n customOptions: ITimePickerOption[];\n validationCallback: TimePickerValidationCallback;\n parseCallback: TimePickerParseCallback;\n formatCallback: TimePickerFormatCallback;\n coercionCallback: TimePickerCoercionCallback;\n prepareMaskCallback: TimePickerPrepareMaskCallback;\n disabled: boolean;\n popupClasses: string | string[];\n allowDropdown: boolean;\n popupTarget: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-time-picker': ITimePickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-time-picker-open': CustomEvent<void>;\n 'forge-time-picker-close': CustomEvent<void>;\n 'forge-time-picker-input': Event;\n 'forge-time-picker-change': CustomEvent<string | null>;\n }\n}\n\n/**\n * The web component class behind the `<forge-time-picker>` custom element.\n * \n * @tag forge-time-picker\n */\n@CustomElement({\n name: TIME_PICKER_CONSTANTS.elementName,\n dependencies: [\n ListComponent,\n ListItemComponent,\n IconButtonComponent,\n IconComponent,\n PopupComponent,\n IconComponent,\n DialogComponent\n ]\n})\nexport class TimePickerComponent extends BaseComponent implements ITimePickerComponent {\n public static get observedAttributes(): string[] {\n return [\n TIME_PICKER_CONSTANTS.attributes.VALUE,\n TIME_PICKER_CONSTANTS.attributes.OPEN,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS,\n TIME_PICKER_CONSTANTS.attributes.MASKED,\n TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT,\n TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME,\n TIME_PICKER_CONSTANTS.attributes.MIN,\n TIME_PICKER_CONSTANTS.attributes.MAX,\n TIME_PICKER_CONSTANTS.attributes.START_TIME,\n TIME_PICKER_CONSTANTS.attributes.STEP,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT,\n TIME_PICKER_CONSTANTS.attributes.SHOW_NOW,\n TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS,\n TIME_PICKER_CONSTANTS.attributes.DISABLED,\n TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES,\n TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN\n ];\n }\n\n private _foundation: TimePickerFoundation;\n\n constructor() {\n super();\n IconRegistry.define([tylIconClockOutline, tylIconClose]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TimePickerFoundation(new TimePickerAdapter(this));\n }\n\n public connectedCallback(): void {\n if (this.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, TIME_PICKER_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 switch (name) {\n case TIME_PICKER_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_SECONDS:\n this.allowSeconds = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MASKED:\n this.masked = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_MASK_FORMAT:\n this.showMaskFormat = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.USE_24_HOUR_TIME:\n this.use24HourTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INVALID_TIME:\n this.allowInvalidTime = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_NOW:\n this.showNow = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.SHOW_HOUR_OPTIONS:\n this.showHourOptions = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.MIN:\n this.min = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.MAX:\n this.max = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.START_TIME:\n this.startTime = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.STEP:\n this.step = coerceNumber(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_INPUT:\n this.allowInput = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TIME_PICKER_CONSTANTS.attributes.POPUP_CLASSES:\n this.popupClasses = newValue;\n break;\n case TIME_PICKER_CONSTANTS.attributes.ALLOW_DROPDOWN:\n this.allowDropdown = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: string | null | undefined;\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare allowSeconds: boolean;\n\n @FoundationProperty()\n public declare masked: boolean;\n\n @FoundationProperty()\n public declare showMaskFormat: boolean;\n\n @FoundationProperty()\n public declare use24HourTime: boolean;\n\n @FoundationProperty()\n public declare allowInvalidTime: boolean;\n\n @FoundationProperty()\n public declare min: string | null | undefined;\n\n @FoundationProperty()\n public declare max: string | null | undefined;\n\n @FoundationProperty()\n public declare restrictedTimes: string[];\n\n @FoundationProperty()\n public declare startTime: string | null | undefined;\n\n @FoundationProperty()\n public declare step: number;\n\n @FoundationProperty()\n public declare allowInput: boolean;\n\n @FoundationProperty()\n public declare showNow: boolean;\n\n /** Whether or not to display hour options in dropdown */\n @FoundationProperty()\n public declare showHourOptions: boolean;\n\n @FoundationProperty()\n public declare customOptions: ITimePickerOption[];\n\n @FoundationProperty()\n public declare validationCallback: TimePickerValidationCallback;\n \n @FoundationProperty()\n public declare parseCallback: TimePickerParseCallback;\n\n @FoundationProperty()\n public declare formatCallback: TimePickerFormatCallback;\n\n @FoundationProperty()\n public declare coercionCallback: TimePickerCoercionCallback;\n\n @FoundationProperty()\n public declare prepareMaskCallback: TimePickerPrepareMaskCallback;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popupClasses: string | string[];\n\n @FoundationProperty()\n public declare allowDropdown: boolean;\n\n @FoundationProperty()\n public declare popupTarget: string;\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { ITextFieldComponent, ITextFieldComponentDelegateConfig, TextFieldComponentDelegate } from '../text-field';\nimport { ITimePickerComponent } from './time-picker';\nimport { TIME_PICKER_CONSTANTS } from './time-picker-constants';\n\nexport type TimePickerComponentDelegateProps = Partial<ITimePickerComponent>;\nexport interface ITimePickerComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n textFieldDelegateConfig?: ITextFieldComponentDelegateConfig;\n}\nexport interface ITimePickerComponentDelegateConfig extends IBaseComponentDelegateConfig<ITimePickerComponent, ITimePickerComponentDelegateOptions> {}\n\nexport class TimePickerComponentDelegate extends FormFieldComponentDelegate<ITimePickerComponent, ITimePickerComponentDelegateOptions> {\n private _textFieldDelegate: TextFieldComponentDelegate;\n\n constructor(config?: ITimePickerComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): ITimePickerComponent {\n const timePicker = document.createElement(TIME_PICKER_CONSTANTS.elementName);\n this._attachTextField(timePicker);\n return timePicker;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._textFieldDelegate.inputElement;\n }\n\n public get textFieldElement(): ITextFieldComponent {\n return this._textFieldDelegate.element;\n }\n\n public get value(): any {\n return this._element.value;\n }\n public set value(value: any) {\n this._element.value = value;\n }\n\n public get disabled(): boolean {\n return this._element.disabled;\n }\n public set disabled(value: boolean) {\n this._element.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._textFieldDelegate.invalid || false;\n }\n public set invalid(value: boolean) {\n this._textFieldDelegate.invalid = value;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.CHANGE, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n }\n\n public onInput(listener: (value: string) => void): void {\n if (this._element.masked) {\n this._element.addEventListener(TIME_PICKER_CONSTANTS.events.INPUT, (evt: CustomEvent<string>) => listener(evt.detail ?? ''));\n } else {\n this._textFieldDelegate.inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n }\n\n public onFocus(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('focus', (evt: FocusEvent) => listener(evt));\n }\n\n public onBlur(listener: (evt: FocusEvent) => void): void {\n this._textFieldDelegate.inputElement.addEventListener('blur', (evt: FocusEvent) => listener(evt));\n }\n\n private _attachTextField(component: ITimePickerComponent): void {\n const textFieldConfig: ITextFieldComponentDelegateConfig = {\n props: { ...this._config.options?.textFieldDelegateConfig?.props },\n options: { ...this._config.options?.textFieldDelegateConfig?.options }\n };\n this._textFieldDelegate = new TextFieldComponentDelegate(textFieldConfig);\n component.appendChild(this._textFieldDelegate.element);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TimePickerComponent } from './time-picker';\n\nexport * from './time-picker-adapter';\nexport * from './time-picker-component-delegate';\nexport * from './time-picker-constants';\nexport * from './time-picker-foundation';\nexport * from './time-picker-utils';\nexport * from './time-picker';\n\nexport function defineTimePickerComponent(): void {\n defineCustomElement(TimePickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{a as w,b as k,c as C}from"./chunk.ORF746AF.js";import{e as L}from"./chunk.YWRCWMNO.js";import{a as E}from"./chunk.24D46RLZ.js";import{a as _,b as y}from"./chunk.OOW3UKT4.js";import{a as v,e as x,g as s}from"./chunk.MMVZJLXE.js";import{s as u}from"./chunk.R4NDFXVA.js";import{f as h}from"./chunk.MCIQXNKY.js";var g=`${y}chip-field`,M={ROOT:"forge-chip-field"},n={LABEL:"label",HELPER_TEXT:"helper-text",MEMBER:"member"},I={ROOT:`.${M.ROOT}`,INPUT_CONTAINER:".forge-field__input-container",INPUT:"input",LABEL:`[slot=${n.LABEL}]`,HELPER_TEXT:`[slot=${n.HELPER_TEXT}]`,MEMBER:`[slot=${n.MEMBER}]`,LABEL_SLOT:`slot[name=${n.LABEL}]`,MEMBER_SLOT:`slot[name=${n.MEMBER}]`},z={MEMBER_ADDED:`${g}-member-added`,MEMBER_REMOVED:`${g}-member-removed`},i={elementName:g,classes:M,slots:n,selectors:I,events:z};var d=class extends w{constructor(e){super(e)}initialize(){super.initialize(i.selectors.ROOT),this._memberSlot=s(this._component,i.selectors.MEMBER_SLOT),this._inputContainerElement=s(this._component,i.selectors.INPUT_CONTAINER)}addRootListener(e,t){this._rootElement.addEventListener(e,t)}removeRootListener(e,t){this._rootElement.removeEventListener(e,t)}addMemberSlotListener(e){this._memberSlot.addEventListener("slotchange",e)}removeMemberSlotListener(e){this._memberSlot&&this._memberSlot.removeEventListener("slotchange",e)}addInputContainerListener(e,t){this._inputContainerElement.addEventListener(e,t)}removeInputContainerListener(e,t){this._inputContainerElement.removeEventListener(e,t)}fieldHasValue(){return!!this._component.querySelector(i.selectors.MEMBER)||super.inputHasValue()}focusInput(){!this._inputElement||this._inputElement.focus()}getSlottedMemberElements(){return this._component.querySelectorAll(i.selectors.MEMBER)}};var a=class extends k{constructor(e){super(e);this._adapter=e;this._memberSlotListener=()=>this._onMemberSlotChanged(),this._inputContainerMouseDownListener=t=>this._onInputContainerMouseDown(t),this._handleRootKeyDown=t=>this._onRootKeyDown(t),this._handleKeyDown=t=>this._onKeyDown(t)}initialize(){super.initialize(),this._adapter.addMemberSlotListener(this._memberSlotListener),this._adapter.addInputContainerListener("mousedown",this._inputContainerMouseDownListener),this._adapter.addRootListener("keydown",this._handleRootKeyDown),this._adapter.addInputListener("keydown",this._handleKeyDown)}disconnect(){super.disconnect(),this._adapter.removeMemberSlotListener(this._memberSlotListener),this._adapter.removeInputContainerListener("mousedown",this._inputContainerMouseDownListener),this._adapter.removeRootListener("keydown",this._handleRootKeyDown),this._adapter.removeInputListener("keydown",this._handleKeyDown)}_onInputContainerMouseDown(e){e.preventDefault(),this._adapter.focusInput()}_onBlur(e){let t=e.target;t.value="",super._onBlur(e)}_onRootKeyDown(e){if(!this._adapter.inputHasValue())switch(e.key){case"Right":case"ArrowRight":this._focusNextMember();break;case"Left":case"ArrowLeft":this._focusPreviousMember();break;case"Backspace":case"Delete":case"Del":this._removeMember();break;default:break}}_onKeyDown(e){let t=e.target;switch(e.key){case"Enter":this._addMember(t);break;case"Esc":case"Escape":case"Tab":t.value="";break;default:break}}_focusNextMember(){let e=this._adapter.getSlottedMemberElements();if(!(e.length<1||this._adapter.inputHasFocus()))for(let t=0;t<e.length;t++){let o=e.item(t),r=e.item(t+1);if(this._memberIsActive(o))if(r){r.focus();break}else this._adapter.focusInput()}}_focusPreviousMember(){let e=this._adapter.getSlottedMemberElements();if(!(e.length<1)){if(this._adapter.inputHasFocus()){e[e.length-1].focus();return}for(let t=0;t<e.length;t++){let o=e.item(t-1),r=e.item(t);if(this._memberIsActive(r)&&o){o.focus();break}}}}_memberIsActive(e){return u()===e||e.hasAttribute("focused")}_getActiveMember(){let e=this._adapter.getSlottedMemberElements();for(let t=0;t<e.length;t++){let o=e.item(t);if(this._memberIsActive(o))return o}return null}_addMember(e){let t=e.value.trim();t&&t.length>0&&this._adapter.emitHostEvent(i.events.MEMBER_ADDED,t),e.value=""}_removeMember(){let e=this._getActiveMember();if(!e){let t=this._adapter.getSlottedMemberElements();e=t.item(t.length-1)}!e||(this._focusNextMember(),this._adapter.emitHostEvent(i.events.MEMBER_REMOVED,e))}_onMemberSlotChanged(){this.floatLabel(this._adapter.fieldHasValue()||this._adapter.inputHasFocus()),this._adapter.getSlottedMemberElements().forEach(e=>e.tabIndex=-1)}};var F='<template><div class="forge-chip-field__wrapper" part="root"><div class="forge-chip-field forge-field" part="container"><slot name="leading"></slot><div class="forge-field__label-input-container" part="label-input-container"><slot name="label"></slot><div class="forge-field__input-container" part="input-container"><slot name="member"></slot><slot></slot></div></div><slot name="trailing"></slot><div class="forge-field__addon-end-container" part="addon-end-container"><slot name="addon-end"></slot></div></div><slot name="helper-text"></slot></div></template>',D='.forge-field::before{content:"";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-chip-field-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field ::slotted(label){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field ::slotted(label[dir=rtl]),[dir=rtl] .forge-field ::slotted(label){right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) ::slotted(label){display:none}.forge-field--required ::slotted(label)::after{content:none}.forge-field--required ::slotted(label)::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){font-size:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){font-size:1rem}.forge-field--disabled ::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){top:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) ::slotted(label){left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) ::slotted(label){left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) ::slotted(label){padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded ::slotted(label){padding-right:32px}.forge-field ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-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));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);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field ::slotted([slot=trailing]){align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=trailing]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=trailing]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=trailing]){margin:0 4px}.forge-field ::slotted([slot=trailing]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-chip-field{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-chip-field-margin-top,0)}.forge-chip-field.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-chip-field .forge-chip-field{display:grid;grid-template-columns:[leading] -webkit-min-content [input] 1fr [trailing] -webkit-min-content [addon-end] -webkit-min-content [end];grid-template-columns:[leading] min-content [input] 1fr [trailing] min-content [addon-end] min-content [end]}.forge-chip-field .forge-chip-field:not(.forge-field--dense):not(.forge-field--roomy){height:auto;min-height:46px;min-height:var(--forge-chip-field-height,46px)}.forge-chip-field .forge-chip-field.forge-field--roomy:not(.forge-field--dense){height:auto;min-height:3.5rem;min-height:var(--forge-chip-field-height,3.5rem)}.forge-chip-field .forge-chip-field.forge-field--dense:not(.forge-field--roomy){height:auto;min-height:1.5rem;min-height:var(--forge-chip-field-height,1.5rem)}.forge-field__label-input-container{grid-column-start:input;grid-column-end:trailing}.forge-field__input-container{-webkit-box-flex:1;flex:1 1 0.0001px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-align:start;align-items:flex-start;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field__input-container{padding:2px 12px}.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-field__input-container{padding-left:32px}.forge-field--leading:not(.forge-field--shape-rounded) .forge-field__input-container{padding-left:0}.forge-field--shape-rounded.forge-field--leading .forge-field__input-container{padding-left:0}.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--shape-rounded:not(.forge-field--trailing):not(.forge-field--addon-end) .forge-field__input-container{padding-right:32px}.forge-field--addon-end:not(.forge-field--shape-rounded) .forge-field__input-container,.forge-field--trailing:not(.forge-field--shape-rounded) .forge-field__input-container{padding-right:0}.forge-field--shape-rounded.forge-field--addon-end .forge-field__input-container,.forge-field--shape-rounded.forge-field--trailing .forge-field__input-container{padding-right:0}.forge-field ::slotted([slot=member]){display:block}.forge-field--disabled ::slotted([slot=member]){--mdc-theme-primary:rgba(0, 0, 0, 0.38);--mdc-theme-primary:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));cursor:not-allowed;pointer-events:none}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 8px 2px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=member]){margin:6px 12px 6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 6px 2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:20px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:16px}.forge-field ::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0}.forge-field ::slotted(input)::-webkit-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-moz-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):invalid{-webkit-box-shadow:none;box-shadow:none}.forge-field ::slotted(input):-webkit-autofill{z-index:auto!important}.forge-field:not(.forge-field--disabled) ::slotted(input){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled ::slotted(input){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){font-size:.875rem;font-size:var(--forge-chip-field-font-size, .875rem)}.forge-field ::slotted(input){-webkit-box-flex:1;flex:1 1 0.0001px;min-width:40px;display:block;align-self:flex-start;padding:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){margin:4px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){margin:6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){margin:2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){height:1.25rem;line-height:1.25rem}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field ::slotted([slot=leading]){grid-column-start:leading;grid-column-end:input;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=leading]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){padding-top:0;padding-bottom:0}.forge-field ::slotted([slot=trailing]){grid-column-start:trailing;grid-column-end:addon-end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=trailing]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){padding-top:0;padding-bottom:0}.forge-field--addon-end .forge-field__addon-end-container{grid-column-start:addon-end;grid-column-end:end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=addon-end]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:0;margin-bottom:0}.forge-field ::slotted(forge-icon-button){display:-webkit-inline-box!important;display:inline-flex!important}:host{display:block;contain:layout}:host([hidden]){display:none}',l=class extends C{constructor(){super(),x(this,F,D),this._foundation=new a(new d(this))}};l=h([_({name:i.elementName,dependencies:[L]})],l);var T=class extends E{constructor(e){super(e)}_build(){var t,o;let e=document.createElement(i.elementName);return this._inputElement=this._buildInputElement(e),(t=this._config.options)!=null&&t.leadingElement&&(this._config.options.leadingElement.slot="leading",e.appendChild(this._config.options.leadingElement)),(o=this._config.options)!=null&&o.trailingElement&&(this._config.options.trailingElement.slot="trailing",e.appendChild(this._config.options.trailingElement)),e.appendChild(this._inputElement),e}_configure(){var e,t;(e=this._config.options)!=null&&e.helperText&&this.setHelperText(this._config.options.helperText),typeof((t=this._config.options)==null?void 0:t.label)=="string"&&this._createLabel(this._config.options.label)}get value(){return this._inputElement.value}set value(e){this._inputElement.value=e}get disabled(){return this._inputElement.disabled}set disabled(e){this._inputElement.disabled=e}get invalid(){return this._element.invalid||!1}set invalid(e){this._element.invalid=e}get inputElement(){return this._inputElement}get labelElement(){return this._labelElement}onChange(e){this._inputElement.addEventListener("input",t=>e(t.target.value))}onFocus(e){this._inputElement.addEventListener("focus",t=>e(t))}onBlur(e){this._inputElement.addEventListener("blur",t=>e(t))}setLabel(e){e?this._labelElement?this._labelElement.textContent=e:this._createLabel(e):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(e){e?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=e):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}floatLabel(e){this._element.floatLabel(e)}_createLabel(e){var t;this._labelElement=document.createElement("label"),this._labelElement.textContent=e,(t=this._config.options)!=null&&t.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_buildInputElement(e){var o,r,p,b,c;let t=document.createElement("input");return t.type=((o=this._config.options)==null?void 0:o.type)||"text",((r=this._config.options)==null?void 0:r.value)!==void 0&&(t.value=this._config.options.value),(p=this._config.options)!=null&&p.id&&(t.id=this._config.options.id),typeof((b=this._config.options)==null?void 0:b.placeholder)=="string"&&(t.placeholder=(c=this._config.options)==null?void 0:c.placeholder),e.appendChild(t),t}};function le(){v(l)}export{i as a,d as b,a as c,l as d,T as e,le as f};
|
|
7
|
-
//# sourceMappingURL=chunk.F3Q62EMG.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/chip-field/chip-field-constants.ts", "../../src/chip-field/chip-field-adapter.ts", "../../src/chip-field/chip-field-foundation.ts", "../../src/chip-field/chip-field.ts", "../../src/chip-field/chip-field-component-delegate.ts", "../../src/chip-field/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}chip-field`;\n\nconst classes = {\n ROOT: 'forge-chip-field'\n};\n\nconst slots = {\n LABEL: 'label',\n HELPER_TEXT: 'helper-text',\n MEMBER: 'member'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n INPUT_CONTAINER: '.forge-field__input-container',\n INPUT: 'input',\n LABEL: `[slot=${slots.LABEL}]`,\n HELPER_TEXT: `[slot=${slots.HELPER_TEXT}]`,\n MEMBER: `[slot=${slots.MEMBER}]`,\n LABEL_SLOT: `slot[name=${slots.LABEL}]`,\n MEMBER_SLOT: `slot[name=${slots.MEMBER}]`\n};\n\nconst events = {\n MEMBER_ADDED: `${elementName}-member-added`,\n MEMBER_REMOVED: `${elementName}-member-removed`\n};\n\nexport const CHIP_FIELD_CONSTANTS = {\n elementName,\n classes,\n slots,\n selectors,\n events\n};\n\nexport {\n type FieldDensityType as ChipFieldDensityType,\n type FieldFloatLabelType as ChipFieldFloatLabelType,\n type FieldShapeType as ChipFieldShapeType\n} from '../field/field-constants';\n", "import { IChipFieldComponent } from './chip-field';\nimport { getShadowElement } from '@tylertech/forge-core';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { FieldAdapter, IFieldAdapter } from '../field/field-adapter';\n\nexport interface IChipFieldAdapter extends IFieldAdapter {\n // root\n addRootListener(type: string, callback: (event: Event) => void): void;\n removeRootListener(type: string, callback: (event: Event) => void): void;\n\n // member\n addMemberSlotListener(listener: (evt: Event) => void): void;\n removeMemberSlotListener(listener: (evt: Event) => void): void;\n\n addInputContainerListener(type: string, callback: (event: Event) => void): void;\n removeInputContainerListener(type: string, callback: (event: Event) => void): void;\n\n // state selectors\n getSlottedMemberElements(): NodeListOf<HTMLElement>;\n\n // state actions\n focusInput(): void;\n}\n\nexport class ChipFieldAdapter extends FieldAdapter implements IChipFieldAdapter {\n protected _memberSlot: HTMLSlotElement;\n protected _inputContainerElement: HTMLElement;\n\n constructor(component: IChipFieldComponent) {\n super(component);\n }\n\n public initialize(): void {\n super.initialize(CHIP_FIELD_CONSTANTS.selectors.ROOT);\n this._memberSlot = getShadowElement(this._component, CHIP_FIELD_CONSTANTS.selectors.MEMBER_SLOT) as HTMLSlotElement;\n this._inputContainerElement = getShadowElement(this._component, CHIP_FIELD_CONSTANTS.selectors.INPUT_CONTAINER) as HTMLElement;\n }\n\n public addRootListener(type: string, callback: (event: Event) => void): void {\n this._rootElement.addEventListener(type, callback);\n }\n\n public removeRootListener(type: string, callback: (event: Event) => void): void {\n this._rootElement.removeEventListener(type, callback);\n }\n\n public addMemberSlotListener(listener: (evt: Event) => void): void {\n this._memberSlot.addEventListener('slotchange', listener);\n }\n\n public removeMemberSlotListener(listener: (evt: Event) => void): void {\n if (this._memberSlot) {\n this._memberSlot.removeEventListener('slotchange', listener);\n }\n }\n\n public addInputContainerListener(type: string, callback: (event: Event) => void): void {\n this._inputContainerElement.addEventListener(type, callback);\n }\n\n public removeInputContainerListener(type: string, callback: (event: Event) => void): void {\n this._inputContainerElement.removeEventListener(type, callback);\n }\n\n public override fieldHasValue(): boolean {\n const aMemberExists = !!this._component.querySelector(CHIP_FIELD_CONSTANTS.selectors.MEMBER);\n return aMemberExists || super.inputHasValue();\n }\n\n public focusInput(): void {\n if (!this._inputElement) {\n return;\n }\n\n this._inputElement.focus();\n }\n\n public getSlottedMemberElements(): NodeListOf<HTMLElement> {\n return this._component.querySelectorAll<HTMLElement>(CHIP_FIELD_CONSTANTS.selectors.MEMBER);\n }\n}\n", "import { getActiveElement } from '@tylertech/forge-core';\nimport { IChipFieldAdapter } from './chip-field-adapter';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { IFieldFoundation, FieldFoundation } from '../field/field-foundation';\n\nexport interface IChipFieldFoundation extends IFieldFoundation {}\n\nexport class ChipFieldFoundation extends FieldFoundation implements IChipFieldFoundation {\n private _memberSlotListener: () => void;\n private _inputContainerMouseDownListener: (evt: MouseEvent) => void;\n private _handleRootKeyDown: (event: KeyboardEvent) => void;\n private _handleKeyDown: (event: KeyboardEvent) => void;\n\n constructor(protected _adapter: IChipFieldAdapter) {\n super(_adapter);\n this._memberSlotListener = () => this._onMemberSlotChanged();\n this._inputContainerMouseDownListener = evt => this._onInputContainerMouseDown(evt);\n this._handleRootKeyDown = evt => this._onRootKeyDown(evt);\n this._handleKeyDown = evt => this._onKeyDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n this._adapter.addMemberSlotListener(this._memberSlotListener);\n this._adapter.addInputContainerListener('mousedown', this._inputContainerMouseDownListener);\n this._adapter.addRootListener('keydown', this._handleRootKeyDown);\n this._adapter.addInputListener('keydown', this._handleKeyDown);\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMemberSlotListener(this._memberSlotListener);\n this._adapter.removeInputContainerListener('mousedown', this._inputContainerMouseDownListener);\n this._adapter.removeRootListener('keydown', this._handleRootKeyDown);\n this._adapter.removeInputListener('keydown', this._handleKeyDown);\n }\n\n private _onInputContainerMouseDown(evt: MouseEvent): void {\n evt.preventDefault();\n this._adapter.focusInput();\n }\n\n protected _onBlur(event: Event): void {\n const input = event.target as HTMLInputElement;\n input.value = '';\n super._onBlur(event);\n }\n\n private _onRootKeyDown(event: KeyboardEvent): void {\n if (this._adapter.inputHasValue()) {\n return;\n }\n\n switch (event.key) {\n case 'Right':\n case 'ArrowRight':\n this._focusNextMember();\n break;\n case 'Left':\n case 'ArrowLeft':\n this._focusPreviousMember();\n break;\n case 'Backspace':\n case 'Delete':\n case 'Del':\n this._removeMember();\n break;\n default:\n break;\n }\n }\n\n private _onKeyDown(event: KeyboardEvent): void {\n const input = event.target as HTMLInputElement;\n switch (event.key) {\n case 'Enter':\n this._addMember(input);\n break;\n case 'Esc':\n case 'Escape':\n case 'Tab':\n input.value = '';\n break;\n default:\n break;\n }\n }\n\n private _focusNextMember(): void {\n const members = this._adapter.getSlottedMemberElements();\n if (members.length < 1 || this._adapter.inputHasFocus()) {\n return;\n }\n\n for (let i = 0; i < members.length; i++) {\n const member = members.item(i);\n const nextMember = members.item(i + 1);\n\n if (this._memberIsActive(member)) {\n if (nextMember) {\n nextMember.focus();\n break;\n } else {\n this._adapter.focusInput();\n }\n }\n }\n }\n\n private _focusPreviousMember(): void {\n const members = this._adapter.getSlottedMemberElements();\n if (members.length < 1) {\n return;\n }\n\n if (this._adapter.inputHasFocus()) {\n members[members.length - 1].focus();\n return;\n }\n\n for (let i = 0; i < members.length; i++) {\n const previousMember = members.item(i - 1);\n const member = members.item(i);\n\n if (this._memberIsActive(member) && previousMember) {\n previousMember.focus();\n break;\n }\n }\n }\n\n private _memberIsActive(ele: HTMLElement): boolean {\n return getActiveElement() === ele || ele.hasAttribute('focused');\n }\n\n private _getActiveMember(): HTMLElement | null {\n const members = this._adapter.getSlottedMemberElements();\n\n for (let i = 0; i < members.length; i++) {\n const member = members.item(i);\n if (this._memberIsActive(member)) {\n return member;\n }\n }\n\n return null;\n }\n\n private _addMember(input: HTMLInputElement): void {\n const cleanInputValue = input.value.trim();\n if (cleanInputValue && cleanInputValue.length > 0) {\n this._adapter.emitHostEvent(CHIP_FIELD_CONSTANTS.events.MEMBER_ADDED, cleanInputValue);\n }\n\n input.value = '';\n }\n\n private _removeMember(): void {\n let memberToRemove = this._getActiveMember();\n if (!memberToRemove) {\n const members = this._adapter.getSlottedMemberElements();\n memberToRemove = members.item(members.length - 1);\n }\n\n if (!memberToRemove) {\n return;\n }\n\n this._focusNextMember();\n this._adapter.emitHostEvent(CHIP_FIELD_CONSTANTS.events.MEMBER_REMOVED, memberToRemove);\n }\n\n private _onMemberSlotChanged(): void {\n this.floatLabel(this._adapter.fieldHasValue() || this._adapter.inputHasFocus());\n this._adapter.getSlottedMemberElements().forEach(x => x.tabIndex = -1);\n }\n}\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { ChipFieldAdapter } from './chip-field-adapter';\nimport { ChipFieldFoundation } from './chip-field-foundation';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\nimport { ChipComponent } from '../chips';\nimport { FieldComponent, IFieldComponent } from '../field/field';\n\nconst template = '<template><div class=\\\"forge-chip-field__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-chip-field forge-field\\\" part=\\\"container\\\"><slot name=\\\"leading\\\"></slot><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><slot name=\\\"label\\\"></slot><div class=\\\"forge-field__input-container\\\" part=\\\"input-container\\\"><slot name=\\\"member\\\"></slot><slot></slot></div></div><slot name=\\\"trailing\\\"></slot><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-chip-field-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field ::slotted(label){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field ::slotted(label[dir=rtl]),[dir=rtl] .forge-field ::slotted(label){right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) ::slotted(label){display:none}.forge-field--required ::slotted(label)::after{content:none}.forge-field--required ::slotted(label)::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){font-size:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){font-size:1rem}.forge-field--disabled ::slotted(label){color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label){top:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(label){top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) ::slotted(label){left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) ::slotted(label){left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) ::slotted(label){padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded ::slotted(label){padding-right:32px}.forge-field ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled ::slotted(label.forge-floating-label--float-above){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) ::slotted(label.forge-floating-label--float-above){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above){-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe){-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) ::slotted(label.forge-floating-label--unfloat-above-start-keyframe){-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-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));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);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field ::slotted([slot=trailing]){align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=trailing]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=trailing]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=trailing]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=trailing]){margin:0 4px}.forge-field ::slotted([slot=trailing]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-chip-field{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-chip-field-margin-top,0)}.forge-chip-field.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-chip-field .forge-chip-field{display:grid;grid-template-columns:[leading] -webkit-min-content [input] 1fr [trailing] -webkit-min-content [addon-end] -webkit-min-content [end];grid-template-columns:[leading] min-content [input] 1fr [trailing] min-content [addon-end] min-content [end]}.forge-chip-field .forge-chip-field:not(.forge-field--dense):not(.forge-field--roomy){height:auto;min-height:46px;min-height:var(--forge-chip-field-height,46px)}.forge-chip-field .forge-chip-field.forge-field--roomy:not(.forge-field--dense){height:auto;min-height:3.5rem;min-height:var(--forge-chip-field-height,3.5rem)}.forge-chip-field .forge-chip-field.forge-field--dense:not(.forge-field--roomy){height:auto;min-height:1.5rem;min-height:var(--forge-chip-field-height,1.5rem)}.forge-field__label-input-container{grid-column-start:input;grid-column-end:trailing}.forge-field__input-container{-webkit-box-flex:1;flex:1 1 0.0001px;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;flex-wrap:wrap;-webkit-box-align:start;align-items:flex-start;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field__input-container{padding:2px 12px}.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-top:22px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-field__input-container{padding-left:32px}.forge-field--leading:not(.forge-field--shape-rounded) .forge-field__input-container{padding-left:0}.forge-field--shape-rounded.forge-field--leading .forge-field__input-container{padding-left:0}.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--roomy.forge-field--label .forge-field__input-container{padding-bottom:2px}.forge-field--shape-rounded:not(.forge-field--trailing):not(.forge-field--addon-end) .forge-field__input-container{padding-right:32px}.forge-field--addon-end:not(.forge-field--shape-rounded) .forge-field__input-container,.forge-field--trailing:not(.forge-field--shape-rounded) .forge-field__input-container{padding-right:0}.forge-field--shape-rounded.forge-field--addon-end .forge-field__input-container,.forge-field--shape-rounded.forge-field--trailing .forge-field__input-container{padding-right:0}.forge-field ::slotted([slot=member]){display:block}.forge-field--disabled ::slotted([slot=member]){--mdc-theme-primary:rgba(0, 0, 0, 0.38);--mdc-theme-primary:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38));cursor:not-allowed;pointer-events:none}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 8px 2px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=member]){margin:6px 12px 6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){margin:2px 6px 2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:20px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=member]){--forge-chip-min-height:16px}.forge-field ::slotted(input){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0}.forge-field ::slotted(input)::-webkit-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-moz-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::-ms-input-placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input)::placeholder{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field ::slotted(input):invalid{-webkit-box-shadow:none;box-shadow:none}.forge-field ::slotted(input):-webkit-autofill{z-index:auto!important}.forge-field:not(.forge-field--disabled) ::slotted(input){color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled ::slotted(input){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){font-size:1rem;font-size:var(--forge-chip-field-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){font-size:.875rem;font-size:var(--forge-chip-field-font-size, .875rem)}.forge-field ::slotted(input){-webkit-box-flex:1;flex:1 1 0.0001px;min-width:40px;display:block;align-self:flex-start;padding:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){margin:4px 0}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){margin:6px 0}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){margin:2px 0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field--roomy:not(.forge-field--dense) ::slotted(input){height:1.25rem;line-height:1.25rem}.forge-field--dense:not(.forge-field--roomy) ::slotted(input){height:1rem;line-height:1rem}.forge-field ::slotted([slot=leading]){grid-column-start:leading;grid-column-end:input;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=leading]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=leading]){padding-top:0;padding-bottom:0}.forge-field ::slotted([slot=trailing]){grid-column-start:trailing;grid-column-end:addon-end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=trailing]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){margin-top:0;margin-bottom:0}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=trailing]){padding-top:0;padding-bottom:0}.forge-field--addon-end .forge-field__addon-end-container{grid-column-start:addon-end;grid-column-end:end;display:-webkit-box;display:flex;-webkit-box-align:start;align-items:flex-start;align-self:flex-start}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:5px;margin-bottom:5px}.forge-field--roomy:not(.forge-field--dense) ::slotted([slot=addon-end]){margin-top:10px;margin-bottom:10px}.forge-field--dense:not(.forge-field--roomy) ::slotted([slot=addon-end]){margin-top:0;margin-bottom:0}.forge-field ::slotted(forge-icon-button){display:-webkit-inline-box!important;display:inline-flex!important}:host{display:block;contain:layout}:host([hidden]){display:none}';\n\nexport interface IChipFieldComponent extends IFieldComponent { }\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-chip-field': IChipFieldComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-chip-field-member-added': CustomEvent<string>;\n 'forge-chip-field-member-removed': CustomEvent<HTMLElement>;\n }\n}\n\n/**\n * The web component class behind the `<forge-chip-field>` custom element.\n * \n * @tag forge-chip-field\n */\n@CustomElement({\n name: CHIP_FIELD_CONSTANTS.elementName,\n dependencies: [ChipComponent]\n})\nexport class ChipFieldComponent extends FieldComponent<ChipFieldFoundation> implements IChipFieldComponent {\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ChipFieldFoundation(new ChipFieldAdapter(this));\n }\n}\n", "import { IBaseComponentDelegateConfig } from '../core/delegates/base-component-delegate';\nimport { FormFieldComponentDelegate, IFormFieldComponentDelegateOptions } from '../core/delegates/form-field-component-delegate';\nimport { IChipFieldComponent } from './chip-field';\nimport { CHIP_FIELD_CONSTANTS } from './chip-field-constants';\n\nexport type ChipFieldComponentDelegateProps = Partial<IChipFieldComponent>;\nexport interface IChipFieldComponentDelegateOptions extends IFormFieldComponentDelegateOptions {\n id?: string;\n label?: string;\n type?: string;\n value?: string;\n helperText?: string;\n placeholder?: string;\n leadingElement?: HTMLElement;\n trailingElement?: HTMLElement;\n}\nexport interface IChipFieldComponentDelegateConfig extends IBaseComponentDelegateConfig<IChipFieldComponent, IChipFieldComponentDelegateOptions> {}\n\nexport class ChipFieldComponentDelegate extends FormFieldComponentDelegate<IChipFieldComponent, IChipFieldComponentDelegateOptions> {\n private _inputElement: HTMLInputElement;\n private _labelElement: HTMLLabelElement | undefined;\n private _helperTextElement: HTMLSpanElement | undefined;\n\n constructor(config?: IChipFieldComponentDelegateConfig) {\n super(config);\n }\n\n protected _build(): IChipFieldComponent {\n const chipField = document.createElement(CHIP_FIELD_CONSTANTS.elementName);\n\n this._inputElement = this._buildInputElement(chipField);\n\n if (this._config.options?.leadingElement) {\n this._config.options.leadingElement.slot = 'leading';\n chipField.appendChild(this._config.options.leadingElement);\n }\n if (this._config.options?.trailingElement) {\n this._config.options.trailingElement.slot = 'trailing';\n chipField.appendChild(this._config.options.trailingElement);\n }\n\n chipField.appendChild(this._inputElement);\n return chipField;\n }\n\n protected override _configure(): void {\n if (this._config.options?.helperText) {\n this.setHelperText(this._config.options.helperText);\n }\n if (typeof this._config.options?.label === 'string') {\n this._createLabel(this._config.options.label);\n }\n }\n\n public get value(): string {\n return this._inputElement.value;\n }\n public set value(value: string) {\n this._inputElement.value = value;\n }\n\n public get disabled(): boolean {\n return this._inputElement.disabled;\n }\n public set disabled(value: boolean) {\n this._inputElement.disabled = value;\n }\n\n public get invalid(): boolean {\n return this._element.invalid || false;\n }\n public set invalid(value: boolean) {\n this._element.invalid = value;\n }\n\n public get inputElement(): HTMLInputElement {\n return this._inputElement;\n }\n\n public get labelElement(): HTMLLabelElement | undefined {\n return this._labelElement;\n }\n\n public onChange(listener: (value: string) => void): void {\n this._inputElement.addEventListener('input', evt => listener((evt.target as HTMLInputElement).value));\n }\n\n public onFocus(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('focus', evt => listener(evt));\n }\n\n public onBlur(listener: (evt: Event) => void): void {\n this._inputElement.addEventListener('blur', evt => listener(evt));\n }\n\n public setLabel(text: string | null): void {\n if (text) {\n if (this._labelElement) {\n this._labelElement.textContent = text;\n } else {\n this._createLabel(text);\n }\n } else if (this._labelElement) {\n this._element.removeChild(this._labelElement);\n this._labelElement = undefined;\n }\n }\n\n public setHelperText(text: string | null): void {\n if (text) {\n if (!this._helperTextElement) {\n this._helperTextElement = document.createElement('span');\n this._helperTextElement.slot = 'helper-text';\n this._element.appendChild(this._helperTextElement);\n }\n this._helperTextElement.textContent = text;\n } else if (this._helperTextElement) {\n this._element.removeChild(this._helperTextElement);\n this._helperTextElement = undefined;\n }\n }\n\n public floatLabel(value: boolean): void {\n this._element.floatLabel(value);\n }\n\n private _createLabel(text: string): void {\n this._labelElement = document.createElement('label');\n this._labelElement.textContent = text;\n if (this._config.options?.id) {\n this._labelElement.setAttribute('for', this._config.options.id);\n }\n this._element.appendChild(this._labelElement);\n }\n\n private _buildInputElement(chipField: IChipFieldComponent): HTMLInputElement {\n const inputElement = document.createElement('input');\n inputElement.type = this._config.options?.type || 'text';\n\n if (this._config.options?.value !== undefined) {\n inputElement.value = this._config.options.value;\n }\n if (this._config.options?.id) {\n inputElement.id = this._config.options.id;\n }\n if (typeof this._config.options?.placeholder === 'string') {\n inputElement.placeholder = this._config.options?.placeholder;\n }\n\n chipField.appendChild(inputElement);\n return inputElement;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ChipFieldComponent } from './chip-field';\n\nexport * from './chip-field-adapter';\nexport * from './chip-field-component-delegate';\nexport * from './chip-field-constants';\nexport * from './chip-field-foundation';\nexport * from './chip-field';\n\nexport function defineChipFieldComponent(): void {\n defineCustomElement(ChipFieldComponent);\n}\n"],
|
|
5
|
-
"mappings": "2TAEA,GAAM,GAA2C,GAAG,cAE9C,EAAU,CACd,KAAM,kBACR,EAEM,EAAQ,CACZ,MAAO,QACP,YAAa,cACb,OAAQ,QACV,EAEM,EAAY,CAChB,KAAM,IAAI,EAAQ,OAClB,gBAAiB,gCACjB,MAAO,QACP,MAAO,SAAS,EAAM,SACtB,YAAa,SAAS,EAAM,eAC5B,OAAQ,SAAS,EAAM,UACvB,WAAY,aAAa,EAAM,SAC/B,YAAa,aAAa,EAAM,SAClC,EAEM,EAAS,CACb,aAAc,GAAG,iBACjB,eAAgB,GAAG,kBACrB,EAEa,EAAuB,CAClC,cACA,UACA,QACA,YACA,QACF,ECZO,GAAM,GAAN,aAA+B,EAA0C,CAI9E,YAAY,EAAgC,CAC1C,MAAM,CAAS,CACjB,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EAAqB,UAAU,IAAI,EACpD,KAAK,YAAc,EAAiB,KAAK,WAAY,EAAqB,UAAU,WAAW,EAC/F,KAAK,uBAAyB,EAAiB,KAAK,WAAY,EAAqB,UAAU,eAAe,CAChH,CAEA,AAAO,gBAAgB,EAAc,EAAwC,CAC3E,KAAK,aAAa,iBAAiB,EAAM,CAAQ,CACnD,CAEA,AAAO,mBAAmB,EAAc,EAAwC,CAC9E,KAAK,aAAa,oBAAoB,EAAM,CAAQ,CACtD,CAEA,AAAO,sBAAsB,EAAsC,CACjE,KAAK,YAAY,iBAAiB,aAAc,CAAQ,CAC1D,CAEA,AAAO,yBAAyB,EAAsC,CACpE,AAAI,KAAK,aACP,KAAK,YAAY,oBAAoB,aAAc,CAAQ,CAE/D,CAEA,AAAO,0BAA0B,EAAc,EAAwC,CACrF,KAAK,uBAAuB,iBAAiB,EAAM,CAAQ,CAC7D,CAEA,AAAO,6BAA6B,EAAc,EAAwC,CACxF,KAAK,uBAAuB,oBAAoB,EAAM,CAAQ,CAChE,CAEA,AAAgB,eAAyB,CAEvC,MAAO,AADe,CAAC,CAAC,KAAK,WAAW,cAAc,EAAqB,UAAU,MAAM,GACnE,MAAM,cAAc,CAC9C,CAEA,AAAO,YAAmB,CACxB,AAAI,CAAC,KAAK,eAIV,KAAK,cAAc,MAAM,CAC3B,CAEA,AAAO,0BAAoD,CACzD,MAAO,MAAK,WAAW,iBAA8B,EAAqB,UAAU,MAAM,CAC5F,CACF,ECzEO,GAAM,GAAN,aAAkC,EAAgD,CAMvF,YAAsB,EAA6B,CACjD,MAAM,CAAQ,EADM,gBAEpB,KAAK,oBAAsB,IAAM,KAAK,qBAAqB,EAC3D,KAAK,iCAAmC,GAAO,KAAK,2BAA2B,CAAG,EAClF,KAAK,mBAAqB,GAAO,KAAK,eAAe,CAAG,EACxD,KAAK,eAAiB,GAAO,KAAK,WAAW,CAAG,CAClD,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,KAAK,SAAS,sBAAsB,KAAK,mBAAmB,EAC5D,KAAK,SAAS,0BAA0B,YAAa,KAAK,gCAAgC,EAC1F,KAAK,SAAS,gBAAgB,UAAW,KAAK,kBAAkB,EAChE,KAAK,SAAS,iBAAiB,UAAW,KAAK,cAAc,CAC/D,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,KAAK,SAAS,yBAAyB,KAAK,mBAAmB,EAC/D,KAAK,SAAS,6BAA6B,YAAa,KAAK,gCAAgC,EAC7F,KAAK,SAAS,mBAAmB,UAAW,KAAK,kBAAkB,EACnE,KAAK,SAAS,oBAAoB,UAAW,KAAK,cAAc,CAClE,CAEA,AAAQ,2BAA2B,EAAuB,CACxD,EAAI,eAAe,EACnB,KAAK,SAAS,WAAW,CAC3B,CAEA,AAAU,QAAQ,EAAoB,CACpC,GAAM,GAAQ,EAAM,OACpB,EAAM,MAAQ,GACd,MAAM,QAAQ,CAAK,CACrB,CAEA,AAAQ,eAAe,EAA4B,CACjD,GAAI,MAAK,SAAS,cAAc,EAIhC,OAAQ,EAAM,SACP,YACA,aACH,KAAK,iBAAiB,EACtB,UACG,WACA,YACH,KAAK,qBAAqB,EAC1B,UACG,gBACA,aACA,MACH,KAAK,cAAc,EACnB,cAEA,MAEN,CAEA,AAAQ,WAAW,EAA4B,CAC7C,GAAM,GAAQ,EAAM,OACpB,OAAQ,EAAM,SACP,QACH,KAAK,WAAW,CAAK,EACrB,UACG,UACA,aACA,MACH,EAAM,MAAQ,GACd,cAEA,MAEN,CAEA,AAAQ,kBAAyB,CAC/B,GAAM,GAAU,KAAK,SAAS,yBAAyB,EACvD,GAAI,IAAQ,OAAS,GAAK,KAAK,SAAS,cAAc,GAItD,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,GAAM,GAAS,EAAQ,KAAK,CAAC,EACvB,EAAa,EAAQ,KAAK,EAAI,CAAC,EAErC,GAAI,KAAK,gBAAgB,CAAM,EAC7B,GAAI,EAAY,CACd,EAAW,MAAM,EACjB,KACF,KACE,MAAK,SAAS,WAAW,CAG/B,CACF,CAEA,AAAQ,sBAA6B,CACnC,GAAM,GAAU,KAAK,SAAS,yBAAyB,EACvD,GAAI,IAAQ,OAAS,GAIrB,IAAI,KAAK,SAAS,cAAc,EAAG,CACjC,EAAQ,EAAQ,OAAS,GAAG,MAAM,EAClC,MACF,CAEA,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,GAAM,GAAiB,EAAQ,KAAK,EAAI,CAAC,EACnC,EAAS,EAAQ,KAAK,CAAC,EAE7B,GAAI,KAAK,gBAAgB,CAAM,GAAK,EAAgB,CAClD,EAAe,MAAM,EACrB,KACF,CACF,EACF,CAEA,AAAQ,gBAAgB,EAA2B,CACjD,MAAO,GAAiB,IAAM,GAAO,EAAI,aAAa,SAAS,CACjE,CAEA,AAAQ,kBAAuC,CAC7C,GAAM,GAAU,KAAK,SAAS,yBAAyB,EAEvD,OAAS,GAAI,EAAG,EAAI,EAAQ,OAAQ,IAAK,CACvC,GAAM,GAAS,EAAQ,KAAK,CAAC,EAC7B,GAAI,KAAK,gBAAgB,CAAM,EAC7B,MAAO,EAEX,CAEA,MAAO,KACT,CAEA,AAAQ,WAAW,EAA+B,CAChD,GAAM,GAAkB,EAAM,MAAM,KAAK,EACzC,AAAI,GAAmB,EAAgB,OAAS,GAC9C,KAAK,SAAS,cAAc,EAAqB,OAAO,aAAc,CAAe,EAGvF,EAAM,MAAQ,EAChB,CAEA,AAAQ,eAAsB,CAC5B,GAAI,GAAiB,KAAK,iBAAiB,EAC3C,GAAI,CAAC,EAAgB,CACnB,GAAM,GAAU,KAAK,SAAS,yBAAyB,EACvD,EAAiB,EAAQ,KAAK,EAAQ,OAAS,CAAC,CAClD,CAEA,AAAI,CAAC,GAIL,MAAK,iBAAiB,EACtB,KAAK,SAAS,cAAc,EAAqB,OAAO,eAAgB,CAAc,EACxF,CAEA,AAAQ,sBAA6B,CACnC,KAAK,WAAW,KAAK,SAAS,cAAc,GAAK,KAAK,SAAS,cAAc,CAAC,EAC9E,KAAK,SAAS,yBAAyB,EAAE,QAAQ,GAAK,EAAE,SAAW,EAAE,CACvE,CACF,ECzKA,GAAM,GAAW,ojBACX,EAAS,2oqBAwBF,EAAN,aAAiC,EAAmE,CACzG,aAAc,CACZ,MAAM,EACN,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,YAAc,GAAI,GAAoB,GAAI,GAAiB,IAAI,CAAC,CACvE,CACF,EANa,EAAN,GAJP,AAAC,EAAc,CACb,KAAM,EAAqB,YAC3B,aAAc,CAAC,CAAa,CAC9B,CAAC,GACY,GCdN,GAAM,GAAN,aAAyC,EAAoF,CAKlI,YAAY,EAA4C,CACtD,MAAM,CAAM,CACd,CAEA,AAAU,QAA8B,CA3B1C,QA4BI,GAAM,GAAY,SAAS,cAAc,EAAqB,WAAW,EAEzE,YAAK,cAAgB,KAAK,mBAAmB,CAAS,EAElD,QAAK,QAAQ,UAAb,QAAsB,gBACxB,MAAK,QAAQ,QAAQ,eAAe,KAAO,UAC3C,EAAU,YAAY,KAAK,QAAQ,QAAQ,cAAc,GAEvD,QAAK,QAAQ,UAAb,QAAsB,iBACxB,MAAK,QAAQ,QAAQ,gBAAgB,KAAO,WAC5C,EAAU,YAAY,KAAK,QAAQ,QAAQ,eAAe,GAG5D,EAAU,YAAY,KAAK,aAAa,EACjC,CACT,CAEA,AAAmB,YAAmB,CA7CxC,QA8CI,AAAI,QAAK,QAAQ,UAAb,QAAsB,YACxB,KAAK,cAAc,KAAK,QAAQ,QAAQ,UAAU,EAEhD,MAAO,SAAK,QAAQ,UAAb,cAAsB,QAAU,UACzC,KAAK,aAAa,KAAK,QAAQ,QAAQ,KAAK,CAEhD,CAEA,GAAW,QAAgB,CACzB,MAAO,MAAK,cAAc,KAC5B,CACA,GAAW,OAAM,EAAe,CAC9B,KAAK,cAAc,MAAQ,CAC7B,CAEA,GAAW,WAAoB,CAC7B,MAAO,MAAK,cAAc,QAC5B,CACA,GAAW,UAAS,EAAgB,CAClC,KAAK,cAAc,SAAW,CAChC,CAEA,GAAW,UAAmB,CAC5B,MAAO,MAAK,SAAS,SAAW,EAClC,CACA,GAAW,SAAQ,EAAgB,CACjC,KAAK,SAAS,QAAU,CAC1B,CAEA,GAAW,eAAiC,CAC1C,MAAO,MAAK,aACd,CAEA,GAAW,eAA6C,CACtD,MAAO,MAAK,aACd,CAEA,AAAO,SAAS,EAAyC,CACvD,KAAK,cAAc,iBAAiB,QAAS,GAAO,EAAU,EAAI,OAA4B,KAAK,CAAC,CACtG,CAEA,AAAO,QAAQ,EAAsC,CACnD,KAAK,cAAc,iBAAiB,QAAS,GAAO,EAAS,CAAG,CAAC,CACnE,CAEA,AAAO,OAAO,EAAsC,CAClD,KAAK,cAAc,iBAAiB,OAAQ,GAAO,EAAS,CAAG,CAAC,CAClE,CAEA,AAAO,SAAS,EAA2B,CACzC,AAAI,EACF,AAAI,KAAK,cACP,KAAK,cAAc,YAAc,EAEjC,KAAK,aAAa,CAAI,EAEf,KAAK,eACd,MAAK,SAAS,YAAY,KAAK,aAAa,EAC5C,KAAK,cAAgB,OAEzB,CAEA,AAAO,cAAc,EAA2B,CAC9C,AAAI,EACG,MAAK,oBACR,MAAK,mBAAqB,SAAS,cAAc,MAAM,EACvD,KAAK,mBAAmB,KAAO,cAC/B,KAAK,SAAS,YAAY,KAAK,kBAAkB,GAEnD,KAAK,mBAAmB,YAAc,GAC7B,KAAK,oBACd,MAAK,SAAS,YAAY,KAAK,kBAAkB,EACjD,KAAK,mBAAqB,OAE9B,CAEA,AAAO,WAAW,EAAsB,CACtC,KAAK,SAAS,WAAW,CAAK,CAChC,CAEA,AAAQ,aAAa,EAAoB,CA9H3C,MA+HI,KAAK,cAAgB,SAAS,cAAc,OAAO,EACnD,KAAK,cAAc,YAAc,EAC7B,QAAK,QAAQ,UAAb,QAAsB,IACxB,KAAK,cAAc,aAAa,MAAO,KAAK,QAAQ,QAAQ,EAAE,EAEhE,KAAK,SAAS,YAAY,KAAK,aAAa,CAC9C,CAEA,AAAQ,mBAAmB,EAAkD,CAvI/E,cAwII,GAAM,GAAe,SAAS,cAAc,OAAO,EACnD,SAAa,KAAO,SAAK,QAAQ,UAAb,cAAsB,OAAQ,OAE9C,SAAK,QAAQ,UAAb,cAAsB,SAAU,QAClC,GAAa,MAAQ,KAAK,QAAQ,QAAQ,OAExC,QAAK,QAAQ,UAAb,QAAsB,IACxB,GAAa,GAAK,KAAK,QAAQ,QAAQ,IAErC,MAAO,SAAK,QAAQ,UAAb,cAAsB,cAAgB,UAC/C,GAAa,YAAc,QAAK,QAAQ,UAAb,cAAsB,aAGnD,EAAU,YAAY,CAAY,EAC3B,CACT,CACF,EC9IO,aAA0C,CAC/C,EAAoB,CAAkB,CACxC",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
-
* License: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import{a as n,b as a}from"./chunk.OOW3UKT4.js";import{a as i,l as s}from"./chunk.MMVZJLXE.js";import{f as r}from"./chunk.MCIQXNKY.js";var m=`${a}option-group`,p={LABEL:"label"},e={elementName:m,attributes:p};var t=class extends s{constructor(){super()}static get observedAttributes(){return[e.attributes.LABEL]}attributeChangedCallback(o,c,l){switch(o){case e.attributes.LABEL:this.label=l;break}}get label(){return this._label}set label(o){this._label!==o&&(this._label=o||"",this.setAttribute(e.attributes.LABEL,this._label))}};t=r([n({name:e.elementName})],t);function L(){i(t)}export{e as a,t as b,L as c};
|
|
7
|
-
//# sourceMappingURL=chunk.GEMZPO6Z.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/select/option-group/option-group-constants.ts", "../../src/select/option-group/option-group.ts", "../../src/select/option-group/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}option-group`;\n\nconst attributes = {\n LABEL: 'label'\n};\n\nexport const OPTION_GROUP_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { CustomElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { OPTION_GROUP_CONSTANTS } from './option-group-constants';\n\nexport interface IOptionGroupComponent extends IBaseComponent {\n label: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-option-group': IOptionGroupComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-option-group>` element.\n * \n * @tag forge-option-group\n */\n@CustomElement({\n name: OPTION_GROUP_CONSTANTS.elementName\n})\nexport class OptionGroupComponent extends BaseComponent implements IOptionGroupComponent {\n public static get observedAttributes(): string[] {\n return [\n OPTION_GROUP_CONSTANTS.attributes.LABEL\n ];\n }\n\n private _label: string;\n\n constructor() {\n super();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case OPTION_GROUP_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n }\n }\n\n /** Gets/sets the label of this option group. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value || '';\n this.setAttribute(OPTION_GROUP_CONSTANTS.attributes.LABEL, this._label);\n }\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { OptionGroupComponent } from './option-group';\n\nexport * from './option-group-constants';\nexport * from './option-group';\n\nexport function defineOptionGroupComponent(): void {\n defineCustomElement(OptionGroupComponent);\n}\n"],
|
|
5
|
-
"mappings": "sIAEA,GAAM,GAA2C,GAAG,gBAE9C,EAAa,CACjB,MAAO,OACT,EAEa,EAAyB,CACpC,cACA,YACF,ECWO,GAAM,GAAN,aAAmC,EAA+C,CASvF,aAAc,CACZ,MAAM,CACR,CAVA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAuB,WAAW,KACpC,CACF,CAQA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAAuB,WAAW,MACrC,KAAK,MAAQ,EACb,MAEN,CAGA,GAAW,QAAgB,CACzB,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAe,CAC9B,AAAI,KAAK,SAAW,GAClB,MAAK,OAAS,GAAS,GACvB,KAAK,aAAa,EAAuB,WAAW,MAAO,KAAK,MAAM,EAE1E,CACF,EA/Ba,EAAN,GAHP,AAAC,EAAc,CACb,KAAM,EAAuB,WAC/B,CAAC,GACY,GCfN,YAA4C,CACjD,EAAoB,CAAoB,CAC1C",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|