@tylertech/forge 2.13.0 → 2.13.2
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/README.md +14 -3
- package/custom-elements.json +99 -2
- package/dist/busy-indicator/forge-busy-indicator.css +1 -1
- package/dist/button/forge-button.css +1 -1
- package/dist/dialog/forge-dialog-utils.css +1 -1
- package/dist/dialog/forge-dialog.css +1 -1
- package/dist/esm/accordion/index.js +2 -2
- package/dist/esm/app-bar/help-button/index.js +2 -2
- package/dist/esm/app-bar/index.js +2 -2
- package/dist/esm/app-bar/menu-button/index.js +2 -2
- package/dist/esm/app-bar/notification-button/index.js +2 -2
- package/dist/esm/app-bar/profile-button/index.js +2 -2
- package/dist/esm/app-bar/search/index.js +2 -2
- package/dist/esm/autocomplete/index.js +2 -2
- package/dist/esm/avatar/index.js +2 -2
- package/dist/esm/backdrop/index.js +2 -2
- package/dist/esm/badge/index.js +2 -2
- package/dist/esm/banner/index.js +2 -2
- package/dist/esm/bottom-sheet/index.js +2 -2
- package/dist/esm/busy-indicator/index.js +2 -2
- package/dist/esm/button/index.js +2 -2
- package/dist/esm/button-toggle/button-toggle/index.js +2 -2
- package/dist/esm/button-toggle/button-toggle-group/index.js +2 -2
- package/dist/esm/button-toggle/index.js +2 -2
- package/dist/esm/calendar/calendar-dropdown/index.js +2 -2
- package/dist/esm/calendar/calendar-menu/index.js +2 -2
- package/dist/esm/calendar/core/index.js +1 -1
- package/dist/esm/calendar/index.js +2 -2
- package/dist/esm/card/index.js +2 -2
- package/dist/esm/checkbox/index.js +2 -2
- package/dist/esm/chip-field/index.js +2 -2
- package/dist/esm/chips/chip/index.js +2 -2
- package/dist/esm/chips/chip-set/index.js +2 -2
- package/dist/esm/chips/index.js +2 -2
- package/dist/esm/chunks/chunk.24D46RLZ.js +1 -1
- package/dist/esm/chunks/chunk.2CEW64ZM.js +7 -0
- package/dist/esm/chunks/{chunk.MNBJMPJ6.js.map → chunk.2CEW64ZM.js.map} +2 -2
- package/dist/esm/chunks/chunk.2GY2VPJG.js +1 -1
- package/dist/esm/chunks/chunk.2LHBE2QZ.js +7 -0
- package/dist/esm/chunks/{chunk.YHHIPP2F.js.map → chunk.2LHBE2QZ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.2ZQ3ZDPN.js} +3 -3
- package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.2ZQ3ZDPN.js.map} +0 -0
- package/dist/esm/chunks/chunk.36VS7FMU.js +7 -0
- package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.36VS7FMU.js.map} +2 -2
- package/dist/esm/chunks/chunk.3L7T5WYL.js +7 -0
- package/dist/esm/chunks/{chunk.BCUBTR5O.js.map → chunk.3L7T5WYL.js.map} +1 -1
- package/dist/esm/chunks/chunk.3MP6OFVU.js +7 -0
- package/dist/esm/chunks/{chunk.KYCC3C3M.js.map → chunk.3MP6OFVU.js.map} +3 -3
- package/dist/esm/chunks/chunk.3STDLL5U.js +7 -0
- package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.3STDLL5U.js.map} +2 -2
- package/dist/esm/chunks/{chunk.PZTAIVJW.js → chunk.4K3IV4GI.js} +3 -3
- package/dist/esm/chunks/{chunk.PZTAIVJW.js.map → chunk.4K3IV4GI.js.map} +2 -2
- package/dist/esm/chunks/chunk.55BOUOT6.js +7 -0
- package/dist/esm/chunks/{chunk.QJPH24V4.js.map → chunk.55BOUOT6.js.map} +2 -2
- package/dist/esm/chunks/chunk.5BDTX7CR.js +7 -0
- package/dist/esm/chunks/chunk.5BDTX7CR.js.map +7 -0
- package/dist/esm/chunks/chunk.5EQPGUZH.js +7 -0
- package/dist/esm/chunks/{chunk.MGTNCCW3.js.map → chunk.5EQPGUZH.js.map} +1 -1
- package/dist/esm/chunks/{chunk.A23NSEWA.js → chunk.5PXABBKU.js} +3 -3
- package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
- package/dist/esm/chunks/chunk.5TVWDATE.js +7 -0
- package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5TVWDATE.js.map} +1 -1
- package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
- package/dist/esm/chunks/chunk.6LXDG4W5.js +7 -0
- package/dist/esm/chunks/{chunk.Y7Q6QI5V.js.map → chunk.6LXDG4W5.js.map} +2 -2
- package/dist/esm/chunks/chunk.7MVBJ37L.js +7 -0
- package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.7MVBJ37L.js.map} +2 -2
- package/dist/esm/chunks/{chunk.QEHJJKFZ.js → chunk.7R6TYPPS.js} +3 -3
- package/dist/esm/chunks/{chunk.QEHJJKFZ.js.map → chunk.7R6TYPPS.js.map} +2 -2
- package/dist/esm/chunks/chunk.7TDB3VFH.js +7 -0
- package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.7TDB3VFH.js.map} +2 -2
- package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
- package/dist/esm/chunks/chunk.ALJ3FDXL.js +7 -0
- package/dist/esm/chunks/{chunk.BX7242PC.js.map → chunk.ALJ3FDXL.js.map} +2 -2
- package/dist/esm/chunks/chunk.AMFXGOSA.js +1 -1
- package/dist/esm/chunks/chunk.AWCBH5KW.js +1 -1
- package/dist/esm/chunks/chunk.B3IJU6XJ.js +1 -1
- package/dist/esm/chunks/chunk.B52LJRGH.js +29 -0
- package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.B52LJRGH.js.map} +2 -2
- package/dist/esm/chunks/chunk.BCD4AAI2.js +7 -0
- package/dist/esm/chunks/chunk.BCD4AAI2.js.map +7 -0
- package/dist/esm/chunks/chunk.BCP2YATB.js +7 -0
- package/dist/esm/chunks/{chunk.J6CIWTDH.js.map → chunk.BCP2YATB.js.map} +2 -2
- package/dist/esm/chunks/chunk.BMFJLHDR.js +7 -0
- package/dist/esm/chunks/{chunk.54QFNVMG.js.map → chunk.BMFJLHDR.js.map} +1 -1
- package/dist/esm/chunks/chunk.BTI5I25G.js +12 -0
- package/dist/esm/chunks/{chunk.ON3JVSSR.js.map → chunk.BTI5I25G.js.map} +0 -0
- package/dist/esm/chunks/chunk.BYRJ7577.js +7 -0
- package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.BYRJ7577.js.map} +0 -0
- package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
- package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
- package/dist/esm/chunks/chunk.DB2WESQC.js +7 -0
- package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.DB2WESQC.js.map} +2 -2
- package/dist/esm/chunks/chunk.DLAIQJHL.js +7 -0
- package/dist/esm/chunks/{chunk.JNOCXQVB.js.map → chunk.DLAIQJHL.js.map} +2 -2
- package/dist/esm/chunks/chunk.DRXMITOO.js +29 -0
- package/dist/esm/chunks/{chunk.K753A3KI.js.map → chunk.DRXMITOO.js.map} +2 -2
- package/dist/esm/chunks/chunk.DURRORXO.js +29 -0
- package/dist/esm/chunks/{chunk.HUWXZ4ZN.js.map → chunk.DURRORXO.js.map} +1 -1
- package/dist/esm/chunks/chunk.E37HEAJ5.js +1 -1
- package/dist/esm/chunks/chunk.E43TT4RI.js +1 -1
- package/dist/esm/chunks/chunk.E4NCI7MS.js +1 -1
- package/dist/esm/chunks/chunk.EC6JSIQW.js +1 -1
- package/dist/esm/chunks/chunk.EDU7RQD7.js +7 -0
- package/dist/esm/chunks/{chunk.NGIBMR3Q.js.map → chunk.EDU7RQD7.js.map} +2 -2
- package/dist/esm/chunks/chunk.ETIN6DEM.js +7 -0
- package/dist/esm/chunks/{chunk.RST65QIB.js.map → chunk.ETIN6DEM.js.map} +2 -2
- package/dist/esm/chunks/chunk.F2GXZPID.js +7 -0
- package/dist/esm/chunks/chunk.F2GXZPID.js.map +7 -0
- package/dist/esm/chunks/{chunk.YPUWII7L.js → chunk.F3Q62EMG.js} +3 -3
- package/dist/esm/chunks/chunk.F3Q62EMG.js.map +7 -0
- package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
- package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
- package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
- package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
- package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
- package/dist/esm/chunks/chunk.GEMZPO6Z.js +7 -0
- package/dist/esm/chunks/{chunk.B5ABD4CZ.js.map → chunk.GEMZPO6Z.js.map} +1 -1
- package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
- package/dist/esm/chunks/chunk.GXUYYBVO.js +29 -0
- package/dist/esm/chunks/{chunk.T7ZJDAXV.js.map → chunk.GXUYYBVO.js.map} +1 -1
- package/dist/esm/chunks/chunk.HHJJJ73Y.js +29 -0
- package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.HHJJJ73Y.js.map} +1 -1
- package/dist/esm/chunks/chunk.HPJ4AQIE.js +7 -0
- package/dist/esm/chunks/chunk.HPJ4AQIE.js.map +7 -0
- package/dist/esm/chunks/chunk.HWQEGQDD.js +7 -0
- package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.HWQEGQDD.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
- package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
- package/dist/esm/chunks/chunk.HYMB3XDK.js +9 -0
- package/dist/esm/chunks/chunk.HYMB3XDK.js.map +7 -0
- package/dist/esm/chunks/{chunk.IMK2LFWR.js → chunk.IARIRFXO.js} +3 -3
- package/dist/esm/chunks/chunk.IARIRFXO.js.map +7 -0
- package/dist/esm/chunks/chunk.IMZ5PF4C.js +7 -0
- package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.IMZ5PF4C.js.map} +2 -2
- package/dist/esm/chunks/chunk.JMXJXZTS.js +7 -0
- package/dist/esm/chunks/{chunk.BOENNFXE.js.map → chunk.JMXJXZTS.js.map} +1 -1
- package/dist/esm/chunks/chunk.JXY6MTP3.js +7 -0
- package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.JXY6MTP3.js.map} +2 -2
- package/dist/esm/chunks/chunk.KBMLP7UT.js +7 -0
- package/dist/esm/chunks/{chunk.OUEF6VQ6.js.map → chunk.KBMLP7UT.js.map} +2 -2
- package/dist/esm/chunks/chunk.L54GENPD.js +7 -0
- package/dist/esm/chunks/{chunk.5WMEFHVN.js.map → chunk.L54GENPD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.DGDT4UQT.js → chunk.LGEYSCS2.js} +3 -3
- package/dist/esm/chunks/{chunk.DGDT4UQT.js.map → chunk.LGEYSCS2.js.map} +2 -2
- package/dist/esm/chunks/chunk.LZHDRATV.js +7 -0
- package/dist/esm/chunks/{chunk.IJIKFXUT.js.map → chunk.LZHDRATV.js.map} +2 -2
- package/dist/esm/chunks/chunk.LZMYHIO2.js +1 -1
- package/dist/esm/chunks/{chunk.JB2N65SR.js → chunk.M4KJNCLO.js} +3 -3
- package/dist/esm/chunks/{chunk.JB2N65SR.js.map → chunk.M4KJNCLO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.QOZLQPKE.js → chunk.MBS5VMYY.js} +3 -3
- package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.MBS5VMYY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.F2TKPPK7.js → chunk.MBWEYW6M.js} +3 -3
- package/dist/esm/chunks/{chunk.F2TKPPK7.js.map → chunk.MBWEYW6M.js.map} +2 -2
- package/dist/esm/chunks/chunk.MCIQXNKY.js +1 -1
- package/dist/esm/chunks/chunk.MHEJZJT3.js +1 -1
- package/dist/esm/chunks/chunk.MIYZJUXH.js +1 -1
- package/dist/esm/chunks/chunk.MMVZJLXE.js +7 -0
- package/dist/esm/chunks/{chunk.HN4PXH3D.js.map → chunk.MMVZJLXE.js.map} +3 -3
- package/dist/esm/chunks/chunk.MNFGVNDI.js +1 -1
- package/dist/esm/chunks/{chunk.VLTJFKGZ.js → chunk.MNPORZ4F.js} +3 -3
- package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
- package/dist/esm/chunks/chunk.MWD47ZZU.js +7 -0
- package/dist/esm/chunks/{chunk.CV5E5W6I.js.map → chunk.MWD47ZZU.js.map} +2 -2
- package/dist/esm/chunks/chunk.MYNPY3AQ.js +7 -0
- package/dist/esm/chunks/{chunk.VMWS5OOZ.js.map → chunk.MYNPY3AQ.js.map} +1 -1
- package/dist/esm/chunks/chunk.N24NHF7Y.js +7 -0
- package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.N24NHF7Y.js.map} +2 -2
- package/dist/esm/chunks/chunk.N46G56GG.js +7 -0
- package/dist/esm/chunks/{chunk.RGWUF3J2.js.map → chunk.N46G56GG.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6SGRP4FO.js → chunk.NV2HNCQH.js} +3 -3
- package/dist/esm/chunks/{chunk.6SGRP4FO.js.map → chunk.NV2HNCQH.js.map} +0 -0
- package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
- package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
- package/dist/esm/chunks/chunk.O2R6MBT5.js +7 -0
- package/dist/esm/chunks/chunk.O2R6MBT5.js.map +7 -0
- package/dist/esm/chunks/chunk.O5I3ZMDA.js +7 -0
- package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.O5I3ZMDA.js.map} +0 -0
- package/dist/esm/chunks/{chunk.WIUER75G.js → chunk.OJFI5I6O.js} +3 -3
- package/dist/esm/chunks/{chunk.WIUER75G.js.map → chunk.OJFI5I6O.js.map} +2 -2
- package/dist/esm/chunks/chunk.OLNFXF3V.js +7 -0
- package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.OLNFXF3V.js.map} +2 -2
- package/dist/esm/chunks/chunk.ON6FJ2D6.js +7 -0
- package/dist/esm/chunks/{chunk.XXA6KNXT.js.map → chunk.ON6FJ2D6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
- package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
- package/dist/esm/chunks/chunk.ORF746AF.js +7 -0
- package/dist/esm/chunks/{chunk.RPPBBBYG.js.map → chunk.ORF746AF.js.map} +2 -2
- package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.PBJEZJTY.js} +3 -3
- package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.PBJEZJTY.js.map} +0 -0
- package/dist/esm/chunks/chunk.PCSCKTFS.js +7 -0
- package/dist/esm/chunks/chunk.PCSCKTFS.js.map +7 -0
- package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
- package/dist/esm/chunks/chunk.Q3RRONZQ.js +7 -0
- package/dist/esm/chunks/{chunk.Q6L7T6OJ.js.map → chunk.Q3RRONZQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.QH4DLM3R.js +7 -0
- package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.QH4DLM3R.js.map} +2 -2
- package/dist/esm/chunks/chunk.QIJHHDYF.js +7 -0
- package/dist/esm/chunks/chunk.QIJHHDYF.js.map +7 -0
- package/dist/esm/chunks/chunk.QMRLSOAB.js +7 -0
- package/dist/esm/chunks/chunk.QMRLSOAB.js.map +7 -0
- package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
- package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
- package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
- package/dist/esm/chunks/chunk.S76NW5JY.js +7 -0
- package/dist/esm/chunks/{chunk.EJ4ASQET.js.map → chunk.S76NW5JY.js.map} +2 -2
- package/dist/esm/chunks/chunk.SKLCDWYQ.js +1 -1
- package/dist/esm/chunks/chunk.SLSVRMAS.js +7 -0
- package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.SLSVRMAS.js.map} +2 -2
- package/dist/esm/chunks/chunk.STS5TIUV.js +1 -1
- package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
- package/dist/esm/chunks/chunk.TCAOLSLI.js +7 -0
- package/dist/esm/chunks/{chunk.35U4OX7S.js.map → chunk.TCAOLSLI.js.map} +2 -2
- package/dist/esm/chunks/chunk.TLCGGWBO.js +1 -1
- package/dist/esm/chunks/chunk.TLS4ALGU.js +7 -0
- package/dist/esm/chunks/{chunk.DQBSFX46.js.map → chunk.TLS4ALGU.js.map} +2 -2
- package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
- package/dist/esm/chunks/chunk.UOWU5VVK.js +7 -0
- package/dist/esm/chunks/{chunk.3UMBCR4P.js.map → chunk.UOWU5VVK.js.map} +2 -2
- package/dist/esm/chunks/chunk.UUX4QJ4D.js +1 -1
- package/dist/esm/chunks/chunk.V55E5JD5.js +7 -0
- package/dist/esm/chunks/{chunk.444GNOS4.js.map → chunk.V55E5JD5.js.map} +2 -2
- package/dist/esm/chunks/chunk.VHKQHMK3.js +7 -0
- package/dist/esm/chunks/{chunk.33Q5FK2H.js.map → chunk.VHKQHMK3.js.map} +2 -2
- package/dist/esm/chunks/chunk.VW4JVRH7.js +7 -0
- package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.VW4JVRH7.js.map} +0 -0
- package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.WEUNLYMQ.js} +3 -3
- package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.WEUNLYMQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.WF2MFLG4.js +1 -1
- package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
- package/dist/esm/chunks/{chunk.6XXKSGW5.js → chunk.WOHCW6KW.js} +3 -3
- package/dist/esm/chunks/{chunk.6XXKSGW5.js.map → chunk.WOHCW6KW.js.map} +2 -2
- package/dist/esm/chunks/chunk.WU24GAQY.js +7 -0
- package/dist/esm/chunks/{chunk.BFNAQQCU.js.map → chunk.WU24GAQY.js.map} +2 -2
- package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
- package/dist/esm/chunks/chunk.X5JLUP7O.js +7 -0
- package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.X5JLUP7O.js.map} +2 -2
- package/dist/esm/chunks/chunk.XSZ4S77A.js +7 -0
- package/dist/esm/chunks/{chunk.7NXPOEXV.js.map → chunk.XSZ4S77A.js.map} +2 -2
- package/dist/esm/chunks/chunk.Y4L7AVUS.js +7 -0
- package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.Y4L7AVUS.js.map} +2 -2
- package/dist/esm/chunks/chunk.Y5GQ2BA7.js +29 -0
- package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.Y5GQ2BA7.js.map} +2 -2
- package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
- package/dist/esm/chunks/{chunk.HSJQA42U.js → chunk.YG2KLPHA.js} +3 -3
- package/dist/esm/chunks/{chunk.HSJQA42U.js.map → chunk.YG2KLPHA.js.map} +0 -0
- package/dist/esm/chunks/chunk.YONRMJU5.js +7 -0
- package/dist/esm/chunks/chunk.YONRMJU5.js.map +7 -0
- package/dist/esm/chunks/chunk.YWRCWMNO.js +7 -0
- package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.YWRCWMNO.js.map} +2 -2
- package/dist/esm/chunks/chunk.Z4MN5NB5.js +7 -0
- package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.Z4MN5NB5.js.map} +2 -2
- package/dist/esm/chunks/chunk.Z6S62LZJ.js +7 -0
- package/dist/esm/chunks/chunk.Z6S62LZJ.js.map +7 -0
- package/dist/esm/chunks/chunk.ZAGCOV55.js +7 -0
- package/dist/esm/chunks/{chunk.J2ODMCFS.js.map → chunk.ZAGCOV55.js.map} +2 -2
- package/dist/esm/chunks/chunk.ZFD3OE45.js +7 -0
- package/dist/esm/chunks/{chunk.DIYJJHWP.js.map → chunk.ZFD3OE45.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZMXKZJRM.js +7 -0
- package/dist/esm/chunks/{chunk.5XQVZQ4U.js.map → chunk.ZMXKZJRM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.75KFBRF6.js → chunk.ZPBGKHHM.js} +3 -3
- package/dist/esm/chunks/chunk.ZPBGKHHM.js.map +7 -0
- package/dist/esm/circular-progress/index.js +2 -2
- package/dist/esm/color-picker/index.js +2 -2
- package/dist/esm/core/base/index.js +2 -2
- package/dist/esm/core/delegates/index.js +1 -1
- package/dist/esm/core/index.js +2 -2
- package/dist/esm/core/mask/index.js +2 -2
- package/dist/esm/core/utils/index.js +2 -2
- package/dist/esm/date-picker/index.js +2 -2
- package/dist/esm/date-range-picker/index.js +2 -2
- package/dist/esm/dialog/index.js +2 -2
- package/dist/esm/divider/index.js +2 -2
- package/dist/esm/drawer/base/index.js +2 -2
- package/dist/esm/drawer/drawer/index.js +2 -2
- package/dist/esm/drawer/index.js +2 -2
- package/dist/esm/drawer/mini-drawer/index.js +2 -2
- package/dist/esm/drawer/modal-drawer/index.js +2 -2
- package/dist/esm/expansion-panel/index.js +2 -2
- package/dist/esm/file-picker/index.js +2 -2
- package/dist/esm/floating-action-button/index.js +2 -2
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/icon/index.js +2 -2
- package/dist/esm/icon-button/index.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/inline-message/index.js +2 -2
- package/dist/esm/keyboard-shortcut/index.js +2 -2
- package/dist/esm/label-value/index.js +2 -2
- package/dist/esm/linear-progress/index.js +2 -2
- package/dist/esm/list/index.js +2 -2
- package/dist/esm/list/list/index.js +2 -2
- package/dist/esm/list/list-item/index.js +2 -2
- package/dist/esm/list-dropdown/index.js +2 -2
- package/dist/esm/menu/index.js +2 -2
- package/dist/esm/open-icon/index.js +2 -2
- package/dist/esm/page-state/index.js +2 -2
- package/dist/esm/paginator/index.js +2 -2
- package/dist/esm/popup/index.js +2 -2
- package/dist/esm/product-icon/index.js +2 -2
- package/dist/esm/profile-card/index.js +2 -2
- package/dist/esm/quantity-field/index.js +2 -2
- package/dist/esm/radio/index.js +2 -2
- package/dist/esm/ripple/index.js +2 -2
- package/dist/esm/scaffold/index.js +2 -2
- package/dist/esm/select/core/index.js +2 -2
- package/dist/esm/select/index.js +2 -2
- package/dist/esm/select/option/index.js +2 -2
- package/dist/esm/select/option-group/index.js +2 -2
- package/dist/esm/select/select/index.js +2 -2
- package/dist/esm/select/select-dropdown/index.js +2 -2
- package/dist/esm/skeleton/index.js +2 -2
- package/dist/esm/slider/index.js +2 -2
- package/dist/esm/split-view/core/index.js +1 -1
- package/dist/esm/split-view/index.js +2 -2
- package/dist/esm/split-view/split-view/index.js +2 -2
- package/dist/esm/split-view/split-view-panel/index.js +2 -2
- package/dist/esm/stepper/index.js +2 -2
- package/dist/esm/stepper/step/index.js +2 -2
- package/dist/esm/stepper/stepper/index.js +2 -2
- package/dist/esm/switch/index.js +2 -2
- package/dist/esm/table/index.js +2 -2
- package/dist/esm/tabs/index.js +2 -2
- package/dist/esm/tabs/tab/index.js +2 -2
- package/dist/esm/tabs/tab-bar/index.js +2 -2
- package/dist/esm/text-field/index.js +2 -2
- package/dist/esm/theme/index.js +1 -1
- package/dist/esm/time-picker/index.js +2 -2
- package/dist/esm/toast/index.js +2 -2
- package/dist/esm/toolbar/index.js +2 -2
- package/dist/esm/tooltip/index.js +2 -2
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/view-switcher/index.js +2 -2
- package/dist/esm/view-switcher/view/index.js +2 -2
- package/dist/expansion-panel/forge-expansion-panel.css +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-core.css +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/form-field/forge-form-field.css +1 -1
- package/dist/icon-button/forge-icon-button.css +1 -1
- package/dist/popup/forge-popup.css +1 -1
- package/dist/quantity-field/forge-quantity-field.css +1 -1
- package/dist/ripple/forge-ripple.css +1 -1
- package/dist/scaffold/forge-scaffold.css +1 -1
- package/dist/table/forge-table.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/dist/tooltip/forge-tooltip.css +1 -1
- package/dist/typography/forge-form.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/dist/utils/forge-flex.css +1 -1
- package/dist/utils/forge-grid.css +1 -1
- package/dist/utils/forge-utils.css +1 -1
- package/esm/accordion/accordion-adapter.d.ts +1 -1
- package/esm/accordion/accordion-adapter.js +1 -1
- package/esm/accordion/accordion-constants.d.ts +1 -1
- package/esm/accordion/accordion-constants.js +1 -1
- package/esm/accordion/accordion-foundation.d.ts +1 -1
- package/esm/accordion/accordion-foundation.js +1 -1
- package/esm/accordion/accordion.d.ts +1 -1
- package/esm/accordion/accordion.js +1 -1
- package/esm/accordion/index.d.ts +1 -1
- package/esm/accordion/index.js +1 -1
- package/esm/app-bar/app-bar-adapter.d.ts +1 -1
- package/esm/app-bar/app-bar-adapter.js +1 -1
- package/esm/app-bar/app-bar-constants.d.ts +1 -1
- package/esm/app-bar/app-bar-constants.js +1 -1
- package/esm/app-bar/app-bar-foundation.d.ts +1 -1
- package/esm/app-bar/app-bar-foundation.js +1 -1
- package/esm/app-bar/app-bar.d.ts +1 -1
- package/esm/app-bar/app-bar.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-constants.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-foundation.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
- package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
- package/esm/app-bar/help-button/index.d.ts +1 -1
- package/esm/app-bar/help-button/index.js +1 -1
- package/esm/app-bar/index.d.ts +1 -1
- package/esm/app-bar/index.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
- package/esm/app-bar/menu-button/index.d.ts +1 -1
- package/esm/app-bar/menu-button/index.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
- package/esm/app-bar/notification-button/index.d.ts +1 -1
- package/esm/app-bar/notification-button/index.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
- package/esm/app-bar/profile-button/index.d.ts +1 -1
- package/esm/app-bar/profile-button/index.js +1 -1
- package/esm/app-bar/search/app-bar-search-adapter.d.ts +1 -1
- package/esm/app-bar/search/app-bar-search-adapter.js +1 -1
- package/esm/app-bar/search/app-bar-search-constants.d.ts +1 -1
- package/esm/app-bar/search/app-bar-search-constants.js +1 -1
- package/esm/app-bar/search/app-bar-search-foundation.d.ts +1 -1
- package/esm/app-bar/search/app-bar-search-foundation.js +1 -1
- package/esm/app-bar/search/app-bar-search.d.ts +1 -1
- package/esm/app-bar/search/app-bar-search.js +1 -1
- package/esm/app-bar/search/index.d.ts +1 -1
- package/esm/app-bar/search/index.js +1 -1
- package/esm/autocomplete/autocomplete-adapter.d.ts +1 -1
- package/esm/autocomplete/autocomplete-adapter.js +1 -1
- package/esm/autocomplete/autocomplete-component-delegate.d.ts +1 -1
- package/esm/autocomplete/autocomplete-component-delegate.js +1 -1
- package/esm/autocomplete/autocomplete-constants.d.ts +1 -1
- package/esm/autocomplete/autocomplete-constants.js +1 -1
- package/esm/autocomplete/autocomplete-foundation.d.ts +1 -1
- package/esm/autocomplete/autocomplete-foundation.js +1 -1
- package/esm/autocomplete/autocomplete-utils.d.ts +1 -1
- package/esm/autocomplete/autocomplete-utils.js +1 -1
- package/esm/autocomplete/autocomplete.d.ts +1 -1
- package/esm/autocomplete/autocomplete.js +1 -1
- package/esm/autocomplete/index.d.ts +1 -1
- package/esm/autocomplete/index.js +1 -1
- package/esm/avatar/avatar-adapter.d.ts +1 -1
- package/esm/avatar/avatar-adapter.js +1 -1
- package/esm/avatar/avatar-component-delegate.d.ts +1 -1
- package/esm/avatar/avatar-component-delegate.js +1 -1
- package/esm/avatar/avatar-constants.d.ts +1 -1
- package/esm/avatar/avatar-constants.js +1 -1
- package/esm/avatar/avatar-foundation.d.ts +1 -1
- package/esm/avatar/avatar-foundation.js +1 -1
- package/esm/avatar/avatar.d.ts +1 -1
- package/esm/avatar/avatar.js +1 -1
- package/esm/avatar/index.d.ts +1 -1
- package/esm/avatar/index.js +1 -1
- package/esm/backdrop/backdrop-adapter.d.ts +1 -1
- package/esm/backdrop/backdrop-adapter.js +1 -1
- package/esm/backdrop/backdrop-constants.d.ts +1 -1
- package/esm/backdrop/backdrop-constants.js +1 -1
- package/esm/backdrop/backdrop-foundation.d.ts +1 -1
- package/esm/backdrop/backdrop-foundation.js +1 -1
- package/esm/backdrop/backdrop.d.ts +1 -1
- package/esm/backdrop/backdrop.js +1 -1
- package/esm/backdrop/index.d.ts +1 -1
- package/esm/backdrop/index.js +1 -1
- package/esm/badge/badge-adapter.d.ts +1 -1
- package/esm/badge/badge-adapter.js +1 -1
- package/esm/badge/badge-component-delegate.d.ts +1 -1
- package/esm/badge/badge-component-delegate.js +1 -1
- package/esm/badge/badge-constants.d.ts +1 -1
- package/esm/badge/badge-constants.js +1 -1
- package/esm/badge/badge-foundation.d.ts +1 -1
- package/esm/badge/badge-foundation.js +1 -1
- package/esm/badge/badge.d.ts +1 -1
- package/esm/badge/badge.js +1 -1
- package/esm/badge/index.d.ts +1 -1
- package/esm/badge/index.js +1 -1
- package/esm/banner/banner-adapter.d.ts +1 -1
- package/esm/banner/banner-adapter.js +1 -1
- package/esm/banner/banner-constants.d.ts +1 -1
- package/esm/banner/banner-constants.js +1 -1
- package/esm/banner/banner-foundation.d.ts +1 -1
- package/esm/banner/banner-foundation.js +1 -1
- package/esm/banner/banner.d.ts +1 -1
- package/esm/banner/banner.js +1 -1
- package/esm/banner/index.d.ts +1 -1
- package/esm/banner/index.js +1 -1
- package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +1 -1
- package/esm/bottom-sheet/bottom-sheet-adapter.js +1 -1
- package/esm/bottom-sheet/bottom-sheet-constants.d.ts +1 -1
- package/esm/bottom-sheet/bottom-sheet-constants.js +1 -1
- package/esm/bottom-sheet/bottom-sheet-foundation.d.ts +1 -1
- package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
- package/esm/bottom-sheet/bottom-sheet.d.ts +1 -1
- package/esm/bottom-sheet/bottom-sheet.js +1 -1
- package/esm/bottom-sheet/index.d.ts +1 -1
- package/esm/bottom-sheet/index.js +1 -1
- package/esm/busy-indicator/busy-indicator-adapter.d.ts +1 -1
- package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
- package/esm/busy-indicator/busy-indicator-constants.d.ts +1 -1
- package/esm/busy-indicator/busy-indicator-constants.js +1 -1
- package/esm/busy-indicator/busy-indicator-foundation.d.ts +1 -1
- package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
- package/esm/busy-indicator/busy-indicator.d.ts +1 -1
- package/esm/busy-indicator/busy-indicator.js +1 -1
- package/esm/busy-indicator/index.d.ts +1 -1
- package/esm/busy-indicator/index.js +1 -1
- package/esm/button/button-component-delegate.d.ts +1 -1
- package/esm/button/button-component-delegate.js +1 -1
- package/esm/button/button-constants.d.ts +1 -1
- package/esm/button/button-constants.js +1 -1
- package/esm/button/button.d.ts +1 -1
- package/esm/button/button.js +2 -2
- package/esm/button/index.d.ts +1 -1
- package/esm/button/index.js +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-constants.js +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +1 -1
- package/esm/button-toggle/button-toggle/button-toggle-foundation.js +1 -1
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +1 -1
- package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
- package/esm/button-toggle/button-toggle/index.d.ts +1 -1
- package/esm/button-toggle/button-toggle/index.js +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +23 -9
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +4 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
- package/esm/button-toggle/button-toggle-group/index.d.ts +1 -1
- package/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/esm/button-toggle/index.d.ts +1 -1
- package/esm/button-toggle/index.js +1 -1
- package/esm/calendar/calendar-adapter.d.ts +1 -1
- package/esm/calendar/calendar-adapter.js +1 -1
- package/esm/calendar/calendar-component-delegate.d.ts +1 -1
- package/esm/calendar/calendar-component-delegate.js +1 -1
- package/esm/calendar/calendar-constants.d.ts +1 -1
- package/esm/calendar/calendar-constants.js +1 -1
- package/esm/calendar/calendar-dom-utils.d.ts +1 -1
- package/esm/calendar/calendar-dom-utils.js +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.d.ts +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown-constants.js +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +1 -1
- package/esm/calendar/calendar-dropdown/index.d.ts +1 -1
- package/esm/calendar/calendar-dropdown/index.js +1 -1
- package/esm/calendar/calendar-foundation.d.ts +1 -1
- package/esm/calendar/calendar-foundation.js +1 -1
- package/esm/calendar/calendar-locale-utils.d.ts +1 -1
- package/esm/calendar/calendar-locale-utils.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-adapter.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-adapter.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-foundation.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-foundation.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-utils.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-utils.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
- package/esm/calendar/calendar-menu/index.d.ts +1 -1
- package/esm/calendar/calendar-menu/index.js +1 -1
- package/esm/calendar/calendar-utils.d.ts +1 -1
- package/esm/calendar/calendar-utils.js +1 -1
- package/esm/calendar/calendar.d.ts +1 -1
- package/esm/calendar/calendar.js +1 -1
- package/esm/calendar/core/calendar-base.d.ts +1 -1
- package/esm/calendar/core/calendar-base.js +1 -1
- package/esm/calendar/core/date-range.d.ts +1 -1
- package/esm/calendar/core/date-range.js +1 -1
- package/esm/calendar/core/index.d.ts +1 -1
- package/esm/calendar/core/index.js +1 -1
- package/esm/calendar/index.d.ts +1 -1
- package/esm/calendar/index.js +1 -1
- package/esm/card/card-constants.d.ts +1 -1
- package/esm/card/card-constants.js +1 -1
- package/esm/card/card.d.ts +1 -1
- package/esm/card/card.js +1 -1
- package/esm/card/index.d.ts +1 -1
- package/esm/card/index.js +1 -1
- package/esm/checkbox/checkbox-adapter.d.ts +1 -1
- package/esm/checkbox/checkbox-adapter.js +1 -1
- package/esm/checkbox/checkbox-component-delegate.d.ts +1 -1
- package/esm/checkbox/checkbox-component-delegate.js +1 -1
- package/esm/checkbox/checkbox-constants.d.ts +1 -1
- package/esm/checkbox/checkbox-constants.js +1 -1
- package/esm/checkbox/checkbox-foundation.d.ts +1 -1
- package/esm/checkbox/checkbox-foundation.js +1 -1
- package/esm/checkbox/checkbox.d.ts +1 -1
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/checkbox/index.d.ts +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/chip-field/chip-field-adapter.d.ts +1 -1
- package/esm/chip-field/chip-field-adapter.js +1 -1
- package/esm/chip-field/chip-field-component-delegate.d.ts +1 -1
- package/esm/chip-field/chip-field-component-delegate.js +1 -1
- package/esm/chip-field/chip-field-constants.d.ts +2 -2
- package/esm/chip-field/chip-field-constants.js +1 -1
- package/esm/chip-field/chip-field-foundation.d.ts +1 -1
- package/esm/chip-field/chip-field-foundation.js +1 -1
- package/esm/chip-field/chip-field.d.ts +1 -1
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chip-field/index.d.ts +1 -1
- package/esm/chip-field/index.js +1 -1
- package/esm/chips/chip/chip-adapter.d.ts +1 -1
- package/esm/chips/chip/chip-adapter.js +1 -1
- package/esm/chips/chip/chip-constants.d.ts +1 -1
- package/esm/chips/chip/chip-constants.js +1 -1
- package/esm/chips/chip/chip-foundation.d.ts +1 -1
- package/esm/chips/chip/chip-foundation.js +1 -1
- package/esm/chips/chip/chip.d.ts +1 -1
- package/esm/chips/chip/chip.js +1 -1
- package/esm/chips/chip/index.d.ts +1 -1
- package/esm/chips/chip/index.js +1 -1
- package/esm/chips/chip-set/chip-set-adapter.d.ts +1 -1
- package/esm/chips/chip-set/chip-set-adapter.js +1 -1
- package/esm/chips/chip-set/chip-set-constants.d.ts +1 -1
- package/esm/chips/chip-set/chip-set-constants.js +1 -1
- package/esm/chips/chip-set/chip-set-foundation.d.ts +1 -1
- package/esm/chips/chip-set/chip-set-foundation.js +1 -1
- package/esm/chips/chip-set/chip-set.d.ts +1 -1
- package/esm/chips/chip-set/chip-set.js +1 -1
- package/esm/chips/chip-set/index.d.ts +1 -1
- package/esm/chips/chip-set/index.js +1 -1
- package/esm/chips/index.d.ts +1 -1
- package/esm/chips/index.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.d.ts +1 -1
- package/esm/circular-progress/circular-progress-adapter.js +1 -1
- package/esm/circular-progress/circular-progress-constants.d.ts +1 -1
- package/esm/circular-progress/circular-progress-constants.js +1 -1
- package/esm/circular-progress/circular-progress-foundation.d.ts +1 -1
- package/esm/circular-progress/circular-progress-foundation.js +1 -1
- package/esm/circular-progress/circular-progress.d.ts +1 -1
- package/esm/circular-progress/circular-progress.js +1 -1
- package/esm/circular-progress/index.d.ts +1 -1
- package/esm/circular-progress/index.js +1 -1
- package/esm/color-picker/color-picker-adapter.d.ts +1 -1
- package/esm/color-picker/color-picker-adapter.js +1 -1
- package/esm/color-picker/color-picker-constants.d.ts +1 -1
- package/esm/color-picker/color-picker-constants.js +1 -1
- package/esm/color-picker/color-picker-foundation.d.ts +1 -1
- package/esm/color-picker/color-picker-foundation.js +1 -1
- package/esm/color-picker/color-picker-gradient-slider.d.ts +1 -1
- package/esm/color-picker/color-picker-gradient-slider.js +1 -1
- package/esm/color-picker/color-picker-slider.d.ts +1 -1
- package/esm/color-picker/color-picker-slider.js +1 -1
- package/esm/color-picker/color-picker-utils.d.ts +1 -1
- package/esm/color-picker/color-picker-utils.js +1 -1
- package/esm/color-picker/color-picker.d.ts +1 -1
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/color-picker/index.d.ts +1 -1
- package/esm/color-picker/index.js +1 -1
- package/esm/constants.d.ts +1 -1
- package/esm/constants.js +1 -1
- package/esm/core/base/base-adapter.d.ts +1 -1
- package/esm/core/base/base-adapter.js +1 -1
- package/esm/core/base/base-component.d.ts +1 -1
- package/esm/core/base/base-component.js +1 -1
- package/esm/core/base/index.d.ts +1 -1
- package/esm/core/base/index.js +1 -1
- package/esm/core/delegates/base-component-delegate.d.ts +1 -1
- package/esm/core/delegates/base-component-delegate.js +1 -1
- package/esm/core/delegates/form-field-component-delegate.d.ts +1 -1
- package/esm/core/delegates/form-field-component-delegate.js +1 -1
- package/esm/core/delegates/index.d.ts +1 -1
- package/esm/core/delegates/index.js +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/mask/date-input-mask.d.ts +1 -1
- package/esm/core/mask/date-input-mask.js +1 -1
- package/esm/core/mask/index.d.ts +1 -1
- package/esm/core/mask/index.js +1 -1
- package/esm/core/mask/time-input-mask.d.ts +1 -1
- package/esm/core/mask/time-input-mask.js +1 -1
- package/esm/core/utils/date-utils.d.ts +1 -1
- package/esm/core/utils/date-utils.js +1 -1
- package/esm/core/utils/event-utils.d.ts +1 -1
- package/esm/core/utils/event-utils.js +1 -1
- package/esm/core/utils/index.d.ts +1 -1
- package/esm/core/utils/index.js +1 -1
- package/esm/core/utils/svg-utils.d.ts +1 -1
- package/esm/core/utils/svg-utils.js +1 -1
- package/esm/core/utils/time-utils.d.ts +1 -1
- package/esm/core/utils/time-utils.js +1 -1
- package/esm/core/utils/utils.d.ts +1 -1
- package/esm/core/utils/utils.js +1 -1
- package/esm/date-picker/base/base-date-picker-adapter.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker-adapter.js +1 -1
- package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker-constants.js +1 -1
- package/esm/date-picker/base/base-date-picker-foundation.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker-foundation.js +1 -1
- package/esm/date-picker/base/base-date-picker-utils.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker-utils.js +1 -1
- package/esm/date-picker/base/base-date-picker.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker.js +1 -1
- package/esm/date-picker/date-picker-adapter.d.ts +1 -1
- package/esm/date-picker/date-picker-adapter.js +1 -1
- package/esm/date-picker/date-picker-component-delegate.d.ts +1 -1
- package/esm/date-picker/date-picker-component-delegate.js +1 -1
- package/esm/date-picker/date-picker-constants.d.ts +1 -1
- package/esm/date-picker/date-picker-constants.js +1 -1
- package/esm/date-picker/date-picker-foundation.d.ts +1 -1
- package/esm/date-picker/date-picker-foundation.js +1 -1
- package/esm/date-picker/date-picker.d.ts +1 -1
- package/esm/date-picker/date-picker.js +1 -1
- package/esm/date-picker/index.d.ts +1 -1
- package/esm/date-picker/index.js +1 -1
- package/esm/date-range-picker/date-range-picker-adapter.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-component-delegate.js +1 -1
- package/esm/date-range-picker/date-range-picker-constants.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-constants.js +1 -1
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
- package/esm/date-range-picker/date-range-picker.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker.js +7 -7
- package/esm/date-range-picker/index.d.ts +1 -1
- package/esm/date-range-picker/index.js +1 -1
- package/esm/dialog/dialog-adapter.d.ts +1 -1
- package/esm/dialog/dialog-adapter.js +1 -1
- package/esm/dialog/dialog-constants.d.ts +1 -1
- package/esm/dialog/dialog-constants.js +1 -1
- package/esm/dialog/dialog-foundation.d.ts +1 -1
- package/esm/dialog/dialog-foundation.js +3 -2
- package/esm/dialog/dialog.d.ts +1 -1
- package/esm/dialog/dialog.js +1 -1
- package/esm/dialog/index.d.ts +1 -1
- package/esm/dialog/index.js +1 -1
- package/esm/divider/divider-constants.d.ts +1 -1
- package/esm/divider/divider-constants.js +1 -1
- package/esm/divider/divider.d.ts +1 -1
- package/esm/divider/divider.js +1 -1
- package/esm/divider/index.d.ts +1 -1
- package/esm/divider/index.js +1 -1
- package/esm/drawer/base/base-drawer-adapter.d.ts +1 -1
- package/esm/drawer/base/base-drawer-adapter.js +1 -1
- package/esm/drawer/base/base-drawer-constants.d.ts +1 -1
- package/esm/drawer/base/base-drawer-constants.js +1 -1
- package/esm/drawer/base/base-drawer-foundation.d.ts +1 -1
- package/esm/drawer/base/base-drawer-foundation.js +1 -1
- package/esm/drawer/base/base-drawer.d.ts +1 -1
- package/esm/drawer/base/base-drawer.js +4 -4
- package/esm/drawer/base/index.d.ts +1 -1
- package/esm/drawer/base/index.js +1 -1
- package/esm/drawer/drawer/drawer-constants.d.ts +1 -1
- package/esm/drawer/drawer/drawer-constants.js +1 -1
- package/esm/drawer/drawer/drawer.d.ts +1 -1
- package/esm/drawer/drawer/drawer.js +1 -1
- package/esm/drawer/drawer/index.d.ts +1 -1
- package/esm/drawer/drawer/index.js +1 -1
- package/esm/drawer/index.d.ts +1 -1
- package/esm/drawer/index.js +1 -1
- package/esm/drawer/mini-drawer/index.d.ts +1 -1
- package/esm/drawer/mini-drawer/index.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer-constants.d.ts +1 -1
- package/esm/drawer/mini-drawer/mini-drawer-constants.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/drawer/modal-drawer/index.d.ts +1 -1
- package/esm/drawer/modal-drawer/index.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-adapter.d.ts +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-constants.d.ts +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-constants.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-foundation.d.ts +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer.d.ts +1 -1
- package/esm/drawer/modal-drawer/modal-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.d.ts +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.js +1 -1
- package/esm/expansion-panel/expansion-panel-constants.d.ts +1 -1
- package/esm/expansion-panel/expansion-panel-constants.js +1 -1
- package/esm/expansion-panel/expansion-panel-foundation.d.ts +1 -1
- package/esm/expansion-panel/expansion-panel-foundation.js +1 -1
- package/esm/expansion-panel/expansion-panel.d.ts +1 -1
- package/esm/expansion-panel/expansion-panel.js +1 -1
- package/esm/expansion-panel/index.d.ts +1 -1
- package/esm/expansion-panel/index.js +1 -1
- package/esm/field/field-adapter.d.ts +1 -1
- package/esm/field/field-adapter.js +1 -1
- package/esm/field/field-constants.d.ts +1 -1
- package/esm/field/field-constants.js +1 -1
- package/esm/field/field-foundation.d.ts +1 -1
- package/esm/field/field-foundation.js +1 -1
- package/esm/field/field.d.ts +1 -1
- package/esm/field/field.js +1 -1
- package/esm/file-picker/file-picker-adapter.d.ts +1 -1
- package/esm/file-picker/file-picker-adapter.js +1 -1
- package/esm/file-picker/file-picker-component-delegate.d.ts +1 -1
- package/esm/file-picker/file-picker-component-delegate.js +1 -1
- package/esm/file-picker/file-picker-constants.d.ts +1 -1
- package/esm/file-picker/file-picker-constants.js +1 -1
- package/esm/file-picker/file-picker-foundation.d.ts +1 -1
- package/esm/file-picker/file-picker-foundation.js +1 -1
- package/esm/file-picker/file-picker.d.ts +1 -1
- package/esm/file-picker/file-picker.js +1 -1
- package/esm/file-picker/index.d.ts +1 -1
- package/esm/file-picker/index.js +1 -1
- package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +1 -1
- package/esm/floating-action-button/floating-action-button-component-delegate.js +1 -1
- package/esm/floating-action-button/floating-action-button-constants.d.ts +1 -1
- package/esm/floating-action-button/floating-action-button-constants.js +1 -1
- package/esm/floating-action-button/floating-action-button.d.ts +1 -1
- package/esm/floating-action-button/floating-action-button.js +1 -1
- package/esm/floating-action-button/index.d.ts +1 -1
- package/esm/floating-action-button/index.js +1 -1
- package/esm/floating-label/floating-label-adapter.d.ts +1 -1
- package/esm/floating-label/floating-label-adapter.js +1 -1
- package/esm/floating-label/floating-label-constants.d.ts +1 -1
- package/esm/floating-label/floating-label-constants.js +1 -1
- package/esm/floating-label/floating-label-foundation.d.ts +1 -1
- package/esm/floating-label/floating-label-foundation.js +1 -1
- package/esm/floating-label/floating-label.d.ts +1 -1
- package/esm/floating-label/floating-label.js +1 -1
- package/esm/floating-label/index.d.ts +1 -1
- package/esm/floating-label/index.js +1 -1
- package/esm/icon/icon-adapter.d.ts +1 -1
- package/esm/icon/icon-adapter.js +1 -1
- package/esm/icon/icon-component-delegate.d.ts +1 -1
- package/esm/icon/icon-component-delegate.js +1 -1
- package/esm/icon/icon-constants.d.ts +1 -1
- package/esm/icon/icon-constants.js +1 -1
- package/esm/icon/icon-foundation.d.ts +1 -1
- package/esm/icon/icon-foundation.js +1 -1
- package/esm/icon/icon-registry.d.ts +1 -1
- package/esm/icon/icon-registry.js +1 -1
- package/esm/icon/icon-utils.d.ts +1 -1
- package/esm/icon/icon-utils.js +1 -1
- package/esm/icon/icon.d.ts +1 -1
- package/esm/icon/icon.js +1 -1
- package/esm/icon/index.d.ts +1 -1
- package/esm/icon/index.js +1 -1
- package/esm/icon-button/icon-button-component-delegate.d.ts +1 -1
- package/esm/icon-button/icon-button-component-delegate.js +1 -1
- package/esm/icon-button/icon-button-constants.d.ts +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 +1 -1
- package/esm/icon-button/index.d.ts +1 -1
- package/esm/icon-button/index.js +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/inline-message/index.d.ts +1 -1
- package/esm/inline-message/index.js +1 -1
- package/esm/inline-message/inline-message-constants.d.ts +1 -1
- package/esm/inline-message/inline-message-constants.js +1 -1
- package/esm/inline-message/inline-message.d.ts +1 -1
- package/esm/inline-message/inline-message.js +1 -1
- package/esm/keyboard-shortcut/index.d.ts +1 -1
- package/esm/keyboard-shortcut/index.js +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-adapter.d.ts +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-adapter.js +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-constants.d.ts +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-constants.js +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.d.ts +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-foundation.js +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.d.ts +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut-utils.js +1 -1
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +4 -1
- package/esm/keyboard-shortcut/keyboard-shortcut.js +1 -1
- package/esm/label-value/index.d.ts +1 -1
- package/esm/label-value/index.js +1 -1
- package/esm/label-value/label-value-adapter.d.ts +1 -1
- package/esm/label-value/label-value-adapter.js +1 -1
- package/esm/label-value/label-value-component-delegate.d.ts +1 -1
- package/esm/label-value/label-value-component-delegate.js +1 -1
- package/esm/label-value/label-value-constants.d.ts +2 -2
- package/esm/label-value/label-value-constants.js +1 -1
- package/esm/label-value/label-value-foundation.d.ts +1 -1
- package/esm/label-value/label-value-foundation.js +1 -1
- package/esm/label-value/label-value.d.ts +1 -1
- package/esm/label-value/label-value.js +1 -1
- package/esm/linear-progress/index.d.ts +1 -1
- package/esm/linear-progress/index.js +1 -1
- package/esm/linear-progress/linear-progress-constants.d.ts +1 -1
- package/esm/linear-progress/linear-progress-constants.js +1 -1
- package/esm/linear-progress/linear-progress.d.ts +1 -1
- package/esm/linear-progress/linear-progress.js +1 -1
- package/esm/list/index.d.ts +1 -1
- package/esm/list/index.js +1 -1
- package/esm/list/list/index.d.ts +1 -1
- package/esm/list/list/index.js +1 -1
- package/esm/list/list/list-adapter.d.ts +1 -1
- package/esm/list/list/list-adapter.js +1 -1
- package/esm/list/list/list-constants.d.ts +1 -1
- package/esm/list/list/list-constants.js +1 -1
- package/esm/list/list/list-foundation.d.ts +1 -1
- package/esm/list/list/list-foundation.js +1 -1
- package/esm/list/list/list.d.ts +1 -1
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/index.d.ts +1 -1
- package/esm/list/list-item/index.js +1 -1
- package/esm/list/list-item/list-item-adapter.d.ts +4 -1
- package/esm/list/list-item/list-item-adapter.js +5 -1
- package/esm/list/list-item/list-item-constants.d.ts +1 -1
- package/esm/list/list-item/list-item-constants.js +1 -1
- package/esm/list/list-item/list-item-foundation.d.ts +1 -1
- package/esm/list/list-item/list-item-foundation.js +10 -3
- package/esm/list/list-item/list-item.d.ts +1 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +1 -1
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +1 -1
- package/esm/list-dropdown/index.d.ts +1 -1
- package/esm/list-dropdown/index.js +1 -1
- package/esm/list-dropdown/list-dropdown-adapter.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-adapter.js +1 -1
- package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-aware-foundation.js +1 -1
- package/esm/list-dropdown/list-dropdown-aware.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-aware.js +1 -1
- package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-constants.js +1 -1
- package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-foundation.js +2 -1
- package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-utils.js +1 -1
- package/esm/list-dropdown/list-dropdown.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown.js +1 -1
- package/esm/menu/index.d.ts +1 -1
- package/esm/menu/index.js +1 -1
- package/esm/menu/menu-adapter.d.ts +1 -1
- package/esm/menu/menu-adapter.js +1 -1
- package/esm/menu/menu-constants.d.ts +1 -1
- package/esm/menu/menu-constants.js +1 -1
- package/esm/menu/menu-foundation.d.ts +1 -1
- package/esm/menu/menu-foundation.js +1 -1
- package/esm/menu/menu.d.ts +1 -1
- package/esm/menu/menu.js +1 -1
- package/esm/open-icon/index.d.ts +1 -1
- package/esm/open-icon/index.js +1 -1
- package/esm/open-icon/open-icon-adapter.d.ts +1 -1
- package/esm/open-icon/open-icon-adapter.js +1 -1
- package/esm/open-icon/open-icon-constants.d.ts +1 -1
- package/esm/open-icon/open-icon-constants.js +1 -1
- package/esm/open-icon/open-icon-foundation.d.ts +1 -1
- package/esm/open-icon/open-icon-foundation.js +1 -1
- package/esm/open-icon/open-icon.d.ts +1 -1
- package/esm/open-icon/open-icon.js +1 -1
- package/esm/page-state/index.d.ts +1 -1
- package/esm/page-state/index.js +1 -1
- package/esm/page-state/page-state-constants.d.ts +1 -1
- package/esm/page-state/page-state-constants.js +1 -1
- package/esm/page-state/page-state.d.ts +1 -1
- package/esm/page-state/page-state.js +1 -1
- package/esm/paginator/index.d.ts +1 -1
- package/esm/paginator/index.js +1 -1
- package/esm/paginator/paginator-adapter.d.ts +1 -1
- package/esm/paginator/paginator-adapter.js +1 -1
- package/esm/paginator/paginator-constants.d.ts +1 -1
- package/esm/paginator/paginator-constants.js +1 -1
- package/esm/paginator/paginator-foundation.d.ts +1 -1
- package/esm/paginator/paginator-foundation.js +1 -1
- package/esm/paginator/paginator.d.ts +1 -1
- package/esm/paginator/paginator.js +1 -1
- package/esm/popup/index.d.ts +1 -1
- package/esm/popup/index.js +1 -1
- package/esm/popup/popup-adapter.d.ts +1 -1
- package/esm/popup/popup-adapter.js +1 -1
- package/esm/popup/popup-constants.d.ts +1 -1
- package/esm/popup/popup-constants.js +1 -1
- package/esm/popup/popup-foundation.d.ts +1 -1
- package/esm/popup/popup-foundation.js +1 -1
- package/esm/popup/popup.d.ts +1 -1
- package/esm/popup/popup.js +1 -1
- package/esm/product-icon/index.d.ts +1 -1
- package/esm/product-icon/index.js +1 -1
- package/esm/product-icon/product-icon-adapter.d.ts +1 -1
- package/esm/product-icon/product-icon-adapter.js +1 -1
- package/esm/product-icon/product-icon-constants.d.ts +1 -1
- package/esm/product-icon/product-icon-constants.js +1 -1
- package/esm/product-icon/product-icon-foundation.d.ts +1 -1
- package/esm/product-icon/product-icon-foundation.js +1 -1
- package/esm/product-icon/product-icon.d.ts +1 -1
- package/esm/product-icon/product-icon.js +1 -1
- package/esm/profile-card/index.d.ts +1 -1
- package/esm/profile-card/index.js +1 -1
- package/esm/profile-card/profile-card-adapter.d.ts +1 -1
- package/esm/profile-card/profile-card-adapter.js +1 -1
- package/esm/profile-card/profile-card-constants.d.ts +1 -1
- package/esm/profile-card/profile-card-constants.js +1 -1
- package/esm/profile-card/profile-card-foundation.d.ts +1 -1
- package/esm/profile-card/profile-card-foundation.js +1 -1
- package/esm/profile-card/profile-card.d.ts +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/quantity-field/index.d.ts +1 -1
- package/esm/quantity-field/index.js +1 -1
- package/esm/quantity-field/quantity-field-adapter.d.ts +1 -1
- package/esm/quantity-field/quantity-field-adapter.js +1 -1
- package/esm/quantity-field/quantity-field-component-delegate.d.ts +1 -1
- package/esm/quantity-field/quantity-field-component-delegate.js +1 -1
- package/esm/quantity-field/quantity-field-constants.d.ts +1 -1
- package/esm/quantity-field/quantity-field-constants.js +1 -1
- package/esm/quantity-field/quantity-field-foundation.d.ts +1 -1
- package/esm/quantity-field/quantity-field-foundation.js +1 -1
- package/esm/quantity-field/quantity-field.d.ts +1 -1
- package/esm/quantity-field/quantity-field.js +1 -1
- package/esm/radio/index.d.ts +1 -1
- package/esm/radio/index.js +1 -1
- package/esm/radio/radio-adapter.d.ts +1 -1
- package/esm/radio/radio-adapter.js +1 -1
- package/esm/radio/radio-constants.d.ts +1 -1
- package/esm/radio/radio-constants.js +1 -1
- package/esm/radio/radio-foundation.d.ts +1 -1
- package/esm/radio/radio-foundation.js +1 -1
- package/esm/radio/radio.d.ts +1 -1
- package/esm/radio/radio.js +1 -1
- package/esm/ripple/forge-ripple.d.ts +2 -2
- package/esm/ripple/forge-ripple.js +1 -1
- package/esm/ripple/index.d.ts +1 -1
- package/esm/ripple/index.js +1 -1
- package/esm/ripple/ripple-adapter.d.ts +1 -1
- package/esm/ripple/ripple-adapter.js +1 -1
- package/esm/ripple/ripple-constants.d.ts +1 -1
- package/esm/ripple/ripple-constants.js +1 -1
- package/esm/ripple/ripple-foundation.d.ts +1 -1
- package/esm/ripple/ripple-foundation.js +1 -1
- package/esm/ripple/ripple.d.ts +3 -3
- package/esm/ripple/ripple.js +3 -2
- package/esm/scaffold/index.d.ts +1 -1
- package/esm/scaffold/index.js +1 -1
- package/esm/scaffold/scaffold-constants.d.ts +1 -1
- package/esm/scaffold/scaffold-constants.js +1 -1
- package/esm/scaffold/scaffold.d.ts +1 -1
- package/esm/scaffold/scaffold.js +1 -1
- package/esm/select/core/base-select-adapter.d.ts +1 -1
- package/esm/select/core/base-select-adapter.js +1 -1
- package/esm/select/core/base-select-constants.d.ts +1 -1
- package/esm/select/core/base-select-constants.js +1 -1
- package/esm/select/core/base-select-foundation.d.ts +1 -1
- package/esm/select/core/base-select-foundation.js +1 -1
- package/esm/select/core/base-select.d.ts +1 -1
- package/esm/select/core/base-select.js +1 -1
- package/esm/select/core/index.d.ts +1 -1
- package/esm/select/core/index.js +1 -1
- package/esm/select/core/select-utils.d.ts +1 -1
- package/esm/select/core/select-utils.js +1 -1
- package/esm/select/index.d.ts +1 -1
- package/esm/select/index.js +1 -1
- package/esm/select/option/index.d.ts +1 -1
- package/esm/select/option/index.js +1 -1
- package/esm/select/option/option-adapter.d.ts +1 -1
- package/esm/select/option/option-adapter.js +1 -1
- package/esm/select/option/option-constants.d.ts +1 -1
- package/esm/select/option/option-constants.js +1 -1
- package/esm/select/option/option-foundation.d.ts +1 -1
- package/esm/select/option/option-foundation.js +1 -1
- package/esm/select/option/option.d.ts +1 -1
- package/esm/select/option/option.js +1 -1
- package/esm/select/option-group/index.d.ts +1 -1
- package/esm/select/option-group/index.js +1 -1
- package/esm/select/option-group/option-group-constants.d.ts +1 -1
- package/esm/select/option-group/option-group-constants.js +1 -1
- package/esm/select/option-group/option-group.d.ts +1 -1
- package/esm/select/option-group/option-group.js +1 -1
- package/esm/select/select/index.d.ts +1 -1
- package/esm/select/select/index.js +1 -1
- package/esm/select/select/select-adapter.d.ts +1 -1
- package/esm/select/select/select-adapter.js +1 -1
- package/esm/select/select/select-constants.d.ts +2 -2
- package/esm/select/select/select-constants.js +1 -1
- package/esm/select/select/select-foundation.d.ts +1 -1
- package/esm/select/select/select-foundation.js +1 -1
- package/esm/select/select/select.d.ts +1 -1
- package/esm/select/select/select.js +7 -7
- package/esm/select/select-component-delegate.d.ts +1 -1
- package/esm/select/select-component-delegate.js +1 -1
- package/esm/select/select-dropdown/index.d.ts +1 -1
- package/esm/select/select-dropdown/index.js +1 -1
- package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +1 -1
- package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
- package/esm/select/select-dropdown/select-dropdown-constants.d.ts +1 -1
- package/esm/select/select-dropdown/select-dropdown-constants.js +1 -1
- package/esm/select/select-dropdown/select-dropdown-foundation.d.ts +1 -1
- package/esm/select/select-dropdown/select-dropdown-foundation.js +1 -1
- package/esm/select/select-dropdown/select-dropdown.d.ts +1 -1
- package/esm/select/select-dropdown/select-dropdown.js +6 -6
- package/esm/skeleton/index.d.ts +1 -1
- package/esm/skeleton/index.js +1 -1
- package/esm/skeleton/skeleton-constants.d.ts +1 -1
- package/esm/skeleton/skeleton-constants.js +1 -1
- package/esm/skeleton/skeleton.d.ts +1 -1
- package/esm/skeleton/skeleton.js +1 -1
- package/esm/slider/index.d.ts +1 -1
- package/esm/slider/index.js +1 -1
- package/esm/slider/slider-component-delegate.d.ts +1 -1
- package/esm/slider/slider-component-delegate.js +1 -1
- package/esm/slider/slider-constants.d.ts +1 -1
- package/esm/slider/slider-constants.js +1 -1
- package/esm/slider/slider.d.ts +1 -1
- package/esm/slider/slider.js +1 -1
- package/esm/split-view/core/index.d.ts +1 -1
- package/esm/split-view/core/index.js +1 -1
- package/esm/split-view/core/split-view-base.d.ts +1 -1
- package/esm/split-view/core/split-view-base.js +1 -1
- package/esm/split-view/index.d.ts +1 -1
- package/esm/split-view/index.js +1 -1
- package/esm/split-view/split-view/index.d.ts +1 -1
- package/esm/split-view/split-view/index.js +1 -1
- package/esm/split-view/split-view/split-view-adapter.d.ts +1 -1
- package/esm/split-view/split-view/split-view-adapter.js +1 -1
- package/esm/split-view/split-view/split-view-constants.d.ts +1 -1
- package/esm/split-view/split-view/split-view-constants.js +1 -1
- package/esm/split-view/split-view/split-view-foundation.d.ts +1 -1
- package/esm/split-view/split-view/split-view-foundation.js +1 -1
- package/esm/split-view/split-view/split-view.d.ts +1 -1
- package/esm/split-view/split-view/split-view.js +4 -2
- package/esm/split-view/split-view-panel/index.d.ts +1 -1
- package/esm/split-view/split-view-panel/index.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-adapter.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-constants.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-foundation.d.ts +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-utils.d.ts +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-utils.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +2 -2
- package/esm/stepper/core/stepper-utils.d.ts +1 -1
- package/esm/stepper/core/stepper-utils.js +1 -1
- package/esm/stepper/index.d.ts +1 -1
- package/esm/stepper/index.js +1 -1
- package/esm/stepper/step/index.d.ts +1 -1
- package/esm/stepper/step/index.js +1 -1
- package/esm/stepper/step/step-adapter.d.ts +1 -1
- package/esm/stepper/step/step-adapter.js +1 -1
- package/esm/stepper/step/step-constants.d.ts +1 -1
- package/esm/stepper/step/step-constants.js +1 -1
- package/esm/stepper/step/step-foundation.d.ts +1 -1
- package/esm/stepper/step/step-foundation.js +1 -1
- package/esm/stepper/step/step.d.ts +1 -1
- package/esm/stepper/step/step.js +7 -4
- package/esm/stepper/stepper/index.d.ts +1 -1
- package/esm/stepper/stepper/index.js +1 -1
- package/esm/stepper/stepper/stepper-adapter.d.ts +1 -1
- package/esm/stepper/stepper/stepper-adapter.js +1 -1
- package/esm/stepper/stepper/stepper-constants.d.ts +1 -1
- package/esm/stepper/stepper/stepper-constants.js +1 -1
- package/esm/stepper/stepper/stepper-foundation.d.ts +1 -1
- package/esm/stepper/stepper/stepper-foundation.js +1 -1
- package/esm/stepper/stepper/stepper.d.ts +1 -1
- package/esm/stepper/stepper/stepper.js +1 -1
- package/esm/switch/index.d.ts +1 -1
- package/esm/switch/index.js +1 -1
- package/esm/switch/switch-component-delegate.d.ts +1 -1
- package/esm/switch/switch-component-delegate.js +1 -1
- package/esm/switch/switch-constants.d.ts +1 -1
- package/esm/switch/switch-constants.js +1 -1
- package/esm/switch/switch.d.ts +1 -1
- package/esm/switch/switch.js +1 -1
- package/esm/table/index.d.ts +1 -1
- package/esm/table/index.js +1 -1
- package/esm/table/multi-sort-manager.d.ts +1 -1
- package/esm/table/multi-sort-manager.js +1 -1
- package/esm/table/table-adapter.d.ts +1 -1
- package/esm/table/table-adapter.js +1 -1
- package/esm/table/table-constants.d.ts +1 -1
- package/esm/table/table-constants.js +1 -1
- package/esm/table/table-foundation.d.ts +1 -1
- package/esm/table/table-foundation.js +1 -1
- package/esm/table/table-row.d.ts +1 -1
- package/esm/table/table-row.js +1 -1
- package/esm/table/table-utils.d.ts +1 -1
- package/esm/table/table-utils.js +8 -4
- package/esm/table/table.d.ts +1 -1
- package/esm/table/table.js +1 -1
- package/esm/table/types.d.ts +1 -1
- package/esm/table/types.js +1 -1
- package/esm/tabs/index.d.ts +1 -1
- package/esm/tabs/index.js +1 -1
- package/esm/tabs/tab/index.d.ts +1 -1
- package/esm/tabs/tab/index.js +1 -1
- package/esm/tabs/tab/tab-adapter.d.ts +1 -1
- package/esm/tabs/tab/tab-adapter.js +1 -1
- package/esm/tabs/tab/tab-constants.d.ts +1 -1
- package/esm/tabs/tab/tab-constants.js +1 -1
- package/esm/tabs/tab/tab-foundation.d.ts +1 -1
- package/esm/tabs/tab/tab-foundation.js +1 -1
- package/esm/tabs/tab/tab.d.ts +1 -1
- package/esm/tabs/tab/tab.js +1 -1
- package/esm/tabs/tab-bar/index.d.ts +1 -1
- package/esm/tabs/tab-bar/index.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-foundation.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-foundation.js +1 -1
- package/esm/tabs/tab-bar/tab-bar.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar.js +1 -1
- package/esm/text-field/index.d.ts +1 -1
- package/esm/text-field/index.js +1 -1
- package/esm/text-field/text-field-adapter.d.ts +1 -1
- package/esm/text-field/text-field-adapter.js +1 -1
- package/esm/text-field/text-field-component-delegate.d.ts +1 -1
- package/esm/text-field/text-field-component-delegate.js +1 -1
- package/esm/text-field/text-field-constants.d.ts +2 -2
- package/esm/text-field/text-field-constants.js +1 -1
- package/esm/text-field/text-field-foundation.d.ts +1 -1
- package/esm/text-field/text-field-foundation.js +1 -1
- package/esm/text-field/text-field.d.ts +1 -1
- package/esm/text-field/text-field.js +1 -1
- package/esm/theme/color-constants.d.ts +1 -1
- package/esm/theme/color-constants.js +1 -1
- package/esm/theme/index.d.ts +1 -1
- package/esm/theme/index.js +1 -1
- package/esm/theme/theme-utils.d.ts +1 -1
- package/esm/theme/theme-utils.js +1 -1
- package/esm/time-picker/index.d.ts +1 -1
- package/esm/time-picker/index.js +1 -1
- package/esm/time-picker/time-picker-adapter.d.ts +1 -1
- package/esm/time-picker/time-picker-adapter.js +1 -1
- package/esm/time-picker/time-picker-component-delegate.d.ts +1 -1
- package/esm/time-picker/time-picker-component-delegate.js +1 -1
- package/esm/time-picker/time-picker-constants.d.ts +1 -1
- package/esm/time-picker/time-picker-constants.js +1 -1
- package/esm/time-picker/time-picker-foundation.d.ts +1 -1
- package/esm/time-picker/time-picker-foundation.js +3 -2
- package/esm/time-picker/time-picker-utils.d.ts +1 -1
- package/esm/time-picker/time-picker-utils.js +1 -1
- package/esm/time-picker/time-picker.d.ts +1 -1
- package/esm/time-picker/time-picker.js +1 -1
- package/esm/toast/index.d.ts +1 -1
- package/esm/toast/index.js +1 -1
- package/esm/toast/toast-adapter.d.ts +1 -1
- package/esm/toast/toast-adapter.js +1 -1
- package/esm/toast/toast-constants.d.ts +1 -1
- package/esm/toast/toast-constants.js +1 -1
- package/esm/toast/toast-foundation.d.ts +1 -1
- package/esm/toast/toast-foundation.js +1 -1
- package/esm/toast/toast.d.ts +1 -1
- package/esm/toast/toast.js +1 -1
- package/esm/toolbar/index.d.ts +1 -1
- package/esm/toolbar/index.js +1 -1
- package/esm/toolbar/toolbar-constants.d.ts +1 -1
- package/esm/toolbar/toolbar-constants.js +1 -1
- package/esm/toolbar/toolbar.d.ts +1 -1
- package/esm/toolbar/toolbar.js +2 -2
- package/esm/tooltip/index.d.ts +1 -1
- package/esm/tooltip/index.js +1 -1
- package/esm/tooltip/tooltip-adapter.d.ts +1 -1
- package/esm/tooltip/tooltip-adapter.js +1 -1
- package/esm/tooltip/tooltip-constants.d.ts +1 -1
- package/esm/tooltip/tooltip-constants.js +1 -1
- package/esm/tooltip/tooltip-foundation.d.ts +1 -1
- package/esm/tooltip/tooltip-foundation.js +1 -1
- package/esm/tooltip/tooltip-utils.d.ts +1 -1
- package/esm/tooltip/tooltip-utils.js +1 -1
- package/esm/tooltip/tooltip.d.ts +1 -1
- package/esm/tooltip/tooltip.js +1 -1
- package/esm/utils/color-utils.d.ts +1 -1
- package/esm/utils/color-utils.js +1 -1
- package/esm/utils/index.d.ts +1 -1
- package/esm/utils/index.js +1 -1
- package/esm/view-switcher/index.d.ts +1 -1
- package/esm/view-switcher/index.js +1 -1
- package/esm/view-switcher/view/index.d.ts +1 -1
- package/esm/view-switcher/view/index.js +1 -1
- package/esm/view-switcher/view/view-constants.d.ts +1 -1
- package/esm/view-switcher/view/view-constants.js +1 -1
- package/esm/view-switcher/view/view.d.ts +1 -1
- package/esm/view-switcher/view/view.js +1 -1
- package/esm/view-switcher/view-switcher-adapter.d.ts +1 -1
- package/esm/view-switcher/view-switcher-adapter.js +1 -1
- package/esm/view-switcher/view-switcher-constants.d.ts +1 -1
- package/esm/view-switcher/view-switcher-constants.js +1 -1
- package/esm/view-switcher/view-switcher-foundation.d.ts +1 -1
- package/esm/view-switcher/view-switcher-foundation.js +1 -1
- package/esm/view-switcher/view-switcher.d.ts +1 -1
- package/esm/view-switcher/view-switcher.js +1 -1
- package/package.json +2 -2
- package/styles/app-bar/_mixins.scss +1 -1
- package/styles/app-bar/_variables.scss +1 -1
- package/styles/app-bar/app-bar.scss +1 -1
- package/styles/app-bar/search/_mixins.scss +1 -1
- package/styles/app-bar/search/_variables.scss +1 -1
- package/styles/app-bar/search/app-bar-search.scss +1 -1
- package/styles/autocomplete/autocomplete.scss +1 -1
- package/styles/avatar/_mixins.scss +1 -1
- package/styles/avatar/_variables.scss +1 -1
- package/styles/avatar/avatar.scss +1 -1
- package/styles/backdrop/_mixins.scss +1 -1
- package/styles/backdrop/_variables.scss +1 -1
- package/styles/backdrop/backdrop.scss +1 -1
- package/styles/badge/_mixins.scss +1 -1
- package/styles/badge/_variables.scss +1 -1
- package/styles/badge/badge.scss +1 -1
- package/styles/banner/_mixins.scss +1 -1
- package/styles/banner/_variables.scss +1 -1
- package/styles/banner/banner.scss +1 -1
- package/styles/bottom-sheet/_mixins.scss +1 -1
- package/styles/bottom-sheet/_variables.scss +1 -1
- package/styles/bottom-sheet/bottom-sheet.scss +1 -1
- package/styles/busy-indicator/_mixins.scss +1 -1
- package/styles/busy-indicator/_variables.scss +1 -1
- package/styles/busy-indicator/busy-indicator.scss +1 -1
- package/styles/busy-indicator/forge-busy-indicator.scss +1 -1
- package/styles/button/_button-base.scss +1 -1
- package/styles/button/_button-filled-theme.scss +1 -1
- package/styles/button/_button-filled.scss +1 -1
- package/styles/button/_button-outlined-theme.scss +1 -1
- package/styles/button/_button-outlined.scss +1 -1
- package/styles/button/_button-protected-theme.scss +1 -1
- package/styles/button/_button-protected.scss +1 -1
- package/styles/button/_button-ripple.scss +1 -1
- package/styles/button/_button-shared-theme.scss +1 -1
- package/styles/button/_button-text-theme.scss +1 -1
- package/styles/button/_button-text.scss +1 -1
- package/styles/button/_button.mixins.scss +1 -1
- package/styles/button/_mixins.scss +1 -1
- package/styles/button/forge-button.scss +1 -1
- package/styles/button-toggle/button-toggle/_mixins.scss +1 -1
- package/styles/button-toggle/button-toggle/button-toggle.scss +1 -1
- package/styles/button-toggle/button-toggle-group/_mixins.scss +1 -1
- package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +1 -1
- package/styles/calendar/_mixins.scss +1 -1
- package/styles/calendar/_variables.scss +1 -1
- package/styles/calendar/calendar-menu/_mixins.scss +1 -1
- package/styles/calendar/calendar-menu/_variables.scss +1 -1
- package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
- package/styles/calendar/calendar.scss +1 -1
- package/styles/card/_mixins.scss +1 -1
- package/styles/card/_variables.scss +1 -1
- package/styles/card/card.scss +1 -1
- package/styles/checkbox/_checkbox-custom-properties.scss +1 -1
- package/styles/checkbox/_checkbox-theme.scss +1 -1
- package/styles/checkbox/_checkbox.mixins.scss +1 -1
- package/styles/checkbox/checkbox.scss +1 -1
- package/styles/chip-field/_base.scss +1 -1
- package/styles/chip-field/_core.scss +1 -1
- package/styles/chip-field/_mixins.scss +1 -1
- package/styles/chip-field/_selector.scss +1 -1
- package/styles/chip-field/_variables.scss +1 -1
- package/styles/chip-field/chip-field.scss +1 -1
- package/styles/chips/chip/_mixins.scss +1 -1
- package/styles/chips/chip/_variables.scss +1 -1
- package/styles/chips/chip/chip.scss +1 -1
- package/styles/chips/chip-set/_mixins.scss +1 -1
- package/styles/chips/chip-set/_variables.scss +1 -1
- package/styles/chips/chip-set/chip-set.scss +1 -1
- package/styles/circular-progress/_keyframes.scss +1 -1
- package/styles/circular-progress/_mixins.scss +1 -1
- package/styles/circular-progress/_variables.scss +1 -1
- package/styles/circular-progress/circular-progress.scss +1 -1
- package/styles/color-picker/_mixins.scss +1 -1
- package/styles/color-picker/_variables.scss +1 -1
- package/styles/color-picker/color-picker.scss +1 -1
- package/styles/date-picker/date-picker.scss +1 -1
- package/styles/date-range-picker/date-range-picker.scss +1 -1
- package/styles/dialog/_mixins.scss +1 -1
- package/styles/dialog/_variables.scss +1 -1
- package/styles/dialog/dialog.scss +1 -1
- package/styles/dialog/forge-dialog-utils.scss +1 -1
- package/styles/dialog/forge-dialog.scss +1 -1
- package/styles/divider/_mixins.scss +1 -1
- package/styles/divider/_variables.scss +1 -1
- package/styles/divider/divider.scss +1 -1
- package/styles/drawer/base/_mixins.scss +1 -1
- package/styles/drawer/base/_variables.scss +1 -1
- package/styles/drawer/drawer/_mixins.scss +1 -1
- package/styles/drawer/drawer/_variables.scss +1 -1
- package/styles/drawer/drawer/drawer.scss +1 -1
- package/styles/drawer/mini-drawer/_mixins.scss +1 -1
- package/styles/drawer/mini-drawer/_variables.scss +1 -1
- package/styles/drawer/mini-drawer/mini-drawer.scss +1 -1
- package/styles/drawer/modal-drawer/_mixins.scss +1 -1
- package/styles/drawer/modal-drawer/modal-drawer.scss +1 -1
- package/styles/expansion-panel/_mixins.scss +1 -1
- package/styles/expansion-panel/expansion-panel.scss +1 -1
- package/styles/expansion-panel/forge-expansion-panel.scss +1 -1
- package/styles/field/_base.scss +1 -1
- package/styles/field/_core.scss +1 -1
- package/styles/field/_selector.scss +1 -1
- package/styles/field/_utils.scss +1 -1
- package/styles/field/_variables.scss +1 -1
- package/styles/file-picker/_mixins.scss +1 -1
- package/styles/file-picker/_variables.scss +1 -1
- package/styles/file-picker/file-picker.scss +1 -1
- package/styles/floating-action-button/_extended-fab-theme.scss +1 -1
- package/styles/floating-action-button/_fab-custom-properties.scss +1 -1
- package/styles/floating-action-button/_fab-theme.scss +1 -1
- package/styles/floating-action-button/_fab.mixins.scss +1 -1
- package/styles/floating-action-button/forge-floating-action-button.scss +1 -1
- package/styles/floating-label/_mixins.scss +1 -1
- package/styles/floating-label/_variables.scss +1 -1
- package/styles/floating-label/forge-floating-label.scss +1 -1
- package/styles/forge-core.scss +1 -1
- package/styles/forge-dark.scss +1 -1
- package/styles/forge.scss +1 -1
- package/styles/form-field/_mixins.scss +1 -1
- package/styles/form-field/forge-form-field.scss +1 -1
- package/styles/icon/_mixins.scss +1 -1
- package/styles/icon/_variables.scss +1 -1
- package/styles/icon/icon.scss +1 -1
- package/styles/icon-button/_mixins.scss +1 -1
- package/styles/icon-button/_variables.scss +1 -1
- package/styles/icon-button/forge-icon-button.scss +1 -1
- package/styles/inline-message/_mixins.scss +1 -1
- package/styles/inline-message/_variables.scss +1 -1
- package/styles/inline-message/inline-message.scss +1 -1
- package/styles/label-value/_mixins.scss +1 -1
- package/styles/label-value/_variables.scss +1 -1
- package/styles/label-value/label-value.scss +1 -1
- package/styles/linear-progress/_mixins.scss +1 -1
- package/styles/linear-progress/_variables.scss +1 -1
- package/styles/linear-progress/linear-progress.scss +1 -1
- package/styles/list/list/_mixins.scss +1 -1
- package/styles/list/list/list.scss +1 -1
- package/styles/list/list-item/_mixins.scss +1 -1
- package/styles/list/list-item/_variables.scss +1 -1
- package/styles/list/list-item/list-item.scss +1 -1
- package/styles/menu/menu.scss +1 -1
- package/styles/open-icon/_mixins.scss +1 -1
- package/styles/open-icon/_variables.scss +1 -1
- package/styles/open-icon/open-icon.scss +1 -1
- package/styles/page-state/_mixins.scss +1 -1
- package/styles/page-state/_variables.scss +1 -1
- package/styles/page-state/page-state.scss +1 -1
- package/styles/paginator/_mixins.scss +1 -1
- package/styles/paginator/_variables.scss +1 -1
- package/styles/paginator/paginator.scss +1 -1
- package/styles/popup/_mixins.scss +1 -1
- package/styles/popup/_variables.scss +1 -1
- package/styles/popup/forge-popup.scss +1 -1
- package/styles/popup/popup.scss +1 -1
- package/styles/product-icon/_mixins.scss +1 -1
- package/styles/product-icon/_variables.scss +1 -1
- package/styles/product-icon/product-icon.scss +1 -1
- package/styles/profile-card/_mixins.scss +1 -1
- package/styles/profile-card/profile-card.scss +1 -1
- package/styles/quantity-field/_mixins.scss +1 -1
- package/styles/quantity-field/forge-quantity-field.scss +1 -1
- package/styles/quantity-field/quantity-field.scss +1 -1
- package/styles/radio/_mixins.scss +1 -1
- package/styles/radio/_radio-theme.scss +1 -1
- package/styles/radio/radio.scss +1 -1
- package/styles/ripple/forge-ripple.scss +1 -1
- package/styles/scaffold/_mixins.scss +1 -1
- package/styles/scaffold/forge-scaffold.scss +1 -1
- package/styles/scaffold/scaffold.scss +1 -1
- package/styles/select/select/_base.scss +1 -1
- package/styles/select/select/_core.scss +1 -1
- package/styles/select/select/_mixins.scss +1 -1
- package/styles/select/select/_selector.scss +1 -1
- package/styles/select/select/_variables.scss +1 -1
- package/styles/select/select/select.scss +1 -1
- package/styles/select/select-dropdown/select-dropdown.scss +1 -1
- package/styles/skeleton/_mixins.scss +1 -1
- package/styles/skeleton/_variables.scss +1 -1
- package/styles/skeleton/skeleton.scss +1 -1
- package/styles/slider/slider.scss +1 -1
- package/styles/split-view/split-view/_mixins.scss +1 -1
- package/styles/split-view/split-view/split-view.scss +1 -1
- package/styles/split-view/split-view-panel/_mixins.scss +1 -1
- package/styles/split-view/split-view-panel/_variables.scss +1 -1
- package/styles/split-view/split-view-panel/split-view-panel.scss +1 -1
- package/styles/stepper/step/_mixins.scss +1 -1
- package/styles/stepper/step/_variables.scss +1 -1
- package/styles/stepper/step/step.scss +1 -1
- package/styles/stepper/stepper/_mixins.scss +1 -1
- package/styles/stepper/stepper/stepper.scss +1 -1
- package/styles/switch/_switch-mixins.scss +1 -1
- package/styles/switch/_switch-theme.scss +1 -1
- package/styles/switch/switch.scss +1 -1
- package/styles/table/_mixins.scss +1 -1
- package/styles/table/_variables.scss +1 -1
- package/styles/table/forge-table.scss +1 -1
- package/styles/tabs/tab/_mixins.scss +1 -1
- package/styles/tabs/tab/_variables.scss +1 -1
- package/styles/tabs/tab/tab.scss +1 -1
- package/styles/tabs/tab-bar/_mixins.scss +1 -1
- package/styles/tabs/tab-bar/tab-bar.scss +1 -1
- package/styles/text-field/_base.scss +1 -1
- package/styles/text-field/_core.scss +1 -1
- package/styles/text-field/_mixins.scss +1 -1
- package/styles/text-field/_selector.scss +1 -1
- package/styles/text-field/_variables.scss +1 -1
- package/styles/text-field/text-field.scss +1 -1
- package/styles/theme/_custom-properties.scss +1 -1
- package/styles/theme/_icon-mixins.scss +1 -1
- package/styles/theme/_index.scss +1 -1
- package/styles/theme/_keys.scss +1 -1
- package/styles/theme/_theme-dark.scss +1 -1
- package/styles/theme/_theme-utils.scss +1 -1
- package/styles/theme/_theme-values.scss +1 -1
- package/styles/theme/_theme.scss +1 -1
- package/styles/theme/forge-material-icons.scss +1 -1
- package/styles/theme/forge-theme.scss +1 -1
- package/styles/time-picker/time-picker.scss +1 -1
- package/styles/toast/_mixins.scss +1 -1
- package/styles/toast/_variables.scss +1 -1
- package/styles/toast/toast.scss +1 -1
- package/styles/toolbar/_mixins.scss +1 -1
- package/styles/toolbar/_variables.scss +2 -2
- package/styles/toolbar/toolbar.scss +1 -1
- package/styles/tooltip/_mixins.scss +1 -1
- package/styles/tooltip/_variables.scss +1 -1
- package/styles/tooltip/forge-tooltip.scss +1 -1
- package/styles/typography/_index.scss +1 -1
- package/styles/typography/_mixins.scss +1 -1
- package/styles/typography/_variables.scss +1 -1
- package/styles/typography/forge-form.scss +1 -1
- package/styles/typography/forge-typography.scss +1 -1
- package/styles/utils/_functions-grid.scss +1 -1
- package/styles/utils/_mixins-animation.scss +1 -1
- package/styles/utils/_mixins-core.scss +1 -1
- package/styles/utils/_mixins-flex.scss +1 -1
- package/styles/utils/_mixins-grid.scss +1 -1
- package/styles/utils/_mixins-media.scss +1 -1
- package/styles/utils/_mixins.scss +1 -1
- package/styles/utils/_variables-flex.scss +1 -1
- package/styles/utils/_variables-grid.scss +1 -1
- package/styles/utils/_variables-media.scss +1 -1
- package/styles/utils/forge-flex.scss +1 -1
- package/styles/utils/forge-grid.scss +1 -1
- package/styles/utils/forge-utils.scss +1 -1
- package/styles/view-switcher/_mixins.scss +1 -1
- package/styles/view-switcher/_variables.scss +1 -1
- package/styles/view-switcher/view/view.scss +1 -1
- package/styles/view-switcher/view-switcher.scss +1 -1
- package/dist/esm/chunks/chunk.2SAHWDGJ.js +0 -7
- package/dist/esm/chunks/chunk.33Q5FK2H.js +0 -7
- package/dist/esm/chunks/chunk.35U4OX7S.js +0 -7
- package/dist/esm/chunks/chunk.3E5QKMHL.js +0 -7
- package/dist/esm/chunks/chunk.3E5QKMHL.js.map +0 -7
- package/dist/esm/chunks/chunk.3UMBCR4P.js +0 -7
- package/dist/esm/chunks/chunk.444GNOS4.js +0 -7
- package/dist/esm/chunks/chunk.4KBQ5AJJ.js +0 -7
- package/dist/esm/chunks/chunk.54QFNVMG.js +0 -7
- package/dist/esm/chunks/chunk.5K5SIZRX.js +0 -7
- package/dist/esm/chunks/chunk.5WMEFHVN.js +0 -7
- package/dist/esm/chunks/chunk.5XQVZQ4U.js +0 -7
- package/dist/esm/chunks/chunk.75KFBRF6.js.map +0 -7
- package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
- package/dist/esm/chunks/chunk.7O7V3N4A.js +0 -7
- package/dist/esm/chunks/chunk.7ZS4N2FT.js +0 -8
- package/dist/esm/chunks/chunk.7ZS4N2FT.js.map +0 -7
- package/dist/esm/chunks/chunk.APGFXXJ7.js +0 -7
- package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
- package/dist/esm/chunks/chunk.BCUBTR5O.js +0 -7
- package/dist/esm/chunks/chunk.BFNAQQCU.js +0 -7
- package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
- package/dist/esm/chunks/chunk.BX7242PC.js +0 -7
- package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
- package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
- package/dist/esm/chunks/chunk.DQBSFX46.js +0 -7
- package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
- package/dist/esm/chunks/chunk.FPV4XEUK.js +0 -7
- package/dist/esm/chunks/chunk.G77PXLAU.js +0 -7
- package/dist/esm/chunks/chunk.HN4PXH3D.js +0 -7
- package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
- package/dist/esm/chunks/chunk.I2YRKTG7.js +0 -7
- package/dist/esm/chunks/chunk.IFZXG3LI.js +0 -7
- package/dist/esm/chunks/chunk.IJIKFXUT.js +0 -7
- package/dist/esm/chunks/chunk.IMK2LFWR.js.map +0 -7
- package/dist/esm/chunks/chunk.J2ODMCFS.js +0 -7
- package/dist/esm/chunks/chunk.J6CIWTDH.js +0 -7
- package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
- package/dist/esm/chunks/chunk.K43ZNKT2.js +0 -7
- package/dist/esm/chunks/chunk.K753A3KI.js +0 -29
- package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
- package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
- package/dist/esm/chunks/chunk.LMOYZQZJ.js +0 -7
- package/dist/esm/chunks/chunk.LMOYZQZJ.js.map +0 -7
- package/dist/esm/chunks/chunk.MGTNCCW3.js +0 -7
- package/dist/esm/chunks/chunk.MNBJMPJ6.js +0 -7
- package/dist/esm/chunks/chunk.NGIBMR3Q.js +0 -7
- package/dist/esm/chunks/chunk.NNGE722W.js +0 -7
- package/dist/esm/chunks/chunk.NNGE722W.js.map +0 -7
- package/dist/esm/chunks/chunk.O2XO3IRX.js +0 -7
- package/dist/esm/chunks/chunk.O2XO3IRX.js.map +0 -7
- package/dist/esm/chunks/chunk.O3G6ZLJN.js +0 -7
- package/dist/esm/chunks/chunk.OAKTW64X.js +0 -7
- package/dist/esm/chunks/chunk.OAKTW64X.js.map +0 -7
- package/dist/esm/chunks/chunk.OG2BI3UW.js +0 -7
- package/dist/esm/chunks/chunk.ON3JVSSR.js +0 -12
- package/dist/esm/chunks/chunk.OOBE3XRM.js +0 -29
- package/dist/esm/chunks/chunk.OUEF6VQ6.js +0 -7
- package/dist/esm/chunks/chunk.P6B3UWJ5.js +0 -7
- package/dist/esm/chunks/chunk.PFD2SVJ4.js +0 -7
- package/dist/esm/chunks/chunk.Q6L7T6OJ.js +0 -7
- package/dist/esm/chunks/chunk.QJPH24V4.js +0 -7
- package/dist/esm/chunks/chunk.QXLPBYMX.js +0 -7
- package/dist/esm/chunks/chunk.QXLPBYMX.js.map +0 -7
- package/dist/esm/chunks/chunk.RGWUF3J2.js +0 -7
- package/dist/esm/chunks/chunk.RKKJB3EE.js +0 -7
- package/dist/esm/chunks/chunk.RKKJB3EE.js.map +0 -7
- package/dist/esm/chunks/chunk.RPPBBBYG.js +0 -7
- package/dist/esm/chunks/chunk.RST65QIB.js +0 -7
- package/dist/esm/chunks/chunk.SJSLC6XF.js +0 -7
- package/dist/esm/chunks/chunk.SJSLC6XF.js.map +0 -7
- package/dist/esm/chunks/chunk.T7ZJDAXV.js +0 -29
- package/dist/esm/chunks/chunk.TLHI6K2R.js +0 -7
- package/dist/esm/chunks/chunk.TR64DV3G.js +0 -7
- package/dist/esm/chunks/chunk.TR64DV3G.js.map +0 -7
- package/dist/esm/chunks/chunk.VMWS5OOZ.js +0 -7
- package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
- package/dist/esm/chunks/chunk.WV45FGTW.js +0 -7
- package/dist/esm/chunks/chunk.X77WVI2H.js +0 -7
- package/dist/esm/chunks/chunk.X77WVI2H.js.map +0 -7
- package/dist/esm/chunks/chunk.XXA6KNXT.js +0 -7
- package/dist/esm/chunks/chunk.XYBFFTXS.js +0 -29
- package/dist/esm/chunks/chunk.Y6MPWPZU.js +0 -7
- package/dist/esm/chunks/chunk.Y7Q6QI5V.js +0 -7
- package/dist/esm/chunks/chunk.YAJT3P6V.js +0 -7
- package/dist/esm/chunks/chunk.YHHIPP2F.js +0 -7
- package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
- package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${COMPONENT_NAME_PREFIX}menu__toggle, [${elementName}-toggle], button, [type=button]`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: string;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('blur', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n // If escape is pressed while other menus are open then we need to close everything\n if (evt.code === 'Escape') {\n evt.preventDefault();\n this._adapter.closeOtherChildMenus();\n this._closeDropdown();\n return;\n }\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown();\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n if (!this._open) {\n return;\n }\n\n evt.stopImmediatePropagation();\n evt.preventDefault();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu(): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n activeStartIndex: this._mode === 'cascade' ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown(): void {\n this._openMenu();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._foundation.initialize();\n } else {\n ensureChildren(this).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public placement: `${PopupPlacement}`;\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public mode: MenuMode;\n\n /** Sets the position adustment on the internal popup element. */\n @FoundationProperty()\n public popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${COMPONENT_NAME_PREFIX}menu__toggle, [${elementName}-toggle], button, [type=button]`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: string;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('blur', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n // If escape is pressed while other menus are open then we need to close everything\n if (evt.code === 'Escape') {\n evt.preventDefault();\n this._adapter.closeOtherChildMenus();\n this._closeDropdown();\n return;\n }\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown();\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n if (!this._open) {\n return;\n }\n\n evt.stopImmediatePropagation();\n evt.preventDefault();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu(): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n activeStartIndex: this._mode === 'cascade' ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown(): void {\n this._openMenu();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n // The typical JSON.parse(JSON.stringify(object)) will not work here. If this becomes an issue we'll add a deepClone\n // function to the core library.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChildren, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.children.length) {\n this._foundation.initialize();\n } else {\n ensureChildren(this).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
|
|
5
|
+
"mappings": "wsBAGA,GAAM,GAA2C,GAAG,QAE9C,EAAU,CACd,MAAO,oBACP,KAAM,UACR,EAEM,EAAY,CAChB,OAAQ,IAAI,mBAAuC,mCACnD,UAAW,YACb,EAEM,EAAa,CACjB,KAAM,OACN,UAAW,YACX,eAAgB,iBAChB,eAAgB,iBAChB,MAAO,QACP,WAAY,aACZ,kBAAmB,oBACnB,KAAM,OACN,iBAAkB,mBAClB,cAAe,gBACf,aAAc,eACd,eAAgB,iBAChB,yBAA0B,0BAC5B,EAEM,EAAS,CACb,OAAQ,GAAG,WACX,KAAM,GAAG,SACT,MAAO,GAAG,UACV,cAAe,GAAG,iBACpB,EAEM,EAAU,CACd,0BAA2B,IAC3B,0BAA2B,GAC7B,EAEa,EAAiB,CAC5B,cACA,UACA,YACA,aACA,SACA,SACF,ECjBO,GAAM,GAAN,aAA0B,EAAoD,CAKnF,YAAY,EAA2B,CACrC,MAAM,CAAS,EAHjB,KAAQ,YAAc,GAAI,IAI1B,CAEA,AAAO,oBAAyC,CA1ClD,QA2CI,MAAO,WAAK,gBAAL,cAAoB,kBAApB,OAAuC,IAChD,CAEA,AAAO,kBAA4B,CACjC,MAAO,CAAC,CAAC,KAAK,cAChB,CAEA,AAAO,kBAAyB,CAC9B,KAAK,eAAiB,KAAK,WAAW,cAAc,EAAe,UAAU,MAAM,EAC9E,KAAK,gBACR,MAAK,eAAiB,KAAK,WAAW,kBAE1C,CAEA,AAAO,wBAAwB,EAAkB,CAC/C,AAAI,CAAC,KAAK,gBAIV,MAAK,eAAe,aAAa,cAAe,MAAM,EACtD,KAAK,eAAe,aAAa,YAAa,WAAW,EACzD,KAAK,eAAe,aAAa,gBAAiB,MAAM,EACxD,KAAK,eAAe,aAAa,gBAAiB,OAAO,EAEpD,KAAK,eAAe,aAAa,YAAY,GAChD,KAAK,eAAe,aAAa,aAAc,KAAK,eAAe,aAAe,EAAE,EAExF,CAEA,AAAO,kBAAkB,EAAe,EAAkC,EAAU,GAAa,CAC/F,AAAI,KAAK,gBACP,KAAK,eAAe,iBAAiB,EAAO,EAAU,CAAO,CAEjE,CAEA,AAAO,qBAAqB,EAAe,EAAwC,CACjF,AAAI,KAAK,gBACP,KAAK,eAAe,oBAAoB,EAAO,CAAQ,CAE3D,CAEA,AAAO,WAAW,EAAmC,CACnD,AAAI,KAAK,eAAiB,CAAC,KAAK,gBAGhC,MAAK,cAAgB,GAAI,GAAa,KAAK,eAA+B,CAAM,EAChF,KAAK,cAAc,KAAK,EACxB,KAAK,eAAe,aAAa,gBAAiB,MAAM,EACxD,KAAK,eAAe,aAAa,gBAAiB,uBAAuB,EAAO,IAAI,EACtF,CAEA,AAAO,WAAW,EAA8B,CAC9C,AAAI,KAAK,eACP,KAAK,cAAc,WAAW,CAAO,CAEzC,CAEA,AAAO,YAAmB,CACxB,AAAI,KAAK,gBACP,MAAK,eAAe,gBAAgB,uBAAuB,EAC3D,KAAK,eAAe,gBAAgB,eAAe,EACnD,KAAK,eAAe,gBAAgB,eAAe,GAGjD,KAAK,eACP,MAAK,cAAc,MAAM,EACzB,KAAK,cAAc,QAAQ,EAC3B,KAAK,cAAgB,OAEzB,CAEA,AAAO,gBAAgB,EAAqB,CAlH9C,MAmHI,QAAK,gBAAL,QAAoB,eAAe,EACrC,CAEA,AAAO,qBAA4B,CAtHrC,MAuHI,QAAK,gBAAL,QAAoB,qBACtB,CAEA,AAAO,sBAA+B,CA1HxC,QA2HI,MAAO,WAAK,gBAAL,cAAoB,yBAApB,OAA8C,EACvD,CAEA,AAAO,aAAoB,CACzB,AAAI,KAAK,gBACP,KAAK,eAAe,MAAM,CAE9B,CAEA,AAAO,iBAA2B,CAChC,MAAO,UAAS,gBAAkB,KAAK,cACzC,CAEA,AAAO,uBAAuB,EAAkB,CAC9C,AAAI,CAAC,KAAK,gBAGV,CAAI,EACF,KAAK,eAAe,aAAa,wBAAyB,CAAE,EAE5D,KAAK,eAAe,gBAAgB,uBAAuB,EAE/D,CAEA,AAAO,oBAAoB,EAAc,EAAoC,CAC3E,AAAI,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,iBAG/C,KAAK,cAAc,gBAAgB,iBAAiB,EAAM,CAAQ,CACpE,CAEA,AAAO,aAAa,EAAsB,CACxC,MAAI,CAAC,KAAK,gBAAkB,CAAC,KAAK,eAAiB,CAAC,KAAK,cAAc,gBAC9D,GAEF,KAAK,eAAe,SAAS,CAAE,GAAK,CAAC,CAAC,KAAK,cAAc,gBAAgB,SAAS,CAAE,CAC7F,CAEA,AAAO,aAAa,EAAmB,CAjKzC,MAkKI,QAAK,gBAAL,QAAoB,UAAU,EAChC,CAEA,AAAO,0BAA0B,EAAoB,EAAkB,CACrE,GAAI,CAAC,KAAK,mBAAmB,EAC3B,OAEF,GAAM,GAAW,KAAK,kBAAkB,CAAE,EAC1C,AAAI,GACF,EAAS,kBAAkB,CAAG,CAElC,CAEA,AAAO,gBAAgB,EAAe,EAAsB,CAG1D,GAAM,GAAY,AADD,AADC,KAAK,cAAc,EACV,GACA,cAC3B,AAAI,GAAa,EAAU,QAAQ,YAAY,IAAM,EAAe,aAClE,CAAI,IAAS,OACX,EAAU,KAAO,CAAC,EAAU,KAE5B,EAAU,KAAO,EAGvB,CAEA,AAAO,gBAAgB,EAAe,EAAkB,EAAiC,EAAkC,EAAgE,CACzL,GAAM,GAAO,SAAS,cAAc,YAAY,EAChD,SAAK,MAAM,QAAU,QAGrB,EAAK,iBAAiB,EAAe,OAAO,KAAM,IAAM,CACtD,KAAK,YAAY,IAAI,EAAO,CAAI,EAChC,EAAO,CAAK,CACd,CAAC,EACD,EAAK,iBAAiB,EAAe,OAAO,MAAO,IAAM,CACvD,KAAK,YAAY,OAAO,CAAK,EAC7B,EAAQ,CAAK,CACf,CAAC,EACD,EAAK,iBAAiB,EAAe,OAAO,OAAQ,AAAC,GAA2C,CAC9F,EAAI,gBAAgB,EACpB,EAAS,OAAK,EAAI,QAAT,CAAiB,aAAY,EAAC,CACzC,CAAC,EAEM,CACT,CAEA,AAAO,qBAAqB,EAA6B,CACvD,GAAM,GAA0B,CAAC,EACjC,KAAK,YAAY,QAAQ,CAAC,EAAM,IAAU,CACxC,AAAI,IAAU,GACZ,GAAK,KAAO,GACZ,EAAc,KAAK,CAAK,EAE5B,CAAC,EACD,EAAc,QAAQ,GAAS,KAAK,YAAY,OAAO,CAAK,CAAC,CAC/D,CAEA,AAAO,kBAAkB,EAAqB,CA5NhD,MA6NI,QAAK,gBAAL,QAAoB,kBAAkB,EACxC,CAEA,AAAQ,kBAAkB,EAAmC,CAC3D,GAAI,CAAC,KAAK,mBAAmB,EAC3B,MAAO,MAET,GAAM,GAAO,KAAK,YAAY,CAAE,EAChC,MAAO,GAAO,EAAK,cAAc,GAAG,EAAe,eAAe,EAAe,WAAW,OAAO,EAAI,IACzG,CAEA,AAAQ,YAAY,EAAmC,CACrD,GAAM,GAAQ,KAAK,mBAAmB,EACtC,MAAK,GAGE,EAAM,cAAc,GAAG,EAAe,sCAAsC,KAAM,EAFhF,IAGX,CAEA,AAAQ,eAAsC,CAC5C,GAAM,GAAQ,KAAK,mBAAmB,EACtC,GAAI,CAAC,EACH,MAAO,CAAC,EAEV,GAAM,GAAc,EAAM,cAAc,EAAe,WAAW,EAClE,MAAI,GACK,MAAM,KAAK,EAAY,iBAAiB,EAAoB,WAAW,CAAC,EAE1E,CAAC,CACV,CACF,EChOO,GAAM,GAAN,aAA6B,EAAgG,CAiBlI,YAAoB,EAAwB,CAC1C,MAAM,CACJ,aAAc,EAAe,QAAQ,0BACrC,cAAe,EAAe,QAAQ,yBACxC,CAAC,EAJiB,gBAfpB,KAAQ,WAA6B,eACrC,KAAQ,OAAS,GAEjB,KAAQ,WAAa,EACrB,KAAQ,kBAAoB,GAC5B,KAAQ,MAAkB,QAexB,KAAK,YAAc,EAAY,EAC/B,KAAK,eAAiB,GAAO,KAAK,eAAe,CAAG,EACpD,KAAK,cAAgB,GAAO,KAAK,cAAc,CAAG,EAClD,KAAK,gBAAkB,GAAS,KAAK,mBAAmB,CAAK,EAC7D,KAAK,iBAAmB,GAAO,KAAK,UAAU,CAAG,EACjD,KAAK,sBAAwB,GAAM,KAAK,uBAAuB,CAAE,CACnE,CAEA,AAAO,YAAmB,CACxB,KAAK,SAAS,iBAAiB,EAC/B,KAAK,SAAS,wBAAwB,KAAK,WAAW,EACtD,KAAK,gCAAgC,CACvC,CAEA,AAAO,YAAmB,CACxB,AAAI,KAAK,OACP,KAAK,eAAe,EAEtB,KAAK,6BAA6B,CACpC,CAEA,AAAQ,YAAmB,CACzB,AAAI,CAAC,KAAK,SAAS,iBAAiB,GAIpC,CAAI,KAAK,QAAU,UACjB,KAAK,SAAS,kBAAkB,QAAS,KAAK,cAAc,EAE5D,KAAK,0BAA0B,EAEnC,CAEA,AAAQ,iCAAwC,CAC9C,AAAI,CAAC,KAAK,SAAS,iBAAiB,GAGpC,MAAK,WAAW,EAChB,KAAK,SAAS,kBAAkB,UAAW,KAAK,iBAAkB,EAAI,EACtE,KAAK,SAAS,kBAAkB,OAAQ,KAAK,aAAa,EAC5D,CAEA,AAAQ,8BAAqC,CAC3C,AAAI,CAAC,KAAK,SAAS,iBAAiB,GAGpC,MAAK,SAAS,qBAAqB,UAAW,KAAK,cAAc,EACjE,KAAK,SAAS,qBAAqB,OAAQ,KAAK,aAAa,EAC7D,KAAK,SAAS,qBAAqB,QAAS,KAAK,cAAc,EAC/D,KAAK,0BAA0B,EACjC,CAEA,AAAU,2BAAkC,CAC1C,KAAK,SAAS,kBAAkB,aAAc,KAAK,yBAAyB,EAC5E,KAAK,SAAS,kBAAkB,aAAc,KAAK,yBAAyB,EAI5E,KAAK,SAAS,oBAAoB,YAAa,KAAK,0BAA0B,CAChF,CAEA,AAAU,2BAAkC,CAC1C,KAAK,SAAS,qBAAqB,aAAc,KAAK,yBAAyB,EAC/E,KAAK,SAAS,qBAAqB,aAAc,KAAK,yBAAyB,EAC/E,KAAK,SAAS,uBAAuB,YAAa,KAAK,0BAA0B,CACnF,CAEA,GAAY,qBAAoC,CAC9C,MAAO,MAAK,aAAa,OAAO,GAAK,CAAC,EAAE,OAAO,CACjD,CAEA,GAAY,eAA8B,CACxC,MAAI,GAAyB,KAAK,SAAU,CAA4B,EAC9D,KAAK,SAAgC,OAAO,CAAC,EAAe,IAAiB,EAAc,OAAO,EAAa,OAAO,EAAG,CAAC,CAAkB,EAE/I,KAAK,QACd,CAEA,AAAQ,eAAe,EAAuB,CAC5C,GAAI,KAAK,MAAO,CACd,KAAK,eAAe,EACpB,MACF,CACA,KAAK,KAAO,CAAC,KAAK,MACd,KAAK,OACP,KAAK,SAAS,YAAY,CAE9B,CAEA,AAAQ,cAAc,EAAkB,CACtC,AAAI,KAAK,OACP,KAAK,eAAe,CAExB,CAEA,AAAQ,uBAAuB,EAAkB,CAE/C,GAAM,GAAmC,CAAE,IAAG,EACxC,EAAyB,KAAK,SAAS,cAAc,EAAe,OAAO,cAAe,EAAM,GAAM,EAAI,EAChH,AAAI,KAAK,QAAU,WAAa,GAC9B,KAAK,SAAS,uBAAuB,CAAE,CAE3C,CAEA,AAAO,UAAU,EAA0B,CAEzC,GAAI,KAAK,WAAY,CAEnB,GAAI,EAAI,OAAS,SAAU,CACzB,EAAI,eAAe,EACnB,KAAK,SAAS,qBAAqB,EACnC,KAAK,eAAe,EACpB,MACF,CACA,KAAK,SAAS,0BAA0B,EAAK,KAAK,WAAW,EAC7D,MACF,CAEA,OAAQ,EAAI,UACL,MACH,AAAI,KAAK,OACP,KAAK,oBAAoB,EAE3B,UACG,SACH,AAAI,KAAK,OACP,GAAI,eAAe,EACnB,KAAK,eAAe,GAEtB,UACG,QACH,EAAI,eAAe,EAEnB,AAAI,KAAK,MACP,KAAK,eAAe,EAEpB,KAAK,cAAc,EAErB,UACG,WACA,MACH,AAAI,KAAK,OACP,GAAI,eAAe,EACnB,KAAK,SAAS,aAAa,EAAI,IAAI,GAErC,UACG,QACH,GAAI,CAAC,KAAK,MACR,OAGF,EAAI,yBAAyB,EAC7B,EAAI,eAAe,EAEnB,KAAK,SAAS,aAAa,EAAI,IAAI,EAGnC,GAAM,GAAc,KAAK,SAAS,qBAAqB,EACjD,EAAe,KAAK,mBAAmB,GAC7C,AAAI,GAAgB,EAAa,SAAW,EAAa,QAAQ,QAC/D,KAAK,SAAS,gBAAgB,CAAW,EAE3C,UACG,cACA,YAOH,GANI,KAAK,OACP,EAAI,yBAAyB,EAG/B,EAAI,eAAe,EAEf,CAAC,KAAK,OAAS,EAAI,OAAS,YAAa,CAC3C,KAAK,cAAc,EACnB,KAAK,SAAS,oBAAoB,EAClC,MACF,CAEA,KAAK,SAAS,aAAa,EAAI,IAAI,EACnC,UACG,YACH,AAAI,KAAK,OACP,EAAI,yBAAyB,EAE3B,KAAK,QAAU,WAAa,KAAK,OACnC,KAAK,eAAe,EAEtB,UACG,aAIH,GAHI,KAAK,OACP,EAAI,yBAAyB,EAE3B,CAAC,KAAK,MACR,OAEF,GAAM,GAAe,KAAK,SAAS,qBAAqB,EAClD,EAAgB,KAAK,mBAAmB,GAC9C,GAAI,GAAiB,EAAc,QAAS,CAC1C,KAAK,SAAS,gBAAgB,EAAc,EAAI,OAAS,YAAY,EACrE,MACF,CACA,MAEN,CAEA,KAAc,YAA2B,CACvC,KAAK,MAAQ,GACb,GAAI,GAAyB,CAAC,EAE9B,GAAI,MAAO,MAAK,iBAAoB,WAClC,KAAK,kBAAkB,EACvB,KAAK,SAAW,CAAC,MACZ,CACL,GAAI,CAAC,KAAK,UAAY,CAAC,KAAK,SAAS,OACnC,OAEF,EAAU,KAAK,QACjB,CAEA,AAAK,KAAK,mBACR,EAAQ,QAAQ,GAAK,EAAE,SAAW,EAAK,EAGzC,KAAK,sBAAsB,EAE3B,GAAM,GAAiB,KAAK,kBAAoB,KAAK,mBAAmB,EAAI,CAAC,EAEvE,EAA8B,CAClC,GAAI,KAAK,YACT,KAAM,OACN,QAAS,KAAK,SACd,iBACA,UAAW,KAAK,WAChB,MAAO,KAAK,OACZ,SAAU,GACV,YAAa,GACb,UAAW,GACX,WAAY,UACZ,cAAe,KAAK,eACpB,YAAa,KAAK,aAClB,cAAe,KAAK,oBACpB,cAAe,KAAK,oBACpB,cAAe,KAAK,eACpB,uBAAwB,KAAK,wBAC7B,eAAgB,KAAK,WACrB,iBAAkB,KAAK,QAAU,UAAY,EAAI,OACjD,aAAc,CACZ,EAAe,QAAQ,MACvB,EAAe,QAAQ,KACvB,GAAG,KAAK,aACV,EACA,UAAW,KAAK,gBAChB,qBAAsB,KAAK,sBAC3B,eAAgB,KAAK,gBACrB,YAAa,KAAK,aAClB,wBAAyB,GAAU,KAAK,wBAAwB,CAAM,CACxE,EAEA,KAAK,SAAS,iBAAiB,EAAe,WAAW,KAAM,EAAE,EACjE,KAAK,SAAS,WAAW,CAAM,EAG3B,KAAK,QAAU,WACjB,MAAK,SAAS,oBAAoB,aAAc,KAAK,6BAA6B,EAClF,KAAK,SAAS,oBAAoB,aAAc,KAAK,6BAA6B,GAGpF,KAAK,SAAS,oBAAoB,EAAe,OAAO,cAAe,AAAC,GAAiD,CACvH,KAAK,uBAAuB,EAAI,OAAO,EAAE,CAC3C,CAAC,EACD,KAAK,SAAS,cAAc,EAAe,OAAO,IAAI,CACxD,CAEA,AAAQ,YAAmB,CACzB,KAAK,MAAQ,GACb,KAAK,WAAa,GAClB,KAAK,SAAS,WAAW,EAErB,KAAK,2BAA6B,QACpC,OAAO,aAAa,KAAK,wBAAwB,EAGnD,KAAK,SAAS,oBAAoB,EAAe,WAAW,IAAI,EAChE,KAAK,SAAS,cAAc,EAAe,OAAO,KAAK,CACzD,CAEA,AAAQ,mBAAmC,CACzC,MAAK,MAAK,gBAOH,QAAQ,QAAQ,KAAK,gBAAgB,CAAC,EAC1C,KAAK,GAAW,CAKf,GAJK,KAAK,mBACR,EAAQ,QAAQ,GAAK,EAAE,SAAW,EAAK,EAGrC,KAAK,MACP,GAAI,GAAW,EAAQ,CAAO,GAAK,EAAQ,OAAQ,CACjD,KAAK,SAAW,EAChB,KAAK,SAAS,WAAW,CAAO,EAChC,GAAM,GAAiB,KAAK,mBAAmB,EAC/C,AAAI,EAAe,QACjB,KAAK,SAAS,kBAAkB,CAAc,CAElD,KAAO,AAAI,MAAK,OACd,KAAK,eAAe,CAG1B,CAAC,EACA,MAAM,GAAK,CACV,QAAQ,MAAM,sDAAuD,CAAC,EAClE,KAAK,OACP,KAAK,eAAe,CAExB,CAAC,EA9BG,MAAK,OACP,KAAK,WAAW,EAEX,QAAQ,QAAQ,EA4B3B,CAEA,AAAQ,mBAAmB,EAAkB,CAC3C,GAAM,GAAQ,KAAK,mBAAmB,UAAU,GAAK,EAAE,QAAU,CAAK,EACtE,AAAI,EAAQ,GAGZ,KAAK,qBAAqB,CAAK,CACjC,CAEA,AAAQ,qBAA4B,CAClC,GAAM,GAAQ,KAAK,SAAS,qBAAqB,EACjD,AAAI,GAAS,GAAK,KAAK,mBAAmB,IACxC,KAAK,qBAAqB,CAAK,CAEnC,CAEA,AAAQ,qBAAqB,EAAqB,CAChD,GAAM,CAAE,UAAS,SAAU,KAAK,mBAAmB,GAGnD,GAAI,EAAS,CACX,KAAK,SAAS,gBAAgB,CAAK,EACnC,MACF,CAEA,KAAK,eAAe,EAEpB,GAAM,GAA6B,CAAE,QAAO,OAAM,EAElD,AAAK,AADe,CAAC,KAAK,SAAS,cAAc,EAAe,OAAO,OAAQ,EAAM,GAAM,EAAI,GAE7F,MAAK,eAAiB,KAAK,kBAAoB,EAAQ,OAE3D,CAEA,AAAQ,oBAA4B,CAClC,GAAM,GAAS,KAAK,aAAa,OAAO,GAAK,EAAE,QAAQ,EAAE,IAAI,GAAK,EAAE,KAAK,EACzE,MAAI,MAAK,iBAAmB,QAC1B,EAAO,KAAK,KAAK,cAAc,EAE1B,CACT,CAGA,AAAU,2BAA2B,EAAkC,CACrE,AAAI,KAAK,mBACP,MAAK,eAAiB,EAAK,OAE7B,KAAK,SAAS,cAAc,EAAe,OAAO,OAAQ,CAAI,EAC9D,KAAK,eAAe,CACtB,CAGA,AAAU,sBAAsB,EAAqB,CACnD,MAAM,wBAAwB,EAC9B,KAAK,SAAS,qBAAqB,CAAK,EACxC,KAAK,WAAa,GAClB,KAAK,SAAS,gBAAgB,CAAK,CACrC,CAGA,AAAU,wBAA+B,CACvC,KAAK,WAAa,EACpB,CAEA,AAAU,gBAAuB,CAC/B,KAAK,WAAW,CAClB,CAEA,AAAU,eAAsB,CAC9B,KAAK,UAAU,CACjB,CAEA,AAAU,cAAc,EAA2B,CACjD,MAAO,MAAK,SAAS,aAAa,CAAO,CAC3C,CAEA,AAAQ,wBAAwB,CAAE,QAAO,UAAS,eAAwE,CACxH,GAAM,GAAO,KAAK,SAAS,gBACzB,EACA,EACA,KAAK,sBAAsB,KAAK,IAAI,EACpC,KAAK,uBAAuB,KAAK,IAAI,EACrC,KAAK,2BAA2B,KAAK,IAAI,CAC3C,EACA,SAAK,KAAO,UACZ,EAAK,YAAc,CAAE,EAAG,EAAG,EAAG,EAAG,EACjC,EAAK,MAAQ,KAAK,OAClB,EAAK,UAAY,cACjB,EAAK,iBAAmB,KAAK,kBACzB,KAAK,mBACP,GAAK,cAAgB,KAAK,gBAE5B,EAAK,QAAU,EACf,EAAK,cAAgB,KAAK,eAC1B,EAAK,UAAY,KAAK,WAEf,CACT,CAEA,AAAQ,uBAA8B,CAEpC,KAAK,aAAa,OAAO,GAAK,EAAE,IAAI,EAAE,QAAQ,GAAK,EAAE,YAAc,EAAE,IAAI,CAC3E,CAEA,GAAW,OAAgB,CACzB,MAAO,MAAK,KACd,CACA,GAAW,MAAK,EAAgB,CAC9B,EAAQ,QAAQ,CAAK,EACjB,KAAK,QAAU,GACjB,MAAK,MAAQ,EACb,AAAI,EACF,KAAK,cAAc,EAEnB,KAAK,eAAe,EAG1B,CAEA,GAAW,SAAQ,EAAwB,CACzC,GAAI,MAAO,IAAY,WACrB,KAAK,eAAiB,UAEtB,KAAK,eAAiB,OAItB,KAAK,SAAW,EAAQ,IAAI,GAAM,KAAK,EAAI,EAEvC,KAAK,OACP,MAAK,sBAAsB,EAC3B,KAAK,SAAS,WAAW,KAAK,QAAyB,EACnD,KAAK,mBAAmB,CAC1B,GAAM,GAAiB,KAAK,mBAAmB,EAC/C,AAAI,EAAe,QACjB,KAAK,SAAS,kBAAkB,CAAc,CAElD,CAGN,CACA,GAAW,UAAyB,CAClC,MAAK,MAAK,SAOH,KAAK,aAAa,IAAI,GAAM,KAAK,EAAI,EANnC,CAAC,CAOZ,CAEA,GAAW,gBAAe,EAAwC,CAChE,KAAK,gBAAkB,CACzB,CAEA,GAAW,eAAc,EAAe,CACtC,GAAM,GAAS,KAAK,mBAAmB,GACvC,AAAI,GAAU,EAAO,QAAU,KAAK,gBAClC,MAAK,cAAgB,EAAO,MAEhC,CACA,GAAW,gBAAwB,CACjC,MAAO,MAAK,iBAAmB,OAAY,KAAK,mBAAmB,UAAU,GAAK,EAAE,QAAU,KAAK,cAAc,EAAI,EACvH,CAEA,GAAW,eAAc,EAAY,CACnC,AAAI,KAAK,iBAAmB,GAC1B,MAAK,eAAiB,EACtB,KAAK,SAAS,kBAAkB,KAAK,cAAc,EAEvD,CACA,GAAW,gBAAqB,CAC9B,MAAO,MAAK,cACd,CAEA,GAAW,YAA4B,CACrC,MAAO,MAAK,UACd,CACA,GAAW,WAAU,EAAuB,CAC1C,AAAI,KAAK,aAAe,GACtB,MAAK,WAAa,GAAS,eAC3B,KAAK,SAAS,iBAAiB,EAAe,WAAW,UAAW,KAAK,UAAU,EAEvF,CAEA,GAAW,QAAiB,CAC1B,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAgB,CAC/B,KAAK,OAAS,CAChB,CAEA,GAAW,YAAoB,CAC7B,MAAO,MAAK,UACd,CACA,GAAW,WAAU,EAAe,CAClC,KAAK,WAAa,CACpB,CAEA,GAAW,mBAA4B,CACrC,MAAO,MAAK,iBACd,CACA,GAAW,kBAAiB,EAAgB,CAC1C,AAAI,KAAK,oBAAsB,GAI/B,MAAK,kBAAoB,EACzB,KAAK,SAAS,oBAAoB,EAAe,WAAW,kBAAmB,KAAK,iBAAiB,EAEhG,KAAK,mBACR,MAAK,aAAa,QAAQ,GAAK,EAAE,SAAW,EAAK,EACjD,KAAK,eAAiB,QAE1B,CAEA,GAAW,OAAiB,CAC1B,MAAO,MAAK,KACd,CACA,GAAW,MAAK,EAAiB,CAC/B,AAAI,KAAK,QAAU,GACjB,MAAK,MAAQ,EACb,KAAK,6BAA6B,EAClC,KAAK,WAAW,EAChB,KAAK,SAAS,iBAAiB,EAAe,WAAW,KAAM,KAAK,KAAK,EAE7E,CAEA,GAAW,cAA8B,CACvC,MAAO,MAAK,YACd,CACA,GAAW,aAAY,EAAuB,CAC5C,KAAK,aAAe,CACtB,CAEA,GAAW,gBAA+C,CACxD,MAAO,MAAK,cACd,CACA,GAAW,eAAc,EAAmC,CAC1D,KAAK,eAAiB,CACxB,CAEA,GAAW,eAAmC,CAC5C,MAAO,MAAK,SAAS,mBAAmB,CAC1C,CACF,EC1lBA,GAAM,GAAW,qCACX,EAAS,2DA6CF,EAAN,aAA4B,EAA4C,CAqB7E,aAAc,CACZ,MAAM,EACN,EAAa,OAAO,CAAiB,EACrC,KAAK,YAAc,GAAI,GAAe,GAAI,GAAY,IAAI,CAAC,EAC3D,EAAqB,KAAM,EAAU,CAAM,CAC7C,CAzBA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAe,WAAW,KAC1B,EAAe,WAAW,UAC1B,EAAe,WAAW,eAC1B,EAAe,WAAW,eAC1B,EAAe,WAAW,MAC1B,EAAe,WAAW,WAC1B,EAAe,WAAW,kBAC1B,EAAe,WAAW,KAC1B,EAAe,WAAW,iBAC1B,EAAe,WAAW,cAC1B,EAAe,WAAW,aAC1B,EAAe,WAAW,eAC1B,EAAe,WAAW,wBAC5B,CACF,CAWA,AAAO,mBAA0B,CAC/B,AAAI,KAAK,SAAS,OAChB,KAAK,YAAY,WAAW,EAE5B,EAAe,IAAI,EAAE,KAAK,IAAM,KAAK,YAAY,WAAW,CAAC,CAEjE,CAEA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CAEtF,OADA,MAAM,yBAAyB,EAAM,EAAU,CAAQ,EAC/C,OACD,GAAe,WAAW,KAC7B,KAAK,YAAY,KAAO,EAAU,CAAQ,EAC1C,UACG,GAAe,WAAW,UAC7B,KAAK,YAAY,UAAY,EAC7B,UACG,GAAe,WAAW,eAC7B,KAAK,YAAY,cAAgB,OAAO,CAAQ,EAChD,UACG,GAAe,WAAW,eAC7B,KAAK,YAAY,cAAgB,EACjC,UACG,GAAe,WAAW,MAC7B,KAAK,YAAY,MAAQ,EAAc,CAAQ,EAC/C,UACG,GAAe,WAAW,WAC7B,KAAK,YAAY,UAAY,EAC7B,UACG,GAAe,WAAW,kBAC7B,KAAK,iBAAmB,EAAc,CAAQ,EAC9C,UACG,GAAe,WAAW,KAC7B,KAAK,KAAO,EACZ,MAEN,CAEA,AAAO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAsDA,AAAO,kBAAkB,EAA0B,CACjD,KAAK,YAAY,UAAU,CAAG,CAChC,CACF,EArDiB,GADf,AAAC,EAAmB,GACL,AAxEJ,EAwEI,oBAIA,GADf,AAAC,EAAmB,GACL,AA5EJ,EA4EI,uBAIA,GADf,AAAC,EAAmB,GACL,AAhFJ,EAgFI,6BAIA,GADf,AAAC,EAAmB,GACL,AApFJ,EAoFI,6BAIA,GADf,AAAC,EAAmB,GACL,AAxFJ,EAwFI,yBAIA,GADf,AAAC,EAAmB,GACL,AA5FJ,EA4FI,qBAIA,GADf,AAAC,EAAmB,GACL,AAhGJ,EAgGI,yBAOA,GADf,AAAC,EAAmB,GACL,AAvGJ,EAuGI,gCAIA,GADf,AAAC,EAAmB,GACL,AA3GJ,EA2GI,oBAIA,GADf,AAAC,EAAmB,GACL,AA/GJ,EA+GI,2BAIA,GADf,AAAC,EAAmB,GACL,AAnHJ,EAmHI,6BAIA,GADf,AAAC,EAAmB,CAAE,IAAK,EAAM,CAAC,GACnB,AAvHJ,EAuHI,4BAvHJ,EAAN,GATP,AAAC,EAAc,CACb,KAAM,EAAe,YACrB,aAAc,CACZ,EACA,EACA,EACA,CACF,CACF,CAAC,GACY,GCjDN,aAAqC,CAC1C,EAAoB,CAAa,CACnC",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as m,d as C}from"./chunk.2CEW64ZM.js";import{b as E}from"./chunk.JMXJXZTS.js";import{y as I}from"./chunk.LZMYHIO2.js";import{d as O}from"./chunk.KBMLP7UT.js";import{d as A,l as N}from"./chunk.JXY6MTP3.js";import{a as B}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as g,b as T}from"./chunk.OOW3UKT4.js";import{a as l,d as h,h as _,l as f}from"./chunk.MMVZJLXE.js";import{u as c}from"./chunk.R4NDFXVA.js";import{k as d,l as b}from"./chunk.G76HB2FK.js";import{f as a}from"./chunk.MCIQXNKY.js";var r=class extends B{constructor(i){super(i)}initialize(){this._badgeElement=_(this._component,m.elementName)}setCount(i){this._badgeElement.textContent=i}setBadgeType(i){this._badgeElement.dot=i}setBadgeTheme(i){c(this._badgeElement,!!i,m.attributes.THEME,i)}setBadgeVisible(i){this._badgeElement.open=i}};var v=`${T}app-bar-notification-button`,x={COUNT:"count",DOT:"dot",THEME:"theme",SHOW_BADGE:"show-badge"},t={elementName:v,attributes:x};var p=class{constructor(e){this._adapter=e;this._count=0;this._dot=!1;this._showBadge=!1;this._isInitialized=!1}initialize(){this._adapter.initialize(),this._adapter.setCount(this._count),this._adapter.setBadgeType(this._dot),this._adapter.setBadgeTheme(this._theme),this._adapter.setBadgeVisible(this._showBadge),this._isInitialized=!0}disconnect(){this._isInitialized=!1}get count(){return this._count}set count(e){this._count!==e&&(this._count=e,this._isInitialized&&(this._adapter.setCount(this._count),this._adapter.setHostAttribute(t.attributes.COUNT,this._count)))}get dot(){return this._dot}set dot(e){this._dot!==e&&(this._dot=e,this._isInitialized&&(this._adapter.setBadgeType(this._dot),this._dot?this._adapter.setHostAttribute(t.attributes.DOT):this._adapter.removeHostAttribute(t.attributes.DOT)))}get theme(){return this._theme}set theme(e){this._theme!==e&&(this._theme=e,this._isInitialized&&(this._adapter.setBadgeTheme(this._theme),this._adapter.setHostAttribute(t.attributes.THEME,this._theme)))}get showBadge(){return this._showBadge}set showBadge(e){this._showBadge!==e&&(this._showBadge=e,this._isInitialized&&(this._adapter.setBadgeVisible(this._showBadge),this._adapter.setHostAttribute(t.attributes.SHOW_BADGE,this._showBadge)))}};var w='<template><forge-icon-button class="forge-icon-button--with-badge"><button type="button" aria-label="Show notifications"><forge-icon name="notifications"></forge-icon></button><forge-tooltip delay="500" position="bottom">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>',o=class extends f{constructor(){super();A.define(I),this._foundation=new p(new r(this))}static get observedAttributes(){return[t.attributes.COUNT,t.attributes.DOT,t.attributes.THEME,t.attributes.SHOW_BADGE]}initializedCallback(){h(this,w)}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(i,H,s){switch(i){case t.attributes.COUNT:this.count=b(s);break;case t.attributes.DOT:this.dot=d(s);break;case t.attributes.THEME:this.theme=s;break;case t.attributes.SHOW_BADGE:this.showBadge=d(s);break}}};a([n()],o.prototype,"count",2),a([n()],o.prototype,"dot",2),a([n()],o.prototype,"theme",2),a([n()],o.prototype,"showBadge",2),o=a([g({name:t.elementName,dependencies:[E,O,C,N]})],o);function et(){l(o)}export{r as a,t as b,p as c,o as d,et as e};
|
|
7
|
+
//# sourceMappingURL=chunk.WU24GAQY.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app-bar/notification-button/app-bar-notification-button-adapter.ts", "../../src/app-bar/notification-button/app-bar-notification-button-constants.ts", "../../src/app-bar/notification-button/app-bar-notification-button-foundation.ts", "../../src/app-bar/notification-button/app-bar-notification-button.ts", "../../src/app-bar/notification-button/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { getLightElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BADGE_CONSTANTS, IBadgeComponent } from '../../badge';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IAppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport interface IAppBarNotificationButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setCount(value: number): void;\n setBadgeType(dot: boolean): void;\n setBadgeTheme(theme: string): void;\n setBadgeVisible(isVisible: boolean): void;\n}\n\nexport class AppBarNotificationButtonAdapter extends BaseAdapter<IAppBarNotificationButtonComponent> implements IAppBarNotificationButtonAdapter {\n private _badgeElement: IBadgeComponent;\n\n constructor(component: IAppBarNotificationButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName) as IBadgeComponent;\n }\n\n public setCount(value: number): void {\n this._badgeElement.textContent = value as any;\n }\n\n public setBadgeType(dot: boolean): void {\n this._badgeElement.dot = dot;\n }\n\n public setBadgeTheme(theme: string): void {\n toggleAttribute(this._badgeElement, !!theme, BADGE_CONSTANTS.attributes.THEME, theme);\n }\n\n public setBadgeVisible(isVisible: boolean): void {\n this._badgeElement.open = isVisible;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-notification-button`;\n\nconst attributes = {\n COUNT: 'count',\n DOT: 'dot',\n THEME: 'theme',\n SHOW_BADGE: 'show-badge'\n};\n\nexport const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IAppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\n\nexport interface IAppBarNotificationButtonFoundation extends ICustomElementFoundation {\n count: number;\n dot: boolean;\n theme: string;\n showBadge: boolean;\n}\n\nexport class AppBarNotificationButtonFoundation implements IAppBarNotificationButtonFoundation {\n private _count = 0;\n private _dot = false;\n private _theme: string;\n private _showBadge = false;\n private _isInitialized = false;\n\n constructor(private _adapter: IAppBarNotificationButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setCount(this._count);\n this._adapter.setBadgeType(this._dot);\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setBadgeVisible(this._showBadge);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n public get count(): number {\n return this._count;\n }\n public set count(value: number) {\n if (this._count !== value) {\n this._count = value;\n if (this._isInitialized) {\n this._adapter.setCount(this._count);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count as any);\n }\n }\n }\n\n public get dot(): boolean {\n return this._dot;\n }\n public set dot(value: boolean) {\n if (this._dot !== value) {\n this._dot = value;\n if (this._isInitialized) {\n this._adapter.setBadgeType(this._dot);\n if (this._dot) {\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n } else {\n this._adapter.removeHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n }\n }\n }\n }\n\n public get theme(): string {\n return this._theme;\n }\n public set theme(value: string) {\n if (this._theme !== value) {\n this._theme = value;\n if (this._isInitialized) {\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n }\n\n public get showBadge(): boolean {\n return this._showBadge;\n }\n public set showBadge(value: boolean) {\n if (this._showBadge !== value) {\n this._showBadge = value;\n if (this._isInitialized) {\n this._adapter.setBadgeVisible(this._showBadge);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge as any);\n }\n }\n }\n}\n", "import { attachLightTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconNotifications } from '@tylertech/tyler-icons/standard';\nimport { BadgeComponent } from '../../badge';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { TooltipComponent } from '../../tooltip';\nimport { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\nimport { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';\n\nconst template = '<template><forge-icon-button class=\\\"forge-icon-button--with-badge\\\"><button type=\\\"button\\\" aria-label=\\\"Show notifications\\\"><forge-icon name=\\\"notifications\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-notification-button': IAppBarNotificationButtonComponent;\n }\n}\n\nexport interface IAppBarNotificationButtonComponent extends IBaseComponent {\n count: number;\n dot: boolean;\n showBadge: boolean;\n theme: string;\n}\n/**\n * The web component class behind the `<forge-app-bar-notification-button>` custom element.\n * \n * @tag forge-app-bar-notification-button\n */\n@CustomElement({\n name: APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n BadgeComponent,\n IconComponent\n ]\n})\nexport class AppBarNotificationButtonComponent extends BaseComponent implements IAppBarNotificationButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE\n ];\n }\n\n private _foundation: AppBarNotificationButtonFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconNotifications);\n this._foundation = new AppBarNotificationButtonFoundation(new AppBarNotificationButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT:\n this.count = coerceNumber(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT:\n this.dot = coerceBoolean(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue;\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:\n this.showBadge = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public count: number;\n\n @FoundationProperty()\n public dot: boolean;\n\n @FoundationProperty()\n public theme: string;\n\n @FoundationProperty()\n public showBadge: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport * from './app-bar-notification-button-adapter';\nexport * from './app-bar-notification-button-constants';\nexport * from './app-bar-notification-button-foundation';\nexport * from './app-bar-notification-button';\n\nexport function defineAppBarNotificationButtonComponent(): void {\n defineCustomElement(AppBarNotificationButtonComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { getLightElement, toggleAttribute } from '@tylertech/forge-core';\nimport { BADGE_CONSTANTS, IBadgeComponent } from '../../badge';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IAppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport interface IAppBarNotificationButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setCount(value: number): void;\n setBadgeType(dot: boolean): void;\n setBadgeTheme(theme: string): void;\n setBadgeVisible(isVisible: boolean): void;\n}\n\nexport class AppBarNotificationButtonAdapter extends BaseAdapter<IAppBarNotificationButtonComponent> implements IAppBarNotificationButtonAdapter {\n private _badgeElement: IBadgeComponent;\n\n constructor(component: IAppBarNotificationButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._badgeElement = getLightElement(this._component, BADGE_CONSTANTS.elementName) as IBadgeComponent;\n }\n\n public setCount(value: number): void {\n this._badgeElement.textContent = value as any;\n }\n\n public setBadgeType(dot: boolean): void {\n this._badgeElement.dot = dot;\n }\n\n public setBadgeTheme(theme: string): void {\n toggleAttribute(this._badgeElement, !!theme, BADGE_CONSTANTS.attributes.THEME, theme);\n }\n\n public setBadgeVisible(isVisible: boolean): void {\n this._badgeElement.open = isVisible;\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-notification-button`;\n\nconst attributes = {\n COUNT: 'count',\n DOT: 'dot',\n THEME: 'theme',\n SHOW_BADGE: 'show-badge'\n};\n\nexport const APP_BAR_NOTIFICATION_BUTTON_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IAppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\n\nexport interface IAppBarNotificationButtonFoundation extends ICustomElementFoundation {\n count: number;\n dot: boolean;\n theme: string;\n showBadge: boolean;\n}\n\nexport class AppBarNotificationButtonFoundation implements IAppBarNotificationButtonFoundation {\n private _count = 0;\n private _dot = false;\n private _theme: string;\n private _showBadge = false;\n private _isInitialized = false;\n\n constructor(private _adapter: IAppBarNotificationButtonAdapter) {}\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setCount(this._count);\n this._adapter.setBadgeType(this._dot);\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setBadgeVisible(this._showBadge);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n this._isInitialized = false;\n }\n\n public get count(): number {\n return this._count;\n }\n public set count(value: number) {\n if (this._count !== value) {\n this._count = value;\n if (this._isInitialized) {\n this._adapter.setCount(this._count);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT, this._count as any);\n }\n }\n }\n\n public get dot(): boolean {\n return this._dot;\n }\n public set dot(value: boolean) {\n if (this._dot !== value) {\n this._dot = value;\n if (this._isInitialized) {\n this._adapter.setBadgeType(this._dot);\n if (this._dot) {\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n } else {\n this._adapter.removeHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT);\n }\n }\n }\n }\n\n public get theme(): string {\n return this._theme;\n }\n public set theme(value: string) {\n if (this._theme !== value) {\n this._theme = value;\n if (this._isInitialized) {\n this._adapter.setBadgeTheme(this._theme);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n }\n\n public get showBadge(): boolean {\n return this._showBadge;\n }\n public set showBadge(value: boolean) {\n if (this._showBadge !== value) {\n this._showBadge = value;\n if (this._isInitialized) {\n this._adapter.setBadgeVisible(this._showBadge);\n this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE, this._showBadge as any);\n }\n }\n }\n}\n", "import { attachLightTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconNotifications } from '@tylertech/tyler-icons/standard';\nimport { BadgeComponent } from '../../badge';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { TooltipComponent } from '../../tooltip';\nimport { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';\nimport { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';\nimport { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';\n\nconst template = '<template><forge-icon-button class=\\\"forge-icon-button--with-badge\\\"><button type=\\\"button\\\" aria-label=\\\"Show notifications\\\"><forge-icon name=\\\"notifications\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-notification-button': IAppBarNotificationButtonComponent;\n }\n}\n\nexport interface IAppBarNotificationButtonComponent extends IBaseComponent {\n count: number;\n dot: boolean;\n showBadge: boolean;\n theme: string;\n}\n/**\n * The web component class behind the `<forge-app-bar-notification-button>` custom element.\n * \n * @tag forge-app-bar-notification-button\n */\n@CustomElement({\n name: APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n BadgeComponent,\n IconComponent\n ]\n})\nexport class AppBarNotificationButtonComponent extends BaseComponent implements IAppBarNotificationButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,\n APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE\n ];\n }\n\n private _foundation: AppBarNotificationButtonFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconNotifications);\n this._foundation = new AppBarNotificationButtonFoundation(new AppBarNotificationButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT:\n this.count = coerceNumber(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT:\n this.dot = coerceBoolean(newValue);\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:\n this.theme = newValue;\n break;\n case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:\n this.showBadge = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare count: number;\n\n @FoundationProperty()\n public declare dot: boolean;\n\n @FoundationProperty()\n public declare theme: string;\n\n @FoundationProperty()\n public declare showBadge: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarNotificationButtonComponent } from './app-bar-notification-button';\n\nexport * from './app-bar-notification-button-adapter';\nexport * from './app-bar-notification-button-constants';\nexport * from './app-bar-notification-button-foundation';\nexport * from './app-bar-notification-button';\n\nexport function defineAppBarNotificationButtonComponent(): void {\n defineCustomElement(AppBarNotificationButtonComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as s,d as R}from"./chunk.36VS7FMU.js";import{a as u,d as P}from"./chunk.TCAOLSLI.js";import{a as I,e as N}from"./chunk.UOWU5VVK.js";import{b as x}from"./chunk.JMXJXZTS.js";import{d as U}from"./chunk.KBMLP7UT.js";import{a as B}from"./chunk.D4SNVKDA.js";import{a as O}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as A,b as L}from"./chunk.OOW3UKT4.js";import{a as g,d as E,h as f,l as C}from"./chunk.MMVZJLXE.js";import{c as v,s as b}from"./chunk.R4NDFXVA.js";import{h as m,k as p,l as c}from"./chunk.G76HB2FK.js";import{f as o}from"./chunk.MCIQXNKY.js";var S=`${L}app-bar-profile-button`,F={FULL_NAME:"full-name",EMAIL:"email",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count",AVATAR_TEXT:"avatar-text",SIGN_OUT_BUTTON:"sign-out-button",PROFILE_BUTTON:"profile-button",SIGN_OUT_BUTTON_TEXT:"sign-out-button-text",PROFILE_BUTTON_TEXT:"profile-button-text",OPEN:"open"},w={BUTTON:"button"},i={elementName:S,attributes:F,selectors:w};var _=class extends O{constructor(e){super(e)}initialize(){this._avatarElement=f(this._component,u.elementName),this._buttonElement=f(this._component,i.selectors.BUTTON)}setClickListener(e){this._component.addEventListener("click",e)}removeClickListener(e){this._component.removeEventListener("click",e)}openPopup(e,l,a,k,T){return this._profileCardElement=document.createElement(s.elementName),this._profileCardElement.fullName=e.fullName,this._profileCardElement.email=e.email,this._profileCardElement.signOut=e.signOut,this._profileCardElement.profile=e.profile,this._profileCardElement.signOutText=e.signOutButtonText,this._profileCardElement.profileText=e.profileButtonText,this._profileCardElement.avatarText=e.avatarText,this._profileCardElement.avatarImageUrl=e.avatarImageUrl,this._profileCardElement.avatarLetterCount=e.avatarLetterCount,this._profileCardElement.addEventListener(s.events.PROFILE,()=>a()),this._profileCardElement.addEventListener(s.events.SIGN_OUT,()=>k()),T&&this._profileCardElement.appendChild(T),this._popupElement=document.createElement(I.elementName),this._popupElement.targetElement=this._component,this._popupElement.placement="bottom-end",this._popupElement.animationType="menu",this._popupElement.appendChild(this._profileCardElement),this._popupElement.open=!0,v(this._popupElement,y=>{!this._popupElement||this._component.contains(b())||l()},!0)}closePopup(){this._popupElement&&(this._popupElement.open=!1,this._popupElement=void 0,this._profileCardElement=void 0)}requestFocus(){this._buttonElement.focus()}setAvatarText(e){this._avatarElement.text=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setSignOutButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.signOutText=e,(l=this._popupElement)==null||l.position())}setProfileButtonText(e){var l;this._profileCardElement&&(this._profileCardElement.profileText=e,(l=this._popupElement)==null||l.position())}};var d=class{constructor(t){this._adapter=t;this._avatarLetterCount=u.numbers.DEFAULT_LETTER_COUNT;this._showSignOutButton=s.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=s.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=s.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=s.defaults.PROFILE_BUTTON_TEXT;this._open=!1;this._isInitialized=!1;this._clickListener=e=>this._onClick(e),this._dismissListener=()=>this._onDimiss(),this._keydownListener=e=>this._onKeydown(e),this._profileButtonListener=()=>this._onProfileButtonClick(),this._signOutButtonListener=()=>this._onSignOutButtonClick()}initialize(){this._adapter.initialize(),this._adapter.setClickListener(this._clickListener),this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setAvatarText(this._avatarText),this._isInitialized=!0}disconnect(){this._open&&this._closeDropdown(),this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.removeClickListener(this._clickListener),this._isInitialized=!1}_onClick(t){this._open?this._closeDropdown():this._openDropdown()}_onKeydown(t){(t.key==="Escape"||t.keyCode===27)&&(this._closeDropdown(),this._adapter.requestFocus())}_onDimiss(){B.WEBKIT?window.requestAnimationFrame(()=>this._closeDropdown()):this._closeDropdown()}_onProfileButtonClick(){this._adapter.emitHostEvent(s.events.PROFILE),this._closeDropdown(),this._adapter.requestFocus()}_onSignOutButtonClick(){this._adapter.emitHostEvent(s.events.SIGN_OUT),this._closeDropdown(),this._adapter.requestFocus()}_openDropdown(){if(this._open)return;m(this._cancelDismissListener)&&this._cancelDismissListener();let t={fullName:this._fullName,email:this._email,signOut:this._showSignOutButton,profile:this._showProfileButton,signOutButtonText:this._signOutButtonText,profileButtonText:this._profileButtonText,avatarText:this._avatarText,avatarImageUrl:this._avatarImageUrl,avatarLetterCount:this._avatarLetterCount},e=this._profileCardBuilder?this._profileCardBuilder():void 0;this._cancelDismissListener=this._adapter.openPopup(t,this._dismissListener,this._profileButtonListener,this._signOutButtonListener,e),this._adapter.addWindowListener("keydown",this._keydownListener),this._open=!0,!t.signOut&&!t.profile&&this._adapter.requestFocus()}_closeDropdown(){!this._open||(m(this._cancelDismissListener)&&this._cancelDismissListener(),this._open=!1,this._adapter.removeWindowListener("keydown",this._keydownListener),this._adapter.closePopup())}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t,this._adapter.setHostAttribute(i.attributes.FULL_NAME,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t,this._adapter.setHostAttribute(i.attributes.EMAIL,this._email))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._isInitialized&&(this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.setHostAttribute(i.attributes.AVATAR_IMAGE_URL,this._avatarImageUrl)))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._isInitialized&&(this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.setHostAttribute(i.attributes.AVATAR_LETTER_COUNT,this._avatarLetterCount)))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t,this._isInitialized&&(this._adapter.setAvatarText(this._avatarText),this._adapter.setHostAttribute(i.attributes.AVATAR_TEXT,this._avatarText)))}get signOutButton(){return this._showSignOutButton}set signOutButton(t){this._showSignOutButton!==t&&(this._showSignOutButton=t,this._adapter.setHostAttribute(i.attributes.SIGN_OUT_BUTTON,this._showSignOutButton))}get profileButton(){return this._showProfileButton}set profileButton(t){this._showProfileButton!==t&&(this._showProfileButton=t,this._adapter.setHostAttribute(i.attributes.PROFILE_BUTTON,this._showProfileButton))}get signOutButtonText(){return this._signOutButtonText}set signOutButtonText(t){this._signOutButtonText!==t&&(this._signOutButtonText=t,this._adapter.setSignOutButtonText(t))}get profileButtonText(){return this._profileButtonText}set profileButtonText(t){this._profileButtonText!==t&&(this._profileButtonText=t,this._adapter.setProfileButtonText(t))}get open(){return this._open}set open(t){this._open!==t&&(t?this._openDropdown():this._closeDropdown())}get profileCardBuilder(){return this._profileCardBuilder}set profileCardBuilder(t){this._profileCardBuilder=t}};var M='<template><forge-icon-button><button type="button" aria-label="View profile card"><forge-avatar aria-hidden="true"></forge-avatar></button><forge-tooltip delay="500" position="bottom">View profile</forge-tooltip></forge-icon-button></template>',r=class extends C{constructor(){super();this._foundation=new d(new _(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT,i.attributes.AVATAR_TEXT,i.attributes.SIGN_OUT_BUTTON,i.attributes.PROFILE_BUTTON,i.attributes.SIGN_OUT_BUTTON_TEXT,i.attributes.PROFILE_BUTTON_TEXT,i.attributes.OPEN]}initializedCallback(){E(this,M)}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,l,a){switch(e){case i.attributes.FULL_NAME:this.fullName=a;break;case i.attributes.EMAIL:this.email=a;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=a;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=c(a);break;case i.attributes.AVATAR_TEXT:this.avatarText=a;break;case i.attributes.SIGN_OUT_BUTTON:this.signOutButton=p(a);break;case i.attributes.PROFILE_BUTTON:this.profileButton=p(a);break;case i.attributes.SIGN_OUT_BUTTON_TEXT:this.signOutButtonText=a;break;case i.attributes.PROFILE_BUTTON_TEXT:this.profileButtonText=a;break;case i.attributes.OPEN:this.open=p(a);break}}};o([n()],r.prototype,"fullName",2),o([n()],r.prototype,"email",2),o([n()],r.prototype,"avatarImageUrl",2),o([n()],r.prototype,"avatarLetterCount",2),o([n()],r.prototype,"avatarText",2),o([n()],r.prototype,"signOutButton",2),o([n()],r.prototype,"profileButton",2),o([n()],r.prototype,"signOutButtonText",2),o([n()],r.prototype,"profileButtonText",2),o([n()],r.prototype,"open",2),o([n()],r.prototype,"profileCardBuilder",2),r=o([A({name:i.elementName,dependencies:[N,R,x,P,U]})],r);function Ot(){g(r)}export{i as a,_ as b,d as c,r as d,Ot as e};
|
|
7
|
+
//# sourceMappingURL=chunk.X5JLUP7O.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/app-bar/profile-button/app-bar-profile-button-constants.ts", "../../src/app-bar/profile-button/app-bar-profile-button-adapter.ts", "../../src/app-bar/profile-button/app-bar-profile-button-foundation.ts", "../../src/app-bar/profile-button/app-bar-profile-button.ts", "../../src/app-bar/profile-button/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\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 (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public fullName: string;\n\n @FoundationProperty()\n public email: string;\n\n @FoundationProperty()\n public avatarImageUrl: string;\n\n @FoundationProperty()\n public avatarLetterCount: number;\n\n @FoundationProperty()\n public avatarText: string;\n\n @FoundationProperty()\n public signOutButton: boolean;\n\n @FoundationProperty()\n public profileButton: boolean;\n\n @FoundationProperty()\n public signOutButtonText: string;\n\n @FoundationProperty()\n public profileButtonText: string;\n\n @FoundationProperty()\n public open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}app-bar-profile-button`;\n\nconst attributes = {\n FULL_NAME: 'full-name',\n EMAIL: 'email',\n AVATAR_IMAGE_URL: 'avatar-image-url',\n AVATAR_LETTER_COUNT: 'avatar-letter-count',\n AVATAR_TEXT: 'avatar-text',\n SIGN_OUT_BUTTON: 'sign-out-button',\n PROFILE_BUTTON: 'profile-button',\n SIGN_OUT_BUTTON_TEXT: 'sign-out-button-text',\n PROFILE_BUTTON_TEXT: 'profile-button-text',\n OPEN: 'open'\n};\n\nconst selectors = {\n BUTTON: 'button'\n};\n\nexport const APP_BAR_PROFILE_BUTTON_CONSTANTS = {\n elementName,\n attributes,\n selectors\n};\n\nexport interface IAppBarProfileCardConfig {\n fullName: string;\n email: string;\n signOut: boolean;\n profile: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n avatarText: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n}\n\nexport type AppBarProfileButtonProfileCardBuilder = () => HTMLElement;\n", "import { getLightElement, notChildEventListener, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS, IAvatarComponent } from '../../avatar';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IPopupComponent, PopupAnimationType, PopupPlacement, POPUP_CONSTANTS } from '../../popup';\nimport { IProfileCardComponent, PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonComponent } from './app-bar-profile-button';\nimport { IAppBarProfileCardConfig, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonAdapter extends IBaseAdapter {\n initialize(): void;\n setClickListener(listener: (evt: MouseEvent) => void): void;\n removeClickListener(listener: (evt: MouseEvent) => void): void;\n openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void;\n closePopup(): void;\n requestFocus(): void;\n setAvatarText(value: string): void;\n setAvatarLetterCount(value: number): void;\n setAvatarImageUrl(value: string): void;\n setSignOutButtonText(value: string): void;\n setProfileButtonText(value: string): void;\n}\n\nexport class AppBarProfileButtonAdapter extends BaseAdapter<IAppBarProfileButtonComponent> implements IAppBarProfileButtonAdapter {\n private _avatarElement: IAvatarComponent;\n private _buttonElement: HTMLButtonElement;\n private _popupElement?: IPopupComponent;\n private _profileCardElement?: IProfileCardComponent;\n\n constructor(component: IAppBarProfileButtonComponent) {\n super(component);\n }\n\n public initialize(): void {\n this._avatarElement = getLightElement(this._component, AVATAR_CONSTANTS.elementName) as IAvatarComponent;\n this._buttonElement = getLightElement(this._component, APP_BAR_PROFILE_BUTTON_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public openPopup(profileCardConfig: IAppBarProfileCardConfig, dismissListener: () => void, profileListener: () => void, signOutListener: () => void, profileCardContent?: HTMLElement): () => void {\n this._profileCardElement = document.createElement(PROFILE_CARD_CONSTANTS.elementName);\n this._profileCardElement.fullName = profileCardConfig.fullName;\n this._profileCardElement.email = profileCardConfig.email;\n this._profileCardElement.signOut = profileCardConfig.signOut;\n this._profileCardElement.profile = profileCardConfig.profile;\n this._profileCardElement.signOutText = profileCardConfig.signOutButtonText;\n this._profileCardElement.profileText = profileCardConfig.profileButtonText;\n this._profileCardElement.avatarText = profileCardConfig.avatarText;\n this._profileCardElement.avatarImageUrl = profileCardConfig.avatarImageUrl;\n this._profileCardElement.avatarLetterCount = profileCardConfig.avatarLetterCount;\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.PROFILE, () => profileListener());\n this._profileCardElement.addEventListener(PROFILE_CARD_CONSTANTS.events.SIGN_OUT, () => signOutListener());\n\n if (profileCardContent) {\n this._profileCardElement.appendChild(profileCardContent);\n }\n\n this._popupElement = document.createElement(POPUP_CONSTANTS.elementName);\n this._popupElement.targetElement = this._component;\n this._popupElement.placement = 'bottom-end';\n this._popupElement.animationType = PopupAnimationType.Menu;\n this._popupElement.appendChild(this._profileCardElement);\n this._popupElement.open = true;\n\n return notChildEventListener(this._popupElement, activeElement => {\n if (!this._popupElement) {\n return;\n }\n if (!this._component.contains(getActiveElement())) {\n dismissListener();\n }\n }, true);\n }\n\n public closePopup(): void {\n if (this._popupElement) {\n this._popupElement.open = false;\n this._popupElement = undefined;\n this._profileCardElement = undefined;\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public setAvatarText(value: string): void {\n this._avatarElement.text = value;\n }\n\n public setAvatarLetterCount(value: number): void {\n this._avatarElement.letterCount = value;\n }\n\n public setAvatarImageUrl(value: string): void {\n this._avatarElement.imageUrl = value;\n }\n\n public setSignOutButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.signOutText = value;\n this._popupElement?.position();\n }\n }\n\n public setProfileButtonText(value: string): void {\n if (this._profileCardElement) {\n this._profileCardElement.profileText = value;\n this._popupElement?.position();\n }\n }\n}\n", "import { ICustomElementFoundation, isFunction, Platform, getActiveElement } from '@tylertech/forge-core';\nimport { AVATAR_CONSTANTS } from '../../avatar';\nimport { PROFILE_CARD_CONSTANTS } from '../../profile-card';\nimport { IAppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { IAppBarProfileCardConfig, AppBarProfileButtonProfileCardBuilder, APP_BAR_PROFILE_BUTTON_CONSTANTS } from './app-bar-profile-button-constants';\n\nexport interface IAppBarProfileButtonFoundation extends ICustomElementFoundation {\n fullName: string;\n email: string;\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n\nexport class AppBarProfileButtonFoundation implements IAppBarProfileButtonFoundation {\n private _fullName: string;\n private _email: string;\n private _avatarImageUrl: string;\n private _avatarLetterCount = AVATAR_CONSTANTS.numbers.DEFAULT_LETTER_COUNT;\n private _avatarText: string;\n private _showSignOutButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_SIGN_OUT_BUTTON;\n private _showProfileButton = PROFILE_CARD_CONSTANTS.defaults.SHOW_PROFILE_BUTTON;\n private _signOutButtonText = PROFILE_CARD_CONSTANTS.defaults.SIGN_OUT_BUTTON_TEXT;\n private _profileButtonText = PROFILE_CARD_CONSTANTS.defaults.PROFILE_BUTTON_TEXT;\n private _profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n private _open = false;\n private _isInitialized = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _dismissListener: () => void;\n private _cancelDismissListener: () => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _profileButtonListener: () => void;\n private _signOutButtonListener: () => void;\n\n constructor(private _adapter: IAppBarProfileButtonAdapter) {\n this._clickListener = evt => this._onClick(evt);\n this._dismissListener = () => this._onDimiss();\n this._keydownListener = evt => this._onKeydown(evt);\n this._profileButtonListener = () => this._onProfileButtonClick();\n this._signOutButtonListener = () => this._onSignOutButtonClick();\n }\n\n public initialize(): void {\n this._adapter.initialize();\n this._adapter.setClickListener(this._clickListener);\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setAvatarText(this._avatarText);\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.removeClickListener(this._clickListener);\n this._isInitialized = false;\n }\n\n private _onClick(evt: MouseEvent): void {\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n if (evt.key === 'Escape' || evt.keyCode === 27) {\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n }\n\n private _onDimiss(): void {\n if (Platform.WEBKIT) {\n window.requestAnimationFrame(() => this._closeDropdown());\n } else {\n this._closeDropdown();\n }\n }\n\n private _onProfileButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.PROFILE);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _onSignOutButtonClick(): void {\n this._adapter.emitHostEvent(PROFILE_CARD_CONSTANTS.events.SIGN_OUT);\n this._closeDropdown();\n this._adapter.requestFocus();\n }\n\n private _openDropdown(): void {\n if (this._open) {\n return;\n }\n\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n const profileCardConfig: IAppBarProfileCardConfig = {\n fullName: this._fullName,\n email: this._email,\n signOut: this._showSignOutButton,\n profile: this._showProfileButton,\n signOutButtonText: this._signOutButtonText,\n profileButtonText: this._profileButtonText,\n avatarText: this._avatarText,\n avatarImageUrl: this._avatarImageUrl,\n avatarLetterCount: this._avatarLetterCount\n };\n const profileCardContent = this._profileCardBuilder ? this._profileCardBuilder() : undefined;\n this._cancelDismissListener = this._adapter.openPopup(profileCardConfig, this._dismissListener, this._profileButtonListener, this._signOutButtonListener, profileCardContent);\n this._adapter.addWindowListener('keydown', this._keydownListener);\n this._open = true;\n\n // If we aren't showing the sign out or profile buttons then leave focus on our button\n if (!profileCardConfig.signOut && !profileCardConfig.profile) {\n this._adapter.requestFocus();\n }\n }\n\n private _closeDropdown(): void {\n if (!this._open) {\n return;\n }\n if (isFunction(this._cancelDismissListener)) {\n this._cancelDismissListener();\n }\n this._open = false;\n this._adapter.removeWindowListener('keydown', this._keydownListener);\n this._adapter.closePopup();\n }\n\n public get fullName(): string {\n return this._fullName;\n }\n public set fullName(value: string) {\n if (this._fullName !== value) {\n this._fullName = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME, this._fullName);\n }\n }\n\n public get email(): string {\n return this._email;\n }\n public set email(value: string) {\n if (this._email !== value) {\n this._email = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL, this._email);\n }\n }\n\n public get avatarImageUrl(): string {\n return this._avatarImageUrl;\n }\n public set avatarImageUrl(value: string) {\n if (this._avatarImageUrl !== value) {\n this._avatarImageUrl = value;\n if (this._isInitialized) {\n this._adapter.setAvatarImageUrl(this._avatarImageUrl);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL, this._avatarImageUrl);\n }\n }\n }\n\n public get avatarLetterCount(): number {\n return this._avatarLetterCount;\n }\n public set avatarLetterCount(value: number) {\n if (this._avatarLetterCount !== value) {\n this._avatarLetterCount = value;\n if (this._isInitialized) {\n this._adapter.setAvatarLetterCount(this._avatarLetterCount);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT, this._avatarLetterCount as any);\n }\n }\n }\n\n public get avatarText(): string {\n return this._avatarText;\n }\n public set avatarText(value: string) {\n if (this._avatarText !== value) {\n this._avatarText = value;\n if (this._isInitialized) {\n this._adapter.setAvatarText(this._avatarText);\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT, this._avatarText);\n }\n }\n }\n\n public get signOutButton(): boolean {\n return this._showSignOutButton;\n }\n public set signOutButton(value: boolean) {\n if (this._showSignOutButton !== value) {\n this._showSignOutButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON, this._showSignOutButton as any);\n }\n }\n\n public get profileButton(): boolean {\n return this._showProfileButton;\n }\n public set profileButton(value: boolean) {\n if (this._showProfileButton !== value) {\n this._showProfileButton = value;\n this._adapter.setHostAttribute(APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON, this._showProfileButton as any);\n }\n }\n\n public get signOutButtonText(): string {\n return this._signOutButtonText;\n }\n public set signOutButtonText(value: string) {\n if (this._signOutButtonText !== value) {\n this._signOutButtonText = value;\n this._adapter.setSignOutButtonText(value);\n }\n }\n\n public get profileButtonText(): string {\n return this._profileButtonText;\n }\n public set profileButtonText(value: string) {\n if (this._profileButtonText !== value) {\n this._profileButtonText = value;\n this._adapter.setProfileButtonText(value);\n }\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 (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public get profileCardBuilder(): AppBarProfileButtonProfileCardBuilder {\n return this._profileCardBuilder;\n }\n public set profileCardBuilder(fn: AppBarProfileButtonProfileCardBuilder) {\n this._profileCardBuilder = fn;\n }\n}\n", "import { CustomElement, attachLightTemplate, coerceNumber, coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { AppBarProfileButtonAdapter } from './app-bar-profile-button-adapter';\nimport { AppBarProfileButtonFoundation } from './app-bar-profile-button-foundation';\nimport { APP_BAR_PROFILE_BUTTON_CONSTANTS, AppBarProfileButtonProfileCardBuilder } from './app-bar-profile-button-constants';\nimport { ProfileCardComponent } from '../../profile-card';\nimport { IconButtonComponent } from '../../icon-button';\nimport { AvatarComponent } from '../../avatar';\nimport { PopupComponent } from '../../popup';\nimport { TooltipComponent } from '../../tooltip';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\n\nconst template = '<template><forge-icon-button><button type=\\\"button\\\" aria-label=\\\"View profile card\\\"><forge-avatar aria-hidden=\\\"true\\\"></forge-avatar></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\">View profile</forge-tooltip></forge-icon-button></template>';\n\nexport interface IAppBarProfileButtonComponent extends IBaseComponent {\n avatarImageUrl: string;\n avatarLetterCount: number;\n avatarText: string;\n fullName: string;\n email: string;\n signOutButton: boolean;\n profileButton: boolean;\n signOutButtonText: string;\n profileButtonText: string;\n open: boolean;\n profileCardBuilder: (fn: AppBarProfileButtonProfileCardBuilder) => void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-app-bar-profile-button': IAppBarProfileButtonComponent;\n }\n}\n\n/**\n * The web component class behind the `<forge-app-bar-profile-button>` custom element.\n * \n * @tag forge-app-bar-profile-button\n */\n@CustomElement({\n name: APP_BAR_PROFILE_BUTTON_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ProfileCardComponent,\n IconButtonComponent,\n AvatarComponent,\n TooltipComponent\n ]\n})\nexport class AppBarProfileButtonComponent extends BaseComponent implements IAppBarProfileButtonComponent {\n public static get observedAttributes(): string[] {\n return [\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT,\n APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN\n ];\n }\n\n private _foundation: AppBarProfileButtonFoundation;\n\n constructor() {\n super();\n this._foundation = new AppBarProfileButtonFoundation(new AppBarProfileButtonAdapter(this));\n }\n\n public initializedCallback(): void {\n attachLightTemplate(this, template);\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.FULL_NAME:\n this.fullName = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.EMAIL:\n this.email = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_IMAGE_URL:\n this.avatarImageUrl = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_LETTER_COUNT:\n this.avatarLetterCount = coerceNumber(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.AVATAR_TEXT:\n this.avatarText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON:\n this.signOutButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON:\n this.profileButton = coerceBoolean(newValue);\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.SIGN_OUT_BUTTON_TEXT:\n this.signOutButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.PROFILE_BUTTON_TEXT:\n this.profileButtonText = newValue;\n break;\n case APP_BAR_PROFILE_BUTTON_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare fullName: string;\n\n @FoundationProperty()\n public declare email: string;\n\n @FoundationProperty()\n public declare avatarImageUrl: string;\n\n @FoundationProperty()\n public declare avatarLetterCount: number;\n\n @FoundationProperty()\n public declare avatarText: string;\n\n @FoundationProperty()\n public declare signOutButton: boolean;\n\n @FoundationProperty()\n public declare profileButton: boolean;\n\n @FoundationProperty()\n public declare signOutButtonText: string;\n\n @FoundationProperty()\n public declare profileButtonText: string;\n\n @FoundationProperty()\n public declare open: boolean;\n\n /** Sets the profile card builder callback that will be used to add extra content to the profile card. */\n @FoundationProperty()\n public declare profileCardBuilder: AppBarProfileButtonProfileCardBuilder;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { AppBarProfileButtonComponent } from './app-bar-profile-button';\n\nexport * from './app-bar-profile-button-adapter';\nexport * from './app-bar-profile-button-constants';\nexport * from './app-bar-profile-button-foundation';\nexport * from './app-bar-profile-button';\n\nexport function defineAppBarProfileButtonComponent(): void {\n defineCustomElement(AppBarProfileButtonComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|