@tylertech/forge 2.0.0 → 2.1.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 +30 -13
- package/dist/esm/accordion/index.js +39 -0
- package/dist/esm/accordion/index.js.map +7 -0
- package/dist/esm/app-bar/help-button/index.js +58 -0
- package/dist/esm/app-bar/help-button/index.js.map +7 -0
- package/dist/esm/app-bar/index.js +136 -0
- package/dist/esm/app-bar/index.js.map +7 -0
- package/dist/esm/app-bar/menu-button/index.js +41 -0
- package/dist/esm/app-bar/menu-button/index.js.map +7 -0
- package/dist/esm/app-bar/notification-button/index.js +46 -0
- package/dist/esm/app-bar/notification-button/index.js.map +7 -0
- package/dist/esm/app-bar/profile-button/index.js +51 -0
- package/dist/esm/app-bar/profile-button/index.js.map +7 -0
- package/dist/esm/app-bar/search/index.js +43 -0
- package/dist/esm/app-bar/search/index.js.map +7 -0
- package/dist/esm/autocomplete/index.js +77 -0
- package/dist/esm/autocomplete/index.js.map +7 -0
- package/dist/esm/avatar/index.js +33 -0
- package/dist/esm/avatar/index.js.map +7 -0
- package/dist/esm/backdrop/index.js +28 -0
- package/dist/esm/backdrop/index.js.map +7 -0
- package/dist/esm/badge/index.js +31 -0
- package/dist/esm/badge/index.js.map +7 -0
- package/dist/esm/banner/index.js +45 -0
- package/dist/esm/banner/index.js.map +7 -0
- package/dist/esm/bottom-sheet/index.js +45 -0
- package/dist/esm/bottom-sheet/index.js.map +7 -0
- package/dist/esm/busy-indicator/index.js +37 -0
- package/dist/esm/busy-indicator/index.js.map +7 -0
- package/dist/esm/button/index.js +29 -0
- package/dist/esm/button/index.js.map +7 -0
- package/dist/esm/button-toggle/button-toggle/index.js +33 -0
- package/dist/esm/button-toggle/button-toggle/index.js.map +7 -0
- package/dist/esm/button-toggle/button-toggle-group/index.js +32 -0
- package/dist/esm/button-toggle/button-toggle-group/index.js.map +7 -0
- package/dist/esm/button-toggle/index.js +46 -0
- package/dist/esm/button-toggle/index.js.map +7 -0
- package/dist/esm/calendar/calendar-dropdown/index.js +35 -0
- package/dist/esm/calendar/calendar-dropdown/index.js.map +7 -0
- package/dist/esm/calendar/calendar-menu/index.js +48 -0
- package/dist/esm/calendar/calendar-menu/index.js.map +7 -0
- package/dist/esm/calendar/core/index.js +13 -0
- package/dist/esm/calendar/core/index.js.map +7 -0
- package/dist/esm/calendar/index.js +199 -0
- package/dist/esm/calendar/index.js.map +7 -0
- package/dist/esm/card/index.js +22 -0
- package/dist/esm/card/index.js.map +7 -0
- package/dist/esm/checkbox/index.js +44 -0
- package/dist/esm/checkbox/index.js.map +7 -0
- package/dist/esm/chip-field/index.js +51 -0
- package/dist/esm/chip-field/index.js.map +7 -0
- package/dist/esm/chips/chip/index.js +42 -0
- package/dist/esm/chips/chip/index.js.map +7 -0
- package/dist/esm/chips/chip-set/index.js +42 -0
- package/dist/esm/chips/chip-set/index.js.map +7 -0
- package/dist/esm/chips/index.js +55 -0
- package/dist/esm/chips/index.js.map +7 -0
- package/dist/esm/chunks/chunk.2F6PST3N.js +476 -0
- package/dist/esm/chunks/chunk.2F6PST3N.js.map +7 -0
- package/dist/esm/chunks/chunk.2FXYTBYG.js +1450 -0
- package/dist/esm/chunks/chunk.2FXYTBYG.js.map +7 -0
- package/dist/esm/chunks/chunk.2LQMHAC7.js +187 -0
- package/dist/esm/chunks/chunk.2LQMHAC7.js.map +7 -0
- package/dist/esm/chunks/chunk.2LSEVYAC.js +342 -0
- package/dist/esm/chunks/chunk.2LSEVYAC.js.map +7 -0
- package/dist/esm/chunks/chunk.2NUAEZY7.js +221 -0
- package/dist/esm/chunks/chunk.2NUAEZY7.js.map +7 -0
- package/dist/esm/chunks/chunk.35U3UPDV.js +70 -0
- package/dist/esm/chunks/chunk.35U3UPDV.js.map +7 -0
- package/dist/esm/chunks/chunk.3KCCCXWS.js +344 -0
- package/dist/esm/chunks/chunk.3KCCCXWS.js.map +7 -0
- package/dist/esm/chunks/chunk.3NOZRZ7R.js +145 -0
- package/dist/esm/chunks/chunk.3NOZRZ7R.js.map +7 -0
- package/dist/esm/chunks/chunk.3ZKORL4I.js +212 -0
- package/dist/esm/chunks/chunk.3ZKORL4I.js.map +7 -0
- package/dist/esm/chunks/chunk.4BG22DGY.js +317 -0
- package/dist/esm/chunks/chunk.4BG22DGY.js.map +7 -0
- package/dist/esm/chunks/chunk.4HQ5VELO.js +793 -0
- package/dist/esm/chunks/chunk.4HQ5VELO.js.map +7 -0
- package/dist/esm/chunks/chunk.4JURZYE4.js +410 -0
- package/dist/esm/chunks/chunk.4JURZYE4.js.map +7 -0
- package/dist/esm/chunks/chunk.4UKSUUTX.js +296 -0
- package/dist/esm/chunks/chunk.4UKSUUTX.js.map +7 -0
- package/dist/esm/chunks/chunk.4V5O2CPU.js +417 -0
- package/dist/esm/chunks/chunk.4V5O2CPU.js.map +7 -0
- package/dist/esm/chunks/chunk.52F6VUCF.js +273 -0
- package/dist/esm/chunks/chunk.52F6VUCF.js.map +7 -0
- package/dist/esm/chunks/chunk.5EEEKOOK.js +552 -0
- package/dist/esm/chunks/chunk.5EEEKOOK.js.map +7 -0
- package/dist/esm/chunks/chunk.5NXVVSTU.js +243 -0
- package/dist/esm/chunks/chunk.5NXVVSTU.js.map +7 -0
- package/dist/esm/chunks/chunk.5VKAVHLM.js +610 -0
- package/dist/esm/chunks/chunk.5VKAVHLM.js.map +7 -0
- package/dist/esm/chunks/chunk.6KTLOA7V.js +6 -0
- package/dist/esm/chunks/chunk.6KTLOA7V.js.map +7 -0
- package/dist/esm/chunks/chunk.6V463G4I.js +105 -0
- package/dist/esm/chunks/chunk.6V463G4I.js.map +7 -0
- package/dist/esm/chunks/chunk.7FC5CPLE.js +603 -0
- package/dist/esm/chunks/chunk.7FC5CPLE.js.map +7 -0
- package/dist/esm/chunks/chunk.7G2S3DCM.js +458 -0
- package/dist/esm/chunks/chunk.7G2S3DCM.js.map +7 -0
- package/dist/esm/chunks/chunk.7I2XNJBL.js +593 -0
- package/dist/esm/chunks/chunk.7I2XNJBL.js.map +7 -0
- package/dist/esm/chunks/chunk.7KILTPJ6.js +72 -0
- package/dist/esm/chunks/chunk.7KILTPJ6.js.map +7 -0
- package/dist/esm/chunks/chunk.7XGNGXLR.js +648 -0
- package/dist/esm/chunks/chunk.7XGNGXLR.js.map +7 -0
- package/dist/esm/chunks/chunk.7Y4NHCJH.js +338 -0
- package/dist/esm/chunks/chunk.7Y4NHCJH.js.map +7 -0
- package/dist/esm/chunks/chunk.AHQ6QX3J.js +716 -0
- package/dist/esm/chunks/chunk.AHQ6QX3J.js.map +7 -0
- package/dist/esm/chunks/chunk.AYOZGYGO.js +21 -0
- package/dist/esm/chunks/chunk.AYOZGYGO.js.map +7 -0
- package/dist/esm/chunks/chunk.BKMWXPAS.js +439 -0
- package/dist/esm/chunks/chunk.BKMWXPAS.js.map +7 -0
- package/dist/esm/chunks/chunk.BOWCSPCH.js +2428 -0
- package/dist/esm/chunks/chunk.BOWCSPCH.js.map +7 -0
- package/dist/esm/chunks/chunk.BYN27JXZ.js +51 -0
- package/dist/esm/chunks/chunk.BYN27JXZ.js.map +7 -0
- package/dist/esm/chunks/chunk.BZPQIDQP.js +602 -0
- package/dist/esm/chunks/chunk.BZPQIDQP.js.map +7 -0
- package/dist/esm/chunks/chunk.C2MR3RDF.js +202 -0
- package/dist/esm/chunks/chunk.C2MR3RDF.js.map +7 -0
- package/dist/esm/chunks/chunk.C64YUJHS.js +55 -0
- package/dist/esm/chunks/chunk.C64YUJHS.js.map +7 -0
- package/dist/esm/chunks/chunk.CGHKW6S6.js +683 -0
- package/dist/esm/chunks/chunk.CGHKW6S6.js.map +7 -0
- package/dist/esm/chunks/chunk.CKS5A4YN.js +6 -0
- package/dist/esm/chunks/chunk.CKS5A4YN.js.map +7 -0
- package/dist/esm/chunks/chunk.COF6DD6T.js +293 -0
- package/dist/esm/chunks/chunk.COF6DD6T.js.map +7 -0
- package/dist/esm/chunks/chunk.D4XU5MZN.js +1203 -0
- package/dist/esm/chunks/chunk.D4XU5MZN.js.map +7 -0
- package/dist/esm/chunks/chunk.D5DMZ7ZG.js +350 -0
- package/dist/esm/chunks/chunk.D5DMZ7ZG.js.map +7 -0
- package/dist/esm/chunks/chunk.DB7ZQBES.js +244 -0
- package/dist/esm/chunks/chunk.DB7ZQBES.js.map +7 -0
- package/dist/esm/chunks/chunk.E4NCI7MS.js +6 -0
- package/dist/esm/chunks/chunk.E4NCI7MS.js.map +7 -0
- package/dist/esm/chunks/chunk.EA7XMXI5.js +200 -0
- package/dist/esm/chunks/chunk.EA7XMXI5.js.map +7 -0
- package/dist/esm/chunks/chunk.EARNUKJ2.js +401 -0
- package/dist/esm/chunks/chunk.EARNUKJ2.js.map +7 -0
- package/dist/esm/chunks/chunk.EKIW7VYG.js +419 -0
- package/dist/esm/chunks/chunk.EKIW7VYG.js.map +7 -0
- package/dist/esm/chunks/chunk.EL6B2ODN.js +52 -0
- package/dist/esm/chunks/chunk.EL6B2ODN.js.map +7 -0
- package/dist/esm/chunks/chunk.ETP6HSXO.js +513 -0
- package/dist/esm/chunks/chunk.ETP6HSXO.js.map +7 -0
- package/dist/esm/chunks/chunk.ETQIBLKP.js +978 -0
- package/dist/esm/chunks/chunk.ETQIBLKP.js.map +7 -0
- package/dist/esm/chunks/chunk.EWQENJ4W.js +505 -0
- package/dist/esm/chunks/chunk.EWQENJ4W.js.map +7 -0
- package/dist/esm/chunks/chunk.EY57VTRF.js +33 -0
- package/dist/esm/chunks/chunk.EY57VTRF.js.map +7 -0
- package/dist/esm/chunks/chunk.FBUQQD2T.js +732 -0
- package/dist/esm/chunks/chunk.FBUQQD2T.js.map +7 -0
- package/dist/esm/chunks/chunk.FMMPWQKC.js +439 -0
- package/dist/esm/chunks/chunk.FMMPWQKC.js.map +7 -0
- package/dist/esm/chunks/chunk.FWJ7SIFA.js +433 -0
- package/dist/esm/chunks/chunk.FWJ7SIFA.js.map +7 -0
- package/dist/esm/chunks/chunk.FZQCBRPK.js +6 -0
- package/dist/esm/chunks/chunk.FZQCBRPK.js.map +7 -0
- package/dist/esm/chunks/chunk.G6FY472A.js +658 -0
- package/dist/esm/chunks/chunk.G6FY472A.js.map +7 -0
- package/dist/esm/chunks/chunk.GS2AXUCN.js +150 -0
- package/dist/esm/chunks/chunk.GS2AXUCN.js.map +7 -0
- package/dist/esm/chunks/chunk.HHHMDDTU.js +297 -0
- package/dist/esm/chunks/chunk.HHHMDDTU.js.map +7 -0
- package/dist/esm/chunks/chunk.HZISALRH.js +20 -0
- package/dist/esm/chunks/chunk.HZISALRH.js.map +7 -0
- package/dist/esm/chunks/chunk.IBH5GL7A.js +258 -0
- package/dist/esm/chunks/chunk.IBH5GL7A.js.map +7 -0
- package/dist/esm/chunks/chunk.IWXT6VVJ.js +222 -0
- package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +7 -0
- package/dist/esm/chunks/chunk.J6LOWXOG.js +654 -0
- package/dist/esm/chunks/chunk.J6LOWXOG.js.map +7 -0
- package/dist/esm/chunks/chunk.JICZQ2BO.js +168 -0
- package/dist/esm/chunks/chunk.JICZQ2BO.js.map +7 -0
- package/dist/esm/chunks/chunk.JKC5PU23.js +42 -0
- package/dist/esm/chunks/chunk.JKC5PU23.js.map +7 -0
- package/dist/esm/chunks/chunk.JQQOZMKQ.js +2994 -0
- package/dist/esm/chunks/chunk.JQQOZMKQ.js.map +7 -0
- package/dist/esm/chunks/chunk.JVQP6BJ3.js +1591 -0
- package/dist/esm/chunks/chunk.JVQP6BJ3.js.map +7 -0
- package/dist/esm/chunks/chunk.K2PCTUVN.js +139 -0
- package/dist/esm/chunks/chunk.K2PCTUVN.js.map +7 -0
- package/dist/esm/chunks/chunk.KCK3G74Y.js +634 -0
- package/dist/esm/chunks/chunk.KCK3G74Y.js.map +7 -0
- package/dist/esm/chunks/chunk.KI3IHPS2.js +801 -0
- package/dist/esm/chunks/chunk.KI3IHPS2.js.map +7 -0
- package/dist/esm/chunks/chunk.KRW2IAIU.js +445 -0
- package/dist/esm/chunks/chunk.KRW2IAIU.js.map +7 -0
- package/dist/esm/chunks/chunk.KZ2QNQK2.js +21 -0
- package/dist/esm/chunks/chunk.KZ2QNQK2.js.map +7 -0
- package/dist/esm/chunks/chunk.KZATVOA6.js +68 -0
- package/dist/esm/chunks/chunk.KZATVOA6.js.map +7 -0
- package/dist/esm/chunks/chunk.LCWRP2UI.js +59 -0
- package/dist/esm/chunks/chunk.LCWRP2UI.js.map +7 -0
- package/dist/esm/chunks/chunk.LM5TVNZY.js +71 -0
- package/dist/esm/chunks/chunk.LM5TVNZY.js.map +7 -0
- package/dist/esm/chunks/chunk.MAGJQ2PP.js +964 -0
- package/dist/esm/chunks/chunk.MAGJQ2PP.js.map +7 -0
- package/dist/esm/chunks/chunk.MEFT5FQC.js +158 -0
- package/dist/esm/chunks/chunk.MEFT5FQC.js.map +7 -0
- package/dist/esm/chunks/chunk.MHEJZJT3.js +6 -0
- package/dist/esm/chunks/chunk.MHEJZJT3.js.map +7 -0
- package/dist/esm/chunks/chunk.MMIZOYAS.js +147 -0
- package/dist/esm/chunks/chunk.MMIZOYAS.js.map +7 -0
- package/dist/esm/chunks/chunk.MNFGVNDI.js +6 -0
- package/dist/esm/chunks/chunk.MNFGVNDI.js.map +7 -0
- package/dist/esm/chunks/chunk.NQOD2XB3.js +840 -0
- package/dist/esm/chunks/chunk.NQOD2XB3.js.map +7 -0
- package/dist/esm/chunks/chunk.NRI7SWVX.js +1347 -0
- package/dist/esm/chunks/chunk.NRI7SWVX.js.map +7 -0
- package/dist/esm/chunks/chunk.NX5SKZLU.js +50 -0
- package/dist/esm/chunks/chunk.NX5SKZLU.js.map +7 -0
- package/dist/esm/chunks/chunk.O6UHX6FK.js +463 -0
- package/dist/esm/chunks/chunk.O6UHX6FK.js.map +7 -0
- package/dist/esm/chunks/chunk.OJI6ZRYW.js +561 -0
- package/dist/esm/chunks/chunk.OJI6ZRYW.js.map +7 -0
- package/dist/esm/chunks/chunk.OQRMHHPB.js +1335 -0
- package/dist/esm/chunks/chunk.OQRMHHPB.js.map +7 -0
- package/dist/esm/chunks/chunk.OYO6NUZY.js +52 -0
- package/dist/esm/chunks/chunk.OYO6NUZY.js.map +7 -0
- package/dist/esm/chunks/chunk.P43Z3YAS.js +507 -0
- package/dist/esm/chunks/chunk.P43Z3YAS.js.map +7 -0
- package/dist/esm/chunks/chunk.P7NOYP4O.js +73 -0
- package/dist/esm/chunks/chunk.P7NOYP4O.js.map +7 -0
- package/dist/esm/chunks/chunk.PBGL3BRX.js +27 -0
- package/dist/esm/chunks/chunk.PBGL3BRX.js.map +7 -0
- package/dist/esm/chunks/chunk.PCYIY5OY.js +461 -0
- package/dist/esm/chunks/chunk.PCYIY5OY.js.map +7 -0
- package/dist/esm/chunks/chunk.Q4YMHFRY.js +155 -0
- package/dist/esm/chunks/chunk.Q4YMHFRY.js.map +7 -0
- package/dist/esm/chunks/chunk.QD7EPCL6.js +144 -0
- package/dist/esm/chunks/chunk.QD7EPCL6.js.map +7 -0
- package/dist/esm/chunks/chunk.QQDDGRY6.js +6 -0
- package/dist/esm/chunks/chunk.QQDDGRY6.js.map +7 -0
- package/dist/esm/chunks/chunk.RNPIV3BY.js +540 -0
- package/dist/esm/chunks/chunk.RNPIV3BY.js.map +7 -0
- package/dist/esm/chunks/chunk.RR7HDQU6.js +236 -0
- package/dist/esm/chunks/chunk.RR7HDQU6.js.map +7 -0
- package/dist/esm/chunks/chunk.RV3E762Y.js +73 -0
- package/dist/esm/chunks/chunk.RV3E762Y.js.map +7 -0
- package/dist/esm/chunks/chunk.RWCC6E4O.js +52 -0
- package/dist/esm/chunks/chunk.RWCC6E4O.js.map +7 -0
- package/dist/esm/chunks/chunk.SJZ54RE3.js +56 -0
- package/dist/esm/chunks/chunk.SJZ54RE3.js.map +7 -0
- package/dist/esm/chunks/chunk.SKISCNSC.js +559 -0
- package/dist/esm/chunks/chunk.SKISCNSC.js.map +7 -0
- package/dist/esm/chunks/chunk.SKLCDWYQ.js +6 -0
- package/dist/esm/chunks/chunk.SKLCDWYQ.js.map +7 -0
- package/dist/esm/chunks/chunk.SNAZ6JSS.js +22 -0
- package/dist/esm/chunks/chunk.SNAZ6JSS.js.map +7 -0
- package/dist/esm/chunks/chunk.ST3R6JEE.js +73 -0
- package/dist/esm/chunks/chunk.ST3R6JEE.js.map +7 -0
- package/dist/esm/chunks/chunk.TLCGGWBO.js +6 -0
- package/dist/esm/chunks/chunk.TLCGGWBO.js.map +7 -0
- package/dist/esm/chunks/chunk.U35QQZVK.js +422 -0
- package/dist/esm/chunks/chunk.U35QQZVK.js.map +7 -0
- package/dist/esm/chunks/chunk.U6FJJGO3.js +6 -0
- package/dist/esm/chunks/chunk.U6FJJGO3.js.map +7 -0
- package/dist/esm/chunks/chunk.VAPJ75PS.js +21 -0
- package/dist/esm/chunks/chunk.VAPJ75PS.js.map +7 -0
- package/dist/esm/chunks/chunk.VHO7NUMI.js +37 -0
- package/dist/esm/chunks/chunk.VHO7NUMI.js.map +7 -0
- package/dist/esm/chunks/chunk.VK6LIH3B.js +13 -0
- package/dist/esm/chunks/chunk.VK6LIH3B.js.map +7 -0
- package/dist/esm/chunks/chunk.VTXXZ5KT.js +450 -0
- package/dist/esm/chunks/chunk.VTXXZ5KT.js.map +7 -0
- package/dist/esm/chunks/chunk.WAJDLUSQ.js +56 -0
- package/dist/esm/chunks/chunk.WAJDLUSQ.js.map +7 -0
- package/dist/esm/chunks/chunk.WF2MFLG4.js +6 -0
- package/dist/esm/chunks/chunk.WF2MFLG4.js.map +7 -0
- package/dist/esm/chunks/chunk.WINL2C7Q.js +6 -0
- package/dist/esm/chunks/chunk.WINL2C7Q.js.map +7 -0
- package/dist/esm/chunks/chunk.WIYLQTSX.js +3550 -0
- package/dist/esm/chunks/chunk.WIYLQTSX.js.map +7 -0
- package/dist/esm/chunks/chunk.WT4W2IFT.js +92 -0
- package/dist/esm/chunks/chunk.WT4W2IFT.js.map +7 -0
- package/dist/esm/chunks/chunk.WXFCZJJI.js +52 -0
- package/dist/esm/chunks/chunk.WXFCZJJI.js.map +7 -0
- package/dist/esm/chunks/chunk.XEF6G5NS.js +248 -0
- package/dist/esm/chunks/chunk.XEF6G5NS.js.map +7 -0
- package/dist/esm/chunks/chunk.XGMOOPIE.js +136 -0
- package/dist/esm/chunks/chunk.XGMOOPIE.js.map +7 -0
- package/dist/esm/chunks/chunk.XIDZXGD4.js +912 -0
- package/dist/esm/chunks/chunk.XIDZXGD4.js.map +7 -0
- package/dist/esm/chunks/chunk.XJVLHRVJ.js +59 -0
- package/dist/esm/chunks/chunk.XJVLHRVJ.js.map +7 -0
- package/dist/esm/chunks/chunk.XO3XVXWW.js +72 -0
- package/dist/esm/chunks/chunk.XO3XVXWW.js.map +7 -0
- package/dist/esm/chunks/chunk.XY3ZHN7Y.js +649 -0
- package/dist/esm/chunks/chunk.XY3ZHN7Y.js.map +7 -0
- package/dist/esm/chunks/chunk.Y2TDQIA4.js +307 -0
- package/dist/esm/chunks/chunk.Y2TDQIA4.js.map +7 -0
- package/dist/esm/chunks/chunk.YCW56AVX.js +176 -0
- package/dist/esm/chunks/chunk.YCW56AVX.js.map +7 -0
- package/dist/esm/chunks/chunk.YDPSV74L.js +742 -0
- package/dist/esm/chunks/chunk.YDPSV74L.js.map +7 -0
- package/dist/esm/chunks/chunk.YJ5X3WZ4.js +110 -0
- package/dist/esm/chunks/chunk.YJ5X3WZ4.js.map +7 -0
- package/dist/esm/chunks/chunk.ZABF5CI6.js +760 -0
- package/dist/esm/chunks/chunk.ZABF5CI6.js.map +7 -0
- package/dist/esm/chunks/chunk.ZG4NZM2P.js +173 -0
- package/dist/esm/chunks/chunk.ZG4NZM2P.js.map +7 -0
- package/dist/esm/chunks/chunk.ZUM5YLB2.js +291 -0
- package/dist/esm/chunks/chunk.ZUM5YLB2.js.map +7 -0
- package/dist/esm/circular-progress/index.js +28 -0
- package/dist/esm/circular-progress/index.js.map +7 -0
- package/dist/esm/color-picker/index.js +49 -0
- package/dist/esm/color-picker/index.js.map +7 -0
- package/dist/esm/core/base/index.js +21 -0
- package/dist/esm/core/base/index.js.map +7 -0
- package/dist/esm/core/delegates/index.js +20 -0
- package/dist/esm/core/delegates/index.js.map +7 -0
- package/dist/esm/core/index.js +83 -0
- package/dist/esm/core/index.js.map +7 -0
- package/dist/esm/core/mask/index.js +26 -0
- package/dist/esm/core/mask/index.js.map +7 -0
- package/dist/esm/core/utils/index.js +46 -0
- package/dist/esm/core/utils/index.js.map +7 -0
- package/dist/esm/date-picker/index.js +62 -0
- package/dist/esm/date-picker/index.js.map +7 -0
- package/dist/esm/date-range-picker/index.js +64 -0
- package/dist/esm/date-range-picker/index.js.map +7 -0
- package/dist/esm/dialog/index.js +44 -0
- package/dist/esm/dialog/index.js.map +7 -0
- package/dist/esm/divider/index.js +22 -0
- package/dist/esm/divider/index.js.map +7 -0
- package/dist/esm/drawer/base/index.js +25 -0
- package/dist/esm/drawer/base/index.js.map +7 -0
- package/dist/esm/drawer/drawer/index.js +25 -0
- package/dist/esm/drawer/drawer/index.js.map +7 -0
- package/dist/esm/drawer/index.js +56 -0
- package/dist/esm/drawer/index.js.map +7 -0
- package/dist/esm/drawer/mini-drawer/index.js +25 -0
- package/dist/esm/drawer/mini-drawer/index.js.map +7 -0
- package/dist/esm/drawer/modal-drawer/index.js +30 -0
- package/dist/esm/drawer/modal-drawer/index.js.map +7 -0
- package/dist/esm/expansion-panel/index.js +38 -0
- package/dist/esm/expansion-panel/index.js.map +7 -0
- package/dist/esm/file-picker/index.js +41 -0
- package/dist/esm/file-picker/index.js.map +7 -0
- package/dist/esm/floating-action-button/index.js +29 -0
- package/dist/esm/floating-action-button/index.js.map +7 -0
- package/dist/esm/floating-label/index.js +23 -0
- package/dist/esm/floating-label/index.js.map +7 -0
- package/dist/esm/icon/index.js +53 -0
- package/dist/esm/icon/index.js.map +7 -0
- package/dist/esm/icon-button/index.js +37 -0
- package/dist/esm/icon-button/index.js.map +7 -0
- package/dist/esm/index.js +1275 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/inline-message/index.js +22 -0
- package/dist/esm/inline-message/index.js.map +7 -0
- package/dist/esm/keyboard-shortcut/index.js +41 -0
- package/dist/esm/keyboard-shortcut/index.js.map +7 -0
- package/dist/esm/label-value/index.js +32 -0
- package/dist/esm/label-value/index.js.map +7 -0
- package/dist/esm/linear-progress/index.js +24 -0
- package/dist/esm/linear-progress/index.js.map +7 -0
- package/dist/esm/list/index.js +44 -0
- package/dist/esm/list/index.js.map +7 -0
- package/dist/esm/list/list/index.js +33 -0
- package/dist/esm/list/list/index.js.map +7 -0
- package/dist/esm/list/list-item/index.js +31 -0
- package/dist/esm/list/list-item/index.js.map +7 -0
- package/dist/esm/list-dropdown/index.js +55 -0
- package/dist/esm/list-dropdown/index.js.map +7 -0
- package/dist/esm/menu/index.js +53 -0
- package/dist/esm/menu/index.js.map +7 -0
- package/dist/esm/open-icon/index.js +37 -0
- package/dist/esm/open-icon/index.js.map +7 -0
- package/dist/esm/page-state/index.js +22 -0
- package/dist/esm/page-state/index.js.map +7 -0
- package/dist/esm/paginator/index.js +66 -0
- package/dist/esm/paginator/index.js.map +7 -0
- package/dist/esm/popup/index.js +31 -0
- package/dist/esm/popup/index.js.map +7 -0
- package/dist/esm/product-icon/index.js +29 -0
- package/dist/esm/product-icon/index.js.map +7 -0
- package/dist/esm/profile-card/index.js +37 -0
- package/dist/esm/profile-card/index.js.map +7 -0
- package/dist/esm/quantity-field/index.js +46 -0
- package/dist/esm/quantity-field/index.js.map +7 -0
- package/dist/esm/radio/index.js +26 -0
- package/dist/esm/radio/index.js.map +7 -0
- package/dist/esm/ripple/index.js +32 -0
- package/dist/esm/ripple/index.js.map +7 -0
- package/dist/esm/scaffold/index.js +22 -0
- package/dist/esm/scaffold/index.js.map +7 -0
- package/dist/esm/select/core/index.js +60 -0
- package/dist/esm/select/core/index.js.map +7 -0
- package/dist/esm/select/index.js +114 -0
- package/dist/esm/select/index.js.map +7 -0
- package/dist/esm/select/option/index.js +28 -0
- package/dist/esm/select/option/index.js.map +7 -0
- package/dist/esm/select/option-group/index.js +22 -0
- package/dist/esm/select/option-group/index.js.map +7 -0
- package/dist/esm/select/select/index.js +63 -0
- package/dist/esm/select/select/index.js.map +7 -0
- package/dist/esm/select/select-dropdown/index.js +59 -0
- package/dist/esm/select/select-dropdown/index.js.map +7 -0
- package/dist/esm/skeleton/index.js +22 -0
- package/dist/esm/skeleton/index.js.map +7 -0
- package/dist/esm/slider/index.js +35 -0
- package/dist/esm/slider/index.js.map +7 -0
- package/dist/esm/stepper/index.js +55 -0
- package/dist/esm/stepper/index.js.map +7 -0
- package/dist/esm/stepper/step/index.js +40 -0
- package/dist/esm/stepper/step/index.js.map +7 -0
- package/dist/esm/stepper/stepper/index.js +43 -0
- package/dist/esm/stepper/stepper/index.js.map +7 -0
- package/dist/esm/switch/index.js +34 -0
- package/dist/esm/switch/index.js.map +7 -0
- package/dist/esm/table/index.js +57 -0
- package/dist/esm/table/index.js.map +7 -0
- package/dist/esm/tabs/index.js +61 -0
- package/dist/esm/tabs/index.js.map +7 -0
- package/dist/esm/tabs/tab/index.js +33 -0
- package/dist/esm/tabs/tab/index.js.map +7 -0
- package/dist/esm/tabs/tab-bar/index.js +47 -0
- package/dist/esm/tabs/tab-bar/index.js.map +7 -0
- package/dist/esm/text-field/index.js +39 -0
- package/dist/esm/text-field/index.js.map +7 -0
- package/dist/esm/theme/index.js +17 -0
- package/dist/esm/theme/index.js.map +7 -0
- package/dist/esm/time-picker/index.js +92 -0
- package/dist/esm/time-picker/index.js.map +7 -0
- package/dist/esm/toast/index.js +42 -0
- package/dist/esm/toast/index.js.map +7 -0
- package/dist/esm/toolbar/index.js +22 -0
- package/dist/esm/toolbar/index.js.map +7 -0
- package/dist/esm/tooltip/index.js +34 -0
- package/dist/esm/tooltip/index.js.map +7 -0
- package/dist/esm/utils/index.js +17 -0
- package/dist/esm/utils/index.js.map +7 -0
- package/dist/esm/view-switcher/index.js +40 -0
- package/dist/esm/view-switcher/index.js.map +7 -0
- package/dist/esm/view-switcher/view/index.js +22 -0
- package/dist/esm/view-switcher/view/index.js.map +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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;\n rgba: IRGBA | null;\n hsva: IHSVA | null;\n opacity: number | null;\n allowOpacity: boolean;\n debounceChangeEvent: boolean;\n}\n\nexport class ColorPickerFoundation implements IColorPickerFoundation {\n private _value: string | null = 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 {\n return this._getFormattedHex();\n }\n public set value(value: string | null) {\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 {\n return !!this._rgba ? { ...this._rgba } : null;\n }\n public set rgba(value: IRGBA | null) {\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 {\n return !!this._hsva ? { ...this._hsva } : null;\n }\n public set hsva(value: IHSVA | null) {\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 {\n return this._hsva ? this._hsva.a : null;\n }\n public set opacity(value: number | null) {\n if (this._hsva.a !== value) {\n if (value !== null && value !== undefined && 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;\n rgba: IRGBA | null;\n hsva: IHSVA | null;\n opacity: number | null;\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@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;\n\n /** Gets/sets the value using rgba format. */\n @FoundationProperty()\n public rgba: IRGBA | null;\n\n /** Gets/sets the value using hsva format. */\n @FoundationProperty()\n public hsva: IHSVA | null;\n\n /** Gets/sets the opacity value, if `allowOpacity` is true. */\n @FoundationProperty()\n public opacity: number | null;\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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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|