@tylertech/forge 2.13.1 → 2.14.0-dev.0
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 +1167 -234
- 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.24X566SZ.js +7 -0
- package/dist/esm/chunks/chunk.24X566SZ.js.map +7 -0
- 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.2D4IBAWP.js +7 -0
- package/dist/esm/chunks/{chunk.TLHI6K2R.js.map → chunk.2D4IBAWP.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.323FEQVK.js +7 -0
- package/dist/esm/chunks/chunk.323FEQVK.js.map +7 -0
- package/dist/esm/chunks/chunk.3G237L6C.js +7 -0
- package/dist/esm/chunks/{chunk.G77PXLAU.js.map → chunk.3G237L6C.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.3UB364WW.js +7 -0
- package/dist/esm/chunks/chunk.3UB364WW.js.map +7 -0
- package/dist/esm/chunks/chunk.4YH3GB4D.js +12 -0
- package/dist/esm/chunks/{chunk.O4Y6QT46.js.map → chunk.4YH3GB4D.js.map} +1 -1
- package/dist/esm/chunks/chunk.54RF4ZT6.js +7 -0
- package/dist/esm/chunks/chunk.54RF4ZT6.js.map +7 -0
- 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.5DKXUTFN.js +7 -0
- package/dist/esm/chunks/{chunk.75LTLEZ7.js.map → chunk.5DKXUTFN.js.map} +2 -2
- 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.5W5IPKAU.js +7 -0
- package/dist/esm/chunks/{chunk.APGFXXJ7.js.map → chunk.5W5IPKAU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.J3NHIF6W.js → chunk.65G33MJV.js} +3 -3
- package/dist/esm/chunks/chunk.6KTLOA7V.js +1 -1
- package/dist/esm/chunks/chunk.6NBVXSNZ.js +7 -0
- package/dist/esm/chunks/{chunk.D3LMXSX6.js.map → chunk.6NBVXSNZ.js.map} +2 -2
- package/dist/esm/chunks/chunk.73O3BMP2.js +7 -0
- package/dist/esm/chunks/{chunk.4KBQ5AJJ.js.map → chunk.73O3BMP2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6QMDYUVT.js → chunk.7LBAA7TC.js} +3 -3
- package/dist/esm/chunks/{chunk.6QMDYUVT.js.map → chunk.7LBAA7TC.js.map} +2 -2
- package/dist/esm/chunks/chunk.AGEBZY4S.js +7 -0
- package/dist/esm/chunks/chunk.AGEBZY4S.js.map +7 -0
- package/dist/esm/chunks/chunk.AJJILT3A.js +1 -1
- 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.B5HGV5EZ.js +7 -0
- package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +7 -0
- 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.C557PTJ5.js +7 -0
- package/dist/esm/chunks/chunk.C557PTJ5.js.map +7 -0
- package/dist/esm/chunks/chunk.CKS5A4YN.js +1 -1
- package/dist/esm/chunks/chunk.CN7DHS4J.js +7 -0
- package/dist/esm/chunks/chunk.CUT7V2KN.js +7 -0
- package/dist/esm/chunks/chunk.CUT7V2KN.js.map +7 -0
- package/dist/esm/chunks/chunk.CZIQTYFJ.js +7 -0
- package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +7 -0
- package/dist/esm/chunks/chunk.D4SNVKDA.js +1 -1
- package/dist/esm/chunks/chunk.DRI2NLIB.js +7 -0
- 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.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.EE2LK23T.js +7 -0
- package/dist/esm/chunks/chunk.EE2LK23T.js.map +7 -0
- package/dist/esm/chunks/chunk.EXKBJEFL.js +7 -0
- package/dist/esm/chunks/chunk.EXKBJEFL.js.map +7 -0
- package/dist/esm/chunks/chunk.F5I55MXD.js +1 -1
- package/dist/esm/chunks/chunk.FBERE7AL.js +7 -0
- package/dist/esm/chunks/{chunk.OG2BI3UW.js.map → chunk.FBERE7AL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.URBXDOF7.js → chunk.FL6SJHQU.js} +3 -3
- package/dist/esm/chunks/{chunk.6VYFW76H.js → chunk.FQEETXUQ.js} +3 -3
- package/dist/esm/chunks/{chunk.6VYFW76H.js.map → chunk.FQEETXUQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.FZQCBRPK.js +1 -1
- package/dist/esm/chunks/chunk.G5JTL66M.js +7 -0
- package/dist/esm/chunks/{chunk.WNOSTPQQ.js.map → chunk.G5JTL66M.js.map} +2 -2
- package/dist/esm/chunks/chunk.G76HB2FK.js +1 -1
- package/dist/esm/chunks/chunk.GVQVA7P3.js +1 -1
- package/dist/esm/chunks/chunk.GVZEMIA3.js +7 -0
- package/dist/esm/chunks/chunk.GVZEMIA3.js.map +7 -0
- 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.GZEWDHFJ.js +7 -0
- package/dist/esm/chunks/{chunk.DPCNIOLL.js.map → chunk.GZEWDHFJ.js.map} +2 -2
- package/dist/esm/chunks/chunk.HQJZRTOH.js +7 -0
- package/dist/esm/chunks/chunk.HQJZRTOH.js.map +7 -0
- package/dist/esm/chunks/chunk.HUX56BCR.js +7 -0
- package/dist/esm/chunks/{chunk.73G2CH2D.js.map → chunk.HUX56BCR.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6APYGKNX.js → chunk.HWVLZ44Q.js} +3 -3
- 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.K5WLIDQK.js +7 -0
- package/dist/esm/chunks/chunk.K5WLIDQK.js.map +7 -0
- 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.LGECRZFO.js +7 -0
- package/dist/esm/chunks/chunk.LGECRZFO.js.map +7 -0
- 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.QOZLQPKE.js → chunk.LYAS4FAN.js} +3 -3
- package/dist/esm/chunks/{chunk.QOZLQPKE.js.map → chunk.LYAS4FAN.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.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.HSJQA42U.js.map → chunk.MU4FV57Q.js} +7 -7
- package/dist/esm/chunks/chunk.MU4FV57Q.js.map +7 -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.N6QJ2RRG.js +7 -0
- package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +7 -0
- package/dist/esm/chunks/chunk.NG5EGZ5Y.js +7 -0
- package/dist/esm/chunks/chunk.NXS7A7PO.js +7 -0
- package/dist/esm/chunks/chunk.NXS7A7PO.js.map +7 -0
- package/dist/esm/chunks/{chunk.SHT6BCLY.js → chunk.NYMNX3S7.js} +3 -3
- package/dist/esm/chunks/chunk.NZTGBDRK.js +7 -0
- package/dist/esm/chunks/{chunk.7O7V3N4A.js.map → chunk.NZTGBDRK.js.map} +2 -2
- package/dist/esm/chunks/chunk.O4LGKJY6.js +7 -0
- package/dist/esm/chunks/{chunk.P6B3UWJ5.js.map → chunk.O4LGKJY6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.NLZKJ53B.js → chunk.OGZOXNGT.js} +3 -3
- package/dist/esm/chunks/chunk.OKIRZEUG.js +7 -0
- package/dist/esm/chunks/chunk.OKIRZEUG.js.map +7 -0
- package/dist/esm/chunks/{chunk.BSZ2LBJX.js → chunk.OOW3UKT4.js} +3 -3
- 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.OTI6WL66.js +7 -0
- package/dist/esm/chunks/{chunk.FPV4XEUK.js.map → chunk.OTI6WL66.js.map} +2 -2
- package/dist/esm/chunks/chunk.P45HS252.js +7 -0
- package/dist/esm/chunks/chunk.P45HS252.js.map +7 -0
- package/dist/esm/chunks/chunk.P5GT5YBP.js +29 -0
- package/dist/esm/chunks/{chunk.OOBE3XRM.js.map → chunk.P5GT5YBP.js.map} +2 -2
- package/dist/esm/chunks/chunk.P6IF3USM.js +7 -0
- package/dist/esm/chunks/chunk.P6IF3USM.js.map +7 -0
- package/dist/esm/chunks/chunk.PBL2N45I.js +7 -0
- package/dist/esm/chunks/chunk.PBL2N45I.js.map +7 -0
- package/dist/esm/chunks/chunk.PHJPLWFH.js +7 -0
- package/dist/esm/chunks/{chunk.5K5SIZRX.js.map → chunk.PHJPLWFH.js.map} +2 -2
- package/dist/esm/chunks/chunk.PRO76W5D.js +7 -0
- package/dist/esm/chunks/{chunk.LLHA3SQR.js.map → chunk.PRO76W5D.js.map} +2 -2
- package/dist/esm/chunks/chunk.PV5MABYN.js +7 -0
- package/dist/esm/chunks/chunk.PV5MABYN.js.map +7 -0
- package/dist/esm/chunks/chunk.PYG4YVBA.js +1 -1
- package/dist/esm/chunks/chunk.QQDDGRY6.js +1 -1
- package/dist/esm/chunks/chunk.QZHEP4X2.js +1 -1
- package/dist/esm/chunks/chunk.R2L3S3YD.js +7 -0
- package/dist/esm/chunks/chunk.R2L3S3YD.js.map +7 -0
- package/dist/esm/chunks/chunk.R4NDFXVA.js +1 -1
- package/dist/esm/chunks/chunk.R4NZYUID.js +7 -0
- package/dist/esm/chunks/{chunk.2SAHWDGJ.js.map → chunk.R4NZYUID.js.map} +2 -2
- package/dist/esm/chunks/chunk.RH2NL523.js +7 -0
- package/dist/esm/chunks/chunk.RH2NL523.js.map +7 -0
- package/dist/esm/chunks/chunk.ROF42KJ3.js +7 -0
- package/dist/esm/chunks/{chunk.IFZXG3LI.js.map → chunk.ROF42KJ3.js.map} +2 -2
- package/dist/esm/chunks/chunk.RT4C67NK.js +29 -0
- package/dist/esm/chunks/{chunk.YWKKZLZ2.js.map → chunk.RT4C67NK.js.map} +2 -2
- 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.STS5TIUV.js +1 -1
- package/dist/esm/chunks/chunk.SVGEVCXA.js +1 -1
- package/dist/esm/chunks/chunk.T2M2KVP7.js +29 -0
- package/dist/esm/chunks/chunk.T2M2KVP7.js.map +7 -0
- 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.TMJBIAWC.js +7 -0
- package/dist/esm/chunks/chunk.TMJBIAWC.js.map +7 -0
- package/dist/esm/chunks/chunk.U6FJJGO3.js +1 -1
- package/dist/esm/chunks/chunk.UPFJ3PVE.js +29 -0
- package/dist/esm/chunks/{chunk.XYBFFTXS.js.map → chunk.UPFJ3PVE.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.WF2MFLG4.js +1 -1
- package/dist/esm/chunks/chunk.WINL2C7Q.js +1 -1
- package/dist/esm/chunks/chunk.X2RP4QW3.js +1 -1
- package/dist/esm/chunks/chunk.XC76IHG4.js +7 -0
- package/dist/esm/chunks/{chunk.I2YRKTG7.js.map → chunk.XC76IHG4.js.map} +2 -2
- package/dist/esm/chunks/chunk.XCUYZZV4.js +7 -0
- package/dist/esm/chunks/chunk.XCUYZZV4.js.map +7 -0
- package/dist/esm/chunks/chunk.XMI5RBZQ.js +7 -0
- package/dist/esm/chunks/chunk.XMI5RBZQ.js.map +7 -0
- package/dist/esm/chunks/chunk.XY4N4TSH.js +7 -0
- package/dist/esm/chunks/chunk.XY4N4TSH.js.map +7 -0
- package/dist/esm/chunks/chunk.Y6FFG7XO.js +1 -1
- package/dist/esm/chunks/chunk.YKXCORJE.js +7 -0
- package/dist/esm/chunks/{chunk.AVIF5W7A.js.map → chunk.YKXCORJE.js.map} +2 -2
- package/dist/esm/chunks/{chunk.4T5TGQFG.js → chunk.YPMN5U7C.js} +3 -3
- package/dist/esm/chunks/chunk.YW47QJVY.js +7 -0
- package/dist/esm/chunks/{chunk.PFD2SVJ4.js.map → chunk.YW47QJVY.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.ZAKLVVFO.js +7 -0
- package/dist/esm/chunks/{chunk.YAJT3P6V.js.map → chunk.ZAKLVVFO.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.ZQCHS2PS.js +7 -0
- package/dist/esm/chunks/{chunk.Y6MPWPZU.js.map → chunk.ZQCHS2PS.js.map} +2 -2
- 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 +4 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +6 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +2 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -2
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +5 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +15 -1
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +3 -1
- package/esm/app-bar/notification-button/app-bar-notification-button.js +10 -3
- 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 +10 -11
- package/esm/autocomplete/autocomplete-adapter.js +2 -2
- 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 +11 -13
- package/esm/autocomplete/autocomplete-constants.js +1 -1
- package/esm/autocomplete/autocomplete-foundation.d.ts +7 -8
- package/esm/autocomplete/autocomplete-foundation.js +6 -3
- package/esm/autocomplete/autocomplete-utils.d.ts +5 -6
- package/esm/autocomplete/autocomplete-utils.js +1 -1
- package/esm/autocomplete/autocomplete.d.ts +4 -5
- package/esm/autocomplete/autocomplete.js +3 -3
- 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 +2 -1
- package/esm/button/button-constants.js +3 -2
- package/esm/button/button.d.ts +2 -2
- package/esm/button/button.js +8 -9
- 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 +2 -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 +2 -3
- package/esm/checkbox/checkbox-adapter.js +13 -9
- 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 -4
- 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 +3 -1
- package/esm/chip-field/chip-field-adapter.js +9 -4
- 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 +2 -1
- package/esm/chip-field/chip-field.d.ts +1 -1
- package/esm/chip-field/chip-field.js +2 -2
- 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 +2 -1
- package/esm/color-picker/color-picker-foundation.js +20 -9
- 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 +3 -3
- 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 -7
- package/esm/core/utils/utils.js +1 -11
- 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 +3 -2
- 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 +3 -3
- 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 +3 -3
- package/esm/date-range-picker/date-range-picker-foundation.js +2 -2
- 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 -3
- package/esm/dialog/dialog-adapter.js +2 -11
- 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 -3
- 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 +4 -3
- 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 +3 -1
- package/esm/file-picker/file-picker-foundation.js +16 -39
- package/esm/file-picker/file-picker.d.ts +2 -1
- package/esm/file-picker/file-picker.js +4 -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 +2 -2
- 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 +2 -2
- package/esm/icon-button/icon-button.d.ts +2 -2
- package/esm/icon-button/icon-button.js +7 -7
- 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 +2 -2
- 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 +1 -1
- package/esm/list/list-item/list-item-adapter.js +1 -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 +2 -3
- package/esm/list/list-item/list-item.d.ts +1 -1
- package/esm/list/list-item/list-item.js +2 -2
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +6 -3
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +4 -2
- 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 +9 -1
- package/esm/list-dropdown/list-dropdown-aware-foundation.js +15 -1
- package/esm/list-dropdown/list-dropdown-aware.d.ts +12 -3
- package/esm/list-dropdown/list-dropdown-aware.js +13 -1
- package/esm/list-dropdown/list-dropdown-constants.d.ts +10 -4
- package/esm/list-dropdown/list-dropdown-constants.js +3 -1
- package/esm/list-dropdown/list-dropdown-foundation.d.ts +1 -1
- package/esm/list-dropdown/list-dropdown-foundation.js +4 -7
- package/esm/list-dropdown/list-dropdown-utils.d.ts +2 -1
- package/esm/list-dropdown/list-dropdown-utils.js +40 -18
- 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 +3 -1
- package/esm/menu/menu-adapter.js +8 -1
- package/esm/menu/menu-constants.d.ts +1 -1
- package/esm/menu/menu-constants.js +2 -2
- package/esm/menu/menu-foundation.d.ts +13 -4
- package/esm/menu/menu-foundation.js +29 -18
- package/esm/menu/menu.d.ts +7 -2
- package/esm/menu/menu.js +10 -4
- 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 +10 -2
- package/esm/popup/popup-constants.d.ts +2 -1
- package/esm/popup/popup-constants.js +3 -2
- package/esm/popup/popup-foundation.d.ts +5 -1
- package/esm/popup/popup-foundation.js +8 -1
- package/esm/popup/popup.d.ts +3 -1
- package/esm/popup/popup.js +5 -2
- 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 +3 -1
- package/esm/quantity-field/quantity-field-adapter.js +9 -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 +2 -1
- package/esm/quantity-field/quantity-field.d.ts +1 -1
- package/esm/quantity-field/quantity-field.js +7 -1
- package/esm/radio/index.d.ts +1 -1
- package/esm/radio/index.js +1 -1
- package/esm/radio/radio-adapter.d.ts +4 -4
- package/esm/radio/radio-adapter.js +18 -16
- 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 +2 -2
- package/esm/radio/radio.d.ts +1 -1
- package/esm/radio/radio.js +1 -1
- package/esm/ripple/forge-ripple.d.ts +3 -2
- package/esm/ripple/forge-ripple.js +4 -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 +2 -1
- package/esm/ripple/ripple-constants.js +3 -2
- package/esm/ripple/ripple-foundation.d.ts +5 -1
- package/esm/ripple/ripple-foundation.js +11 -1
- package/esm/ripple/ripple.d.ts +5 -3
- package/esm/ripple/ripple.js +11 -3
- 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 +9 -7
- package/esm/select/core/base-select-constants.d.ts +3 -1
- package/esm/select/core/base-select-constants.js +4 -2
- package/esm/select/core/base-select-foundation.d.ts +1 -10
- package/esm/select/core/base-select-foundation.js +6 -27
- 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 +2 -2
- 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 +13 -2
- package/esm/select/option-group/option-group.js +8 -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 +12 -10
- 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 +38 -13
- 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 +8 -1
- package/esm/table/table-foundation.js +10 -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 +14 -7
- package/esm/table/table.d.ts +8 -1
- package/esm/table/table.js +9 -1
- package/esm/table/types.d.ts +9 -5
- 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 +2 -2
- 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 +4 -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 +3 -3
- 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 +31 -4
- 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 +13 -14
- package/styles/chip-field/_variables.scss +1 -1
- package/styles/chip-field/chip-field.scss +2 -2
- 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 +3 -3
- package/styles/field/_core.scss +1 -1
- package/styles/field/_selector.scss +2 -2
- 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 +29 -18
- package/styles/list/list-item/_variables.scss +14 -5
- 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 +5 -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 +2 -3
- package/styles/toolbar/_variables.scss +2 -2
- package/styles/toolbar/toolbar.scss +14 -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.3UMBCR4P.js.map +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.4RNKUXN3.js +0 -7
- package/dist/esm/chunks/chunk.4RNKUXN3.js.map +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.73G2CH2D.js +0 -7
- package/dist/esm/chunks/chunk.75LTLEZ7.js +0 -7
- package/dist/esm/chunks/chunk.7NXPOEXV.js +0 -7
- package/dist/esm/chunks/chunk.7NXPOEXV.js.map +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.AVIF5W7A.js +0 -7
- package/dist/esm/chunks/chunk.B5ABD4CZ.js +0 -7
- package/dist/esm/chunks/chunk.B5ABD4CZ.js.map +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.BFNAQQCU.js.map +0 -7
- package/dist/esm/chunks/chunk.BOENNFXE.js +0 -7
- package/dist/esm/chunks/chunk.BOENNFXE.js.map +0 -7
- package/dist/esm/chunks/chunk.CNL6EUCO.js +0 -7
- package/dist/esm/chunks/chunk.CNL6EUCO.js.map +0 -7
- package/dist/esm/chunks/chunk.CV5E5W6I.js +0 -7
- package/dist/esm/chunks/chunk.D3LMXSX6.js +0 -7
- package/dist/esm/chunks/chunk.DIYJJHWP.js +0 -7
- package/dist/esm/chunks/chunk.DPCNIOLL.js +0 -7
- package/dist/esm/chunks/chunk.EJ4ASQET.js +0 -7
- package/dist/esm/chunks/chunk.ELS7SQAV.js +0 -7
- package/dist/esm/chunks/chunk.ELS7SQAV.js.map +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.HSJQA42U.js +0 -7
- package/dist/esm/chunks/chunk.HUWXZ4ZN.js +0 -29
- package/dist/esm/chunks/chunk.HUWXZ4ZN.js.map +0 -7
- 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.JB2N65SR.js +0 -7
- package/dist/esm/chunks/chunk.JB2N65SR.js.map +0 -7
- package/dist/esm/chunks/chunk.JNOCXQVB.js +0 -7
- package/dist/esm/chunks/chunk.JNOCXQVB.js.map +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.KLK2FBDP.js +0 -7
- package/dist/esm/chunks/chunk.KLK2FBDP.js.map +0 -7
- package/dist/esm/chunks/chunk.KYCC3C3M.js +0 -7
- package/dist/esm/chunks/chunk.KYCC3C3M.js.map +0 -7
- package/dist/esm/chunks/chunk.LLHA3SQR.js +0 -7
- package/dist/esm/chunks/chunk.LV7GGIUI.js +0 -7
- package/dist/esm/chunks/chunk.LV7GGIUI.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.NGIBMR3Q.js.map +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.O3G6ZLJN.js +0 -7
- package/dist/esm/chunks/chunk.O4Y6QT46.js +0 -12
- 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.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.Q6L7T6OJ.js.map +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.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.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.VWSC3NDJ.js +0 -7
- package/dist/esm/chunks/chunk.VWSC3NDJ.js.map +0 -7
- package/dist/esm/chunks/chunk.WNOSTPQQ.js +0 -7
- package/dist/esm/chunks/chunk.WQE6OCJR.js +0 -7
- package/dist/esm/chunks/chunk.WQE6OCJR.js.map +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.XXA6KNXT.js.map +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.Y7Q6QI5V.js.map +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 +0 -7
- package/dist/esm/chunks/chunk.YPUWII7L.js.map +0 -7
- package/dist/esm/chunks/chunk.YWKKZLZ2.js +0 -29
- package/dist/esm/chunks/chunk.ZMH4OL2E.js +0 -7
- package/dist/esm/chunks/chunk.ZMH4OL2E.js.map +0 -7
- /package/dist/esm/chunks/{chunk.A23NSEWA.js.map → chunk.5PXABBKU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.J3NHIF6W.js.map → chunk.65G33MJV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O3G6ZLJN.js.map → chunk.CN7DHS4J.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.K43ZNKT2.js.map → chunk.DRI2NLIB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.URBXDOF7.js.map → chunk.FL6SJHQU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6APYGKNX.js.map → chunk.HWVLZ44Q.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VLTJFKGZ.js.map → chunk.MNPORZ4F.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WV45FGTW.js.map → chunk.NG5EGZ5Y.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SHT6BCLY.js.map → chunk.NYMNX3S7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NLZKJ53B.js.map → chunk.OGZOXNGT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BSZ2LBJX.js.map → chunk.OOW3UKT4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4T5TGQFG.js.map → chunk.YPMN5U7C.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/color-picker/color-picker-constants.ts", "../../src/color-picker/color-picker-adapter.ts", "../../src/color-picker/color-picker-utils.ts", "../../src/color-picker/color-picker-gradient-slider.ts", "../../src/color-picker/color-picker-slider.ts", "../../src/color-picker/color-picker-foundation.ts", "../../src/color-picker/color-picker.ts", "../../src/color-picker/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}color-picker`;\n\nconst attributes = {\n VALUE: 'value',\n ALLOW_OPACITY: 'allow-opacity',\n DEBOUNCE_CHANGE_EVENT: 'debounce-change-event'\n};\n\nconst classes = {\n SLIDER_THUMB_ACTIVE: 'forge-color-picker__slider-thumb--active',\n GRADIENT_THUMB_ACTIVE: 'forge-color-picker__gradient-thumb--active'\n};\n\nconst selectors = {\n GRADIENT: '.forge-color-picker__gradient',\n GRADIENT_THUMB: '.forge-color-picker__gradient-thumb',\n PREVIEW_COLOR: '.forge-color-picker__color-preview',\n HEX_INPUT: '#forge-color-picker-hex-input',\n RGBA_INPUT: '#forge-color-picker-rgba-input',\n HSVA_INPUT: '#forge-color-picker-hsva-input',\n HUE_SLIDER: '.forge-color-picker__hue-slider',\n HUE_SLIDER_THUMB: '#forge-color-picker-hue-thumb',\n OPACITY_SLIDER: '.forge-color-picker__opacity-slider',\n OPACITY_SLIDER_THUMB: '#forge-color-picker-opacity-thumb',\n SLIDER: '.forge-color-picker__slider',\n SLIDER_THUMB: '.forge-color-picker__slider-thumb',\n COLOR_VALUE_HEX_CONTAINER: '.forge-color-picker__color-hex',\n COLOR_VALUE_RGBA_CONTAINER: '.forge-color-picker__color-rgba',\n COLOR_VALUE_HSVA_CONTAINER: '.forge-color-picker__color-hsva',\n TYPE_BUTTON: '#forge-color-picker-type-button',\n COLOR_VALUE_RGBA_R: '#forge-color-picker-rgba-r-input',\n COLOR_VALUE_RGBA_G: '#forge-color-picker-rgba-g-input',\n COLOR_VALUE_RGBA_B: '#forge-color-picker-rgba-b-input',\n COLOR_VALUE_RGBA_A: '#forge-color-picker-rgba-a-input',\n COLOR_VALUE_HSVA_H: '#forge-color-picker-hsva-h-input',\n COLOR_VALUE_HSVA_S: '#forge-color-picker-hsva-s-input',\n COLOR_VALUE_HSVA_V: '#forge-color-picker-hsva-v-input',\n COLOR_VALUE_HSVA_A: '#forge-color-picker-hsva-a-input'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n CHANGE_EVENT_DEBOUNCE_THRESHOLD: 200\n};\n\nexport const COLOR_PICKER_CONSTANTS = {\n elementName,\n attributes,\n events,\n classes,\n selectors,\n numbers\n};\n\nexport const DEFAULT_COLOR = '000000';\n\nexport enum ColorPickerValueType {\n HEX = 'hex',\n RGB = 'rgb',\n RGBA = 'rgba',\n HSV = 'hsv',\n HSVA = 'hsva'\n}\n\nexport interface IRGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface IHSVA {\n h: number;\n s: number;\n v: number;\n a: number;\n}\n\nexport type ColorPickerChangeEventType = 'slider' | 'input';\nexport type ColorPickerChangeEventSource = 'gradient' | 'hue' | 'opacity' | 'hex' | 'rgba' | 'hsva';\n\nexport interface IColorPickerChangeEventData {\n type: ColorPickerChangeEventType;\n source: ColorPickerChangeEventSource;\n hex: string;\n rgba: IRGBA;\n hsva: IHSVA;\n alpha?: number;\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IColorPickerComponent } from './color-picker';\nimport { ColorPickerValueType, COLOR_PICKER_CONSTANTS, IHSVA, IRGBA } from './color-picker-constants';\n\nexport interface IColorPickerAdapter extends IBaseAdapter {\n setPreviewColor(rgbaStyle: string): void;\n setHexInputValue(value: string): void;\n setRgbaInputValue(rgba: IRGBA): void;\n setHsvaInputValue(hsva: IHSVA): void;\n updateA11y(hueValue: number, opacityValue: number): void;\n setGradientColor(value: string): void;\n getHueSliderElement(): HTMLElement;\n getOpacitySliderElement(): HTMLElement;\n getGradientElement(): HTMLElement;\n setActiveValueType(type: ColorPickerValueType): void;\n focusValueInput(type: ColorPickerValueType): void;\n setTypeClickListener(listener: (evt: MouseEvent) => void): void;\n removeTypeClickListener(listener: (evt: MouseEvent) => void): void;\n setHexInputListener(type: string, listener: (evt: Event) => void): void;\n removeHexInputListener(type: string, listener: (evt: Event) => void): void;\n getHexInputValue(): string;\n setRgbaInputListener(type: string, listener: (evt: Event) => void): void;\n removeRgbaInputListener(type: string, listener: (evt: Event) => void): void;\n getRgbaInputValue(): IRGBA;\n setHsvaInputListener(type: string, listener: (evt: Event) => void): void;\n removeHsvaInputListener(type: string, listener: (evt: Event) => void): void;\n getHsvaInputValue(): IHSVA;\n toggleOpacityControls(visible: boolean): void;\n}\n\nexport class ColorPickerAdapter extends BaseAdapter<IColorPickerComponent> implements IColorPickerAdapter {\n private _gradientElement: HTMLElement;\n private _previewColorElement: HTMLElement;\n private _hexInputElement: HTMLInputElement;\n private _rgbaInputRElement: HTMLInputElement;\n private _rgbaInputGElement: HTMLInputElement;\n private _rgbaInputBElement: HTMLInputElement;\n private _rgbaInputAElement: HTMLInputElement;\n private _hsvaInputHElement: HTMLInputElement;\n private _hsvaInputSElement: HTMLInputElement;\n private _hsvaInputVElement: HTMLInputElement;\n private _hsvaInputAElement: HTMLInputElement;\n private _hueSliderElement: HTMLElement;\n private _hueSliderThumbElement: HTMLElement;\n private _opacitySliderElement: HTMLElement;\n private _opacitySliderThumbElement: HTMLElement;\n private _hexValueContainerElement: HTMLElement;\n private _rgbaValueContainerElement: HTMLElement;\n private _hsvaValueContainerElement: HTMLElement;\n private _typeButtonElement: HTMLButtonElement;\n\n constructor(component: IColorPickerComponent) {\n super(component);\n this._gradientElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.GRADIENT);\n this._previewColorElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.PREVIEW_COLOR);\n this._hexInputElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HEX_INPUT) as HTMLInputElement;\n this._rgbaInputRElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_R) as HTMLInputElement;\n this._rgbaInputGElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_G) as HTMLInputElement;\n this._rgbaInputBElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_B) as HTMLInputElement;\n this._rgbaInputAElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_A) as HTMLInputElement;\n this._hsvaInputHElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_H) as HTMLInputElement;\n this._hsvaInputSElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_S) as HTMLInputElement;\n this._hsvaInputVElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_V) as HTMLInputElement;\n this._hsvaInputAElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_A) as HTMLInputElement;\n this._hueSliderElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HUE_SLIDER);\n this._hueSliderThumbElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HUE_SLIDER_THUMB);\n this._opacitySliderElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.OPACITY_SLIDER);\n this._opacitySliderThumbElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.OPACITY_SLIDER_THUMB);\n this._hexValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HEX_CONTAINER);\n this._rgbaValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_CONTAINER);\n this._hsvaValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_CONTAINER);\n this._typeButtonElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.TYPE_BUTTON) as HTMLButtonElement;\n }\n\n public setPreviewColor(rgbaStyle: string): void {\n this._previewColorElement.style.backgroundColor = rgbaStyle;\n }\n\n public setHexInputValue(value: string): void {\n this._hexInputElement.value = value;\n }\n\n public setRgbaInputValue(rgba: IRGBA): void {\n this._rgbaInputRElement.value = rgba.r.toString();\n this._rgbaInputGElement.value = rgba.g.toString();\n this._rgbaInputBElement.value = rgba.b.toString();\n this._rgbaInputAElement.value = rgba.a.toString();\n }\n\n public setHsvaInputValue(hsva: IHSVA): void {\n this._hsvaInputHElement.value = hsva.h.toString();\n this._hsvaInputSElement.value = hsva.s.toString();\n this._hsvaInputVElement.value = hsva.v.toString();\n this._hsvaInputAElement.value = hsva.a.toString();\n }\n\n public updateA11y(hueValue: number, opacityValue: number): void {\n this._hueSliderThumbElement.setAttribute('aria-valuenow', hueValue.toString());\n this._hueSliderThumbElement.setAttribute('aria-valuetext', hueValue.toString());\n\n this._opacitySliderThumbElement.setAttribute('aria-valuenow', opacityValue.toString());\n this._opacitySliderThumbElement.setAttribute('aria-valuetext', opacityValue.toString());\n }\n\n public setGradientColor(value: string): void {\n this._gradientElement.style.backgroundColor = value;\n }\n\n public getHueSliderElement(): HTMLElement {\n return this._hueSliderElement;\n }\n\n public getOpacitySliderElement(): HTMLElement {\n return this._opacitySliderElement;\n }\n\n public getGradientElement(): HTMLElement {\n return this._gradientElement;\n }\n\n public setActiveValueType(type: ColorPickerValueType): void {\n this._hexValueContainerElement.style.display = 'none';\n this._rgbaValueContainerElement.style.display = 'none';\n this._hsvaValueContainerElement.style.display = 'none';\n\n switch (type) {\n case ColorPickerValueType.HEX:\n this._hexValueContainerElement.style.removeProperty('display');\n break;\n case ColorPickerValueType.RGBA:\n this._rgbaValueContainerElement.style.removeProperty('display');\n break;\n case ColorPickerValueType.HSVA:\n this._hsvaValueContainerElement.style.removeProperty('display');\n break;\n }\n }\n\n public focusValueInput(type: ColorPickerValueType): void {\n switch (type) {\n case ColorPickerValueType.HEX:\n this._hexInputElement.focus();\n this._hexInputElement.select();\n break;\n case ColorPickerValueType.RGBA:\n this._rgbaInputRElement.focus();\n this._rgbaInputRElement.select();\n break;\n case ColorPickerValueType.HSVA:\n this._hsvaInputHElement.focus();\n this._hsvaInputHElement.select();\n break;\n }\n }\n\n public setTypeClickListener(listener: (evt: MouseEvent) => void): void {\n this._typeButtonElement.addEventListener('click', listener);\n }\n\n public removeTypeClickListener(listener: (evt: MouseEvent) => void): void {\n this._typeButtonElement.removeEventListener('click', listener);\n }\n\n public setHexInputListener(type: string, listener: (evt: Event) => void): void {\n this._hexInputElement.addEventListener(type, listener);\n }\n\n public removeHexInputListener(type: string, listener: (evt: Event) => void): void {\n this._hexInputElement.removeEventListener(type, listener);\n }\n\n public getHexInputValue(): string {\n return this._hexInputElement.value;\n }\n\n public setRgbaInputListener(type: string, listener: (evt: Event) => void): void {\n this._rgbaInputRElement.addEventListener(type, listener);\n this._rgbaInputGElement.addEventListener(type, listener);\n this._rgbaInputBElement.addEventListener(type, listener);\n this._rgbaInputAElement.addEventListener(type, listener);\n }\n\n public removeRgbaInputListener(type: string, listener: (evt: Event) => void): void {\n this._rgbaInputRElement.removeEventListener(type, listener);\n this._rgbaInputGElement.removeEventListener(type, listener);\n this._rgbaInputBElement.removeEventListener(type, listener);\n this._rgbaInputAElement.removeEventListener(type, listener);\n }\n\n public getRgbaInputValue(): IRGBA {\n return {\n r: parseInt(this._rgbaInputRElement.value, 10),\n g: parseInt(this._rgbaInputGElement.value, 10),\n b: parseInt(this._rgbaInputBElement.value, 10),\n a: parseFloat(this._rgbaInputAElement.value)\n };\n }\n\n public setHsvaInputListener(type: string, listener: (evt: Event) => void): void {\n this._hsvaInputHElement.addEventListener(type, listener);\n this._hsvaInputSElement.addEventListener(type, listener);\n this._hsvaInputVElement.addEventListener(type, listener);\n this._hsvaInputAElement.addEventListener(type, listener);\n }\n\n public removeHsvaInputListener(type: string, listener: (evt: Event) => void): void {\n this._hsvaInputHElement.removeEventListener(type, listener);\n this._hsvaInputSElement.removeEventListener(type, listener);\n this._hsvaInputVElement.removeEventListener(type, listener);\n this._hsvaInputAElement.removeEventListener(type, listener);\n }\n\n public getHsvaInputValue(): IHSVA {\n return {\n h: parseInt(this._hsvaInputHElement.value, 10),\n s: parseInt(this._hsvaInputSElement.value, 10),\n v: parseInt(this._hsvaInputVElement.value, 10),\n a: parseFloat(this._hsvaInputAElement.value)\n };\n }\n\n public toggleOpacityControls(visible: boolean): void {\n if (visible) {\n this._opacitySliderElement.style.removeProperty('display');\n if (this._rgbaInputAElement.parentElement) {\n this._rgbaInputAElement.parentElement.style.removeProperty('display');\n }\n if (this._hsvaInputAElement.parentElement) {\n this._hsvaInputAElement.parentElement.style.removeProperty('display');\n }\n } else {\n this._opacitySliderElement.style.display = 'none';\n if (this._rgbaInputAElement.parentElement) {\n this._rgbaInputAElement.parentElement.style.display = 'none';\n }\n if (this._hsvaInputAElement.parentElement) {\n this._hsvaInputAElement.parentElement.style.display = 'none';\n }\n }\n }\n}\n", "import { isNumber } from '@tylertech/forge-core';\n\nimport { IRGBA, IHSVA } from './color-picker-constants';\n\n/**\n * Calcuates coordinates relative to the provided element based on absolute coordinates.\n * @param absX The x coordinate in screen space.\n * @param absY The y coordinate in screen space.\n * @param element The element to calculate the relative coordinates from.\n */\nexport function relativeCoords(absX: number, absY: number, element: HTMLElement): { x: number; y: number; height: number; width: number } {\n const bounds = element.getBoundingClientRect();\n let x = absX - bounds.left;\n let y = absY - bounds.top;\n\n if (x > bounds.width) {\n x = bounds.width;\n } else if (x < 0) {\n x = 0;\n }\n\n if (y > bounds.height) {\n y = bounds.height;\n } else if (y < 0) {\n y = 0;\n }\n\n return { x, y, height: bounds.height, width: bounds.width };\n}\n\nexport function hsvaToRgba(hsva: IHSVA): IRGBA {\n let r: number;\n let g: number;\n let b: number;\n const h = hsva.h / 60;\n const s = hsva.s / 100;\n const v = hsva.v / 100;\n\n if (s === 0) {\n r = g = b = v;\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n a: hsva.a\n };\n }\n\n const i = Math.floor(h);\n const f = h - i;\n const p = v * (1 - s);\n const q = v * (1 - s * f);\n const t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n default: r = v; g = p; b = q;\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n a: hsva.a\n };\n}\n\nexport function rgbaToHex(rgba: IRGBA): string {\n return toHex(rgba.r) + toHex(rgba.g) + toHex(rgba.b) + (Math.round(rgba.a * 255) + 0x10000).toString(16).substr(-2);\n}\n\nexport function toHex(x: number): string {\n return ('0' + x.toString(16)).slice(-2);\n}\n\nexport function hexToRgba(hex: string): IRGBA {\n const isShorthand = hex.length === 3 || hex.length === 4;\n const hexR = isShorthand ? `${hex.slice(0, 1)}${hex.slice(0, 1)}` : hex.slice(0, 2);\n const hexG = isShorthand ? `${hex.slice(1, 2)}${hex.slice(1, 2)}` : hex.slice(2, 4);\n const hexB = isShorthand ? `${hex.slice(2, 3)}${hex.slice(2, 3)}` : hex.slice(4, 6);\n const hexA = (isShorthand ? `${hex.slice(3, 4)}${hex.slice(3, 4)}` : hex.slice(6, 8)) || 'ff';\n\n return {\n r: parseInt(hexR, 16),\n g: parseInt(hexG, 16),\n b: parseInt(hexB, 16),\n a: parseFloat((parseInt(hexA, 16) / 255).toFixed(2))\n };\n}\n\nexport function formatRgba(rgba: IRGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;\n}\n\nexport function formatHex(value: string, allowOpacity: boolean): string {\n let hex = value.replace(/^#/, '');\n\n if (!allowOpacity) {\n if (hex.length === 4) {\n hex = hex.substring(0, 3);\n } else if (hex.length === 8) {\n hex = hex.substring(0, 6);\n }\n }\n\n return `#${hex}`;\n}\n\nexport function rgbaToHsva(rgba: IRGBA): IHSVA {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = max;\n let s = max;\n const v = max;\n\n const d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return {\n h: Math.round(h * 360),\n s: Math.round(s * 100),\n v: Math.round(v * 100),\n a: rgba.a\n };\n}\n\n/**\n * Determines if the provided hex color string is valid.\n * @param value The hex color string.\n */\nexport function isValidHex(value: string): boolean {\n if (!value || typeof value !== 'string') {\n return false;\n }\n\n if (value.substring(0, 1) === '#') {\n value = value.substring(1);\n }\n\n switch (value.length) {\n case 3: return /^[0-9A-F]{3}$/i.test(value);\n case 4: return /^[0-9A-F]{4}$/i.test(value);\n case 6: return /^[0-9A-F]{6}$/i.test(value);\n case 8: return /^[0-9A-F]{8}$/i.test(value);\n default: return false;\n }\n}\n\n/**\n * Determines if the provided RGBA values are valid.\n * @param value The RGBA color values.\n */\nexport function isValidRGBA(value: IRGBA): boolean {\n return isNumber(value.r) && value.r >= 0 && value.r <= 255 &&\n isNumber(value.g) && value.g >= 0 && value.g <= 255 &&\n isNumber(value.b) && value.b >= 0 && value.b <= 255 &&\n isNumber(value.a) && value.a >= 0 && value.a <= 1;\n}\n\n/**\n * Determines if the provided HSVA values are valid.\n * @param value The HSVA color values.\n */\nexport function isValidHSVA(value: IHSVA): boolean {\n return isNumber(value.h) && value.h >= 0 && value.h <= 360 &&\n isNumber(value.s) && value.s >= 0 && value.s <= 100 &&\n isNumber(value.v) && value.v >= 0 && value.v <= 100 &&\n isNumber(value.a) && value.a >= 0 && value.a <= 1;\n}\n", "import { COLOR_PICKER_CONSTANTS } from './color-picker-constants';\nimport { relativeCoords } from './color-picker-utils';\n\nexport class ColorPickerGradientSlider {\n private _xPercent: number;\n private _yPercent: number;\n private _thumbElement: HTMLElement;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _downListener: (evt: MouseEvent & TouchEvent) => void;\n private _moveListener: (evt: MouseEvent & TouchEvent) => void;\n private _upListener: (evt: MouseEvent & TouchEvent) => void;\n\n constructor(private _rootElement: HTMLElement, private _changeListener: (x: number, y: number) => void) {\n this._keydownListener = evt => this._onKeydown(evt);\n this._downListener = evt => this._onDown(evt);\n this._moveListener = evt => this._onMove(evt);\n this._upListener = evt => this._onUp(evt);\n this._initialize();\n }\n\n public destroy(): void {\n this._unlisten();\n }\n\n public setValue(saturation: number, value: number): void {\n window.requestAnimationFrame(() => {\n const bounds = this._rootElement.getBoundingClientRect();\n this._xPercent = Math.round(bounds.width * (saturation / 100));\n this._yPercent = bounds.height - Math.round(bounds.height * (value / 100));\n this._setThumbPosition(this._xPercent, this._yPercent);\n });\n }\n\n private _initialize(): void {\n this._thumbElement = this._rootElement.querySelector(COLOR_PICKER_CONSTANTS.selectors.GRADIENT_THUMB) as HTMLElement;\n this._listen();\n this._setThumbPosition(this._xPercent, this._yPercent);\n }\n\n private _listen(): void {\n this._rootElement.addEventListener('keydown', this._keydownListener);\n this._rootElement.addEventListener('mousedown', this._downListener);\n this._rootElement.addEventListener('touchstart', this._downListener);\n }\n\n private _unlisten(): void {\n this._rootElement.removeEventListener('keydown', this._keydownListener);\n this._rootElement.removeEventListener('mousedown', this._downListener);\n this._rootElement.removeEventListener('touchstart', this._downListener);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEnterKey = evt.key === 'Enter' || evt.keyCode === 13;\n const isArrowLeftKey = evt.key === 'ArrowLeft' || evt.keyCode === 37;\n const isArrowUpKey = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isArrowRightKey = evt.key === 'ArrowRight' || evt.keyCode === 39;\n const isArrowDownKey = evt.key === 'ArrowDown' || evt.keyCode === 40;\n\n const bounds = this._rootElement.getBoundingClientRect();\n\n if (isArrowDownKey) {\n evt.preventDefault();\n this._yPercent++;\n } else if (isArrowUpKey) {\n evt.preventDefault();\n this._yPercent--;\n } else if (isArrowLeftKey) {\n evt.preventDefault();\n this._xPercent--;\n } else if (isArrowRightKey) {\n evt.preventDefault();\n this._xPercent++;\n } else if (isEnterKey) {\n evt.preventDefault();\n // TODO(kieran.nichols): Select the current color\n } else {\n return;\n }\n\n if (this._xPercent > bounds.width) {\n this._xPercent = bounds.width;\n } else if (this._xPercent < 0) {\n this._xPercent = 0;\n }\n\n if (this._yPercent > bounds.height) {\n this._yPercent = bounds.height;\n } else if (this._yPercent < 0) {\n this._yPercent = 0;\n }\n\n this._setThumbPosition(this._xPercent, this._yPercent);\n this._notify();\n }\n\n private _onDown(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n document.addEventListener('mousemove', this._moveListener);\n document.addEventListener('touchmove', this._moveListener);\n document.addEventListener('mouseup', this._upListener);\n document.addEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n }\n\n private _onMove(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n this._updateThumbPosition(evt);\n }\n\n private _onUp(evt: MouseEvent & TouchEvent): void {\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n this._thumbElement.focus();\n }\n\n private _updateThumbPosition(evt: MouseEvent & TouchEvent): void {\n const isMouseEvent = /^mouse/.test(evt.type);\n const x = isMouseEvent ? evt.clientX : evt.changedTouches[0].clientX;\n const y = isMouseEvent ? evt.clientY : evt.changedTouches[0].clientY;\n const coords = this._calculateSliderPercent(x, y);\n this._setThumbPosition(coords.x, coords.y);\n this._xPercent = parseInt(((coords.x / coords.width) * 100).toString(), 10);\n this._yPercent = Math.abs(parseInt(((coords.y / coords.height) * 100).toString(), 10) - 100);\n this._notify();\n }\n\n private _calculateSliderPercent(absX: number, absY: number): { x: number; y: number; width: number; height: number } {\n return relativeCoords(absX, absY, this._rootElement);\n }\n\n private _setThumbPosition(xPercent: number, yPercent: number): void {\n this._thumbElement.style.left = `${xPercent}px`;\n this._thumbElement.style.top = `${yPercent}px`;\n }\n\n private _notify(): void {\n if (typeof this._changeListener === 'function') {\n this._changeListener(this._xPercent, this._yPercent);\n }\n }\n}\n", "import { COLOR_PICKER_CONSTANTS } from './color-picker-constants';\nimport { relativeCoords } from './color-picker-utils';\n\nexport interface IColorPickerSliderOptions {\n min: number;\n max: number;\n step: number;\n change: (value: number) => void;\n}\n\nexport class ColorPickerSlider {\n private _percent = 1;\n private _min = 0;\n private _max = 1;\n private _step = 0.01;\n private _thumbElement: HTMLElement;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _downListener: (evt: MouseEvent & TouchEvent) => void;\n private _moveListener: (evt: MouseEvent & TouchEvent) => void;\n private _upListener: (evt: MouseEvent & TouchEvent) => void;\n \n constructor(private _rootElement: HTMLElement, private _changeListener: (value: number) => void) {\n this._keydownListener = evt => this._onKeydown(evt);\n this._downListener = evt => this._onDown(evt);\n this._moveListener = evt => this._onMove(evt);\n this._upListener = evt => this._onUp(evt);\n this._initialize();\n }\n\n public destroy(): void {\n this._unlisten();\n }\n\n public setValue(value: number): void {\n this._percent = value;\n this._setThumbPosition(this._percent);\n }\n\n private _initialize(): void {\n this._thumbElement = this._rootElement.querySelector(COLOR_PICKER_CONSTANTS.selectors.SLIDER_THUMB) as HTMLElement;\n this._listen();\n this._setThumbPosition(this._percent);\n }\n\n private _listen(): void {\n this._thumbElement.addEventListener('keydown', this._keydownListener);\n this._rootElement.addEventListener('mousedown', this._downListener);\n this._rootElement.addEventListener('touchstart', this._downListener);\n }\n\n private _unlisten(): void {\n this._thumbElement.removeEventListener('keydown', this._keydownListener);\n this._rootElement.removeEventListener('mousedown', this._downListener);\n this._rootElement.removeEventListener('touchstart', this._downListener);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isArrowLeftKey = evt.key === 'ArrowLeft' || evt.keyCode === 37;\n const isArrowRightKey = evt.key === 'ArrowRight' || evt.keyCode === 39;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n\n if (isArrowLeftKey) {\n evt.preventDefault();\n this._percent -= this._step;\n } else if (isArrowRightKey) {\n evt.preventDefault();\n this._percent += this._step;\n } else if (isHomeKey) {\n evt.preventDefault();\n this._percent = this._min;\n } else if (isEndKey) {\n evt.preventDefault();\n this._percent = this._max;\n }\n\n if (this._percent < this._min) {\n this._percent = this._min;\n } else if (this._percent > this._max) {\n this._percent = this._max;\n }\n\n this._setThumbPosition(this._percent);\n this._notify();\n }\n\n private _onDown(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n document.addEventListener('mousemove', this._moveListener);\n document.addEventListener('touchmove', this._moveListener);\n document.addEventListener('mouseup', this._upListener);\n document.addEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n }\n\n private _onMove(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n this._thumbElement.classList.add(COLOR_PICKER_CONSTANTS.classes.SLIDER_THUMB_ACTIVE);\n this._updateThumbPosition(evt);\n }\n\n private _onUp(evt: MouseEvent & TouchEvent): void {\n this._thumbElement.classList.remove(COLOR_PICKER_CONSTANTS.classes.SLIDER_THUMB_ACTIVE);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n this._thumbElement.focus();\n }\n\n private _updateThumbPosition(evt: MouseEvent & TouchEvent): void {\n const x = /^mouse/.test(evt.type) ? evt.clientX : evt.changedTouches[0].clientX;\n this._percent = this._calculateSliderPercent(x);\n this._setThumbPosition(this._percent);\n this._notify();\n }\n\n private _calculateSliderPercent(absX: number): number {\n const coords = relativeCoords(absX, 0, this._rootElement);\n return parseFloat((coords.x / coords.width).toFixed(2));\n }\n\n private _setThumbPosition(percent: number): void {\n this._thumbElement.style.left = `${percent * 100}%`;\n }\n\n private _notify(): void {\n if (typeof this._changeListener === 'function') {\n this._changeListener(this._percent);\n }\n }\n}\n", "import { ICustomElementFoundation, debounce } from '@tylertech/forge-core';\nimport { IColorPickerAdapter } from './color-picker-adapter';\nimport { ColorPickerValueType, COLOR_PICKER_CONSTANTS, DEFAULT_COLOR, IColorPickerChangeEventData, IHSVA, IRGBA, ColorPickerChangeEventType, ColorPickerChangeEventSource } from './color-picker-constants';\nimport { ColorPickerGradientSlider } from './color-picker-gradient-slider';\nimport { ColorPickerSlider } from './color-picker-slider';\nimport { formatHex, formatRgba, hexToRgba, hsvaToRgba, isValidHex, isValidHSVA, isValidRGBA, rgbaToHex, rgbaToHsva } from './color-picker-utils';\n\nexport interface IColorPickerFoundation extends ICustomElementFoundation {\n value: string | null | undefined;\n rgba: IRGBA | null | undefined;\n hsva: IHSVA | null | undefined;\n opacity: number | null | undefined;\n allowOpacity: boolean;\n debounceChangeEvent: boolean;\n}\n\nexport class ColorPickerFoundation implements IColorPickerFoundation {\n private _value: string | null | undefined = null;\n private _allowOpacity = true;\n private _hex = DEFAULT_COLOR;\n private _hsva: IHSVA = { h: 0, s: 0, v: 0, a: 1 };\n private _rgba: IRGBA = { r: 0, g: 0, b: 0, a: 1 };\n private _debounceChangeEvent = false;\n private _valueType = ColorPickerValueType.HEX;\n private _gradientSlider: ColorPickerGradientSlider;\n private _hueSlider: ColorPickerSlider;\n private _opacitySlider: ColorPickerSlider;\n private _gradientSliderChangedListener: (x: number, y: number) => void;\n private _hueSliderChangedListener: (percent: number) => void;\n private _opacitySliderChangedListener: (percent: number) => void;\n private _typeClickListener: (evt: MouseEvent) => void;\n private _hexInputChangedListener: (evt: KeyboardEvent) => void;\n private _rgbaInputChangedListener: (evt: KeyboardEvent) => void;\n private _hsvaInputChangedListener: (evt: KeyboardEvent) => void;\n private _triggerChangeEvent: (type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource) => void;\n\n constructor(private _adapter: IColorPickerAdapter) {\n this._gradientSliderChangedListener = (x, y) => this._onGradientSliderChanged(x, y);\n this._hueSliderChangedListener = value => this._onHueSliderChanged(value);\n this._opacitySliderChangedListener = value => this._onOpacitySliderChanged(value);\n this._typeClickListener = evt => this._onTypeClicked(evt);\n this._hexInputChangedListener = evt => this._onHexInputChanged();\n this._rgbaInputChangedListener = evt => this._onRgbaInputChanged();\n this._hsvaInputChangedListener = evt => this._onHsvaInputChanged();\n }\n \n public initialize(): void {\n this._applyChangeEventTrigger();\n this._adapter.setTypeClickListener(this._typeClickListener);\n this._adapter.setHexInputListener('input', this._hexInputChangedListener);\n this._adapter.setRgbaInputListener('input', this._rgbaInputChangedListener);\n this._adapter.setHsvaInputListener('input', this._hsvaInputChangedListener);\n this._gradientSlider = new ColorPickerGradientSlider(this._adapter.getGradientElement(), this._gradientSliderChangedListener);\n this._hueSlider = new ColorPickerSlider(this._adapter.getHueSliderElement(), this._hueSliderChangedListener);\n this._opacitySlider = new ColorPickerSlider(this._adapter.getOpacitySliderElement(), this._opacitySliderChangedListener);\n\n this._initializeOpacity();\n this._setColorFromHex();\n this._adapter.setActiveValueType(this._valueType);\n }\n\n public disconnect(): void {\n this._adapter.removeTypeClickListener(this._typeClickListener);\n this._adapter.removeHexInputListener('input', this._hexInputChangedListener);\n this._adapter.removeRgbaInputListener('input', this._hexInputChangedListener);\n this._adapter.removeHsvaInputListener('input', this._hexInputChangedListener);\n\n this._gradientSlider.destroy();\n this._hueSlider.destroy();\n this._opacitySlider.destroy();\n }\n\n private _applyChangeEventTrigger(): void {\n if (this._debounceChangeEvent) {\n this._triggerChangeEvent = debounce((type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource) => {\n this._emitChangeEvent(type, source);\n }, COLOR_PICKER_CONSTANTS.numbers.CHANGE_EVENT_DEBOUNCE_THRESHOLD, false);\n } else {\n this._triggerChangeEvent = (type, source) => this._emitChangeEvent(type, source);\n }\n }\n\n private _initializeOpacity(): void {\n this._hsva.a = 1;\n this._adapter.toggleOpacityControls(this._allowOpacity);\n this._render();\n }\n\n private _onTypeClicked(evt: MouseEvent): void {\n if (this._valueType === ColorPickerValueType.HEX) {\n this._valueType = ColorPickerValueType.RGBA;\n } else if (this._valueType === ColorPickerValueType.RGBA) {\n this._valueType = ColorPickerValueType.HSVA;\n } else if (this._valueType === ColorPickerValueType.HSVA) {\n this._valueType = ColorPickerValueType.HEX;\n }\n\n this._adapter.setActiveValueType(this._valueType);\n this._adapter.focusValueInput(this._valueType);\n }\n\n private _onHexInputChanged(): void {\n const value = this._adapter.getHexInputValue();\n if (isValidHex(value)) {\n this.value = value;\n this._triggerChangeEvent('input', 'hex');\n }\n }\n\n private _onRgbaInputChanged(): void {\n const value = this._adapter.getRgbaInputValue();\n if (isValidRGBA(value)) {\n this.value = rgbaToHex(value);\n this._triggerChangeEvent('input', 'rgba');\n }\n }\n\n private _onHsvaInputChanged(): void {\n const value = this._adapter.getHsvaInputValue();\n if (isValidHSVA(value)) {\n this.value = rgbaToHex(hsvaToRgba(value));\n this._triggerChangeEvent('input', 'hsva');\n }\n }\n\n private _setColorFromHex(): void {\n this._rgba = hexToRgba(this._hex);\n this._hsva = rgbaToHsva(this._rgba);\n this._gradientSlider.setValue(this._hsva.s, this._hsva.v);\n this._hueSlider.setValue(parseFloat((this._hsva.h / 360).toFixed(2)));\n this._opacitySlider.setValue(this._hsva.a);\n this._render();\n }\n\n private _onGradientSliderChanged(x: number, y: number): void {\n this._hsva.s = x;\n this._hsva.v = y;\n this._syncColors();\n this._render();\n this._triggerChangeEvent('slider', 'gradient');\n }\n\n private _onHueSliderChanged(value: number): void {\n this._hsva.h = parseInt((360 * value).toString(), 10);\n this._syncColors();\n this._setGradientColor();\n this._render();\n this._triggerChangeEvent('slider', 'hue');\n }\n\n private _onOpacitySliderChanged(value: number): void {\n this._hsva.a = value;\n this._syncColors();\n this._render();\n this._triggerChangeEvent('slider', 'opacity');\n }\n\n private _setGradientColor(): void {\n const rgba = hsvaToRgba({ h: this._hsva.h, s: 100, v: 100, a: 1 });\n this._adapter.setGradientColor(`rgb(${rgba.r}, ${rgba.g}, ${rgba.b})`);\n }\n\n private _syncColors(): void {\n this._rgba = hsvaToRgba(this._hsva);\n this._hex = rgbaToHex(this._rgba);\n this._value = this._hex || null;\n }\n\n private _render(): void {\n this._setGradientColor();\n this._adapter.setPreviewColor(formatRgba(this._rgba));\n this._adapter.setHexInputValue(this._getFormattedHex());\n this._adapter.setRgbaInputValue(this._rgba);\n this._adapter.setHsvaInputValue(this._hsva);\n this._adapter.updateA11y(this._hsva.h, Math.round(this._hsva.a * 100));\n }\n\n private _getFormattedHex(): string {\n return formatHex(this._hex, false);\n }\n\n private _emitChangeEvent(type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource): void {\n const data: IColorPickerChangeEventData = {\n type,\n source,\n hex: formatHex(this._hex, false).replace(/^#/, ''),\n rgba: this._rgba,\n hsva: this._hsva\n };\n if (this._allowOpacity) {\n data.alpha = this._hsva.a;\n }\n this._adapter.emitHostEvent(COLOR_PICKER_CONSTANTS.events.CHANGE, data);\n }\n\n public get value(): string | null | undefined {\n return this._getFormattedHex();\n }\n public set value(value: string | null | undefined) {\n if (this._value !== value) {\n this._value = value || DEFAULT_COLOR;\n\n if (!isValidHex(this._value)) {\n throw new Error('Invalid hex value provided.');\n }\n\n this._hex = this._value.replace(/^#/, '');\n this._setColorFromHex();\n this._adapter.setHostAttribute(COLOR_PICKER_CONSTANTS.attributes.VALUE, this._value);\n }\n }\n\n public get rgba(): IRGBA | null | undefined {\n return !!this._rgba ? { ...this._rgba } : null;\n }\n public set rgba(value: IRGBA | null | undefined) {\n if (value) {\n if (isValidRGBA(value)) {\n this.value = rgbaToHex(value);\n }\n } else {\n this.value = null;\n }\n }\n\n public get hsva(): IHSVA | null | undefined {\n return !!this._hsva ? { ...this._hsva } : null;\n }\n public set hsva(value: IHSVA | null | undefined) {\n if (value) {\n if (isValidHSVA(value)) {\n this.value = rgbaToHex(hsvaToRgba(value));\n }\n } else {\n this.value = null;\n }\n }\n\n public get opacity(): number | null | undefined {\n return this._hsva ? this._hsva.a : null;\n }\n public set opacity(value: number | null | undefined) {\n if (this._hsva.a !== value) {\n if (value != null && this._allowOpacity) {\n if (value >= 0 && value <= 1) {\n this._hsva.a = value;\n this._opacitySlider.setValue(this._hsva.a);\n this._syncColors();\n this._render();\n } else {\n console.warn(`The provided opacity value (${value}) must be between 0 and 1.`);\n }\n }\n }\n }\n\n public get allowOpacity(): boolean {\n return this._allowOpacity;\n }\n public set allowOpacity(value: boolean) {\n this._allowOpacity = value;\n this._initializeOpacity();\n }\n\n public get debounceChangeEvent(): boolean {\n return this._debounceChangeEvent;\n }\n public set debounceChangeEvent(value: boolean) {\n if (this._debounceChangeEvent !== value) {\n this._debounceChangeEvent = value;\n this._applyChangeEventTrigger();\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconUnfoldMore } from '@tylertech/tyler-icons/standard';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { TooltipComponent } from '../tooltip';\nimport { ColorPickerAdapter } from './color-picker-adapter';\nimport { COLOR_PICKER_CONSTANTS, IColorPickerChangeEventData, IHSVA, IRGBA } from './color-picker-constants';\nimport { ColorPickerFoundation } from './color-picker-foundation';\n\nconst template = '<template><div class=\\\"forge-color-picker\\\" part=\\\"root\\\"><input type=\\\"color\\\" tabindex=\\\"-1\\\" class=\\\"forge-color-picker__input\\\" spellcheck=\\\"false\\\" autocomplete=\\\"off\\\" aria-label=\\\"Color picker value\\\" part=\\\"input\\\"><div class=\\\"forge-color-picker__container\\\" part=\\\"container\\\"><div class=\\\"forge-color-picker__gradient\\\" tabindex=\\\"0\\\" part=\\\"gradient\\\"><div class=\\\"forge-color-picker__gradient-color\\\" part=\\\"gradient-color\\\"></div><div class=\\\"forge-color-picker__gradient-thumb\\\" part=\\\"gradient-thumb\\\"></div></div><div class=\\\"forge-color-picker__control-preview\\\" part=\\\"controls-preview-container\\\"><div class=\\\"forge-color-picker__controls\\\" part=\\\"controls-container\\\"><div class=\\\"forge-color-picker__slider-control\\\" part=\\\"hue-control-container\\\"><div class=\\\"forge-color-picker__slider forge-color-picker__hue-slider\\\" part=\\\"hue-control-slider\\\"><div class=\\\"forge-color-picker__slider-thumb\\\" id=\\\"forge-color-picker-hue-thumb\\\" part=\\\"hue-control-slider-thumb\\\" tabindex=\\\"0\\\" role=\\\"slider\\\" aria-label=\\\"Change hue\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"360\\\" aria-valuenow=\\\"0\\\" aria-orientation=\\\"horizontal\\\" aria-valuetext=\\\"0\\\"></div></div></div><div class=\\\"forge-color-picker__slider-control\\\" part=\\\"opacity-control-container\\\"><div class=\\\"forge-color-picker__canvas\\\" part=\\\"opacity-control-canvas\\\"><div class=\\\"forge-color-picker__slider forge-color-picker__opacity-slider\\\" part=\\\"opacity-control-slider\\\"><div class=\\\"forge-color-picker__slider-thumb\\\" id=\\\"forge-color-picker-opacity-thumb\\\" part=\\\"opacity-control-slider-thumb\\\" tabindex=\\\"0\\\" role=\\\"slider\\\" aria-label=\\\"Change opacity\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\" aria-valuenow=\\\"0\\\" aria-orientation=\\\"horizontal\\\" aria-valuetext=\\\"0\\\"></div></div></div></div></div><div class=\\\"forge-color-picker__color-preview-container forge-color-picker__canvas\\\" part=\\\"color-preview-container\\\"><div class=\\\"forge-color-picker__color-preview\\\" part=\\\"color-preview\\\"></div></div></div><div class=\\\"forge-color-picker__value\\\" part=\\\"value-container\\\"><div class=\\\"forge-color-picker__color-types\\\" part=\\\"types-container\\\"><div class=\\\"forge-color-picker__color-hex\\\" part=\\\"hex-type-container\\\"><div part=\\\"hex-type-label-wrapper\\\"><label for=\\\"forge-color-picker-hex-input\\\" part=\\\"hex-label\\\">HEX</label></div><input type=\\\"text\\\" id=\\\"forge-color-picker-hex-input\\\" part=\\\"hex-input\\\" style=\\\"width: 88px;\\\" maxlength=\\\"9\\\" spellcheck=\\\"false\\\" autocomplete=\\\"off\\\" aria-label=\\\"HEX value\\\"></div><div class=\\\"forge-color-picker__color-rgba\\\" part=\\\"rgba-type-container\\\"><div part=\\\"rgba-type-wrapper-r\\\"><label for=\\\"forge-color-picker-rgba-r-input\\\" part=\\\"rgba-type-label-r\\\">R</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-r-input\\\" part=\\\"rgba-type-input-r\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Red\\\"></div><div part=\\\"rgba-type-wrapper-g\\\"><label for=\\\"forge-color-picker-rgba-g-input\\\" part=\\\"rgba-type-label-g\\\">G</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-g-input\\\" part=\\\"rgba-type-input-g\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Green\\\"></div><div part=\\\"rgba-type-wrapper-b\\\"><label for=\\\"forge-color-picker-rgba-b-input\\\" part=\\\"rgba-type-label-b\\\">B</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-b-input\\\" part=\\\"rgba-type-input-b\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Blue\\\"></div><div part=\\\"rgba-type-wrapper-a\\\"><label for=\\\"forge-color-picker-rgba-a-input\\\" part=\\\"rgba-type-label-a\\\">A</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-a-input\\\" part=\\\"rgba-type-input-a\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.1\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Alpha\\\"></div></div><div class=\\\"forge-color-picker__color-hsva\\\" part=\\\"hsva-type-container\\\"><div part=\\\"hsva-type-wrapper-h\\\"><label for=\\\"forge-color-picker-hsva-h-input\\\" part=\\\"hsva-type-label-h\\\">H</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-h-input\\\" part=\\\"hsva-type-input-h\\\" min=\\\"0\\\" max=\\\"360\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Hue\\\"></div><div part=\\\"hsva-type-wrapper-s\\\"><label for=\\\"forge-color-picker-hsva-s-input\\\" part=\\\"hsva-type-label-s\\\">S</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-s-input\\\" part=\\\"hsva-type-input-s\\\" min=\\\"0\\\" max=\\\"100\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Saturation\\\"></div><div part=\\\"hsva-type-wrapper-v\\\"><label for=\\\"forge-color-picker-hsva-v-input\\\" part=\\\"hsva-type-label-v\\\">V</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-v-input\\\" part=\\\"hsva-type-input-v\\\" min=\\\"0\\\" max=\\\"100\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Value\\\"></div><div part=\\\"hsva-type-wrapper-a\\\"><label for=\\\"forge-color-picker-hsva-a-input\\\" part=\\\"hsva-type-label-a\\\">A</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-a-input\\\" part=\\\"hsva-type-input-a\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.1\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Alpha\\\"></div></div></div><div class=\\\"forge-color-picker__type-button\\\" part=\\\"type-container\\\"><forge-icon-button part=\\\"type-button\\\"><button type=\\\"button\\\" id=\\\"forge-color-picker-type-button\\\" aria-labelledby=\\\"type-button-tooltip\\\" part=\\\"type-button-element\\\"><forge-icon name=\\\"unfold_more\\\" part=\\\"type-button-icon\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\" id=\\\"type-button-tooltip\\\">Change color format</forge-tooltip></forge-icon-button></div></div></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-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}}.forge-icon-button{--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}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::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-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.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-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.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-icon-button.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-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.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%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}*{-webkit-box-sizing:border-box;box-sizing:border-box}.forge-color-picker{width:272px;width:var(--forge-color-picker-width,272px);position:relative;display:inline-block;overflow:hidden}.forge-color-picker__input{height:1px;opacity:0;position:absolute;width:1px}.forge-color-picker__gradient{position:relative;outline:0}.forge-color-picker__gradient-color{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0)),to(#000)),-webkit-gradient(linear,left top,right top,color-stop(0,#fff),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);height:152px}.forge-color-picker__gradient-thumb{border:1px solid #fff;border-radius:50%;cursor:pointer;display:inline-block;height:10px;width:10px;margin-left:-5px;margin-top:-5px;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s;transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s}.forge-color-picker__control-preview{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;padding:16px}.forge-color-picker__controls{-webkit-box-flex:1;flex:1;margin-right:16px}.forge-color-picker__slider{position:relative}.forge-color-picker__slider-thumb{outline:0;height:16px;width:16px;background-color:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3);position:absolute;border-radius:50%;top:calc(50% - 8px);margin-left:-8px;-webkit-transition:left .4s cubic-bezier(.25, .8, .25, 1);transition:left .4s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__slider-thumb--active{-webkit-transition:none;transition:none}.forge-color-picker__slider-thumb:hover{cursor:pointer}.forge-color-picker__color-preview-container{border-radius:50%;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);overflow:hidden}.forge-color-picker__color-preview{height:32px;width:32px;-webkit-transition:background-color .2s cubic-bezier(.25, .8, .25, 1);transition:background-color .2s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__value{display:-webkit-box;display:flex;width:100%;-webkit-box-align:center;align-items:center;padding:0 8px 16px 16px;font-size:12px}.forge-color-picker__color-types{-webkit-box-flex:1;flex:1}.forge-color-picker__color-types label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54))}.forge-color-picker__color-types input{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit)}.forge-color-picker__color-types input[type=number],.forge-color-picker__color-types input[type=text]{color:#000;color:var(--mdc-theme-on-surface,#000);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:transparent;padding:4px 8px;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-color-picker__color-types input[type=number]:hover,.forge-color-picker__color-types input[type=text]:hover{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-color-picker__color-types input[type=number]:focus,.forge-color-picker__color-types input[type=text]:focus{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);-webkit-box-shadow:0 0 0 1px inset #3f51b5;box-shadow:0 0 0 1px inset #3f51b5;-webkit-box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5);box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5)}.forge-color-picker__color-types input[type=number]{text-align:center;-moz-appearance:textfield}.forge-color-picker__color-types input[type=number]::-webkit-inner-spin-button,.forge-color-picker__color-types input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.forge-color-picker__color-hex{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:space-between;align-items:space-between}.forge-color-picker__canvas{background-image:url(\\\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNnB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDYgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTAgKDU0OTgzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Hcm91cCA5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ikdyb3VwLTkiPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExIiBmaWxsPSIjRTBFMEUwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weS0yIiBmaWxsPSIjRkZGRkZGIiB4PSIwIiB5PSIzIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weSIgZmlsbD0iI0ZGRkZGRiIgeD0iMyIgeT0iMCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExLUNvcHktMyIgZmlsbD0iI0UwRTBFMCIgeD0iMyIgeT0iMyIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\\\")}.forge-color-picker__hue-slider{height:8px;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(16%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(84%,#f0f),to(#ff0004));background:linear-gradient(to right,red 0,#ff0 16%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 84%,#ff0004 100%)}.forge-color-picker__opacity-slider{height:8px;margin-top:16px;background:-webkit-gradient(linear,left top,right top,from(rgba(255,0,0,0)),to(red));background:linear-gradient(to right,rgba(255,0,0,0) 0,red 100%)}.forge-color-picker__color-hsva,.forge-color-picker__color-rgba{display:-webkit-box;display:flex}.forge-color-picker__color-hsva div,.forge-color-picker__color-rgba div{margin-right:4px}.forge-color-picker__color-hsva label,.forge-color-picker__color-rgba label{display:block;text-align:center}.forge-color-picker__color-hsva input,.forge-color-picker__color-rgba input{width:44px}:host{display:inline-block}:host([hidden]){display:none}';\nexport interface IColorPickerComponent extends IBaseComponent {\n value: string | null | undefined;\n rgba: IRGBA | null | undefined;\n hsva: IHSVA | null | undefined;\n opacity: number | null | undefined;\n allowOpacity: boolean;\n debounceChangeEvent: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-color-picker': IColorPickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-color-picker-change': CustomEvent<IColorPickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-color-picker>` custom element.\n * \n * @tag forge-color-picker\n */\n@CustomElement({\n name: COLOR_PICKER_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n IconComponent\n ]\n})\nexport class ColorPickerComponent extends BaseComponent implements IColorPickerComponent {\n public static get observedAttributes(): string[] {\n return [\n COLOR_PICKER_CONSTANTS.attributes.VALUE,\n COLOR_PICKER_CONSTANTS.attributes.ALLOW_OPACITY,\n COLOR_PICKER_CONSTANTS.attributes.DEBOUNCE_CHANGE_EVENT\n ];\n }\n\n private _foundation: ColorPickerFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconUnfoldMore);\n attachShadowTemplate(this, template, styles);\n this._foundation = new ColorPickerFoundation(new ColorPickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case COLOR_PICKER_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case COLOR_PICKER_CONSTANTS.attributes.ALLOW_OPACITY:\n this.allowOpacity = coerceBoolean(newValue);\n break;\n case COLOR_PICKER_CONSTANTS.attributes.DEBOUNCE_CHANGE_EVENT:\n this.debounceChangeEvent = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the value using hex format only. */\n @FoundationProperty()\n public value: string | null | undefined;\n\n /** Gets/sets the value using rgba format. */\n @FoundationProperty()\n public rgba: IRGBA | null | undefined;\n\n /** Gets/sets the value using hsva format. */\n @FoundationProperty()\n public hsva: IHSVA | null | undefined;\n\n /** Gets/sets the opacity value, if `allowOpacity` is true. */\n @FoundationProperty()\n public opacity: number | null | undefined;\n\n /** Gets/sets whether opacity is displayed and allowed be to changed. */\n @FoundationProperty()\n public allowOpacity: boolean;\n\n /** Gets/sets whether change event has a debounce applied to avoid successive updates. Defaults to `false`. */\n @FoundationProperty()\n public debounceChangeEvent: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ColorPickerComponent } from './color-picker';\n\nexport * from './color-picker-adapter';\nexport * from './color-picker-constants';\nexport * from './color-picker-foundation';\nexport * from './color-picker';\n\nexport function defineColorPickerComponent(): void {\n defineCustomElement(ColorPickerComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}color-picker`;\n\nconst attributes = {\n VALUE: 'value',\n ALLOW_OPACITY: 'allow-opacity',\n DEBOUNCE_CHANGE_EVENT: 'debounce-change-event'\n};\n\nconst classes = {\n SLIDER_THUMB_ACTIVE: 'forge-color-picker__slider-thumb--active',\n GRADIENT_THUMB_ACTIVE: 'forge-color-picker__gradient-thumb--active'\n};\n\nconst selectors = {\n GRADIENT: '.forge-color-picker__gradient',\n GRADIENT_THUMB: '.forge-color-picker__gradient-thumb',\n PREVIEW_COLOR: '.forge-color-picker__color-preview',\n HEX_INPUT: '#forge-color-picker-hex-input',\n RGBA_INPUT: '#forge-color-picker-rgba-input',\n HSVA_INPUT: '#forge-color-picker-hsva-input',\n HUE_SLIDER: '.forge-color-picker__hue-slider',\n HUE_SLIDER_THUMB: '#forge-color-picker-hue-thumb',\n OPACITY_SLIDER: '.forge-color-picker__opacity-slider',\n OPACITY_SLIDER_THUMB: '#forge-color-picker-opacity-thumb',\n SLIDER: '.forge-color-picker__slider',\n SLIDER_THUMB: '.forge-color-picker__slider-thumb',\n COLOR_VALUE_HEX_CONTAINER: '.forge-color-picker__color-hex',\n COLOR_VALUE_RGBA_CONTAINER: '.forge-color-picker__color-rgba',\n COLOR_VALUE_HSVA_CONTAINER: '.forge-color-picker__color-hsva',\n TYPE_BUTTON: '#forge-color-picker-type-button',\n COLOR_VALUE_RGBA_R: '#forge-color-picker-rgba-r-input',\n COLOR_VALUE_RGBA_G: '#forge-color-picker-rgba-g-input',\n COLOR_VALUE_RGBA_B: '#forge-color-picker-rgba-b-input',\n COLOR_VALUE_RGBA_A: '#forge-color-picker-rgba-a-input',\n COLOR_VALUE_HSVA_H: '#forge-color-picker-hsva-h-input',\n COLOR_VALUE_HSVA_S: '#forge-color-picker-hsva-s-input',\n COLOR_VALUE_HSVA_V: '#forge-color-picker-hsva-v-input',\n COLOR_VALUE_HSVA_A: '#forge-color-picker-hsva-a-input'\n};\n\nconst events = {\n CHANGE: `${elementName}-change`\n};\n\nconst numbers = {\n CHANGE_EVENT_DEBOUNCE_THRESHOLD: 200\n};\n\nexport const COLOR_PICKER_CONSTANTS = {\n elementName,\n attributes,\n events,\n classes,\n selectors,\n numbers\n};\n\nexport const DEFAULT_COLOR = '000000';\n\nexport enum ColorPickerValueType {\n HEX = 'hex',\n RGB = 'rgb',\n RGBA = 'rgba',\n HSV = 'hsv',\n HSVA = 'hsva'\n}\n\nexport interface IRGBA {\n r: number;\n g: number;\n b: number;\n a: number;\n}\n\nexport interface IHSVA {\n h: number;\n s: number;\n v: number;\n a: number;\n}\n\nexport type ColorPickerChangeEventType = 'slider' | 'input';\nexport type ColorPickerChangeEventSource = 'gradient' | 'hue' | 'opacity' | 'hex' | 'rgba' | 'hsva';\n\nexport interface IColorPickerChangeEventData {\n type: ColorPickerChangeEventType;\n source: ColorPickerChangeEventSource;\n hex: string;\n rgba: IRGBA;\n hsva: IHSVA;\n alpha?: number;\n}\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IColorPickerComponent } from './color-picker';\nimport { ColorPickerValueType, COLOR_PICKER_CONSTANTS, IHSVA, IRGBA } from './color-picker-constants';\n\nexport interface IColorPickerAdapter extends IBaseAdapter {\n setPreviewColor(rgbaStyle: string): void;\n setHexInputValue(value: string): void;\n setRgbaInputValue(rgba: IRGBA): void;\n setHsvaInputValue(hsva: IHSVA): void;\n updateA11y(hueValue: number, opacityValue: number): void;\n setGradientColor(value: string): void;\n getHueSliderElement(): HTMLElement;\n getOpacitySliderElement(): HTMLElement;\n getGradientElement(): HTMLElement;\n setActiveValueType(type: ColorPickerValueType): void;\n focusValueInput(type: ColorPickerValueType): void;\n setTypeClickListener(listener: (evt: MouseEvent) => void): void;\n removeTypeClickListener(listener: (evt: MouseEvent) => void): void;\n setHexInputListener(type: string, listener: (evt: Event) => void): void;\n removeHexInputListener(type: string, listener: (evt: Event) => void): void;\n getHexInputValue(): string;\n setRgbaInputListener(type: string, listener: (evt: Event) => void): void;\n removeRgbaInputListener(type: string, listener: (evt: Event) => void): void;\n getRgbaInputValue(): IRGBA;\n setHsvaInputListener(type: string, listener: (evt: Event) => void): void;\n removeHsvaInputListener(type: string, listener: (evt: Event) => void): void;\n getHsvaInputValue(): IHSVA;\n toggleOpacityControls(visible: boolean): void;\n}\n\nexport class ColorPickerAdapter extends BaseAdapter<IColorPickerComponent> implements IColorPickerAdapter {\n private _gradientElement: HTMLElement;\n private _previewColorElement: HTMLElement;\n private _hexInputElement: HTMLInputElement;\n private _rgbaInputRElement: HTMLInputElement;\n private _rgbaInputGElement: HTMLInputElement;\n private _rgbaInputBElement: HTMLInputElement;\n private _rgbaInputAElement: HTMLInputElement;\n private _hsvaInputHElement: HTMLInputElement;\n private _hsvaInputSElement: HTMLInputElement;\n private _hsvaInputVElement: HTMLInputElement;\n private _hsvaInputAElement: HTMLInputElement;\n private _hueSliderElement: HTMLElement;\n private _hueSliderThumbElement: HTMLElement;\n private _opacitySliderElement: HTMLElement;\n private _opacitySliderThumbElement: HTMLElement;\n private _hexValueContainerElement: HTMLElement;\n private _rgbaValueContainerElement: HTMLElement;\n private _hsvaValueContainerElement: HTMLElement;\n private _typeButtonElement: HTMLButtonElement;\n\n constructor(component: IColorPickerComponent) {\n super(component);\n this._gradientElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.GRADIENT);\n this._previewColorElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.PREVIEW_COLOR);\n this._hexInputElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HEX_INPUT) as HTMLInputElement;\n this._rgbaInputRElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_R) as HTMLInputElement;\n this._rgbaInputGElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_G) as HTMLInputElement;\n this._rgbaInputBElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_B) as HTMLInputElement;\n this._rgbaInputAElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_A) as HTMLInputElement;\n this._hsvaInputHElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_H) as HTMLInputElement;\n this._hsvaInputSElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_S) as HTMLInputElement;\n this._hsvaInputVElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_V) as HTMLInputElement;\n this._hsvaInputAElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_A) as HTMLInputElement;\n this._hueSliderElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HUE_SLIDER);\n this._hueSliderThumbElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.HUE_SLIDER_THUMB);\n this._opacitySliderElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.OPACITY_SLIDER);\n this._opacitySliderThumbElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.OPACITY_SLIDER_THUMB);\n this._hexValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HEX_CONTAINER);\n this._rgbaValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_RGBA_CONTAINER);\n this._hsvaValueContainerElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.COLOR_VALUE_HSVA_CONTAINER);\n this._typeButtonElement = getShadowElement(component, COLOR_PICKER_CONSTANTS.selectors.TYPE_BUTTON) as HTMLButtonElement;\n }\n\n public setPreviewColor(rgbaStyle: string): void {\n this._previewColorElement.style.backgroundColor = rgbaStyle;\n }\n\n public setHexInputValue(value: string): void {\n this._hexInputElement.value = value;\n }\n\n public setRgbaInputValue(rgba: IRGBA): void {\n this._rgbaInputRElement.value = rgba.r.toString();\n this._rgbaInputGElement.value = rgba.g.toString();\n this._rgbaInputBElement.value = rgba.b.toString();\n this._rgbaInputAElement.value = rgba.a.toString();\n }\n\n public setHsvaInputValue(hsva: IHSVA): void {\n this._hsvaInputHElement.value = hsva.h.toString();\n this._hsvaInputSElement.value = hsva.s.toString();\n this._hsvaInputVElement.value = hsva.v.toString();\n this._hsvaInputAElement.value = hsva.a.toString();\n }\n\n public updateA11y(hueValue: number, opacityValue: number): void {\n this._hueSliderThumbElement.setAttribute('aria-valuenow', hueValue.toString());\n this._hueSliderThumbElement.setAttribute('aria-valuetext', hueValue.toString());\n\n this._opacitySliderThumbElement.setAttribute('aria-valuenow', opacityValue.toString());\n this._opacitySliderThumbElement.setAttribute('aria-valuetext', opacityValue.toString());\n }\n\n public setGradientColor(value: string): void {\n this._gradientElement.style.backgroundColor = value;\n }\n\n public getHueSliderElement(): HTMLElement {\n return this._hueSliderElement;\n }\n\n public getOpacitySliderElement(): HTMLElement {\n return this._opacitySliderElement;\n }\n\n public getGradientElement(): HTMLElement {\n return this._gradientElement;\n }\n\n public setActiveValueType(type: ColorPickerValueType): void {\n this._hexValueContainerElement.style.display = 'none';\n this._rgbaValueContainerElement.style.display = 'none';\n this._hsvaValueContainerElement.style.display = 'none';\n\n switch (type) {\n case ColorPickerValueType.HEX:\n this._hexValueContainerElement.style.removeProperty('display');\n break;\n case ColorPickerValueType.RGBA:\n this._rgbaValueContainerElement.style.removeProperty('display');\n break;\n case ColorPickerValueType.HSVA:\n this._hsvaValueContainerElement.style.removeProperty('display');\n break;\n }\n }\n\n public focusValueInput(type: ColorPickerValueType): void {\n switch (type) {\n case ColorPickerValueType.HEX:\n this._hexInputElement.focus();\n this._hexInputElement.select();\n break;\n case ColorPickerValueType.RGBA:\n this._rgbaInputRElement.focus();\n this._rgbaInputRElement.select();\n break;\n case ColorPickerValueType.HSVA:\n this._hsvaInputHElement.focus();\n this._hsvaInputHElement.select();\n break;\n }\n }\n\n public setTypeClickListener(listener: (evt: MouseEvent) => void): void {\n this._typeButtonElement.addEventListener('click', listener);\n }\n\n public removeTypeClickListener(listener: (evt: MouseEvent) => void): void {\n this._typeButtonElement.removeEventListener('click', listener);\n }\n\n public setHexInputListener(type: string, listener: (evt: Event) => void): void {\n this._hexInputElement.addEventListener(type, listener);\n }\n\n public removeHexInputListener(type: string, listener: (evt: Event) => void): void {\n this._hexInputElement.removeEventListener(type, listener);\n }\n\n public getHexInputValue(): string {\n return this._hexInputElement.value;\n }\n\n public setRgbaInputListener(type: string, listener: (evt: Event) => void): void {\n this._rgbaInputRElement.addEventListener(type, listener);\n this._rgbaInputGElement.addEventListener(type, listener);\n this._rgbaInputBElement.addEventListener(type, listener);\n this._rgbaInputAElement.addEventListener(type, listener);\n }\n\n public removeRgbaInputListener(type: string, listener: (evt: Event) => void): void {\n this._rgbaInputRElement.removeEventListener(type, listener);\n this._rgbaInputGElement.removeEventListener(type, listener);\n this._rgbaInputBElement.removeEventListener(type, listener);\n this._rgbaInputAElement.removeEventListener(type, listener);\n }\n\n public getRgbaInputValue(): IRGBA {\n return {\n r: parseInt(this._rgbaInputRElement.value, 10),\n g: parseInt(this._rgbaInputGElement.value, 10),\n b: parseInt(this._rgbaInputBElement.value, 10),\n a: parseFloat(this._rgbaInputAElement.value)\n };\n }\n\n public setHsvaInputListener(type: string, listener: (evt: Event) => void): void {\n this._hsvaInputHElement.addEventListener(type, listener);\n this._hsvaInputSElement.addEventListener(type, listener);\n this._hsvaInputVElement.addEventListener(type, listener);\n this._hsvaInputAElement.addEventListener(type, listener);\n }\n\n public removeHsvaInputListener(type: string, listener: (evt: Event) => void): void {\n this._hsvaInputHElement.removeEventListener(type, listener);\n this._hsvaInputSElement.removeEventListener(type, listener);\n this._hsvaInputVElement.removeEventListener(type, listener);\n this._hsvaInputAElement.removeEventListener(type, listener);\n }\n\n public getHsvaInputValue(): IHSVA {\n return {\n h: parseInt(this._hsvaInputHElement.value, 10),\n s: parseInt(this._hsvaInputSElement.value, 10),\n v: parseInt(this._hsvaInputVElement.value, 10),\n a: parseFloat(this._hsvaInputAElement.value)\n };\n }\n\n public toggleOpacityControls(visible: boolean): void {\n if (visible) {\n this._opacitySliderElement.style.removeProperty('display');\n if (this._rgbaInputAElement.parentElement) {\n this._rgbaInputAElement.parentElement.style.removeProperty('display');\n }\n if (this._hsvaInputAElement.parentElement) {\n this._hsvaInputAElement.parentElement.style.removeProperty('display');\n }\n } else {\n this._opacitySliderElement.style.display = 'none';\n if (this._rgbaInputAElement.parentElement) {\n this._rgbaInputAElement.parentElement.style.display = 'none';\n }\n if (this._hsvaInputAElement.parentElement) {\n this._hsvaInputAElement.parentElement.style.display = 'none';\n }\n }\n }\n}\n", "import { isNumber } from '@tylertech/forge-core';\n\nimport { IRGBA, IHSVA } from './color-picker-constants';\n\n/**\n * Calcuates coordinates relative to the provided element based on absolute coordinates.\n * @param absX The x coordinate in screen space.\n * @param absY The y coordinate in screen space.\n * @param element The element to calculate the relative coordinates from.\n */\nexport function relativeCoords(absX: number, absY: number, element: HTMLElement): { x: number; y: number; height: number; width: number } {\n const bounds = element.getBoundingClientRect();\n let x = absX - bounds.left;\n let y = absY - bounds.top;\n\n if (x > bounds.width) {\n x = bounds.width;\n } else if (x < 0) {\n x = 0;\n }\n\n if (y > bounds.height) {\n y = bounds.height;\n } else if (y < 0) {\n y = 0;\n }\n\n return { x, y, height: bounds.height, width: bounds.width };\n}\n\nexport function hsvaToRgba(hsva: IHSVA): IRGBA {\n let r: number;\n let g: number;\n let b: number;\n const h = hsva.h / 60;\n const s = hsva.s / 100;\n const v = hsva.v / 100;\n\n if (s === 0) {\n r = g = b = v;\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n a: hsva.a\n };\n }\n\n const i = Math.floor(h);\n const f = h - i;\n const p = v * (1 - s);\n const q = v * (1 - s * f);\n const t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n default: r = v; g = p; b = q;\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255),\n a: hsva.a\n };\n}\n\nexport function rgbaToHex(rgba: IRGBA): string {\n return toHex(rgba.r) + toHex(rgba.g) + toHex(rgba.b) + (Math.round(rgba.a * 255) + 0x10000).toString(16).substr(-2);\n}\n\nexport function toHex(x: number): string {\n return ('0' + x.toString(16)).slice(-2);\n}\n\nexport function hexToRgba(hex: string): IRGBA {\n const isShorthand = hex.length === 3 || hex.length === 4;\n const hexR = isShorthand ? `${hex.slice(0, 1)}${hex.slice(0, 1)}` : hex.slice(0, 2);\n const hexG = isShorthand ? `${hex.slice(1, 2)}${hex.slice(1, 2)}` : hex.slice(2, 4);\n const hexB = isShorthand ? `${hex.slice(2, 3)}${hex.slice(2, 3)}` : hex.slice(4, 6);\n const hexA = (isShorthand ? `${hex.slice(3, 4)}${hex.slice(3, 4)}` : hex.slice(6, 8)) || 'ff';\n\n return {\n r: parseInt(hexR, 16),\n g: parseInt(hexG, 16),\n b: parseInt(hexB, 16),\n a: parseFloat((parseInt(hexA, 16) / 255).toFixed(2))\n };\n}\n\nexport function formatRgba(rgba: IRGBA): string {\n return `rgba(${rgba.r}, ${rgba.g}, ${rgba.b}, ${rgba.a})`;\n}\n\nexport function formatHex(value: string, allowOpacity: boolean): string {\n let hex = value.replace(/^#/, '');\n\n if (!allowOpacity) {\n if (hex.length === 4) {\n hex = hex.substring(0, 3);\n } else if (hex.length === 8) {\n hex = hex.substring(0, 6);\n }\n }\n\n return `#${hex}`;\n}\n\nexport function rgbaToHsva(rgba: IRGBA): IHSVA {\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = max;\n let s = max;\n const v = max;\n\n const d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return {\n h: Math.round(h * 360),\n s: Math.round(s * 100),\n v: Math.round(v * 100),\n a: rgba.a\n };\n}\n\n/**\n * Determines if the provided hex color string is valid.\n * @param value The hex color string.\n */\nexport function isValidHex(value: string): boolean {\n if (!value || typeof value !== 'string') {\n return false;\n }\n\n if (value.substring(0, 1) === '#') {\n value = value.substring(1);\n }\n\n switch (value.length) {\n case 3: return /^[0-9A-F]{3}$/i.test(value);\n case 4: return /^[0-9A-F]{4}$/i.test(value);\n case 6: return /^[0-9A-F]{6}$/i.test(value);\n case 8: return /^[0-9A-F]{8}$/i.test(value);\n default: return false;\n }\n}\n\n/**\n * Determines if the provided RGBA values are valid.\n * @param value The RGBA color values.\n */\nexport function isValidRGBA(value: IRGBA): boolean {\n return isNumber(value.r) && value.r >= 0 && value.r <= 255 &&\n isNumber(value.g) && value.g >= 0 && value.g <= 255 &&\n isNumber(value.b) && value.b >= 0 && value.b <= 255 &&\n isNumber(value.a) && value.a >= 0 && value.a <= 1;\n}\n\n/**\n * Determines if the provided HSVA values are valid.\n * @param value The HSVA color values.\n */\nexport function isValidHSVA(value: IHSVA): boolean {\n return isNumber(value.h) && value.h >= 0 && value.h <= 360 &&\n isNumber(value.s) && value.s >= 0 && value.s <= 100 &&\n isNumber(value.v) && value.v >= 0 && value.v <= 100 &&\n isNumber(value.a) && value.a >= 0 && value.a <= 1;\n}\n", "import { COLOR_PICKER_CONSTANTS } from './color-picker-constants';\nimport { relativeCoords } from './color-picker-utils';\n\nexport class ColorPickerGradientSlider {\n private _xPercent: number;\n private _yPercent: number;\n private _thumbElement: HTMLElement;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _downListener: (evt: MouseEvent & TouchEvent) => void;\n private _moveListener: (evt: MouseEvent & TouchEvent) => void;\n private _upListener: (evt: MouseEvent & TouchEvent) => void;\n\n constructor(private _rootElement: HTMLElement, private _changeListener: (x: number, y: number) => void) {\n this._keydownListener = evt => this._onKeydown(evt);\n this._downListener = evt => this._onDown(evt);\n this._moveListener = evt => this._onMove(evt);\n this._upListener = evt => this._onUp(evt);\n this._initialize();\n }\n\n public destroy(): void {\n this._unlisten();\n }\n\n public setValue(saturation: number, value: number): void {\n window.requestAnimationFrame(() => {\n const bounds = this._rootElement.getBoundingClientRect();\n this._xPercent = Math.round(bounds.width * (saturation / 100));\n this._yPercent = bounds.height - Math.round(bounds.height * (value / 100));\n this._setThumbPosition(this._xPercent, this._yPercent);\n });\n }\n\n private _initialize(): void {\n this._thumbElement = this._rootElement.querySelector(COLOR_PICKER_CONSTANTS.selectors.GRADIENT_THUMB) as HTMLElement;\n this._listen();\n this._setThumbPosition(this._xPercent, this._yPercent);\n }\n\n private _listen(): void {\n this._rootElement.addEventListener('keydown', this._keydownListener);\n this._rootElement.addEventListener('mousedown', this._downListener);\n this._rootElement.addEventListener('touchstart', this._downListener);\n }\n\n private _unlisten(): void {\n this._rootElement.removeEventListener('keydown', this._keydownListener);\n this._rootElement.removeEventListener('mousedown', this._downListener);\n this._rootElement.removeEventListener('touchstart', this._downListener);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isEnterKey = evt.key === 'Enter' || evt.keyCode === 13;\n const isArrowLeftKey = evt.key === 'ArrowLeft' || evt.keyCode === 37;\n const isArrowUpKey = evt.key === 'ArrowUp' || evt.keyCode === 38;\n const isArrowRightKey = evt.key === 'ArrowRight' || evt.keyCode === 39;\n const isArrowDownKey = evt.key === 'ArrowDown' || evt.keyCode === 40;\n\n const bounds = this._rootElement.getBoundingClientRect();\n\n if (isArrowDownKey) {\n evt.preventDefault();\n this._yPercent++;\n } else if (isArrowUpKey) {\n evt.preventDefault();\n this._yPercent--;\n } else if (isArrowLeftKey) {\n evt.preventDefault();\n this._xPercent--;\n } else if (isArrowRightKey) {\n evt.preventDefault();\n this._xPercent++;\n } else if (isEnterKey) {\n evt.preventDefault();\n // TODO(kieran.nichols): Select the current color\n } else {\n return;\n }\n\n if (this._xPercent > bounds.width) {\n this._xPercent = bounds.width;\n } else if (this._xPercent < 0) {\n this._xPercent = 0;\n }\n\n if (this._yPercent > bounds.height) {\n this._yPercent = bounds.height;\n } else if (this._yPercent < 0) {\n this._yPercent = 0;\n }\n\n this._setThumbPosition(this._xPercent, this._yPercent);\n this._notify();\n }\n\n private _onDown(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n document.addEventListener('mousemove', this._moveListener);\n document.addEventListener('touchmove', this._moveListener);\n document.addEventListener('mouseup', this._upListener);\n document.addEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n }\n\n private _onMove(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n this._updateThumbPosition(evt);\n }\n\n private _onUp(evt: MouseEvent & TouchEvent): void {\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n this._thumbElement.focus();\n }\n\n private _updateThumbPosition(evt: MouseEvent & TouchEvent): void {\n const isMouseEvent = /^mouse/.test(evt.type);\n const x = isMouseEvent ? evt.clientX : evt.changedTouches[0].clientX;\n const y = isMouseEvent ? evt.clientY : evt.changedTouches[0].clientY;\n const coords = this._calculateSliderPercent(x, y);\n this._setThumbPosition(coords.x, coords.y);\n this._xPercent = parseInt(((coords.x / coords.width) * 100).toString(), 10);\n this._yPercent = Math.abs(parseInt(((coords.y / coords.height) * 100).toString(), 10) - 100);\n this._notify();\n }\n\n private _calculateSliderPercent(absX: number, absY: number): { x: number; y: number; width: number; height: number } {\n return relativeCoords(absX, absY, this._rootElement);\n }\n\n private _setThumbPosition(xPercent: number, yPercent: number): void {\n this._thumbElement.style.left = `${xPercent}px`;\n this._thumbElement.style.top = `${yPercent}px`;\n }\n\n private _notify(): void {\n if (typeof this._changeListener === 'function') {\n this._changeListener(this._xPercent, this._yPercent);\n }\n }\n}\n", "import { COLOR_PICKER_CONSTANTS } from './color-picker-constants';\nimport { relativeCoords } from './color-picker-utils';\n\nexport interface IColorPickerSliderOptions {\n min: number;\n max: number;\n step: number;\n change: (value: number) => void;\n}\n\nexport class ColorPickerSlider {\n private _percent = 1;\n private _min = 0;\n private _max = 1;\n private _step = 0.01;\n private _thumbElement: HTMLElement;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _downListener: (evt: MouseEvent & TouchEvent) => void;\n private _moveListener: (evt: MouseEvent & TouchEvent) => void;\n private _upListener: (evt: MouseEvent & TouchEvent) => void;\n \n constructor(private _rootElement: HTMLElement, private _changeListener: (value: number) => void) {\n this._keydownListener = evt => this._onKeydown(evt);\n this._downListener = evt => this._onDown(evt);\n this._moveListener = evt => this._onMove(evt);\n this._upListener = evt => this._onUp(evt);\n this._initialize();\n }\n\n public destroy(): void {\n this._unlisten();\n }\n\n public setValue(value: number): void {\n this._percent = value;\n this._setThumbPosition(this._percent);\n }\n\n private _initialize(): void {\n this._thumbElement = this._rootElement.querySelector(COLOR_PICKER_CONSTANTS.selectors.SLIDER_THUMB) as HTMLElement;\n this._listen();\n this._setThumbPosition(this._percent);\n }\n\n private _listen(): void {\n this._thumbElement.addEventListener('keydown', this._keydownListener);\n this._rootElement.addEventListener('mousedown', this._downListener);\n this._rootElement.addEventListener('touchstart', this._downListener);\n }\n\n private _unlisten(): void {\n this._thumbElement.removeEventListener('keydown', this._keydownListener);\n this._rootElement.removeEventListener('mousedown', this._downListener);\n this._rootElement.removeEventListener('touchstart', this._downListener);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n }\n\n private _onKeydown(evt: KeyboardEvent): void {\n const isArrowLeftKey = evt.key === 'ArrowLeft' || evt.keyCode === 37;\n const isArrowRightKey = evt.key === 'ArrowRight' || evt.keyCode === 39;\n const isHomeKey = evt.key === 'Home' || evt.keyCode === 36;\n const isEndKey = evt.key === 'End' || evt.keyCode === 35;\n\n if (isArrowLeftKey) {\n evt.preventDefault();\n this._percent -= this._step;\n } else if (isArrowRightKey) {\n evt.preventDefault();\n this._percent += this._step;\n } else if (isHomeKey) {\n evt.preventDefault();\n this._percent = this._min;\n } else if (isEndKey) {\n evt.preventDefault();\n this._percent = this._max;\n }\n\n if (this._percent < this._min) {\n this._percent = this._min;\n } else if (this._percent > this._max) {\n this._percent = this._max;\n }\n\n this._setThumbPosition(this._percent);\n this._notify();\n }\n\n private _onDown(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n document.addEventListener('mousemove', this._moveListener);\n document.addEventListener('touchmove', this._moveListener);\n document.addEventListener('mouseup', this._upListener);\n document.addEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n }\n\n private _onMove(evt: MouseEvent & TouchEvent): void {\n evt.preventDefault();\n this._thumbElement.classList.add(COLOR_PICKER_CONSTANTS.classes.SLIDER_THUMB_ACTIVE);\n this._updateThumbPosition(evt);\n }\n\n private _onUp(evt: MouseEvent & TouchEvent): void {\n this._thumbElement.classList.remove(COLOR_PICKER_CONSTANTS.classes.SLIDER_THUMB_ACTIVE);\n document.removeEventListener('mousemove', this._moveListener);\n document.removeEventListener('touchmove', this._moveListener);\n document.removeEventListener('mouseup', this._upListener);\n document.removeEventListener('touchend', this._upListener);\n this._updateThumbPosition(evt);\n this._thumbElement.focus();\n }\n\n private _updateThumbPosition(evt: MouseEvent & TouchEvent): void {\n const x = /^mouse/.test(evt.type) ? evt.clientX : evt.changedTouches[0].clientX;\n this._percent = this._calculateSliderPercent(x);\n this._setThumbPosition(this._percent);\n this._notify();\n }\n\n private _calculateSliderPercent(absX: number): number {\n const coords = relativeCoords(absX, 0, this._rootElement);\n return parseFloat((coords.x / coords.width).toFixed(2));\n }\n\n private _setThumbPosition(percent: number): void {\n this._thumbElement.style.left = `${percent * 100}%`;\n }\n\n private _notify(): void {\n if (typeof this._changeListener === 'function') {\n this._changeListener(this._percent);\n }\n }\n}\n", "import { ICustomElementFoundation, debounce } from '@tylertech/forge-core';\nimport { IColorPickerAdapter } from './color-picker-adapter';\nimport { ColorPickerValueType, COLOR_PICKER_CONSTANTS, DEFAULT_COLOR, IColorPickerChangeEventData, IHSVA, IRGBA, ColorPickerChangeEventType, ColorPickerChangeEventSource } from './color-picker-constants';\nimport { ColorPickerGradientSlider } from './color-picker-gradient-slider';\nimport { ColorPickerSlider } from './color-picker-slider';\nimport { formatHex, formatRgba, hexToRgba, hsvaToRgba, isValidHex, isValidHSVA, isValidRGBA, rgbaToHex, rgbaToHsva } from './color-picker-utils';\n\nexport interface IColorPickerFoundation extends ICustomElementFoundation {\n value: string | null | undefined;\n rgba: IRGBA | null | undefined;\n hsva: IHSVA | null | undefined;\n opacity: number | null | undefined;\n allowOpacity: boolean;\n debounceChangeEvent: boolean;\n}\n\nexport class ColorPickerFoundation implements IColorPickerFoundation {\n private _value: string | null | undefined = null;\n private _allowOpacity = true;\n private _hex = DEFAULT_COLOR;\n private _hsva: IHSVA = { h: 0, s: 0, v: 0, a: 1 };\n private _rgba: IRGBA = { r: 0, g: 0, b: 0, a: 1 };\n private _debounceChangeEvent = false;\n private _valueType = ColorPickerValueType.HEX;\n private _gradientSlider: ColorPickerGradientSlider;\n private _hueSlider: ColorPickerSlider;\n private _opacitySlider: ColorPickerSlider;\n private _initialized = false;\n private _gradientSliderChangedListener: (x: number, y: number) => void;\n private _hueSliderChangedListener: (percent: number) => void;\n private _opacitySliderChangedListener: (percent: number) => void;\n private _typeClickListener: (evt: MouseEvent) => void;\n private _hexInputChangedListener: (evt: KeyboardEvent) => void;\n private _rgbaInputChangedListener: (evt: KeyboardEvent) => void;\n private _hsvaInputChangedListener: (evt: KeyboardEvent) => void;\n private _triggerChangeEvent: (type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource) => void;\n\n constructor(private _adapter: IColorPickerAdapter) {\n this._gradientSliderChangedListener = (x, y) => this._onGradientSliderChanged(x, y);\n this._hueSliderChangedListener = value => this._onHueSliderChanged(value);\n this._opacitySliderChangedListener = value => this._onOpacitySliderChanged(value);\n this._typeClickListener = evt => this._onTypeClicked(evt);\n this._hexInputChangedListener = evt => this._onHexInputChanged();\n this._rgbaInputChangedListener = evt => this._onRgbaInputChanged();\n this._hsvaInputChangedListener = evt => this._onHsvaInputChanged();\n }\n \n public initialize(): void {\n this._initialized = true;\n this._applyChangeEventTrigger();\n this._adapter.setTypeClickListener(this._typeClickListener);\n this._adapter.setHexInputListener('input', this._hexInputChangedListener);\n this._adapter.setRgbaInputListener('input', this._rgbaInputChangedListener);\n this._adapter.setHsvaInputListener('input', this._hsvaInputChangedListener);\n this._gradientSlider = new ColorPickerGradientSlider(this._adapter.getGradientElement(), this._gradientSliderChangedListener);\n this._hueSlider = new ColorPickerSlider(this._adapter.getHueSliderElement(), this._hueSliderChangedListener);\n this._opacitySlider = new ColorPickerSlider(this._adapter.getOpacitySliderElement(), this._opacitySliderChangedListener);\n\n this._initializeOpacity();\n this._setColorFromHex();\n this._adapter.setActiveValueType(this._valueType);\n }\n\n public disconnect(): void {\n this._adapter.removeTypeClickListener(this._typeClickListener);\n this._adapter.removeHexInputListener('input', this._hexInputChangedListener);\n this._adapter.removeRgbaInputListener('input', this._hexInputChangedListener);\n this._adapter.removeHsvaInputListener('input', this._hexInputChangedListener);\n\n this._gradientSlider.destroy();\n this._hueSlider.destroy();\n this._opacitySlider.destroy();\n this._initialized = false;\n }\n\n private _applyChangeEventTrigger(): void {\n if (this._debounceChangeEvent) {\n this._triggerChangeEvent = debounce((type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource) => {\n this._emitChangeEvent(type, source);\n }, COLOR_PICKER_CONSTANTS.numbers.CHANGE_EVENT_DEBOUNCE_THRESHOLD, false);\n } else {\n this._triggerChangeEvent = (type, source) => this._emitChangeEvent(type, source);\n }\n }\n\n private _initializeOpacity(): void {\n this._hsva.a = 1;\n this._adapter.toggleOpacityControls(this._allowOpacity);\n this._render();\n }\n\n private _onTypeClicked(evt: MouseEvent): void {\n if (this._valueType === ColorPickerValueType.HEX) {\n this._valueType = ColorPickerValueType.RGBA;\n } else if (this._valueType === ColorPickerValueType.RGBA) {\n this._valueType = ColorPickerValueType.HSVA;\n } else if (this._valueType === ColorPickerValueType.HSVA) {\n this._valueType = ColorPickerValueType.HEX;\n }\n\n this._adapter.setActiveValueType(this._valueType);\n this._adapter.focusValueInput(this._valueType);\n }\n\n private _onHexInputChanged(): void {\n const value = this._adapter.getHexInputValue();\n if (isValidHex(value)) {\n this.value = value;\n this._triggerChangeEvent('input', 'hex');\n }\n }\n\n private _onRgbaInputChanged(): void {\n const value = this._adapter.getRgbaInputValue();\n if (isValidRGBA(value)) {\n this.value = rgbaToHex(value);\n this._triggerChangeEvent('input', 'rgba');\n }\n }\n\n private _onHsvaInputChanged(): void {\n const value = this._adapter.getHsvaInputValue();\n if (isValidHSVA(value)) {\n this.value = rgbaToHex(hsvaToRgba(value));\n this._triggerChangeEvent('input', 'hsva');\n }\n }\n\n private _setColorFromHex(): void {\n this._rgba = hexToRgba(this._hex);\n this._hsva = rgbaToHsva(this._rgba);\n\n if (this._initialized) {\n this._gradientSlider.setValue(this._hsva.s, this._hsva.v);\n this._hueSlider.setValue(parseFloat((this._hsva.h / 360).toFixed(2)));\n this._opacitySlider.setValue(this._hsva.a);\n this._render();\n }\n }\n\n private _onGradientSliderChanged(x: number, y: number): void {\n this._hsva.s = x;\n this._hsva.v = y;\n this._syncColors();\n this._render();\n this._triggerChangeEvent('slider', 'gradient');\n }\n\n private _onHueSliderChanged(value: number): void {\n this._hsva.h = parseInt((360 * value).toString(), 10);\n this._syncColors();\n this._setGradientColor();\n this._render();\n this._triggerChangeEvent('slider', 'hue');\n }\n\n private _onOpacitySliderChanged(value: number): void {\n this._hsva.a = value;\n this._syncColors();\n this._render();\n this._triggerChangeEvent('slider', 'opacity');\n }\n\n private _setGradientColor(): void {\n const rgba = hsvaToRgba({ h: this._hsva.h, s: 100, v: 100, a: 1 });\n this._adapter.setGradientColor(`rgb(${rgba.r}, ${rgba.g}, ${rgba.b})`);\n }\n\n private _syncColors(): void {\n this._rgba = hsvaToRgba(this._hsva);\n this._hex = rgbaToHex(this._rgba);\n this._value = this._hex || null;\n }\n\n private _render(): void {\n this._setGradientColor();\n this._adapter.setPreviewColor(formatRgba(this._rgba));\n this._adapter.setHexInputValue(this._getFormattedHex());\n this._adapter.setRgbaInputValue(this._rgba);\n this._adapter.setHsvaInputValue(this._hsva);\n this._adapter.updateA11y(this._hsva.h, Math.round(this._hsva.a * 100));\n }\n\n private _getFormattedHex(): string {\n return formatHex(this._hex, false);\n }\n\n private _emitChangeEvent(type: ColorPickerChangeEventType, source: ColorPickerChangeEventSource): void {\n const data: IColorPickerChangeEventData = {\n type,\n source,\n hex: formatHex(this._hex, false).replace(/^#/, ''),\n rgba: this._rgba,\n hsva: this._hsva\n };\n if (this._allowOpacity) {\n data.alpha = this._hsva.a;\n }\n this._adapter.emitHostEvent(COLOR_PICKER_CONSTANTS.events.CHANGE, data);\n }\n\n public get value(): string | null | undefined {\n return this._getFormattedHex();\n }\n public set value(value: string | null | undefined) {\n if (this._value !== value) {\n this._value = value || DEFAULT_COLOR;\n\n if (!isValidHex(this._value)) {\n throw new Error('Invalid hex value provided.');\n }\n\n this._hex = this._value.replace(/^#/, '');\n this._setColorFromHex();\n this._adapter.setHostAttribute(COLOR_PICKER_CONSTANTS.attributes.VALUE, this._value);\n }\n }\n\n public get rgba(): IRGBA | null | undefined {\n return !!this._rgba ? { ...this._rgba } : null;\n }\n public set rgba(value: IRGBA | null | undefined) {\n if (value) {\n if (isValidRGBA(value)) {\n this.value = rgbaToHex(value);\n }\n } else {\n this.value = null;\n }\n }\n\n public get hsva(): IHSVA | null | undefined {\n return !!this._hsva ? { ...this._hsva } : null;\n }\n public set hsva(value: IHSVA | null | undefined) {\n if (value) {\n if (isValidHSVA(value)) {\n this.value = rgbaToHex(hsvaToRgba(value));\n }\n } else {\n this.value = null;\n }\n }\n\n public get opacity(): number | null | undefined {\n return this._hsva ? this._hsva.a : null;\n }\n public set opacity(value: number | null | undefined) {\n if (this._hsva.a !== value) {\n if (value != null && this._allowOpacity) {\n if (value >= 0 && value <= 1) {\n this._hsva.a = value;\n this._syncColors();\n\n if (this._initialized) {\n this._opacitySlider.setValue(this._hsva.a);\n this._render();\n }\n } else {\n console.warn(`The provided opacity value (${value}) must be between 0 and 1.`);\n }\n }\n }\n }\n\n public get allowOpacity(): boolean {\n return this._allowOpacity;\n }\n public set allowOpacity(value: boolean) {\n this._allowOpacity = value;\n if (this._initialized) {\n this._initializeOpacity();\n }\n }\n\n public get debounceChangeEvent(): boolean {\n return this._debounceChangeEvent;\n }\n public set debounceChangeEvent(value: boolean) {\n if (this._debounceChangeEvent !== value) {\n this._debounceChangeEvent = value;\n if (this._initialized) {\n this._applyChangeEventTrigger();\n }\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconUnfoldMore } from '@tylertech/tyler-icons/standard';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { IconComponent, IconRegistry } from '../icon';\nimport { IconButtonComponent } from '../icon-button';\nimport { TooltipComponent } from '../tooltip';\nimport { ColorPickerAdapter } from './color-picker-adapter';\nimport { COLOR_PICKER_CONSTANTS, IColorPickerChangeEventData, IHSVA, IRGBA } from './color-picker-constants';\nimport { ColorPickerFoundation } from './color-picker-foundation';\n\nconst template = '<template><div class=\\\"forge-color-picker\\\" part=\\\"root\\\"><input type=\\\"color\\\" tabindex=\\\"-1\\\" class=\\\"forge-color-picker__input\\\" spellcheck=\\\"false\\\" autocomplete=\\\"off\\\" aria-label=\\\"Color picker value\\\" part=\\\"input\\\"><div class=\\\"forge-color-picker__container\\\" part=\\\"container\\\"><div class=\\\"forge-color-picker__gradient\\\" tabindex=\\\"0\\\" part=\\\"gradient\\\"><div class=\\\"forge-color-picker__gradient-color\\\" part=\\\"gradient-color\\\"></div><div class=\\\"forge-color-picker__gradient-thumb\\\" part=\\\"gradient-thumb\\\"></div></div><div class=\\\"forge-color-picker__control-preview\\\" part=\\\"controls-preview-container\\\"><div class=\\\"forge-color-picker__controls\\\" part=\\\"controls-container\\\"><div class=\\\"forge-color-picker__slider-control\\\" part=\\\"hue-control-container\\\"><div class=\\\"forge-color-picker__slider forge-color-picker__hue-slider\\\" part=\\\"hue-control-slider\\\"><div class=\\\"forge-color-picker__slider-thumb\\\" id=\\\"forge-color-picker-hue-thumb\\\" part=\\\"hue-control-slider-thumb\\\" tabindex=\\\"0\\\" role=\\\"slider\\\" aria-label=\\\"Change hue\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"360\\\" aria-valuenow=\\\"0\\\" aria-orientation=\\\"horizontal\\\" aria-valuetext=\\\"0\\\"></div></div></div><div class=\\\"forge-color-picker__slider-control\\\" part=\\\"opacity-control-container\\\"><div class=\\\"forge-color-picker__canvas\\\" part=\\\"opacity-control-canvas\\\"><div class=\\\"forge-color-picker__slider forge-color-picker__opacity-slider\\\" part=\\\"opacity-control-slider\\\"><div class=\\\"forge-color-picker__slider-thumb\\\" id=\\\"forge-color-picker-opacity-thumb\\\" part=\\\"opacity-control-slider-thumb\\\" tabindex=\\\"0\\\" role=\\\"slider\\\" aria-label=\\\"Change opacity\\\" aria-valuemin=\\\"0\\\" aria-valuemax=\\\"100\\\" aria-valuenow=\\\"0\\\" aria-orientation=\\\"horizontal\\\" aria-valuetext=\\\"0\\\"></div></div></div></div></div><div class=\\\"forge-color-picker__color-preview-container forge-color-picker__canvas\\\" part=\\\"color-preview-container\\\"><div class=\\\"forge-color-picker__color-preview\\\" part=\\\"color-preview\\\"></div></div></div><div class=\\\"forge-color-picker__value\\\" part=\\\"value-container\\\"><div class=\\\"forge-color-picker__color-types\\\" part=\\\"types-container\\\"><div class=\\\"forge-color-picker__color-hex\\\" part=\\\"hex-type-container\\\"><div part=\\\"hex-type-label-wrapper\\\"><label for=\\\"forge-color-picker-hex-input\\\" part=\\\"hex-label\\\">HEX</label></div><input type=\\\"text\\\" id=\\\"forge-color-picker-hex-input\\\" part=\\\"hex-input\\\" style=\\\"width: 88px;\\\" maxlength=\\\"9\\\" spellcheck=\\\"false\\\" autocomplete=\\\"off\\\" aria-label=\\\"HEX value\\\"></div><div class=\\\"forge-color-picker__color-rgba\\\" part=\\\"rgba-type-container\\\"><div part=\\\"rgba-type-wrapper-r\\\"><label for=\\\"forge-color-picker-rgba-r-input\\\" part=\\\"rgba-type-label-r\\\">R</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-r-input\\\" part=\\\"rgba-type-input-r\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Red\\\"></div><div part=\\\"rgba-type-wrapper-g\\\"><label for=\\\"forge-color-picker-rgba-g-input\\\" part=\\\"rgba-type-label-g\\\">G</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-g-input\\\" part=\\\"rgba-type-input-g\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Green\\\"></div><div part=\\\"rgba-type-wrapper-b\\\"><label for=\\\"forge-color-picker-rgba-b-input\\\" part=\\\"rgba-type-label-b\\\">B</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-b-input\\\" part=\\\"rgba-type-input-b\\\" min=\\\"0\\\" max=\\\"255\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Blue\\\"></div><div part=\\\"rgba-type-wrapper-a\\\"><label for=\\\"forge-color-picker-rgba-a-input\\\" part=\\\"rgba-type-label-a\\\">A</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-rgba-a-input\\\" part=\\\"rgba-type-input-a\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.1\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Alpha\\\"></div></div><div class=\\\"forge-color-picker__color-hsva\\\" part=\\\"hsva-type-container\\\"><div part=\\\"hsva-type-wrapper-h\\\"><label for=\\\"forge-color-picker-hsva-h-input\\\" part=\\\"hsva-type-label-h\\\">H</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-h-input\\\" part=\\\"hsva-type-input-h\\\" min=\\\"0\\\" max=\\\"360\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Hue\\\"></div><div part=\\\"hsva-type-wrapper-s\\\"><label for=\\\"forge-color-picker-hsva-s-input\\\" part=\\\"hsva-type-label-s\\\">S</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-s-input\\\" part=\\\"hsva-type-input-s\\\" min=\\\"0\\\" max=\\\"100\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Saturation\\\"></div><div part=\\\"hsva-type-wrapper-v\\\"><label for=\\\"forge-color-picker-hsva-v-input\\\" part=\\\"hsva-type-label-v\\\">V</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-v-input\\\" part=\\\"hsva-type-input-v\\\" min=\\\"0\\\" max=\\\"100\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Value\\\"></div><div part=\\\"hsva-type-wrapper-a\\\"><label for=\\\"forge-color-picker-hsva-a-input\\\" part=\\\"hsva-type-label-a\\\">A</label> <input type=\\\"number\\\" id=\\\"forge-color-picker-hsva-a-input\\\" part=\\\"hsva-type-input-a\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"0.1\\\" maxlength=\\\"3\\\" autocomplete=\\\"off\\\" aria-label=\\\"Alpha\\\"></div></div></div><div class=\\\"forge-color-picker__type-button\\\" part=\\\"type-container\\\"><forge-icon-button part=\\\"type-button\\\"><button type=\\\"button\\\" id=\\\"forge-color-picker-type-button\\\" aria-labelledby=\\\"type-button-tooltip\\\" part=\\\"type-button-element\\\"><forge-icon name=\\\"unfold_more\\\" part=\\\"type-button-icon\\\"></forge-icon></button><forge-tooltip delay=\\\"500\\\" position=\\\"bottom\\\" id=\\\"type-button-tooltip\\\">Change color format</forge-tooltip></forge-icon-button></div></div></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-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}}.forge-icon-button{--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}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::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-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.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-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.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-icon-button.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-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.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%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}*{-webkit-box-sizing:border-box;box-sizing:border-box}.forge-color-picker{width:272px;width:var(--forge-color-picker-width,272px);position:relative;display:inline-block;overflow:hidden}.forge-color-picker__input{height:1px;opacity:0;position:absolute;width:1px}.forge-color-picker__gradient{position:relative;outline:0}.forge-color-picker__gradient-color{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0)),to(#000)),-webkit-gradient(linear,left top,right top,color-stop(0,#fff),to(rgba(255,255,255,0)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,#000 100%),linear-gradient(to right,#fff 0,rgba(255,255,255,0) 100%);height:152px}.forge-color-picker__gradient-thumb{border:1px solid #fff;border-radius:50%;cursor:pointer;display:inline-block;height:10px;width:10px;margin-left:-5px;margin-top:-5px;position:absolute;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s;transition:left .2s cubic-bezier(.25, .8, .25, 1) 0s,top .2s cubic-bezier(.25, .8, .25, 1) 0s}.forge-color-picker__control-preview{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;padding:16px}.forge-color-picker__controls{-webkit-box-flex:1;flex:1;margin-right:16px}.forge-color-picker__slider{position:relative}.forge-color-picker__slider-thumb{outline:0;height:16px;width:16px;background-color:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3);position:absolute;border-radius:50%;top:calc(50% - 8px);margin-left:-8px;-webkit-transition:left .4s cubic-bezier(.25, .8, .25, 1);transition:left .4s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__slider-thumb--active{-webkit-transition:none;transition:none}.forge-color-picker__slider-thumb:hover{cursor:pointer}.forge-color-picker__color-preview-container{border-radius:50%;-webkit-box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);box-shadow:0 0 2px 0 rgba(0,0,0,.54) inset,0 0 2px 0 rgba(0,0,0,.54);overflow:hidden}.forge-color-picker__color-preview{height:32px;width:32px;-webkit-transition:background-color .2s cubic-bezier(.25, .8, .25, 1);transition:background-color .2s cubic-bezier(.25, .8, .25, 1)}.forge-color-picker__value{display:-webkit-box;display:flex;width:100%;-webkit-box-align:center;align-items:center;padding:0 8px 16px 16px;font-size:12px}.forge-color-picker__color-types{-webkit-box-flex:1;flex:1}.forge-color-picker__color-types label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54))}.forge-color-picker__color-types input{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit)}.forge-color-picker__color-types input[type=number],.forge-color-picker__color-types input[type=text]{color:#000;color:var(--mdc-theme-on-surface,#000);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:transparent;padding:4px 8px;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:box-shadow .2s 0s cubic-bezier(0, 0, .2, 1),border-color .2s 0s cubic-bezier(0, 0, .2, 1),-webkit-box-shadow .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-color-picker__color-types input[type=number]:hover,.forge-color-picker__color-types input[type=text]:hover{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-color-picker__color-types input[type=number]:focus,.forge-color-picker__color-types input[type=text]:focus{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);-webkit-box-shadow:0 0 0 1px inset #3f51b5;box-shadow:0 0 0 1px inset #3f51b5;-webkit-box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5);box-shadow:0 0 0 1px inset var(--mdc-theme-primary,#3f51b5)}.forge-color-picker__color-types input[type=number]{text-align:center;-moz-appearance:textfield}.forge-color-picker__color-types input[type=number]::-webkit-inner-spin-button,.forge-color-picker__color-types input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.forge-color-picker__color-hex{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:space-between;align-items:space-between}.forge-color-picker__canvas{background-image:url(\\\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNnB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDYgNiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTAgKDU0OTgzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5Hcm91cCA5PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Ikdyb3VwLTkiPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExIiBmaWxsPSIjRTBFMEUwIiB4PSIwIiB5PSIwIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weS0yIiBmaWxsPSIjRkZGRkZGIiB4PSIwIiB5PSIzIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMTEtQ29weSIgZmlsbD0iI0ZGRkZGRiIgeD0iMyIgeT0iMCIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTExLUNvcHktMyIgZmlsbD0iI0UwRTBFMCIgeD0iMyIgeT0iMyIgd2lkdGg9IjMiIGhlaWdodD0iMyI+PC9yZWN0PgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\\\")}.forge-color-picker__hue-slider{height:8px;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(16%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(84%,#f0f),to(#ff0004));background:linear-gradient(to right,red 0,#ff0 16%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 84%,#ff0004 100%)}.forge-color-picker__opacity-slider{height:8px;margin-top:16px;background:-webkit-gradient(linear,left top,right top,from(rgba(255,0,0,0)),to(red));background:linear-gradient(to right,rgba(255,0,0,0) 0,red 100%)}.forge-color-picker__color-hsva,.forge-color-picker__color-rgba{display:-webkit-box;display:flex}.forge-color-picker__color-hsva div,.forge-color-picker__color-rgba div{margin-right:4px}.forge-color-picker__color-hsva label,.forge-color-picker__color-rgba label{display:block;text-align:center}.forge-color-picker__color-hsva input,.forge-color-picker__color-rgba input{width:44px}:host{display:inline-block}:host([hidden]){display:none}';\nexport interface IColorPickerComponent extends IBaseComponent {\n value: string | null | undefined;\n rgba: IRGBA | null | undefined;\n hsva: IHSVA | null | undefined;\n opacity: number | null | undefined;\n allowOpacity: boolean;\n debounceChangeEvent: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-color-picker': IColorPickerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-color-picker-change': CustomEvent<IColorPickerChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-color-picker>` custom element.\n * \n * @tag forge-color-picker\n */\n@CustomElement({\n name: COLOR_PICKER_CONSTANTS.elementName,\n dependencies: [\n IconButtonComponent,\n TooltipComponent,\n IconComponent\n ]\n})\nexport class ColorPickerComponent extends BaseComponent implements IColorPickerComponent {\n public static get observedAttributes(): string[] {\n return [\n COLOR_PICKER_CONSTANTS.attributes.VALUE,\n COLOR_PICKER_CONSTANTS.attributes.ALLOW_OPACITY,\n COLOR_PICKER_CONSTANTS.attributes.DEBOUNCE_CHANGE_EVENT\n ];\n }\n\n private _foundation: ColorPickerFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconUnfoldMore);\n attachShadowTemplate(this, template, styles);\n this._foundation = new ColorPickerFoundation(new ColorPickerAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case COLOR_PICKER_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case COLOR_PICKER_CONSTANTS.attributes.ALLOW_OPACITY:\n this.allowOpacity = coerceBoolean(newValue);\n break;\n case COLOR_PICKER_CONSTANTS.attributes.DEBOUNCE_CHANGE_EVENT:\n this.debounceChangeEvent = coerceBoolean(newValue);\n break;\n }\n }\n\n /** Gets/sets the value using hex format only. */\n @FoundationProperty()\n public declare value: string | null | undefined;\n\n /** Gets/sets the value using rgba format. */\n @FoundationProperty()\n public declare rgba: IRGBA | null | undefined;\n\n /** Gets/sets the value using hsva format. */\n @FoundationProperty()\n public declare hsva: IHSVA | null | undefined;\n\n /** Gets/sets the opacity value, if `allowOpacity` is true. */\n @FoundationProperty()\n public declare opacity: number | null | undefined;\n\n /** Gets/sets whether opacity is displayed and allowed be to changed. */\n @FoundationProperty()\n public declare allowOpacity: boolean;\n\n /** Gets/sets whether change event has a debounce applied to avoid successive updates. Defaults to `false`. */\n @FoundationProperty()\n public declare debounceChangeEvent: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { ColorPickerComponent } from './color-picker';\n\nexport * from './color-picker-adapter';\nexport * from './color-picker-constants';\nexport * from './color-picker-foundation';\nexport * from './color-picker';\n\nexport function defineColorPickerComponent(): void {\n defineCustomElement(ColorPickerComponent);\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 y}from"./chunk.UUX4QJ4D.js";import{a as O}from"./chunk.5PXABBKU.js";import{a as r}from"./chunk.B3IJU6XJ.js";import{a as N,b as S}from"./chunk.OOW3UKT4.js";import{a as w,e as x,g as I,i as h,k as A,l as L}from"./chunk.MMVZJLXE.js";import{a as u,c as g,f as m,g as C,i as k,r as T,s as b}from"./chunk.R4NDFXVA.js";import{b as E,k as l}from"./chunk.G76HB2FK.js";import{a as v,b as P,f as s}from"./chunk.MCIQXNKY.js";var p=`${S}popup`,f={CONTAINER:"forge-popup",OPEN:"open",PLACEMENT:"placement",MANAGE_FOCUS:"manage-focus",ANIMATION_TYPE:"animation-type",STATIC:"static",HIDE_WHEN_CLIPPED:"hide-when-clipped",HOST:"forge-popup-host",INITIAL_FOCUS:"forge-popup-focus",CONSTRAIN_VIEWPORT_WIDTH:"constrain-viewport-width"},H={OPEN:"forge-popup--open",OPENING:"forge-popup--opening",CLOSED:"forge-popup--closed",SELECT:"forge-popup--select"},B={HOST:`.forge-popup-host, [${f.HOST}]`,CONTAINER:".forge-popup",INITIAL_FOCUS:`[${f.INITIAL_FOCUS}]`},D={OPEN:`${p}-open`,CLOSE:`${p}-close`,POSITION:`${p}-position`,BLUR:`${p}-blur`},W={ANIMATION_DURATION:120},i={elementName:p,classes:H,selectors:B,attributes:f,events:D,numbers:W},M=(o=>(o.None="none",o.Menu="menu",o.Dropdown="dropdown",o))(M||{});var c=class extends O{constructor(e){super(e);this._rootElement=I(e,i.selectors.CONTAINER)}setAttribute(e,o,a){a?a.setAttribute(e,o):this._component.setAttribute(e,o)}removeAttribute(e,o){o?o.removeAttribute(e):this._component.removeAttribute(e)}async positionPopup(){let e={element:this._component,targetElement:this._component.targetElement,placement:this._component.placement,hide:this._component.hideWhenClipped,flipOptions:{fallbackPlacements:["top-start","top","top-end","left-start","left","left-end","right-start","right","right-end"],fallbackStrategy:"initialPlacement"}},o=this._component.fallbackPlacements;o!=null&&o.length&&(e.flipOptions=P(v({},e.flipOptions),{fallbackPlacements:o})),this._component.offset&&(e.offset=this._component.offset);let a=await y(e);h(this._component,i.events.POSITION,a)}addPopup(e,o){this._component.setAttribute("tabindex","-1"),this._component.setAttribute(i.attributes.HOST,""),this._component.style.top="0",this._component.style.left="0";let a=e.ownerDocument||document;this._hostElement=A(i.selectors.HOST,e)||a.body,this._hostElement.appendChild(this._component),this.positionPopup(),o&&(this._previouslyFocusedElement=b(),this._component.focus())}removePopup(e){k(this._component),e&&window.requestAnimationFrame(()=>{if(this._previouslyFocusedElement){let o=b();(!o||o===document.body)&&this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=void 0}}),this._hostElement=void 0}manageWindowEvents(e=!1){e?(this._windowEventCallback=o=>this._windowInteraction(o),window.addEventListener("scroll",this._windowEventCallback,!0),window.addEventListener("resize",this._windowEventCallback,!0)):this._windowEventCallback&&(window.removeEventListener("scroll",this._windowEventCallback,!0),window.removeEventListener("resize",this._windowEventCallback,!0),this._windowEventCallback=void 0)}dispatchEvent(e,o,a,F){return this._component.targetElement?!h(this._component.targetElement,e,o,a,F):!1}addClass(e){m(e,this._rootElement)}removeClass(e){C(e,this._rootElement)}setAnimationEndListener(e,o){window.requestAnimationFrame(()=>{o&&o.length&&m(o,this._rootElement),this._rootElement.addEventListener("transitionend",e)})}removeEventListener(e,o){this._rootElement.removeEventListener(e,o)}setBlurListener(e){return g(this._component,o=>{this._component.contains(o)||e()},!0)}trySetInitialFocus(){window.requestAnimationFrame(()=>{let e=T(this._component,i.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()})}_windowInteraction(e){if(!!this._component.open)switch(e.type){case"scroll":case"resize":this.positionPopup();break;default:break}}};var d=class{constructor(t){this._adapter=t;this._placement="bottom-start";this._fallbackPlacements=[];this._open=!1;this._manageFocus=!1;this._animationType="none";this._static=!1;this._hideWhenClipped=!1;this._blurListener=()=>this._onBlur()}disconnect(){this.open&&(this.open=!1)}_openPopup(){this._animationType!=="none"?(this._applyOpenAnimation(),this._animationType==="dropdown"&&this._adapter.addClass(i.classes.SELECT)):this._adapter.addClass(i.classes.OPEN),this._adapter.setAttribute(i.attributes.OPEN,""),this._adapter.addPopup(this.targetElement,this._manageFocus),this._adapter.trySetInitialFocus(),this._destroyBlurListener&&this._destroyBlurListener(),this._static||(this._destroyBlurListener=this._adapter.setBlurListener(this._blurListener)),this._adapter.manageWindowEvents(!0),this._adapter.dispatchEvent(i.events.OPEN)}_closePopup(){this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0),this._animationType!=="none"?this._applyCloseAnimation():this._destroyPopup()}_destroyPopup(){this._adapter.manageWindowEvents(!1),this._adapter.removePopup(this._manageFocus),this._adapter.dispatchEvent(i.events.CLOSE),this._adapter.removeAttribute(i.attributes.OPEN)}_applyOpenAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.addClass(i.classes.OPENING);let t=e=>{e.propertyName==="transform"&&(this._adapter.removeClass(i.classes.OPENING),this._adapter.removeEventListener("transitionend",t))};this._adapter.setAnimationEndListener(t,i.classes.OPEN);break}}_applyCloseAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.removeClass(i.classes.OPEN),this._adapter.addClass(i.classes.CLOSED);let t=o=>{o.propertyName==="opacity"&&(e&&clearTimeout(e),this._destroyPopup())};this._adapter.setAnimationEndListener(t);let e=setTimeout(()=>this._destroyPopup(),i.numbers.ANIMATION_DURATION);break}}_onBlur(){this._adapter.dispatchEvent(i.events.BLUR,void 0,!0,!0)||(this.open=!1)}_applyOpen(){if(this._open){if(!this.targetElement||!u(this.targetElement))throw new Error("targetElement on Popup component must be an HTMLElement");typeof this._openCallback=="function"?this._executeOpenCallback():this._openPopup()}else typeof this._closeCallback=="function"?this._executeCloseCallback():this._closePopup()}async _executeOpenCallback(){try{await Promise.resolve(this._openCallback())!==!1?this._openPopup():this._open=!1}catch(t){this._open=!1}}async _executeCloseCallback(){try{await Promise.resolve(this._closeCallback())!==!1?this._closePopup():this._open=!0}catch(t){this._open=!0}}get targetElement(){return this._targetElement}set targetElement(t){if(!t||!u(t))throw new Error("targetElement on Popup component must be an HTMLElement");this._targetElement=t}get placement(){return this._placement}set placement(t){this._placement!==t&&(this._placement=t||"bottom-start",this._adapter.setAttribute(i.attributes.PLACEMENT,this._placement))}get fallbackPlacements(){return this._fallbackPlacements}set fallbackPlacements(t){this._fallbackPlacements=Array.isArray(t)?t:[]}get open(){return this._open}set open(t){t=Boolean(t),this._open!==t&&(this._open=t,this._applyOpen())}get manageFocus(){return this._manageFocus}set manageFocus(t){this._manageFocus!==t&&(this._manageFocus=t)}get animationType(){return this._animationType}set animationType(t){this._animationType!==t&&(this._animationType=t)}get static(){return this._static}set static(t){this._static!==t&&(this._static=t,this._static&&this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0))}get hideWhenClipped(){return this._hideWhenClipped}set hideWhenClipped(t){this._hideWhenClipped!==t&&(this._hideWhenClipped=t)}get offset(){var t;return(t=this._offset)!=null?t:{x:0,y:0}}set offset(t){var e,o;t?this._offset={x:(e=t.x)!=null?e:0,y:(o=t.y)!=null?o:0}:this._offset=void 0,this._open&&this._adapter.positionPopup()}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}position(){this._adapter.positionPopup()}};var U='<template><div class="forge-popup" part="root"><slot></slot></div></template>',z=".forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}",n=class extends L{constructor(){super();x(this,U,z),this._foundation=new d(new c(this))}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.PLACEMENT,i.attributes.MANAGE_FOCUS,i.attributes.ANIMATION_TYPE,i.attributes.STATIC,i.attributes.HIDE_WHEN_CLIPPED]}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,o,a){switch(e){case i.attributes.OPEN:this.open=E(a);break;case i.attributes.PLACEMENT:this.placement=a;break;case i.attributes.MANAGE_FOCUS:this.manageFocus=l(a);break;case i.attributes.ANIMATION_TYPE:this.animationType=a;break;case i.attributes.STATIC:this.static=l(a);break;case i.attributes.HIDE_WHEN_CLIPPED:this.hideWhenClipped=l(a);break}}position(){this._foundation.position()}};s([r()],n.prototype,"targetElement",2),s([r()],n.prototype,"placement",2),s([r()],n.prototype,"fallbackPlacements",2),s([r()],n.prototype,"open",2),s([r()],n.prototype,"manageFocus",2),s([r()],n.prototype,"animationType",2),s([r()],n.prototype,"static",2),s([r()],n.prototype,"hideWhenClipped",2),s([r()],n.prototype,"openCallback",2),s([r()],n.prototype,"closeCallback",2),s([r()],n.prototype,"offset",2),n=s([N({name:i.elementName})],n);function Pe(){w(n)}export{i as a,M as b,c,d,n as e,Pe as f};
|
|
7
|
+
//# sourceMappingURL=chunk.PV5MABYN.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/popup/popup-constants.ts", "../../src/popup/popup-adapter.ts", "../../src/popup/popup-foundation.ts", "../../src/popup/popup.ts", "../../src/popup/index.ts"],
|
|
4
|
+
"sourcesContent": ["import { PositionPlacement } from '@tylertech/forge-core';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}popup`;\n\nconst attributes = {\n CONTAINER: 'forge-popup',\n OPEN: 'open',\n PLACEMENT: 'placement',\n MANAGE_FOCUS: 'manage-focus',\n ANIMATION_TYPE: 'animation-type',\n STATIC: 'static',\n HIDE_WHEN_CLIPPED: 'hide-when-clipped',\n HOST: 'forge-popup-host',\n INITIAL_FOCUS: 'forge-popup-focus',\n CONSTRAIN_VIEWPORT_WIDTH: 'constrain-viewport-width'\n};\n\nconst classes = {\n OPEN: 'forge-popup--open',\n OPENING: 'forge-popup--opening',\n CLOSED: 'forge-popup--closed',\n SELECT: 'forge-popup--select'\n};\n\nconst selectors = {\n HOST: `.forge-popup-host, [${attributes.HOST}]`,\n CONTAINER: '.forge-popup',\n INITIAL_FOCUS: `[${attributes.INITIAL_FOCUS}]`\n};\n\nconst events = {\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n POSITION: `${elementName}-position`,\n BLUR: `${elementName}-blur`\n};\n\nconst numbers = {\n ANIMATION_DURATION: 120\n};\n\nexport const POPUP_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IPopupPosition {\n x: number;\n y: number;\n}\n\nexport type PopupPlacement = PositionPlacement;\n\nexport enum PopupAnimationType {\n None = 'none',\n Menu = 'menu',\n Dropdown = 'dropdown'\n}\n\nexport interface IPopupPositionEventData extends IPopupPosition {\n visibility: 'visible' | 'hidden';\n}\n\nexport type PopupStateCallback = () => boolean | void | Promise<boolean | void>;\n", "import { addClass, closestElement, emitEvent, getShadowElement, IPositionElementConfig, notChildEventListener, positionElementAsync, removeClass, removeElement, deepQuerySelectorAll, getActiveElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IPopupComponent } from './popup';\nimport { IPopupPositionEventData, POPUP_CONSTANTS, PopupPlacement } from './popup-constants';\n\nexport interface IPopupAdapter extends IBaseAdapter {\n setAttribute(attribute: string, value: string, element?: HTMLElement): void;\n removeAttribute(attribute: string, element?: HTMLElement): void;\n positionPopup(): void;\n addPopup(targetElement: HTMLElement, manageFocus: boolean): void;\n removePopup(manageFocus: boolean): void;\n manageWindowEvents(add: boolean): void;\n dispatchEvent(type: string, data?: any, bubbles?: boolean, cancellable?: boolean): boolean;\n addClass(classes: string | string[]): void;\n removeClass(classes: string | string[]): void;\n setAnimationEndListener(listener: (evt: TransitionEvent) => void, classes?: string | string[]): void;\n removeEventListener(type: string, listener: (evt: Event) => void): void;\n setBlurListener(listener: () => void): () => void;\n trySetInitialFocus(): void;\n}\n\nexport class PopupAdapter extends BaseAdapter<IPopupComponent> implements IPopupAdapter {\n private _windowEventCallback?: (evt: Event) => void;\n private _previouslyFocusedElement?: HTMLElement;\n private _hostElement?: HTMLElement;\n private _rootElement: HTMLElement;\n\n constructor(component: IPopupComponent) {\n super(component);\n this._rootElement = getShadowElement(component, POPUP_CONSTANTS.selectors.CONTAINER);\n }\n\n public setAttribute(attribute: string, value: string, element?: HTMLElement): void {\n if (element) {\n element.setAttribute(attribute, value);\n } else {\n this._component.setAttribute(attribute, value);\n }\n }\n\n public removeAttribute(attribute: string, element?: HTMLElement): void {\n if (element) {\n element.removeAttribute(attribute);\n } else {\n this._component.removeAttribute(attribute);\n }\n }\n\n public async positionPopup(): Promise<void> {\n const config: IPositionElementConfig = {\n element: this._component,\n targetElement: this._component.targetElement,\n placement: this._component.placement,\n hide: this._component.hideWhenClipped,\n flipOptions: {\n fallbackPlacements: ['top-start', 'top', 'top-end', 'left-start', 'left', 'left-end', 'right-start', 'right', 'right-end'],\n fallbackStrategy: 'initialPlacement'\n }\n };\n\n const fallbackPlacements: PopupPlacement[] = this._component.fallbackPlacements;\n if (fallbackPlacements?.length) {\n config.flipOptions = { ...config.flipOptions, fallbackPlacements };\n }\n\n if (this._component.offset) {\n config.offset = this._component.offset;\n }\n const data: IPopupPositionEventData = await positionElementAsync(config);\n emitEvent(this._component, POPUP_CONSTANTS.events.POSITION, data);\n }\n\n public addPopup(targetElement: HTMLElement, manageFocus: boolean): void {\n this._component.setAttribute('tabindex', '-1');\n this._component.setAttribute(POPUP_CONSTANTS.attributes.HOST, '');\n\n // Set initial position to top-left of the host element while we wait for positioning.\n // This ensures that the element is not visible, nor does it affect layouts before it\n // is properly moved into its expected location.\n this._component.style.top = '0';\n this._component.style.left = '0';\n\n const hostDocument = targetElement.ownerDocument || document;\n this._hostElement = (closestElement(POPUP_CONSTANTS.selectors.HOST, targetElement) as HTMLElement) || hostDocument.body;\n this._hostElement.appendChild(this._component);\n this.positionPopup();\n\n if (manageFocus) {\n this._previouslyFocusedElement = getActiveElement() as HTMLElement;\n this._component.focus();\n }\n }\n\n public removePopup(manageFocus: boolean): void {\n removeElement(this._component);\n\n if (manageFocus) {\n window.requestAnimationFrame(() => {\n if (this._previouslyFocusedElement) {\n const activeElement = getActiveElement();\n if (!activeElement || activeElement === document.body) {\n this._previouslyFocusedElement.focus();\n }\n this._previouslyFocusedElement = undefined;\n }\n });\n }\n\n this._hostElement = undefined;\n }\n\n public manageWindowEvents(add = false): void {\n if (add) {\n this._windowEventCallback = evt => this._windowInteraction(evt);\n window.addEventListener('scroll', this._windowEventCallback, true);\n window.addEventListener('resize', this._windowEventCallback, true);\n } else {\n if (this._windowEventCallback) {\n window.removeEventListener('scroll', this._windowEventCallback, true);\n window.removeEventListener('resize', this._windowEventCallback, true);\n this._windowEventCallback = undefined;\n }\n }\n }\n\n public dispatchEvent(type: string, data?: any, bubbles?: boolean, cancelable?: boolean): boolean {\n if (this._component.targetElement) {\n return !emitEvent(this._component.targetElement, type, data, bubbles, cancelable);\n }\n return false;\n }\n\n public addClass(classes: string | string[]): void {\n addClass(classes, this._rootElement);\n }\n\n public removeClass(classes: string | string[]): void {\n removeClass(classes, this._rootElement);\n }\n\n public setAnimationEndListener(listener: (evt: TransitionEvent) => void, classes?: string | string[]): void {\n window.requestAnimationFrame(() => {\n if (classes && classes.length) {\n addClass(classes, this._rootElement);\n }\n this._rootElement.addEventListener('transitionend', listener);\n });\n }\n\n public removeEventListener(type: string, listener: (evt: Event) => void): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public setBlurListener(listener: () => void): () => void {\n return notChildEventListener(this._component, activeElement => {\n if (!this._component.contains(activeElement)) {\n listener();\n }\n }, true );\n }\n\n public trySetInitialFocus(): void {\n window.requestAnimationFrame(() => {\n const elements = deepQuerySelectorAll(this._component, POPUP_CONSTANTS.selectors.INITIAL_FOCUS);\n if (elements && elements.length) {\n const initialElement = elements[elements.length - 1] as HTMLElement;\n initialElement.focus();\n }\n });\n }\n\n private _windowInteraction(evt: Event): void {\n if (!this._component.open) {\n return;\n }\n\n switch (evt.type) {\n case 'scroll':\n case 'resize':\n this.positionPopup();\n break;\n default:\n break;\n }\n }\n}\n", "import { ICustomElementFoundation, isElement } from '@tylertech/forge-core';\nimport { IPopupAdapter } from './popup-adapter';\nimport { IPopupPosition, PopupAnimationType, PopupPlacement, PopupStateCallback, POPUP_CONSTANTS as constants, POPUP_CONSTANTS } from './popup-constants';\n\nexport interface IPopupFoundation extends ICustomElementFoundation {\n targetElement: HTMLElement;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n open: boolean;\n manageFocus: boolean;\n animationType: PopupAnimationType;\n static: boolean;\n offset: IPopupPosition;\n hideWhenClipped: boolean;\n position(): void;\n openCallback: PopupStateCallback;\n closeCallback: PopupStateCallback;\n}\n\nexport class PopupFoundation implements IPopupFoundation {\n private _targetElement: HTMLElement;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _open = false;\n private _manageFocus = false;\n private _animationType = PopupAnimationType.None;\n private _static = false;\n private _offset?: IPopupPosition;\n private _hideWhenClipped = false;\n private _destroyBlurListener: (() => void) | undefined;\n private _openCallback: PopupStateCallback;\n private _closeCallback: PopupStateCallback;\n private _blurListener: () => void;\n\n constructor(private _adapter: IPopupAdapter) {\n this._blurListener = () => this._onBlur();\n }\n\n public disconnect(): void {\n if (this.open) {\n this.open = false;\n }\n }\n\n private _openPopup(): void {\n if (this._animationType !== PopupAnimationType.None) {\n this._applyOpenAnimation();\n\n if (this._animationType === PopupAnimationType.Dropdown) {\n this._adapter.addClass(POPUP_CONSTANTS.classes.SELECT);\n }\n } else {\n this._adapter.addClass(POPUP_CONSTANTS.classes.OPEN);\n }\n\n this._adapter.setAttribute(POPUP_CONSTANTS.attributes.OPEN, '');\n this._adapter.addPopup(this.targetElement, this._manageFocus);\n this._adapter.trySetInitialFocus();\n\n if (this._destroyBlurListener) {\n this._destroyBlurListener();\n }\n\n if (!this._static) {\n this._destroyBlurListener = this._adapter.setBlurListener(this._blurListener);\n }\n\n this._adapter.manageWindowEvents(true);\n this._adapter.dispatchEvent(constants.events.OPEN);\n }\n\n private _closePopup(): void {\n if (this._destroyBlurListener) {\n this._destroyBlurListener();\n this._destroyBlurListener = undefined;\n }\n\n if (this._animationType !== PopupAnimationType.None) {\n this._applyCloseAnimation();\n } else {\n this._destroyPopup();\n }\n }\n\n private _destroyPopup(): void {\n this._adapter.manageWindowEvents(false);\n this._adapter.removePopup(this._manageFocus);\n this._adapter.dispatchEvent(constants.events.CLOSE);\n this._adapter.removeAttribute(POPUP_CONSTANTS.attributes.OPEN);\n }\n\n private _applyOpenAnimation(): void {\n switch (this._animationType) {\n case PopupAnimationType.Dropdown:\n case PopupAnimationType.Menu:\n this._adapter.addClass(POPUP_CONSTANTS.classes.OPENING);\n const transitionEndListener = (evt: TransitionEvent): void => {\n if (evt.propertyName === 'transform') {\n this._adapter.removeClass(POPUP_CONSTANTS.classes.OPENING);\n this._adapter.removeEventListener('transitionend', transitionEndListener);\n }\n };\n this._adapter.setAnimationEndListener(transitionEndListener, POPUP_CONSTANTS.classes.OPEN);\n break;\n }\n }\n\n private _applyCloseAnimation(): void {\n switch (this._animationType) {\n case PopupAnimationType.Dropdown:\n case PopupAnimationType.Menu:\n this._adapter.removeClass(POPUP_CONSTANTS.classes.OPEN);\n this._adapter.addClass(POPUP_CONSTANTS.classes.CLOSED);\n const transitionEndListener = (evt: TransitionEvent): void => {\n if (evt.propertyName === 'opacity') {\n if (fallbackTimer) {\n clearTimeout(fallbackTimer);\n }\n this._destroyPopup();\n }\n };\n this._adapter.setAnimationEndListener(transitionEndListener);\n const fallbackTimer = setTimeout(() => this._destroyPopup(), POPUP_CONSTANTS.numbers.ANIMATION_DURATION);\n break;\n }\n }\n\n private _onBlur(): void {\n const cancelled = this._adapter.dispatchEvent(POPUP_CONSTANTS.events.BLUR, undefined, true, true);\n if (!cancelled) {\n this.open = false;\n }\n }\n\n private _applyOpen(): void {\n if (this._open) {\n if (!this.targetElement || !isElement(this.targetElement)) {\n throw new Error('targetElement on Popup component must be an HTMLElement');\n }\n\n if (typeof this._openCallback === 'function') {\n this._executeOpenCallback();\n } else {\n this._openPopup();\n }\n } else {\n if (typeof this._closeCallback === 'function') {\n this._executeCloseCallback();\n } else {\n this._closePopup();\n }\n }\n }\n\n private async _executeOpenCallback(): Promise<void> {\n try {\n if (await Promise.resolve(this._openCallback()) !== false) {\n this._openPopup();\n } else {\n this._open = false;\n }\n } catch (e) {\n this._open = false;\n }\n }\n\n private async _executeCloseCallback(): Promise<void> {\n try {\n if (await Promise.resolve(this._closeCallback()) !== false) {\n this._closePopup();\n } else {\n this._open = true;\n }\n } catch (e) {\n this._open = true;\n }\n }\n\n public get targetElement(): HTMLElement {\n return this._targetElement;\n }\n public set targetElement(element: HTMLElement) {\n if (!element || !isElement(element)) {\n throw new Error('targetElement on Popup component must be an HTMLElement');\n }\n this._targetElement = element;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setAttribute(POPUP_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n this._applyOpen();\n }\n }\n\n public get manageFocus(): boolean {\n return this._manageFocus;\n }\n public set manageFocus(value: boolean) {\n if (this._manageFocus !== value) {\n this._manageFocus = value;\n }\n }\n\n public get animationType(): PopupAnimationType {\n return this._animationType;\n }\n public set animationType(value: PopupAnimationType) {\n if (this._animationType !== value) {\n this._animationType = value;\n }\n }\n\n public get static(): boolean {\n return this._static;\n }\n public set static(value: boolean) {\n if (this._static !== value) {\n this._static = value;\n if (this._static && this._destroyBlurListener) {\n this._destroyBlurListener();\n this._destroyBlurListener = undefined;\n }\n }\n }\n\n public get hideWhenClipped(): boolean {\n return this._hideWhenClipped;\n }\n public set hideWhenClipped(value: boolean) {\n if (this._hideWhenClipped !== value) {\n this._hideWhenClipped = value;\n }\n }\n\n public get offset(): IPopupPosition {\n return this._offset ?? { x: 0, y: 0 };\n }\n public set offset(value: IPopupPosition) {\n if (!value) {\n this._offset = undefined;\n } else {\n this._offset = {\n x: value.x ?? 0,\n y: value.y ?? 0\n };\n }\n if (this._open) {\n this._adapter.positionPopup();\n }\n }\n\n public get openCallback(): PopupStateCallback {\n return this._openCallback;\n }\n public set openCallback(callback: PopupStateCallback) {\n this._openCallback = callback;\n }\n\n public get closeCallback(): PopupStateCallback {\n return this._closeCallback;\n }\n public set closeCallback(callback: PopupStateCallback) {\n this._closeCallback = callback;\n }\n\n public position(): void {\n this._adapter.positionPopup();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\nimport { PopupAdapter } from './popup-adapter';\nimport { IPopupPosition, IPopupPositionEventData, PopupAnimationType, PopupPlacement, PopupStateCallback, POPUP_CONSTANTS } from './popup-constants';\nimport { PopupFoundation } from './popup-foundation';\n\n\nconst template = '<template><div class=\\\"forge-popup\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}:host([constrain-viewport-width]){max-width:100vw}';\n\nexport interface IPopupComponent extends IBaseComponent {\n targetElement: HTMLElement;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n open: boolean;\n manageFocus: boolean;\n animationType: `${PopupAnimationType}`;\n static: boolean;\n offset: IPopupPosition;\n hideWhenClipped: boolean;\n position(): void;\n openCallback: PopupStateCallback;\n closeCallback: PopupStateCallback;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-popup': IPopupComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-popup-open': CustomEvent<void>;\n 'forge-popup-close': CustomEvent<void>;\n 'forge-popup-position': CustomEvent<IPopupPositionEventData>;\n 'forge-popup-blur': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-popup>` custom element.\n * \n * @tag forge-popup\n */\n@CustomElement({\n name: POPUP_CONSTANTS.elementName\n})\nexport class PopupComponent extends BaseComponent implements IPopupComponent {\n private _foundation: PopupFoundation;\n\n public static get observedAttributes(): string[] {\n return [\n POPUP_CONSTANTS.attributes.OPEN,\n POPUP_CONSTANTS.attributes.PLACEMENT,\n POPUP_CONSTANTS.attributes.MANAGE_FOCUS,\n POPUP_CONSTANTS.attributes.ANIMATION_TYPE,\n POPUP_CONSTANTS.attributes.STATIC,\n POPUP_CONSTANTS.attributes.HIDE_WHEN_CLIPPED\n ];\n }\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new PopupFoundation(new PopupAdapter(this));\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 POPUP_CONSTANTS.attributes.OPEN:\n this.open = isDefined(newValue);\n break;\n case POPUP_CONSTANTS.attributes.PLACEMENT:\n this.placement = newValue as PopupPlacement;\n break;\n case POPUP_CONSTANTS.attributes.MANAGE_FOCUS:\n this.manageFocus = coerceBoolean(newValue);\n break;\n case POPUP_CONSTANTS.attributes.ANIMATION_TYPE:\n this.animationType = newValue as PopupAnimationType;\n break;\n case POPUP_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case POPUP_CONSTANTS.attributes.HIDE_WHEN_CLIPPED:\n this.hideWhenClipped = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare targetElement: HTMLElement;\n\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n @FoundationProperty()\n public declare open: boolean;\n\n @FoundationProperty()\n public declare manageFocus: boolean;\n\n @FoundationProperty()\n public declare animationType: `${PopupAnimationType}`;\n\n @FoundationProperty()\n public declare static: boolean;\n\n @FoundationProperty()\n public declare hideWhenClipped: boolean;\n\n @FoundationProperty()\n public declare openCallback: PopupStateCallback;\n\n @FoundationProperty()\n public declare closeCallback: PopupStateCallback;\n\n @FoundationProperty()\n public declare offset: IPopupPosition;\n\n public position(): void {\n this._foundation.position();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { PopupComponent } from './popup';\n\nexport * from './popup-adapter';\nexport * from './popup-constants';\nexport * from './popup-foundation';\nexport * from './popup';\n\nexport function definePopupComponent(): void {\n defineCustomElement(PopupComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import{a as f,b as v,c,f as D,g as w}from"./chunk.QZHEP4X2.js";var R={BG_FOCUSED:"mdc-ripple-upgraded--background-focused",FG_ACTIVATION:"mdc-ripple-upgraded--foreground-activation",FG_DEACTIVATION:"mdc-ripple-upgraded--foreground-deactivation",ROOT:"mdc-ripple-upgraded",UNBOUNDED:"mdc-ripple-upgraded--unbounded"},S={VAR_FG_SCALE:"--mdc-ripple-fg-scale",VAR_FG_SIZE:"--mdc-ripple-fg-size",VAR_FG_TRANSLATE_END:"--mdc-ripple-fg-translate-end",VAR_FG_TRANSLATE_START:"--mdc-ripple-fg-translate-start",VAR_LEFT:"--mdc-ripple-left",VAR_TOP:"--mdc-ripple-top"},y={DEACTIVATION_TIMEOUT_MS:225,FG_DEACTIVATION_MS:150,INITIAL_ORIGIN_SCALE:.6,PADDING:10,TAP_DELAY_MS:300};var h;function F(s,i){i===void 0&&(i=!1);var t=s.CSS,e=h;if(typeof h=="boolean"&&!i)return h;var a=t&&typeof t.supports=="function";if(!a)return!1;var r=t.supports("--css-vars","yes"),n=t.supports("(--css-vars: yes)")&&t.supports("color","#00000000");return e=r||n,i||(h=e),e}function H(s,i,t){if(!s)return{x:0,y:0};var e=i.x,a=i.y,r=e+t.left,n=a+t.top,o,d;if(s.type==="touchstart"){var p=s;o=p.changedTouches[0].pageX-r,d=p.changedTouches[0].pageY-n}else{var u=s;o=u.pageX-r,d=u.pageY-n}return{x:o,y:d}}var x=["touchstart","pointerdown","mousedown","keydown"],U=["touchend","pointerup","mouseup","contextmenu"],m=[],M=function(s){f(i,s);function i(t){var e=s.call(this,v(v({},i.defaultAdapter),t))||this;return e.activationAnimationHasEnded=!1,e.activationTimer=0,e.fgDeactivationRemovalTimer=0,e.fgScale="0",e.frame={width:0,height:0},e.initialSize=0,e.layoutFrame=0,e.maxRadius=0,e.unboundedCoords={left:0,top:0},e.activationState=e.defaultActivationState(),e.activationTimerCallback=function(){e.activationAnimationHasEnded=!0,e.runDeactivationUXLogicIfReady()},e.activateHandler=function(a){e.activateImpl(a)},e.deactivateHandler=function(){e.deactivateImpl()},e.focusHandler=function(){e.handleFocus()},e.blurHandler=function(){e.handleBlur()},e.resizeHandler=function(){e.layout()},e}return Object.defineProperty(i,"cssClasses",{get:function(){return R},enumerable:!1,configurable:!0}),Object.defineProperty(i,"strings",{get:function(){return S},enumerable:!1,configurable:!0}),Object.defineProperty(i,"numbers",{get:function(){return y},enumerable:!1,configurable:!0}),Object.defineProperty(i,"defaultAdapter",{get:function(){return{addClass:function(){},browserSupportsCssVars:function(){return!0},computeBoundingRect:function(){return{top:0,right:0,bottom:0,left:0,width:0,height:0}},containsEventTarget:function(){return!0},deregisterDocumentInteractionHandler:function(){},deregisterInteractionHandler:function(){},deregisterResizeHandler:function(){},getWindowPageOffset:function(){return{x:0,y:0}},isSurfaceActive:function(){return!0},isSurfaceDisabled:function(){return!0},isUnbounded:function(){return!0},registerDocumentInteractionHandler:function(){},registerInteractionHandler:function(){},registerResizeHandler:function(){},removeClass:function(){},updateCssVariable:function(){}}},enumerable:!1,configurable:!0}),i.prototype.init=function(){var t=this,e=this.supportsPressRipple();if(this.registerRootHandlers(e),e){var a=i.cssClasses,r=a.ROOT,n=a.UNBOUNDED;requestAnimationFrame(function(){t.adapter.addClass(r),t.adapter.isUnbounded()&&(t.adapter.addClass(n),t.layoutInternal())})}},i.prototype.destroy=function(){var t=this;if(this.supportsPressRipple()){this.activationTimer&&(clearTimeout(this.activationTimer),this.activationTimer=0,this.adapter.removeClass(i.cssClasses.FG_ACTIVATION)),this.fgDeactivationRemovalTimer&&(clearTimeout(this.fgDeactivationRemovalTimer),this.fgDeactivationRemovalTimer=0,this.adapter.removeClass(i.cssClasses.FG_DEACTIVATION));var e=i.cssClasses,a=e.ROOT,r=e.UNBOUNDED;requestAnimationFrame(function(){t.adapter.removeClass(a),t.adapter.removeClass(r),t.removeCssVars()})}this.deregisterRootHandlers(),this.deregisterDeactivationHandlers()},i.prototype.activate=function(t){this.activateImpl(t)},i.prototype.deactivate=function(){this.deactivateImpl()},i.prototype.layout=function(){var t=this;this.layoutFrame&&cancelAnimationFrame(this.layoutFrame),this.layoutFrame=requestAnimationFrame(function(){t.layoutInternal(),t.layoutFrame=0})},i.prototype.setUnbounded=function(t){var e=i.cssClasses.UNBOUNDED;t?this.adapter.addClass(e):this.adapter.removeClass(e)},i.prototype.handleFocus=function(){var t=this;requestAnimationFrame(function(){return t.adapter.addClass(i.cssClasses.BG_FOCUSED)})},i.prototype.handleBlur=function(){var t=this;requestAnimationFrame(function(){return t.adapter.removeClass(i.cssClasses.BG_FOCUSED)})},i.prototype.supportsPressRipple=function(){return this.adapter.browserSupportsCssVars()},i.prototype.defaultActivationState=function(){return{activationEvent:void 0,hasDeactivationUXRun:!1,isActivated:!1,isProgrammatic:!1,wasActivatedByPointer:!1,wasElementMadeActive:!1}},i.prototype.registerRootHandlers=function(t){var e,a;if(t){try{for(var r=c(x),n=r.next();!n.done;n=r.next()){var o=n.value;this.adapter.registerInteractionHandler(o,this.activateHandler)}}catch(d){e={error:d}}finally{try{n&&!n.done&&(a=r.return)&&a.call(r)}finally{if(e)throw e.error}}this.adapter.isUnbounded()&&this.adapter.registerResizeHandler(this.resizeHandler)}this.adapter.registerInteractionHandler("focus",this.focusHandler),this.adapter.registerInteractionHandler("blur",this.blurHandler)},i.prototype.registerDeactivationHandlers=function(t){var e,a;if(t.type==="keydown")this.adapter.registerInteractionHandler("keyup",this.deactivateHandler);else try{for(var r=c(U),n=r.next();!n.done;n=r.next()){var o=n.value;this.adapter.registerDocumentInteractionHandler(o,this.deactivateHandler)}}catch(d){e={error:d}}finally{try{n&&!n.done&&(a=r.return)&&a.call(r)}finally{if(e)throw e.error}}},i.prototype.deregisterRootHandlers=function(){var t,e;try{for(var a=c(x),r=a.next();!r.done;r=a.next()){var n=r.value;this.adapter.deregisterInteractionHandler(n,this.activateHandler)}}catch(o){t={error:o}}finally{try{r&&!r.done&&(e=a.return)&&e.call(a)}finally{if(t)throw t.error}}this.adapter.deregisterInteractionHandler("focus",this.focusHandler),this.adapter.deregisterInteractionHandler("blur",this.blurHandler),this.adapter.isUnbounded()&&this.adapter.deregisterResizeHandler(this.resizeHandler)},i.prototype.deregisterDeactivationHandlers=function(){var t,e;this.adapter.deregisterInteractionHandler("keyup",this.deactivateHandler);try{for(var a=c(U),r=a.next();!r.done;r=a.next()){var n=r.value;this.adapter.deregisterDocumentInteractionHandler(n,this.deactivateHandler)}}catch(o){t={error:o}}finally{try{r&&!r.done&&(e=a.return)&&e.call(a)}finally{if(t)throw t.error}}},i.prototype.removeCssVars=function(){var t=this,e=i.strings,a=Object.keys(e);a.forEach(function(r){r.indexOf("VAR_")===0&&t.adapter.updateCssVariable(e[r],null)})},i.prototype.activateImpl=function(t){var e=this;if(!this.adapter.isSurfaceDisabled()){var a=this.activationState;if(!a.isActivated){var r=this.previousActivationEvent,n=r&&t!==void 0&&r.type!==t.type;if(!n){a.isActivated=!0,a.isProgrammatic=t===void 0,a.activationEvent=t,a.wasActivatedByPointer=a.isProgrammatic?!1:t!==void 0&&(t.type==="mousedown"||t.type==="touchstart"||t.type==="pointerdown");var o=t!==void 0&&m.length>0&&m.some(function(d){return e.adapter.containsEventTarget(d)});if(o){this.resetActivationState();return}t!==void 0&&(m.push(t.target),this.registerDeactivationHandlers(t)),a.wasElementMadeActive=this.checkElementMadeActive(t),a.wasElementMadeActive&&this.animateActivation(),requestAnimationFrame(function(){m=[],!a.wasElementMadeActive&&t!==void 0&&(t.key===" "||t.keyCode===32)&&(a.wasElementMadeActive=e.checkElementMadeActive(t),a.wasElementMadeActive&&e.animateActivation()),a.wasElementMadeActive||(e.activationState=e.defaultActivationState())})}}}},i.prototype.checkElementMadeActive=function(t){return t!==void 0&&t.type==="keydown"?this.adapter.isSurfaceActive():!0},i.prototype.animateActivation=function(){var t=this,e=i.strings,a=e.VAR_FG_TRANSLATE_START,r=e.VAR_FG_TRANSLATE_END,n=i.cssClasses,o=n.FG_DEACTIVATION,d=n.FG_ACTIVATION,p=i.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal();var u="",g="";if(!this.adapter.isUnbounded()){var A=this.getFgTranslationCoordinates(),C=A.startPoint,b=A.endPoint;u=C.x+"px, "+C.y+"px",g=b.x+"px, "+b.y+"px"}this.adapter.updateCssVariable(a,u),this.adapter.updateCssVariable(r,g),clearTimeout(this.activationTimer),clearTimeout(this.fgDeactivationRemovalTimer),this.rmBoundedActivationClasses(),this.adapter.removeClass(o),this.adapter.computeBoundingRect(),this.adapter.addClass(d),this.activationTimer=setTimeout(function(){t.activationTimerCallback()},p)},i.prototype.getFgTranslationCoordinates=function(){var t=this.activationState,e=t.activationEvent,a=t.wasActivatedByPointer,r;a?r=H(e,this.adapter.getWindowPageOffset(),this.adapter.computeBoundingRect()):r={x:this.frame.width/2,y:this.frame.height/2},r={x:r.x-this.initialSize/2,y:r.y-this.initialSize/2};var n={x:this.frame.width/2-this.initialSize/2,y:this.frame.height/2-this.initialSize/2};return{startPoint:r,endPoint:n}},i.prototype.runDeactivationUXLogicIfReady=function(){var t=this,e=i.cssClasses.FG_DEACTIVATION,a=this.activationState,r=a.hasDeactivationUXRun,n=a.isActivated,o=r||!n;o&&this.activationAnimationHasEnded&&(this.rmBoundedActivationClasses(),this.adapter.addClass(e),this.fgDeactivationRemovalTimer=setTimeout(function(){t.adapter.removeClass(e)},y.FG_DEACTIVATION_MS))},i.prototype.rmBoundedActivationClasses=function(){var t=i.cssClasses.FG_ACTIVATION;this.adapter.removeClass(t),this.activationAnimationHasEnded=!1,this.adapter.computeBoundingRect()},i.prototype.resetActivationState=function(){var t=this;this.previousActivationEvent=this.activationState.activationEvent,this.activationState=this.defaultActivationState(),setTimeout(function(){return t.previousActivationEvent=void 0},i.numbers.TAP_DELAY_MS)},i.prototype.deactivateImpl=function(){var t=this,e=this.activationState;if(!!e.isActivated){var a=v({},e);e.isProgrammatic?(requestAnimationFrame(function(){t.animateDeactivation(a)}),this.resetActivationState()):(this.deregisterDeactivationHandlers(),requestAnimationFrame(function(){t.activationState.hasDeactivationUXRun=!0,t.animateDeactivation(a),t.resetActivationState()}))}},i.prototype.animateDeactivation=function(t){var e=t.wasActivatedByPointer,a=t.wasElementMadeActive;(e||a)&&this.runDeactivationUXLogicIfReady()},i.prototype.layoutInternal=function(){var t=this;this.frame=this.adapter.computeBoundingRect();var e=Math.max(this.frame.height,this.frame.width),a=function(){var n=Math.sqrt(Math.pow(t.frame.width,2)+Math.pow(t.frame.height,2));return n+i.numbers.PADDING};this.maxRadius=this.adapter.isUnbounded()?e:a();var r=Math.floor(e*i.numbers.INITIAL_ORIGIN_SCALE);this.adapter.isUnbounded()&&r%2!==0?this.initialSize=r-1:this.initialSize=r,this.fgScale=""+this.maxRadius/this.initialSize,this.updateLayoutCssVars()},i.prototype.updateLayoutCssVars=function(){var t=i.strings,e=t.VAR_FG_SIZE,a=t.VAR_LEFT,r=t.VAR_TOP,n=t.VAR_FG_SCALE;this.adapter.updateCssVariable(e,this.initialSize+"px"),this.adapter.updateCssVariable(n,this.fgScale),this.adapter.isUnbounded()&&(this.unboundedCoords={left:Math.round(this.frame.width/2-this.initialSize/2),top:Math.round(this.frame.height/2-this.initialSize/2)},this.adapter.updateCssVariable(a,this.unboundedCoords.left+"px"),this.adapter.updateCssVariable(r,this.unboundedCoords.top+"px"))},i}(D);function l(s){return s===void 0&&(s=window),B(s)?{passive:!0}:!1}function B(s){s===void 0&&(s=window);var i=!1;try{var t={get passive(){return i=!0,!1}},e=function(){};s.document.addEventListener("test",e,t),s.document.removeEventListener("test",e,t)}catch(a){i=!1}return i}function G(s,i){var t=s.matches||s.webkitMatchesSelector||s.msMatchesSelector;return t.call(s,i)}var Q=function(s){f(i,s);function i(){var t=s!==null&&s.apply(this,arguments)||this;return t.disabled=!1,t}return i.attachTo=function(t,e){e===void 0&&(e={isUnbounded:void 0});var a=new i(t);return e.isUnbounded!==void 0&&(a.unbounded=e.isUnbounded),a},i.createAdapter=function(t){return{addClass:function(e){return t.root.classList.add(e)},browserSupportsCssVars:function(){return F(window)},computeBoundingRect:function(){return t.root.getBoundingClientRect()},containsEventTarget:function(e){return t.root.contains(e)},deregisterDocumentInteractionHandler:function(e,a){return document.documentElement.removeEventListener(e,a,l())},deregisterInteractionHandler:function(e,a){return t.root.removeEventListener(e,a,l())},deregisterResizeHandler:function(e){return window.removeEventListener("resize",e)},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}},isSurfaceActive:function(){return G(t.root,":active")},isSurfaceDisabled:function(){return Boolean(t.disabled)},isUnbounded:function(){return Boolean(t.unbounded)},registerDocumentInteractionHandler:function(e,a){return document.documentElement.addEventListener(e,a,l())},registerInteractionHandler:function(e,a){return t.root.addEventListener(e,a,l())},registerResizeHandler:function(e){return window.addEventListener("resize",e)},removeClass:function(e){return t.root.classList.remove(e)},updateCssVariable:function(e,a){return t.root.style.setProperty(e,a)}}},Object.defineProperty(i.prototype,"unbounded",{get:function(){return Boolean(this.isUnbounded)},set:function(t){this.isUnbounded=Boolean(t),this.setUnbounded()},enumerable:!1,configurable:!0}),i.prototype.activate=function(){this.foundation.activate()},i.prototype.deactivate=function(){this.foundation.deactivate()},i.prototype.layout=function(){this.foundation.layout()},i.prototype.getDefaultFoundation=function(){return new M(i.createAdapter(this))},i.prototype.initialSyncWithDOM=function(){var t=this.root;this.isUnbounded="mdcRippleIsUnbounded"in t.dataset},i.prototype.setUnbounded=function(){this.foundation.setUnbounded(Boolean(this.isUnbounded))},i}(w);export{l as a,G as b,M as c,Q as d};
|