@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/button-toggle/button-toggle/button-toggle-constants.ts", "../../src/button-toggle/button-toggle/button-toggle-adapter.ts", "../../src/button-toggle/button-toggle/button-toggle-foundation.ts", "../../src/button-toggle/button-toggle/button-toggle.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}button-toggle`;\n\nconst attributes = {\n VALUE: 'value',\n SELECTED: 'selected',\n DISABLED: 'disabled',\n DENSE: 'dense',\n BUTTON_ARIA_LABEL: 'button-aria-label',\n SELECTED_ADJACENT: 'selected-adjacent',\n SELECTED_ADJACENT_VERTICAL: 'selected-adjacent-vertical',\n STRETCH: 'stretch'\n};\n\nconst classes = {\n SELECTED: 'forge-button-toggle__selected',\n DENSE: 'forge-button-toggle--dense'\n};\n\nconst selectors = {\n BUTTON: '.forge-button-toggle',\n SELECTED: `.${classes.SELECTED}`\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nexport const BUTTON_TOGGLE_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events\n};\n\nexport interface IButtonToggleSelectEventData {\n value: string;\n selected: boolean;\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IButtonToggleGroupComponent } from '../button-toggle-group';\nimport { IButtonToggleComponent } from './button-toggle';\nimport { BUTTON_TOGGLE_CONSTANTS } from './button-toggle-constants';\n\nexport interface IButtonToggleAdapter extends IBaseAdapter {\n setSelected(value: boolean): void;\n addEventListener(type: string, listener: (evt: Event) => void): void;\n removeEventListener(type: string, listener: (evt: Event) => void): void;\n initializeRipple(): ForgeRipple;\n setDisabled(value: boolean): void;\n setDense(value: boolean): void;\n requestFocus(): void;\n detectStretchState(): void;\n}\n\nexport class ButtonToggleAdapter extends BaseAdapter<IButtonToggleComponent> implements IButtonToggleAdapter {\n private _buttonElement: HTMLButtonElement;\n\n constructor(component: IButtonToggleComponent) {\n super(component);\n this._buttonElement = getShadowElement(component, BUTTON_TOGGLE_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setSelected(value: boolean): void {\n if (value) {\n this._buttonElement.classList.add(BUTTON_TOGGLE_CONSTANTS.classes.SELECTED);\n } else {\n this._buttonElement.classList.remove(BUTTON_TOGGLE_CONSTANTS.classes.SELECTED);\n }\n this._buttonElement.setAttribute('aria-pressed', value.toString());\n }\n\n public addEventListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener(type, listener);\n }\n\n public removeEventListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.removeEventListener(type, listener);\n }\n\n public initializeRipple(): ForgeRipple {\n return new ForgeRipple(this._buttonElement);\n }\n\n public setDisabled(value: boolean): void {\n this._buttonElement.disabled = value;\n if (value) {\n this._buttonElement.setAttribute('aria-disabled', value.toString());\n } else {\n this._buttonElement.removeAttribute('aria-disabled');\n }\n }\n\n public setDense(value: boolean): void {\n if (value) {\n this._buttonElement.classList.add(BUTTON_TOGGLE_CONSTANTS.classes.DENSE);\n } else {\n this._buttonElement.classList.remove(BUTTON_TOGGLE_CONSTANTS.classes.DENSE);\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public detectStretchState(): void {\n if (this._component.hasAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH)) {\n return;\n }\n const buttonToggleGroup = this._component.parentElement as IButtonToggleGroupComponent;\n if (buttonToggleGroup && buttonToggleGroup.hasAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH) && buttonToggleGroup.stretch) {\n this._component.setAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH, '');\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { IButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\n\n\nexport interface IButtonToggleFoundation extends ICustomElementFoundation {\n value: any;\n selected: boolean;\n disabled: boolean;\n dense: boolean;\n setFocus(): void;\n}\n\nexport class ButtonToggleFoundation implements IButtonToggleFoundation {\n private _value: any;\n private _selected = false;\n private _disabled = false;\n private _dense = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _rippleInstance: ForgeRipple;\n\n constructor(private _adapter: IButtonToggleAdapter) {\n this._clickListener = evt => this._onClick(evt);\n }\n\n public initialize(): void {\n this._rippleInstance = this._adapter.initializeRipple();\n this._adapter.addEventListener('click', this._clickListener);\n this._adapter.setSelected(this._selected);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setDense(this._dense);\n this._adapter.detectStretchState();\n }\n\n public disconnect(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n this._adapter.removeEventListener('click', this._clickListener);\n }\n\n private _onClick(evt: MouseEvent): void {\n this._selected = !this._selected;\n this._updateSelectedState();\n this._adapter.emitHostEvent(BUTTON_TOGGLE_CONSTANTS.events.SELECT, { value: this._value, selected: this._selected } as IButtonToggleSelectEventData);\n }\n\n private _updateSelectedState(): void {\n this._adapter.setSelected(this._selected);\n this._adapter.setHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED, this._selected.toString());\n }\n\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n this._value = value;\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._updateSelectedState();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n }\n }\n\n public setFocus(): void {\n this._adapter.requestFocus();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty, getShadowElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\nimport { ButtonToggleFoundation } from './button-toggle-foundation';\n\nconst template = '<template><button type=\\\"button\\\" class=\\\"forge-button-toggle\\\" aria-pressed=\\\"false\\\" part=\\\"button\\\"><slot name=\\\"leading\\\"></slot><slot></slot><slot name=\\\"trailing\\\"></slot></button></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}';\n\nexport interface IButtonToggleComponent extends IBaseComponent {\n value: any;\n selected: boolean;\n disabled: boolean;\n dense: boolean;\n}\n\nexport interface IButtonToggleComponentEventMap extends HTMLElementEventMap {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-button-toggle': IButtonToggleComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-button-toggle-select': CustomEvent<IButtonToggleSelectEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-button-toggle>` custom element.\n * \n * @tag forge-button-toggle\n */\n@CustomElement({\n name: BUTTON_TOGGLE_CONSTANTS.elementName\n})\nexport class ButtonToggleComponent extends BaseComponent implements IButtonToggleComponent {\n public static get observedAttributes(): string[] {\n return [\n BUTTON_TOGGLE_CONSTANTS.attributes.VALUE,\n BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED,\n BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED,\n BUTTON_TOGGLE_CONSTANTS.attributes.DENSE,\n BUTTON_TOGGLE_CONSTANTS.attributes.BUTTON_ARIA_LABEL\n ];\n }\n\n private _foundation: ButtonToggleFoundation;\n private _buttonElement: HTMLButtonElement;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ButtonToggleFoundation(new ButtonToggleAdapter(this));\n this._buttonElement = getShadowElement(this, BUTTON_TOGGLE_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public initializedCallback(): 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 BUTTON_TOGGLE_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.BUTTON_ARIA_LABEL:\n this._buttonElement.setAttribute('aria-label', newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public value: any;\n\n @FoundationProperty()\n public selected: boolean;\n\n @FoundationProperty()\n public disabled: boolean;\n\n @FoundationProperty()\n public dense: boolean;\n\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}button-toggle`;\n\nconst attributes = {\n VALUE: 'value',\n SELECTED: 'selected',\n DISABLED: 'disabled',\n DENSE: 'dense',\n BUTTON_ARIA_LABEL: 'button-aria-label',\n SELECTED_ADJACENT: 'selected-adjacent',\n SELECTED_ADJACENT_VERTICAL: 'selected-adjacent-vertical',\n STRETCH: 'stretch'\n};\n\nconst classes = {\n SELECTED: 'forge-button-toggle__selected',\n DENSE: 'forge-button-toggle--dense'\n};\n\nconst selectors = {\n BUTTON: '.forge-button-toggle',\n SELECTED: `.${classes.SELECTED}`\n};\n\nconst events = {\n SELECT: `${elementName}-select`\n};\n\nexport const BUTTON_TOGGLE_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors,\n events\n};\n\nexport interface IButtonToggleSelectEventData {\n value: string;\n selected: boolean;\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IButtonToggleGroupComponent } from '../button-toggle-group';\nimport { IButtonToggleComponent } from './button-toggle';\nimport { BUTTON_TOGGLE_CONSTANTS } from './button-toggle-constants';\n\nexport interface IButtonToggleAdapter extends IBaseAdapter {\n setSelected(value: boolean): void;\n addEventListener(type: string, listener: (evt: Event) => void): void;\n removeEventListener(type: string, listener: (evt: Event) => void): void;\n initializeRipple(): ForgeRipple;\n setDisabled(value: boolean): void;\n setDense(value: boolean): void;\n requestFocus(): void;\n detectStretchState(): void;\n}\n\nexport class ButtonToggleAdapter extends BaseAdapter<IButtonToggleComponent> implements IButtonToggleAdapter {\n private _buttonElement: HTMLButtonElement;\n\n constructor(component: IButtonToggleComponent) {\n super(component);\n this._buttonElement = getShadowElement(component, BUTTON_TOGGLE_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public setSelected(value: boolean): void {\n if (value) {\n this._buttonElement.classList.add(BUTTON_TOGGLE_CONSTANTS.classes.SELECTED);\n } else {\n this._buttonElement.classList.remove(BUTTON_TOGGLE_CONSTANTS.classes.SELECTED);\n }\n this._buttonElement.setAttribute('aria-pressed', value.toString());\n }\n\n public addEventListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.addEventListener(type, listener);\n }\n\n public removeEventListener(type: string, listener: (evt: Event) => void): void {\n this._buttonElement.removeEventListener(type, listener);\n }\n\n public initializeRipple(): ForgeRipple {\n return new ForgeRipple(this._buttonElement);\n }\n\n public setDisabled(value: boolean): void {\n this._buttonElement.disabled = value;\n if (value) {\n this._buttonElement.setAttribute('aria-disabled', value.toString());\n } else {\n this._buttonElement.removeAttribute('aria-disabled');\n }\n }\n\n public setDense(value: boolean): void {\n if (value) {\n this._buttonElement.classList.add(BUTTON_TOGGLE_CONSTANTS.classes.DENSE);\n } else {\n this._buttonElement.classList.remove(BUTTON_TOGGLE_CONSTANTS.classes.DENSE);\n }\n }\n\n public requestFocus(): void {\n this._buttonElement.focus();\n }\n\n public detectStretchState(): void {\n if (this._component.hasAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH)) {\n return;\n }\n const buttonToggleGroup = this._component.parentElement as IButtonToggleGroupComponent;\n if (buttonToggleGroup && buttonToggleGroup.hasAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH) && buttonToggleGroup.stretch) {\n this._component.setAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.STRETCH, '');\n }\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ForgeRipple } from '../../ripple';\nimport { IButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\n\n\nexport interface IButtonToggleFoundation extends ICustomElementFoundation {\n value: any;\n selected: boolean;\n disabled: boolean;\n dense: boolean;\n setFocus(): void;\n}\n\nexport class ButtonToggleFoundation implements IButtonToggleFoundation {\n private _value: any;\n private _selected = false;\n private _disabled = false;\n private _dense = false;\n private _clickListener: (evt: MouseEvent) => void;\n private _rippleInstance: ForgeRipple;\n\n constructor(private _adapter: IButtonToggleAdapter) {\n this._clickListener = evt => this._onClick(evt);\n }\n\n public initialize(): void {\n this._rippleInstance = this._adapter.initializeRipple();\n this._adapter.addEventListener('click', this._clickListener);\n this._adapter.setSelected(this._selected);\n this._adapter.setDisabled(this._disabled);\n this._adapter.setDense(this._dense);\n this._adapter.detectStretchState();\n }\n\n public disconnect(): void {\n if (this._rippleInstance) {\n this._rippleInstance.destroy();\n }\n this._adapter.removeEventListener('click', this._clickListener);\n }\n\n private _onClick(evt: MouseEvent): void {\n this._selected = !this._selected;\n this._updateSelectedState();\n this._adapter.emitHostEvent(BUTTON_TOGGLE_CONSTANTS.events.SELECT, { value: this._value, selected: this._selected } as IButtonToggleSelectEventData);\n }\n\n private _updateSelectedState(): void {\n this._adapter.setSelected(this._selected);\n this._adapter.setHostAttribute(BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED, this._selected.toString());\n }\n\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n this._value = value;\n }\n\n public get selected(): boolean {\n return this._selected;\n }\n public set selected(value: boolean) {\n if (this._selected !== value) {\n this._selected = value;\n this._updateSelectedState();\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.setDense(this._dense);\n }\n }\n\n public setFocus(): void {\n this._adapter.requestFocus();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty, getShadowElement } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ButtonToggleAdapter } from './button-toggle-adapter';\nimport { BUTTON_TOGGLE_CONSTANTS, IButtonToggleSelectEventData } from './button-toggle-constants';\nimport { ButtonToggleFoundation } from './button-toggle-foundation';\n\nconst template = '<template><button type=\\\"button\\\" class=\\\"forge-button-toggle\\\" aria-pressed=\\\"false\\\" part=\\\"button\\\"><slot name=\\\"leading\\\"></slot><slot></slot><slot name=\\\"trailing\\\"></slot></button></template>';\nconst styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}';\n\nexport interface IButtonToggleComponent extends IBaseComponent {\n value: any;\n selected: boolean;\n disabled: boolean;\n dense: boolean;\n}\n\nexport interface IButtonToggleComponentEventMap extends HTMLElementEventMap {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-button-toggle': IButtonToggleComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-button-toggle-select': CustomEvent<IButtonToggleSelectEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-button-toggle>` custom element.\n * \n * @tag forge-button-toggle\n */\n@CustomElement({\n name: BUTTON_TOGGLE_CONSTANTS.elementName\n})\nexport class ButtonToggleComponent extends BaseComponent implements IButtonToggleComponent {\n public static get observedAttributes(): string[] {\n return [\n BUTTON_TOGGLE_CONSTANTS.attributes.VALUE,\n BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED,\n BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED,\n BUTTON_TOGGLE_CONSTANTS.attributes.DENSE,\n BUTTON_TOGGLE_CONSTANTS.attributes.BUTTON_ARIA_LABEL\n ];\n }\n\n private _foundation: ButtonToggleFoundation;\n private _buttonElement: HTMLButtonElement;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new ButtonToggleFoundation(new ButtonToggleAdapter(this));\n this._buttonElement = getShadowElement(this, BUTTON_TOGGLE_CONSTANTS.selectors.BUTTON) as HTMLButtonElement;\n }\n\n public initializedCallback(): 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 BUTTON_TOGGLE_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.SELECTED:\n this.selected = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case BUTTON_TOGGLE_CONSTANTS.attributes.BUTTON_ARIA_LABEL:\n this._buttonElement.setAttribute('aria-label', newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare value: any;\n\n @FoundationProperty()\n public declare selected: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n public override focus(): void {\n this._foundation.setFocus();\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as C}from"./chunk.B5ABD4CZ.js";import{b as o}from"./chunk.EJ4ASQET.js";import{a as V}from"./chunk.RST65QIB.js";import{h as P,i as N}from"./chunk.F2TKPPK7.js";import{a as k}from"./chunk.3UMBCR4P.js";import{x as L}from"./chunk.KYCC3C3M.js";import{a as G}from"./chunk.A23NSEWA.js";import{a as d}from"./chunk.B3IJU6XJ.js";import{i as S}from"./chunk.R4NDFXVA.js";import{a as y,b as c,j as I,k as x,n as B}from"./chunk.G76HB2FK.js";import{a as O,f as a}from"./chunk.MCIQXNKY.js";var U={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width"},W=O({},U),R={CHANGE:"change"},m={attributes:W,events:R};var H=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(H||{});function D(l,b){let e=l.some(i=>E(i)),t=l.some(i=>z(i));return e&&b===1||t&&b===0}function E(l){return c(l)&&I(l)&&l.hasOwnProperty("options")&&l.hasOwnProperty("text")}function z(l){return c(l)&&I(l)&&l.hasOwnProperty("label")&&l.hasOwnProperty("value")}var F=class extends N{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=y()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._open&&this._closeDropdown(),this._optionListenerDestructor&&this._optionListenerDestructor()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return D(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(r=>r.value===t);if(n){let r=i.indexOf(n);this._onSelect(n,r,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let r=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],w=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(r)){let h=this._selectedValues.indexOf(r);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(r),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(r)?(this._selectedValues[0]=r,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...w],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},A=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,A));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let T=!this._adapter.emitHostEvent(m.events.CHANGE,A,!0,!0);T?s():_(),this._tryUpdateDropdownPosition(),n(!T)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>B(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?`${this._selectedLabels.length} ${this._selectedLabels.length===1?"option":"options"} selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,r=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||r){if(e.preventDefault(),this._multiple&&!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._open?this._adapter.highlightActiveOption(s):this._onSelect(this._nonDividerOptions[s],s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(i=>!i.disabled&&i.label.toLowerCase().startsWith(this._filterString));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;D(e,1)?t=e.map(i=>O({},i)):t=e.map(i=>O({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends V{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=x(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var M=class extends G{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(C.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new P(this._targetElement,e),this._listDropdown.open()}close(){this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(k.events.BLUR,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(E(i)){let n=this._createOptionGroupElement(i);for(let r of i.options){let u=this._createOptionElement(r);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){!this.popupElement||window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(C.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){var i;let t=document.createElement("forge-option-group");return L(e,t),t.label=(i=e.text)!=null?i:"",t}_createOptionElement(e){let t=document.createElement("forge-option");return L(e,t),t.textContent=e.label,t}};export{m as a,H as b,D as c,E as d,z as e,F as f,p as g,M as h};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as C}from"./chunk.GEMZPO6Z.js";import{b as o}from"./chunk.S76NW5JY.js";import{a as V}from"./chunk.ETIN6DEM.js";import{h as P,i as N}from"./chunk.MBWEYW6M.js";import{a as k}from"./chunk.UOWU5VVK.js";import{h as L}from"./chunk.5BDTX7CR.js";import{a as G}from"./chunk.5PXABBKU.js";import{a as d}from"./chunk.B3IJU6XJ.js";import{i as S}from"./chunk.R4NDFXVA.js";import{a as y,b as c,j as I,k as x,n as B}from"./chunk.G76HB2FK.js";import{a as O,f as a}from"./chunk.MCIQXNKY.js";var U={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width"},W=O({},U),R={CHANGE:"change"},m={attributes:W,events:R};var H=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(H||{});function D(l,b){let e=l.some(i=>E(i)),t=l.some(i=>z(i));return e&&b===1||t&&b===0}function E(l){return c(l)&&I(l)&&l.hasOwnProperty("options")&&l.hasOwnProperty("text")}function z(l){return c(l)&&I(l)&&l.hasOwnProperty("label")&&l.hasOwnProperty("value")}var F=class extends N{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=y()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._open&&this._closeDropdown(),this._optionListenerDestructor&&this._optionListenerDestructor()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return D(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(r=>r.value===t);if(n){let r=i.indexOf(n);this._onSelect(n,r,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let r=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],w=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(r)){let h=this._selectedValues.indexOf(r);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(r),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(r)?(this._selectedValues[0]=r,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...w],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},A=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,A));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let T=!this._adapter.emitHostEvent(m.events.CHANGE,A,!0,!0);T?s():_(),this._tryUpdateDropdownPosition(),n(!T)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>B(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?`${this._selectedLabels.length} ${this._selectedLabels.length===1?"option":"options"} selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,r=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||r){if(e.preventDefault(),this._multiple&&!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._open?this._adapter.highlightActiveOption(s):this._onSelect(this._nonDividerOptions[s],s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(i=>!i.disabled&&i.label.toLowerCase().startsWith(this._filterString));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;D(e,1)?t=e.map(i=>O({},i)):t=e.map(i=>O({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get observeScroll(){return this._observeScroll}set observeScroll(e){this._observeScroll=e}get observeScrollThreshold(){return this._observeScrollThreshold}set observeScrollThreshold(e){this._observeScrollThreshold=e}get syncPopupWidth(){return this._syncPopupWidth}set syncPopupWidth(e){this._syncPopupWidth=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends V{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=x(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var M=class extends G{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(C.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new P(this._targetElement,e),this._listDropdown.open()}close(){this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(k.events.BLUR,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(E(i)){let n=this._createOptionGroupElement(i);for(let r of i.options){let u=this._createOptionElement(r);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){!this.popupElement||window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(C.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){var i;let t=document.createElement("forge-option-group");return L(e,t),t.label=(i=e.text)!=null?i:"",t}_createOptionElement(e){let t=document.createElement("forge-option");return L(e,t),t.textContent=e.label,t}};export{m as a,H as b,D as c,E as d,z as e,F as f,p as g,M as h};
|
|
7
|
+
//# sourceMappingURL=chunk.4K3IV4GI.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/core/base-select-constants.ts", "../../src/select/core/select-utils.ts", "../../src/select/core/base-select-foundation.ts", "../../src/select/core/base-select.ts", "../../src/select/core/base-select-adapter.ts"],
|
|
4
|
-
"sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options') && o.hasOwnProperty('text');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n observeScroll: boolean;\n observeScrollThreshold: number;\n syncPopupWidth: boolean;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._open) {\n this._closeDropdown();\n }\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n return `${this._selectedLabels.length} ${this._selectedLabels.length === 1 ? 'option' : 'options'} selected`;\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (this._multiple && !this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n // If the dropdown is open then we just move the active index, otherwise we change the selection (to mimic the native <select>)\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else {\n this._onSelect(this._nonDividerOptions[optionIndex], optionIndex);\n }\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO(kieran.nichols): Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(option => !option.disabled && option.label.toLowerCase().startsWith(this._filterString));\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\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 /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n \n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport { IPopupComponent } from '../../popup';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopupComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /** Gets the popup element (when the dropdown is open). */\n @FoundationProperty({ set: false })\n public popupElement: IPopupComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../../popup';\nimport { assignMatchingProperties } from '../../core/utils/utils';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: IBaseSelectComponent) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return { text: optionGroupElement.label, options } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public close(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n assignMatchingProperties(group, optionGroupElement);\n optionGroupElement.label = group.text ?? '';\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n assignMatchingProperties(option, optionElement);\n optionElement.textContent = option.label;\n return optionElement;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { IListDropdownOption, IListDropdownOptionGroup } from '../../list-dropdown/list-dropdown-constants';\n\nexport type SelectOptionBuilder = (option: ISelectOption, parentElement: HTMLElement) => HTMLElement;\nexport type SelectSelectedTextBuilder = (selectedOptions: IListDropdownOption[]) => string;\nexport type SelectOptionListenerDestructor = () => void;\nexport type SelectBeforeValueChangeCallback<T> = (value: T | T[]) => boolean | Promise<boolean>;\n\nexport interface ISelectOption extends IListDropdownOption {}\nexport interface ISelectOptionGroup extends IListDropdownOptionGroup {}\n\nconst observedAttributes = {\n VALUE: 'value',\n MULTIPLE: 'multiple',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n SYNC_POPUP_WIDTH: 'sync-popup-width'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst events = {\n CHANGE: 'change'\n};\n\nexport const BASE_SELECT_CONSTANTS = {\n attributes,\n events\n};\n", "import { isDefined, isObject } from '@tylertech/forge-core';\nimport { ISelectOption, ISelectOptionGroup } from './base-select-constants';\n\nexport enum SelectOptionType { Option, Group }\n\n/**\n * Determines if the provided options are of the specified type.\n * @param options The options either grouped or individual.\n * @param type The type of option to detect.\n */\nexport function isSelectOptionType(options: ISelectOption[] | ISelectOptionGroup[], type: SelectOptionType): boolean {\n const isOptionGroups = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionGroupObject(o));\n const isOptionTypes = options.some((o: ISelectOption | ISelectOptionGroup) => isOptionObject(o));\n return (isOptionGroups && type === SelectOptionType.Group) || (isOptionTypes && type === SelectOptionType.Option);\n}\n\nexport function isOptionGroupObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOptionGroup {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('options') && o.hasOwnProperty('text');\n}\n\nexport function isOptionObject(o: ISelectOption | ISelectOptionGroup): o is ISelectOption {\n return isDefined(o) && isObject(o) && o.hasOwnProperty('label') && o.hasOwnProperty('value');\n}\n", "import { isDefined, isDeepEqual, randomChars } from '@tylertech/forge-core';\nimport { OptionListenerDestructor } from '../select/select-adapter';\nimport { ISelectOption, ISelectOptionGroup, SelectSelectedTextBuilder, SelectOptionBuilder, BASE_SELECT_CONSTANTS, SelectBeforeValueChangeCallback } from './base-select-constants';\nimport { isSelectOptionType, SelectOptionType } from './select-utils';\nimport { IListDropdownConfig, ListDropdownHeaderBuilder, ListDropdownFooterBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { IBaseSelectAdapter } from './base-select-adapter';\nimport { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../../list-dropdown/list-dropdown-aware-foundation';\n\nexport interface IBaseSelectFoundation extends IListDropdownAwareFoundation {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n popupElement: HTMLElement | undefined;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n observeScroll: boolean;\n observeScrollThreshold: number;\n syncPopupWidth: boolean;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n selectAll(): void;\n deselectAll(): void;\n initialize(): void;\n initializeTarget(): void;\n disconnect(): void;\n}\n\nexport abstract class BaseSelectFoundation<T extends IBaseSelectAdapter> extends ListDropdownAwareFoundation implements IBaseSelectFoundation {\n protected _options: ISelectOption[] | ISelectOptionGroup[] = [];\n protected _value: any = [];\n protected _multiple = false;\n protected _open = false;\n protected _optionBuilder: SelectOptionBuilder;\n protected _selectedTextBuilder: SelectSelectedTextBuilder;\n protected _selectedValues: string[] = [];\n protected _selectedLabels: string[] = [];\n protected _selectedIndexes: number[] = [];\n protected _filterTimeout: number | undefined;\n protected _filterString = '';\n protected _identifier: string;\n protected _targetWidthCallback: () => number;\n protected _beforeValueChange: SelectBeforeValueChangeCallback<unknown>;\n private _focusListener: (evt: Event) => void;\n private _blurListener: (evt: FocusEvent) => void;\n private _clickListener: (evt: MouseEvent) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _optionsChangedListener: (options: ISelectOption[] | ISelectOptionGroup[]) => void;\n private _optionListenerDestructor: OptionListenerDestructor;\n private _activeChangeListener: (id: string) => void;\n private _dropdownScrollEndListener: () => void;\n private _valueChanging: Promise<boolean> | undefined;\n private _dismissListener: () => void;\n\n constructor(protected _adapter: T) {\n super();\n this._focusListener = evt => this._onFocus(evt);\n this._blurListener = evt => this._onBlur(evt);\n this._clickListener = evt => this._onClick(evt);\n this._keydownListener = evt => this._onKeydown(evt);\n this._optionsChangedListener = options => this._onOptionsChanged(options);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n this._dropdownScrollEndListener = () => this._onDropdownScrollEnd();\n this._dismissListener = () => this._onDismiss();\n this._identifier = randomChars();\n }\n\n protected abstract _onDropdownScrollEnd(): void;\n protected _onFocus(evt: Event): void {}\n\n public initialize(): void {\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n this._optionListenerDestructor = this._adapter.setOptionsListener(this._optionsChangedListener);\n this._initializeValue();\n }\n\n public initializeTarget(): void {\n this._adapter.initializeAccessibility();\n this._adapter.setMultiple(this._multiple);\n this._adapter.addClickListener(this._clickListener);\n this._adapter.addTargetListener('blur', this._blurListener);\n this._adapter.addTargetListener('focus', this._focusListener);\n this._adapter.addTargetListener('keydown', this._keydownListener);\n }\n\n public disconnect(): void {\n this._adapter.removeClickListener(this._clickListener);\n this._adapter.removeTargetListener('blur', this._blurListener);\n this._adapter.removeTargetListener('focus', this._focusListener);\n this._adapter.removeTargetListener('keydown', this._keydownListener);\n\n if (this._open) {\n this._closeDropdown();\n }\n\n if (this._optionListenerDestructor) {\n this._optionListenerDestructor();\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._adapter.setOptions(options, false);\n if (this._open) {\n this._adapter.appendDropdownOptions(options);\n }\n }\n\n public selectAll(): void {\n if (this._multiple) {\n this.value = this._flatOptions.map(o => o.value);\n }\n }\n\n public deselectAll(): void {\n if (this._multiple) {\n this.value = [];\n }\n }\n\n protected get _flatOptions(): ISelectOption[] {\n if (isSelectOptionType(this._options, SelectOptionType.Group)) {\n return [].concat.apply([], (this._options as ISelectOptionGroup[]).map(g => g.options)) as ISelectOption[];\n }\n return this._options as ISelectOption[];\n }\n\n private get _nonDividerOptions(): ISelectOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n protected _initializeValue(): void {\n const options = (this._options.length && this._options) || this._adapter.getOptions();\n if (isDefined(this._value) && options.length) {\n this._applyValue(this._value);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (evt.button !== 0) {\n return;\n }\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n\n protected _onBlur(evt: FocusEvent): void {\n // If the blur event was triggered by an element within the popup then ignore it\n if (this._adapter.isFocusWithinPopup(evt.relatedTarget as HTMLElement)) {\n return;\n }\n\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n\n protected _openDropdown(): void {\n this._options = this._adapter.getOptions();\n\n if (!this._flatOptions.length) {\n return;\n }\n\n this._open = true;\n const config: IListDropdownConfig = {\n options: this._options,\n multiple: this._multiple,\n selectedValues: [...this._selectedValues],\n id: this._identifier,\n optionBuilder: this._optionBuilder,\n syncWidth: this._syncPopupWidth,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n scrollEndListener: this._dropdownScrollEndListener,\n activeChangeCallback: this._activeChangeListener,\n targetWidthCallback: this._targetWidthCallback,\n popupClasses: this._popupClasses,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n closeCallback: () => this._closeDropdown(),\n selectCallback: (value: any) => {\n const flatOptions = this._flatOptions;\n const option = flatOptions.find(o => o.value === value);\n if (option) {\n const index = flatOptions.indexOf(option);\n this._onSelect(option, index, true);\n }\n }\n };\n this._adapter.open(config);\n this._adapter.setDismissListener(this._dismissListener);\n }\n\n /**\n * Closes the dropdown.\n */\n protected _closeDropdown(): void {\n this._open = false;\n this._adapter.close();\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n return new Promise(async resolve => {\n if (this._valueChanging) {\n return Promise.resolve(false);\n }\n\n const value = option ? option.value : '';\n const label = option ? option.label : '';\n\n // Store the current selections in case we need to rollback (if the event was cancelled)\n const prevValues = [...this._value];\n const prevSelectedValues = [...this._selectedValues];\n const prevSelectedLabels = [...this._selectedLabels];\n const prevSelectedIndexes = [...this._selectedIndexes];\n\n if (this._multiple) {\n if (this._selectedValues.includes(value)) {\n const index = this._selectedValues.indexOf(value);\n this._selectedValues.splice(index, 1);\n this._selectedLabels.splice(index, 1);\n this._selectedIndexes.splice(index, 1);\n } else {\n this._selectedValues.push(value);\n this._selectedLabels.push(label);\n this._selectedIndexes.push(optionIndex);\n }\n } else {\n if (isDefined(value)) {\n this._selectedValues[0] = value;\n this._selectedLabels[0] = label;\n this._selectedIndexes[0] = optionIndex;\n } else {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n }\n\n this._value = [...this._selectedValues];\n\n const rollbackValue = (): void => {\n this._selectedValues = [...prevSelectedValues];\n this._selectedLabels = [...prevSelectedLabels];\n this._selectedIndexes = [...prevSelectedIndexes];\n this._value = [...prevValues];\n };\n\n const applyValue = (): void => {\n // If we're in multiselect mode, we need to toggle the selected option\n if (this._multiple) {\n const isSelected = this._selectedIndexes.includes(optionIndex);\n this._adapter.toggleOptionMultiple(optionIndex, isSelected);\n }\n\n this._applySelection();\n };\n\n const data = this.multiple ? [...this._selectedValues] : this._selectedValues[0];\n\n // We close the dropdown immediately if in single selection mode\n if (this._open && closeDropdown && !this._multiple) {\n this._closeDropdown();\n }\n\n // First we check to see if there is an before change callback and execute that\n if (typeof this._beforeValueChange === 'function') {\n this._valueChanging = Promise.resolve(this._beforeValueChange.call(null, data));\n const shouldContinue = await this._valueChanging;\n this._valueChanging = undefined;\n if (!shouldContinue) {\n rollbackValue();\n this._tryUpdateDropdownPosition();\n return resolve(false);\n }\n }\n\n // Now we can emit the change event AFTER the before change callback has been executed and returned true\n const cancelled = !this._adapter.emitHostEvent(BASE_SELECT_CONSTANTS.events.CHANGE, data, true, true);\n if (!cancelled) {\n applyValue();\n } else {\n rollbackValue();\n }\n\n this._tryUpdateDropdownPosition();\n resolve(!cancelled);\n });\n }\n\n private _selectActiveOption(): void {\n const activeOptionIndex = this._adapter.getActiveOptionIndex();\n if (activeOptionIndex >= 0 && this._nonDividerOptions[activeOptionIndex]) {\n this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);\n }\n }\n\n protected _tryUpdateDropdownPosition(): void {\n if (this._open) {\n this._adapter.queueDropdownPositionUpdate();\n }\n }\n\n protected _reset(): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n this._selectedIndexes = [];\n }\n\n protected _applyValue(value: string | string[]): void {\n this._selectedValues = [];\n this._selectedLabels = [];\n\n this._options = this._adapter.getOptions();\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n this._value = [];\n\n // Ensure that the values passed are actually existing options\n for (const val of value) {\n if (!this._value.includes(val)) {\n this._value.push(val);\n }\n const option = this._flatOptions.find(o => isDeepEqual(o.value, val));\n if (option) {\n this._selectedValues.push(option.value);\n this._selectedLabels.push(option.label);\n }\n }\n\n // Update the selected indexes based on the values that are now selected\n this._selectedIndexes = this._selectedValues.map(val => this._flatOptions.findIndex(o => o.value === val));\n\n // Update the selected options in the dropdown\n this._adapter.patchSelectedValues(this._selectedValues);\n }\n \n /**\n * Handles the user dismissing the dropdown.\n */\n protected _onDismiss(): void {\n this._closeDropdown();\n }\n\n /** Creates the selected text value from the selected label values. */\n protected _getSelectedText(): string {\n if (typeof this._selectedTextBuilder === 'function') {\n const selectedOptions = this._flatOptions.filter(o => this._selectedValues.includes(o.value));\n return this._selectedTextBuilder(selectedOptions);\n }\n\n if (this._multiple) {\n if (this._selectedLabels.length) {\n return `${this._selectedLabels.length} ${this._selectedLabels.length === 1 ? 'option' : 'options'} selected`;\n } else {\n return '';\n }\n }\n \n return this._selectedLabels\n .filter(v => v && v.length)\n .join(' ')\n .trim();\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEscapeKey = evt.key === 'Escape' || evt.keyCode === 27;\n const isEnter = evt.key === 'Enter' || evt.keyCode === 13;\n const isSpace = evt.key === 'Space' || evt.keyCode === 32;\n const isArrowDown = evt.key === 'ArrowDown' || evt.keyCode === 40;\n const isArrowUp = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isFilterableCharacter = evt.keyCode >= 48 && evt.keyCode <= 90;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n const isTabKey = evt.key === 'Tab';\n\n // We automatically select the active option if the dropdown is open and in single selection mode\n if (isTabKey && this._open && !this._multiple) {\n this._selectActiveOption();\n return;\n }\n\n // If an active filter was started, clear it now\n if (!isFilterableCharacter && this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterString = '';\n this._filterTimeout = undefined;\n }\n\n if (isEscapeKey) {\n evt.preventDefault();\n if (this._open) {\n this._closeDropdown();\n return;\n }\n }\n\n if (isSpace) {\n evt.preventDefault();\n\n if (!this._open) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n } else if (isEnter) {\n if (this._open) {\n evt.stopPropagation();\n evt.preventDefault();\n this._options = this._adapter.getOptions();\n this._selectActiveOption();\n }\n } else if (isArrowUp || isArrowDown) {\n evt.preventDefault();\n\n if (this._multiple && !this._open) {\n this._openDropdown();\n this._adapter.activateFirstOption();\n return;\n }\n\n if (this._flatOptions.length === 0) {\n return;\n }\n\n let optionIndex = 0;\n if (this._open) {\n optionIndex = this._adapter.getActiveOptionIndex();\n if (optionIndex === -1) {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n } else {\n optionIndex = this._getFirstSelectedOptionIndex();\n }\n\n if (isArrowUp) {\n optionIndex = this._getPreviousHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n } else {\n optionIndex = this._getNextHighlightableOptionIndex(optionIndex, this._nonDividerOptions);\n }\n\n // If the dropdown is open then we just move the active index, otherwise we change the selection (to mimic the native <select>)\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else {\n this._onSelect(this._nonDividerOptions[optionIndex], optionIndex);\n }\n } else if (isHomeKey) {\n if (this._open) {\n evt.preventDefault();\n this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(o => !o.disabled));\n }\n } else if (isEndKey) {\n if (this._open) {\n evt.preventDefault();\n const options = this._nonDividerOptions;\n for (let i = options.length - 1; i >= 0; i--) {\n if (!options[i].disabled) {\n this._adapter.highlightActiveOption(i);\n break;\n }\n }\n }\n } else if (isFilterableCharacter) {\n this._filter(evt.key);\n }\n }\n\n private _getFirstSelectedOptionIndex(): number {\n return this._nonDividerOptions.findIndex(option => this._selectedValues.includes(option.value));\n }\n\n private _getPreviousHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index <= 0) {\n index = options.length - 1;\n } else {\n index--;\n }\n if (options[index].disabled) {\n return this._getPreviousHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _getNextHighlightableOptionIndex(startIndex: number, options: ISelectOption[]): number {\n let index = startIndex;\n if (index === options.length - 1) {\n index = 0;\n } else {\n index++;\n }\n if (options[index].disabled) {\n return this._getNextHighlightableOptionIndex(index, options);\n }\n return index;\n }\n\n private _filter(key: string): void {\n // This allows for typing numbers and/or characters while the select is focused to auto-select the closest match\n if (this._filterTimeout) {\n window.clearTimeout(this._filterTimeout);\n this._filterTimeout = undefined;\n }\n this._filterString += key;\n this._filterTimeout = window.setTimeout(() => {\n this._filterString = '';\n this._filterTimeout = undefined;\n }, 300);\n this._options = this._adapter.getOptions();\n // TODO(kieran.nichols): Enhance this to cycle through closest matches (see the native select)\n const matchedOption = this._flatOptions.find(option => !option.disabled && option.label.toLowerCase().startsWith(this._filterString));\n if (matchedOption) {\n const optionIndex = this._flatOptions.indexOf(matchedOption);\n if (this._open) {\n this._adapter.highlightActiveOption(optionIndex);\n } else if (!this._multiple) {\n this._onSelect(matchedOption, optionIndex, false);\n }\n }\n }\n\n private _onOptionsChanged(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._options = options;\n this._applyValue(this._value);\n }\n\n private _onActiveOptionChanged(id: string): void {\n this._adapter.updateActiveDescendant(id);\n }\n\n /** Gets/sets the value of the component. */\n public get value(): any {\n return this._multiple ? [...this._value] : this._value[0];\n }\n public set value(value: any) {\n let _value: string | string[];\n \n if (Array.isArray(value)) {\n _value = [ ...value ];\n } else {\n _value = value;\n }\n\n this._applyValue(_value);\n }\n\n /** Gets/sets the selected index(s). */\n public get selectedIndex(): number | number[] {\n return this._multiple ? [ ...this._selectedIndexes ] : this._selectedIndexes[0];\n }\n public set selectedIndex(indexes: number | number[]) {\n this._options = this._adapter.getOptions();\n\n let indicies: number [];\n if (Array.isArray(indexes)) {\n indicies = [ ...indexes ];\n } else {\n indicies = [indexes];\n }\n\n indicies.sort();\n\n if (this.multiple) {\n this.value = indicies\n .map(index => this._flatOptions[index])\n .filter(o => o)\n .map(o => o.value);\n } else {\n const option = this._flatOptions[indicies[indicies.length - 1]];\n if (!option) {\n return;\n }\n this.value = option.value;\n }\n }\n\n /** Gets/sets the available options. */\n public get options(): ISelectOption[] | ISelectOptionGroup[] {\n return this._adapter.getOptions();\n }\n public set options(value: ISelectOption[] | ISelectOptionGroup[]) {\n let _value: ISelectOption[] | ISelectOptionGroup[];\n if (isSelectOptionType(value, SelectOptionType.Group)) {\n _value = (value as ISelectOptionGroup[]).map(v => ({ ...v }));\n } else {\n _value = (value as ISelectOption[]).map(v => ({ ...v }));\n }\n\n this._options = _value;\n this._adapter.setOptions(_value); // Must set options before intializing value\n this._initializeValue();\n\n if (this._open) {\n this._adapter.setDropdownOptions(_value);\n }\n }\n\n /** Gets/sets the multiple select state. */\n public get multiple(): boolean {\n return this._multiple;\n }\n public set multiple(value: boolean) {\n if (this._multiple !== value) {\n this._multiple = value;\n this._reset();\n if (this._open) {\n this._closeDropdown();\n }\n this._adapter.setMultiple(this._multiple);\n }\n }\n\n /** Gets/sets the open state of the dropdown. */\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 /** Gets/sets the builder callback to use when building options. */\n public get optionBuilder(): SelectOptionBuilder {\n return this._optionBuilder;\n }\n public set optionBuilder(value: SelectOptionBuilder) {\n this._optionBuilder = value;\n }\n\n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n public get selectedTextBuilder(): SelectSelectedTextBuilder {\n return this._selectedTextBuilder;\n }\n public set selectedTextBuilder(fn: SelectSelectedTextBuilder) {\n this._selectedTextBuilder = fn;\n }\n\n public get observeScroll(): boolean {\n return this._observeScroll;\n }\n public set observeScroll(value: boolean) {\n this._observeScroll = value;\n }\n\n public get observeScrollThreshold(): number {\n return this._observeScrollThreshold;\n }\n public set observeScrollThreshold(value: number) {\n this._observeScrollThreshold = value;\n }\n\n public get syncPopupWidth(): boolean {\n return this._syncPopupWidth;\n }\n public set syncPopupWidth(value: boolean) {\n this._syncPopupWidth = value;\n }\n\n\n public get optionLimit(): number {\n return this._optionLimit;\n }\n public set optionLimit(value: number) {\n this._optionLimit = value;\n }\n \n public get popupClasses(): string | string[] {\n return this._popupClasses;\n }\n public set popupClasses(value: string | string[]) {\n this._popupClasses = value;\n }\n\n public get popupHeaderBuilder(): ListDropdownHeaderBuilder {\n return this._popupHeaderBuilder;\n }\n public set popupHeaderBuilder(value: ListDropdownHeaderBuilder) {\n this._popupHeaderBuilder = value;\n }\n\n public get popupFooterBuilder(): ListDropdownFooterBuilder {\n return this._popupFooterBuilder;\n }\n public set popupFooterBuilder(value: ListDropdownFooterBuilder) {\n this._popupFooterBuilder = value;\n }\n\n /** Gets the currently active popup element when the dropdown is open. */\n public get popupElement(): HTMLElement | undefined {\n return this._adapter.popupElement;\n }\n\n /** Sets the callback to be executed when the user selects a value. */\n public get beforeValueChange(): SelectBeforeValueChangeCallback<any> {\n return this._beforeValueChange;\n }\n public set beforeValueChange(value: SelectBeforeValueChangeCallback<any>) {\n this._beforeValueChange = value;\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\n\nimport {\n SelectOptionBuilder,\n SelectSelectedTextBuilder,\n ISelectOption,\n ISelectOptionGroup,\n SelectBeforeValueChangeCallback,\n BASE_SELECT_CONSTANTS\n} from './base-select-constants';\nimport { IBaseSelectFoundation } from './base-select-foundation';\nimport { IListDropdownAware, ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';\nimport { IPopupComponent } from '../../popup';\n\n\nexport interface IBaseSelectComponent extends IListDropdownAware {\n value: any;\n selectedIndex: number | number[];\n options: ISelectOption[] | ISelectOptionGroup[];\n multiple: boolean;\n open: boolean;\n optionBuilder: SelectOptionBuilder;\n selectedTextBuilder: SelectSelectedTextBuilder;\n popupElement: IPopupComponent | undefined;\n beforeValueChange: SelectBeforeValueChangeCallback<any>;\n appendOptions(options: ISelectOption[] | ISelectOption[]): void;\n selectAll(): void;\n deselectAll(): void;\n}\n\nexport abstract class BaseSelectComponent<T extends IBaseSelectFoundation> extends ListDropdownAware implements IBaseSelectComponent {\n protected _foundation: T;\n\n constructor() {\n super();\n }\n\n /** Gets/sets the value. */\n @FoundationProperty()\n public declare value: any;\n \n /** Gets/sets the selected index. */\n @FoundationProperty()\n public declare selectedIndex: number | number[];\n \n /** Gets/sets the available options. */\n @FoundationProperty()\n public declare options: ISelectOption[] | ISelectOptionGroup[];\n\n /** Gets/sets the multiple select state. */\n @FoundationProperty()\n public declare multiple: boolean;\n \n /** Gets the open state of the dropdown. */\n @FoundationProperty()\n public declare open: boolean;\n \n /** Sets the option builder callback that will be executed when building the option list in the dropdown. */\n @FoundationProperty()\n public declare optionBuilder: SelectOptionBuilder;\n \n /** Sets the selected text builder callback that will be executed when getting the selected text to display in the field. */\n @FoundationProperty()\n public declare selectedTextBuilder: SelectSelectedTextBuilder;\n\n /** Sets the callback to be executed when the user selects a value. */\n @FoundationProperty()\n public declare beforeValueChange: SelectBeforeValueChangeCallback<any>;\n\n /** Gets the popup element (when the dropdown is open). */\n @FoundationProperty({ set: false })\n public declare popupElement: IPopupComponent | undefined;\n \n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case BASE_SELECT_CONSTANTS.attributes.MULTIPLE:\n this.multiple = coerceBoolean(newValue);\n break;\n case BASE_SELECT_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n }\n }\n\n public appendOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._foundation.appendOptions(options);\n }\n\n public selectAll(): void {\n this._foundation.selectAll();\n }\n \n public deselectAll(): void {\n this._foundation.deselectAll();\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n}\n", "import { isDefined, removeElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseSelectComponent } from './base-select';\nimport { ListDropdown, IListDropdown } from '../../list-dropdown';\nimport { IListDropdownConfig, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionComponent, OPTION_CONSTANTS } from '../option';\nimport { IOptionGroupComponent, OPTION_GROUP_CONSTANTS } from '../option-group';\nimport { ISelectOption, ISelectOptionGroup, SelectOptionListenerDestructor } from './base-select-constants';\nimport { isOptionGroupObject } from './select-utils';\nimport { IPopupComponent, POPUP_CONSTANTS } from '../../popup';\nimport { assignMatchingProperties } from '../../core/utils/utils';\n\nexport interface IBaseSelectAdapter extends IBaseAdapter {\n initializeAccessibility(): void;\n addClickListener(listener: (evt: Event) => void): void;\n removeClickListener(listener: (evt: Event) => void): void;\n addTargetListener(type: string, listener: (evt: Event) => void): void;\n removeTargetListener(type: string, listener: (evt: Event) => void): void;\n getOptions(): ISelectOption[] | ISelectOptionGroup[];\n setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear?: boolean): void;\n open(config: IListDropdownConfig): void;\n close(): void;\n setDismissListener(listener: () => void): void;\n scrollSelectedOptionIntoView(): void;\n activateSelectedOption(): void;\n activateFirstOption(): void;\n getActiveOptionIndex(): number;\n highlightActiveOption(index: number): void;\n toggleOptionMultiple(index: number, isSelected: boolean): void;\n patchSelectedValues(selectedValues: string[]): void;\n updateActiveDescendant(id: string): void;\n setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor;\n setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;\n setMultiple(multiple: boolean): void;\n isFocusWithinPopup(target: HTMLElement): boolean;\n queueDropdownPositionUpdate(): void;\n popupElement: HTMLElement | undefined;\n}\n\nexport abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {\n private _listDropdown?: IListDropdown;\n protected _targetElement: HTMLElement;\n\n constructor(component: IBaseSelectComponent) {\n super(component);\n }\n\n public abstract initializeAccessibility(): void;\n public abstract updateActiveDescendant(id: string): void;\n public abstract addClickListener(listener: (evt: Event) => void): void;\n public abstract removeClickListener(listener: (evt: Event) => void): void;\n public abstract addTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract removeTargetListener(type: string, listener: (evt: Event) => void): void;\n public abstract setMultiple(multiple: boolean): void;\n\n public get popupElement(): HTMLElement | undefined {\n return this._listDropdown?.dropdownElement;\n }\n\n public getOptions(): ISelectOption[] | ISelectOptionGroup[] {\n const optionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName)) as IOptionGroupComponent[];\n if (optionGroupElements.length) {\n return optionGroupElements.map(optionGroupElement => {\n const optionElements = Array.from(optionGroupElement.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n const options = this._createOptionsFromElements(optionElements);\n return { text: optionGroupElement.label, options } as ISelectOptionGroup;\n });\n } else {\n const optionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName)) as IOptionComponent[];\n return this._createOptionsFromElements(optionElements);\n }\n }\n\n private _createOptionsFromElements(optionElements: IOptionComponent[]): ISelectOption[] {\n return optionElements.map(o => {\n let optionClass = o.hasAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS) as string : o.optionClass;\n if (typeof optionClass === 'string') {\n optionClass = optionClass.split(' ');\n }\n\n return {\n // eslint-disable-next-line @typescript-eslint/no-extra-parens\n label: o.hasAttribute(OPTION_CONSTANTS.attributes.LABEL) ? o.getAttribute(OPTION_CONSTANTS.attributes.LABEL) as string : (isDefined(o.label) ? o.label : o.innerText),\n value: o.hasAttribute(OPTION_CONSTANTS.attributes.VALUE) ? o.getAttribute(OPTION_CONSTANTS.attributes.VALUE) : o.value,\n disabled: o.hasAttribute(OPTION_CONSTANTS.attributes.DISABLED),\n divider: o.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER),\n optionClass,\n leadingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON) as string : o.leadingIcon,\n leadingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS) as string : o.leadingIconClass,\n leadingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE) as ListDropdownIconType : o.leadingIconType,\n trailingIcon: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON) as string : o.trailingIcon,\n trailingIconClass: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS) as string : o.trailingIconClass,\n trailingIconType: o.hasAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) ? o.getAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE) as ListDropdownIconType : o.trailingIconType,\n leadingBuilder: o.leadingBuilder,\n trailingBuilder: o.trailingBuilder\n };\n });\n }\n\n public open(config: IListDropdownConfig): void {\n this._listDropdown = new ListDropdown(this._targetElement, config);\n this._listDropdown.open();\n }\n\n public close(): void {\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setDismissListener(listener: () => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n const dropdownElement = this._listDropdown.dropdownElement as IPopupComponent;\n if (dropdownElement.targetElement) {\n dropdownElement.targetElement.addEventListener(POPUP_CONSTANTS.events.BLUR, listener);\n }\n }\n\n public toggleOptionMultiple(index: number, isSelected: boolean): void {\n this._listDropdown?.toggleOptionMultiple(index, isSelected);\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public activateSelectedOption(): void {\n this._listDropdown?.activateSelectedOption();\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public highlightActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public patchSelectedValues(selectedValues: string[]): void {\n this._listDropdown?.setSelectedValues(selectedValues);\n }\n\n public setOptionsListener(listener: (options: ISelectOption[] | ISelectOptionGroup[]) => void): SelectOptionListenerDestructor {\n // Watch for option value property changes\n const optionValueChangeListener: EventListener = evt => {\n evt.stopPropagation();\n listener(this.getOptions());\n };\n this._component.addEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n\n // Watch for DOM changes\n const observer = new MutationObserver(() => listener(this.getOptions()));\n observer.observe(this._component, { childList: true, subtree: true });\n\n return () => {\n this._component.removeEventListener(OPTION_CONSTANTS.events.VALUE_CHANGE, optionValueChangeListener);\n observer.disconnect();\n };\n }\n\n public setOptions(options: ISelectOption[] | ISelectOptionGroup[], clear = true): void {\n if (clear) {\n this._clearOptions();\n }\n\n for (const opt of options) {\n if (isOptionGroupObject(opt)) {\n const optionGroupElement = this._createOptionGroupElement(opt);\n for (const option of opt.options) {\n const optionElement = this._createOptionElement(option);\n optionGroupElement.appendChild(optionElement);\n }\n this._component.appendChild(optionGroupElement);\n } else {\n const optionElement = this._createOptionElement(opt);\n this._component.appendChild(optionElement);\n }\n }\n }\n\n public appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.appendOptions(options);\n }\n\n public setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void {\n this._listDropdown?.setOptions(options);\n }\n\n public scrollSelectedOptionIntoView(): void {\n this._listDropdown?.scrollSelectedOptionIntoView();\n }\n\n public isFocusWithinPopup(target: HTMLElement): boolean {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._listDropdown.dropdownElement.contains(target);\n }\n\n public queueDropdownPositionUpdate(): void {\n if (!this.popupElement) {\n return;\n }\n // We need to wait for the next animation frame to ensure that the layout has been updated\n window.requestAnimationFrame(() => {\n const dropdownEl = this.popupElement as IPopupComponent | undefined;\n dropdownEl?.position();\n });\n }\n\n private _clearOptions(): void {\n // First we remove all option group elements\n const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));\n existingOptionGroupElements.forEach((optGroup: IOptionGroupComponent) => removeElement(optGroup));\n\n // Then find all top-level option elements that aren't inside of a group, and ensure that those are removed as well\n const existingOptionElements = Array.from(this._component.querySelectorAll(OPTION_CONSTANTS.elementName));\n existingOptionElements.forEach((o: HTMLElement) => removeElement(o));\n }\n\n private _createOptionGroupElement(group: ISelectOptionGroup): HTMLElement {\n const optionGroupElement = document.createElement('forge-option-group');\n assignMatchingProperties(group, optionGroupElement);\n optionGroupElement.label = group.text ?? '';\n return optionGroupElement;\n }\n\n private _createOptionElement(option: ISelectOption): HTMLElement {\n const optionElement = document.createElement('forge-option');\n assignMatchingProperties(option, optionElement);\n optionElement.textContent = option.label;\n return optionElement;\n }\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 f}from"./chunk.5PXABBKU.js";import{a as p}from"./chunk.B3IJU6XJ.js";import{a as k,b as v}from"./chunk.OOW3UKT4.js";import{a as b,e as l,g as A,l as h}from"./chunk.MMVZJLXE.js";import{f as i}from"./chunk.MCIQXNKY.js";var _=`${v}backdrop`,y={CONTAINER:".forge-backdrop"},E={OPACITY:.54,DELAY:0,TRANSITION_DURATION:150},O={DELAY:"delay",MAX_OPACITY:"max-opacity",APPEARANCE:"appearance",FIXED:"fixed"},g={BACKDROP_CLICK:`${_}-click`},e={elementName:_,selectors:y,numbers:E,attributes:O,events:g};var n=class extends f{constructor(a){super(a);this._backdropElement=A(a,e.selectors.CONTAINER)}setBackdropOpacity(a){this._backdropElement.style.opacity=a.toString()}addBackdropEventListener(a,o){this._backdropElement.addEventListener("click",o)}removeBackdropEventListener(a,o){this._backdropElement.removeEventListener("click",o)}};var s=class{constructor(t){this._adapter=t;this._delay=e.numbers.DELAY;this._maxOpacity=e.numbers.OPACITY;this._adapter.addBackdropEventListener("click",this._onClick.bind(this))}initialize(){this._adapter.setBackdropOpacity(0),this._applyAppearance(),this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()),this.fadeIn()}fadeOut(){return new Promise(t=>{this._adapter.setBackdropOpacity(0),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)})}fadeIn(){return new Promise(t=>{setTimeout(()=>{this._adapter.setBackdropOpacity(this._maxOpacity),setTimeout(()=>t(),e.numbers.TRANSITION_DURATION)},this.delay)})}_onClick(t){t.stopPropagation(),this._adapter.emitHostEvent(e.events.BACKDROP_CLICK,void 0,!0,!0)}disconnect(){this._adapter.removeBackdropEventListener("click",this._onClick)}_applyAppearance(){this._appearance?this._adapter.setHostAttribute(e.attributes.APPEARANCE,String(this._appearance)):this._adapter.removeHostAttribute(e.attributes.APPEARANCE)}set delay(t){this._delay!==t&&(this._delay=t,this._adapter.setHostAttribute(e.attributes.DELAY,this._delay.toString()))}get delay(){return this._delay}set maxOpacity(t){this._maxOpacity!==t&&(this._maxOpacity=t,this._adapter.setHostAttribute(e.attributes.MAX_OPACITY,this._maxOpacity.toString()))}get maxOpacity(){return this._maxOpacity}get appearance(){return this._appearance}set appearance(t){this._appearance!==t&&(this._appearance=t,this._applyAppearance())}};var I='<template><div class="forge-backdrop" part="root"></div></template>',C=".forge-backdrop{z-index:7;z-index:var(--forge-z-index-backdrop,7);background-color:rgba(0,0,0,.54);background-color:var(--forge-backdrop-theme-background,rgba(0,0,0,.54));position:absolute;top:0;bottom:0;left:0;right:0;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(0, 0, .2, 1);opacity:0}:host{display:block}:host([hidden]){display:none}:host([fixed]) .forge-backdrop{position:fixed}:host([appearance=light]){--forge-backdrop-theme-background:rgba(255, 255, 255, 0.54)}:host([appearance=dark]){--forge-backdrop-theme-background:rgba(0, 0, 0, 0.54)}",r=class extends h{constructor(){super();l(this,I,C),this._foundation=new s(new n(this))}static get observedAttributes(){return[e.attributes.DELAY,e.attributes.MAX_OPACITY]}connectedCallback(){if(this.hasAttribute(e.attributes.DELAY)&&this.getAttribute(e.attributes.DELAY)){let a=Number(this.getAttribute(e.attributes.DELAY));this.delay=a>=0?a:e.numbers.DELAY}if(this.hasAttribute(e.attributes.MAX_OPACITY)){let a=Number(this.getAttribute(e.attributes.MAX_OPACITY));this.maxOpacity=a>=0&&a<=1?a:e.numbers.OPACITY}this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(a,o,c){switch(a){case e.attributes.DELAY:let u=Number(c);this.delay=u>=0?u:e.numbers.DELAY;break;case e.attributes.MAX_OPACITY:let d=Number(c);this.maxOpacity=d>=0&&d<=1?d:e.numbers.OPACITY;break;case e.attributes.APPEARANCE:this.appearance=c;break}}fadeOut(){return this._foundation.fadeOut()}fadeIn(){return this._foundation.fadeIn()}};i([p()],r.prototype,"delay",2),i([p()],r.prototype,"appearance",2),i([p()],r.prototype,"maxOpacity",2),r=i([k({name:e.elementName})],r);function V(){b(r)}export{e as a,n as b,s as c,r as d,V as e};
|
|
7
|
+
//# sourceMappingURL=chunk.55BOUOT6.js.map
|