@tylertech/forge 3.0.0-next.10 → 3.0.0-next.11

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.
Files changed (425) hide show
  1. package/custom-elements.json +174 -11
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/avatar/index.js +1 -1
  11. package/dist/esm/backdrop/index.js +1 -1
  12. package/dist/esm/badge/index.js +1 -1
  13. package/dist/esm/banner/index.js +1 -1
  14. package/dist/esm/bottom-sheet/index.js +1 -1
  15. package/dist/esm/busy-indicator/index.js +1 -1
  16. package/dist/esm/button/index.js +1 -1
  17. package/dist/esm/button-toggle/button-toggle/index.js +1 -1
  18. package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
  19. package/dist/esm/button-toggle/index.js +1 -1
  20. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  21. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  22. package/dist/esm/calendar/index.js +1 -1
  23. package/dist/esm/card/index.js +1 -1
  24. package/dist/esm/checkbox/index.js +1 -1
  25. package/dist/esm/chip-field/index.js +1 -1
  26. package/dist/esm/chips/chip/index.js +1 -1
  27. package/dist/esm/chips/chip-set/index.js +1 -1
  28. package/dist/esm/chips/index.js +1 -1
  29. package/dist/esm/chunks/{chunk.ECRL6O3V.js → chunk.2AJ7FFI6.js} +2 -2
  30. package/dist/esm/chunks/{chunk.4WB3FGEL.js → chunk.2EWV2XBP.js} +2 -2
  31. package/dist/esm/chunks/{chunk.WH6C36MO.js → chunk.2QHD3DCR.js} +2 -2
  32. package/dist/esm/chunks/chunk.3HB22HCX.js +7 -0
  33. package/dist/esm/chunks/chunk.4C6KHYUO.js +7 -0
  34. package/dist/esm/chunks/{chunk.WBYXVMYI.js → chunk.4YFVG4KP.js} +2 -2
  35. package/dist/esm/chunks/{chunk.XATLSSAW.js → chunk.4ZKX3SO5.js} +2 -2
  36. package/dist/esm/chunks/{chunk.SZIM4KFZ.js → chunk.54OOOQ4R.js} +2 -2
  37. package/dist/esm/chunks/chunk.5565ZSTH.js +7 -0
  38. package/dist/esm/chunks/chunk.5565ZSTH.js.map +7 -0
  39. package/dist/esm/chunks/{chunk.ZDAXNM2P.js → chunk.5MZ5SGMO.js} +2 -2
  40. package/dist/esm/chunks/{chunk.YQXX5KSW.js → chunk.624UKZFU.js} +2 -2
  41. package/dist/esm/chunks/{chunk.BIFQ4VOJ.js → chunk.6GC5AJPE.js} +2 -2
  42. package/dist/esm/chunks/{chunk.OTD2SFQJ.js → chunk.6OUJSOJY.js} +2 -2
  43. package/dist/esm/chunks/{chunk.57IVD67K.js → chunk.6OW6Q3EW.js} +2 -2
  44. package/dist/esm/chunks/chunk.7CGKFRBK.js +7 -0
  45. package/dist/esm/chunks/chunk.7CGKFRBK.js.map +7 -0
  46. package/dist/esm/chunks/chunk.7DB3XVPI.js +7 -0
  47. package/dist/esm/chunks/chunk.7DB3XVPI.js.map +7 -0
  48. package/dist/esm/chunks/{chunk.46VQ2S2Z.js → chunk.7TMLILLW.js} +2 -2
  49. package/dist/esm/chunks/{chunk.46VQ2S2Z.js.map → chunk.7TMLILLW.js.map} +1 -1
  50. package/dist/esm/chunks/{chunk.IDD54B5P.js → chunk.A62DE5PD.js} +2 -2
  51. package/dist/esm/chunks/chunk.AEKOP3XT.js +7 -0
  52. package/dist/esm/chunks/chunk.AEKOP3XT.js.map +7 -0
  53. package/dist/esm/chunks/{chunk.4WVHON6T.js → chunk.ALIYGJXA.js} +2 -2
  54. package/dist/esm/chunks/{chunk.JTIPXKV6.js → chunk.B4T3R53C.js} +2 -2
  55. package/dist/esm/chunks/chunk.BH2TUG2V.js +7 -0
  56. package/dist/esm/chunks/chunk.BH2TUG2V.js.map +7 -0
  57. package/dist/esm/chunks/{chunk.5V5ABSHI.js → chunk.BKL2BAYW.js} +2 -2
  58. package/dist/esm/chunks/chunk.BY25RT52.js +7 -0
  59. package/dist/esm/chunks/{chunk.SN5LPTHH.js.map → chunk.BY25RT52.js.map} +3 -3
  60. package/dist/esm/chunks/{chunk.SEP3L4QL.js → chunk.CDGZYUQS.js} +2 -2
  61. package/dist/esm/chunks/{chunk.Z4J4D5FD.js → chunk.CKW7KKDW.js} +2 -2
  62. package/dist/esm/chunks/{chunk.QL45FKVJ.js → chunk.COVTBIQQ.js} +2 -2
  63. package/dist/esm/chunks/{chunk.WO7KEM5K.js → chunk.CWTV3TB3.js} +2 -2
  64. package/dist/esm/chunks/{chunk.7WVTJIVR.js → chunk.CXY6K7EI.js} +2 -2
  65. package/dist/esm/chunks/{chunk.VNOJO2PF.js → chunk.D5TAI6Q7.js} +2 -2
  66. package/dist/esm/chunks/chunk.DBNJHUYY.js +7 -0
  67. package/dist/esm/chunks/chunk.DBNJHUYY.js.map +7 -0
  68. package/dist/esm/chunks/{chunk.QZK3WEH6.js → chunk.DG4ZM3AW.js} +2 -2
  69. package/dist/esm/chunks/{chunk.DTZFWZPB.js → chunk.DXN7ZOH3.js} +2 -2
  70. package/dist/esm/chunks/{chunk.7ZQMJLHE.js → chunk.EK24Y56W.js} +2 -2
  71. package/dist/esm/chunks/chunk.F4VXEE76.js +7 -0
  72. package/dist/esm/chunks/chunk.F4VXEE76.js.map +7 -0
  73. package/dist/esm/chunks/{chunk.44UCSD46.js → chunk.F5SY2D4B.js} +2 -2
  74. package/dist/esm/chunks/{chunk.44UCSD46.js.map → chunk.F5SY2D4B.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.2O6IZ7XZ.js → chunk.F74YURLV.js} +2 -2
  76. package/dist/esm/chunks/chunk.FCATJM34.js +7 -0
  77. package/dist/esm/chunks/chunk.FCATJM34.js.map +7 -0
  78. package/dist/esm/chunks/chunk.FG2GNAM2.js +7 -0
  79. package/dist/esm/chunks/chunk.FG2GNAM2.js.map +7 -0
  80. package/dist/esm/chunks/{chunk.U4GYQOPY.js → chunk.FWFOOQMA.js} +2 -2
  81. package/dist/esm/chunks/{chunk.D2Y2CRRY.js → chunk.GNG64TXK.js} +2 -2
  82. package/dist/esm/chunks/{chunk.SAXRW6GB.js → chunk.HHCO64F3.js} +2 -2
  83. package/dist/esm/chunks/{chunk.SAXRW6GB.js.map → chunk.HHCO64F3.js.map} +2 -2
  84. package/dist/esm/chunks/{chunk.OAHA3QOH.js → chunk.IX25DYIM.js} +2 -2
  85. package/dist/esm/chunks/chunk.JIKSKUDW.js +7 -0
  86. package/dist/esm/chunks/chunk.JIKSKUDW.js.map +7 -0
  87. package/dist/esm/chunks/{chunk.RGPNNISQ.js → chunk.JLLHDJSO.js} +2 -2
  88. package/dist/esm/chunks/{chunk.ZAJB7G4V.js → chunk.JUJGROHA.js} +2 -2
  89. package/dist/esm/chunks/{chunk.PHBOQRF6.js → chunk.K3KAM2PL.js} +2 -2
  90. package/dist/esm/chunks/{chunk.CFDK4RCW.js → chunk.K7FPXAFS.js} +2 -2
  91. package/dist/esm/chunks/{chunk.CFDK4RCW.js.map → chunk.K7FPXAFS.js.map} +3 -3
  92. package/dist/esm/chunks/chunk.KJP2VA6Q.js +7 -0
  93. package/dist/esm/chunks/chunk.KJP2VA6Q.js.map +7 -0
  94. package/dist/esm/chunks/{chunk.G4IN6Y46.js → chunk.KVCDAZ6B.js} +2 -2
  95. package/dist/esm/chunks/{chunk.2QSDH3PC.js → chunk.LFODKHUO.js} +2 -2
  96. package/dist/esm/chunks/{chunk.N7PQ2MUQ.js → chunk.LK4AAUOP.js} +2 -2
  97. package/dist/esm/chunks/{chunk.5CMQ7DNL.js → chunk.LTT67HTW.js} +2 -2
  98. package/dist/esm/chunks/{chunk.NF4J3Q5X.js → chunk.LXPFG7MW.js} +2 -2
  99. package/dist/esm/chunks/{chunk.5M6Y2RU6.js → chunk.M56LSSPW.js} +2 -2
  100. package/dist/esm/chunks/chunk.MACPUZC2.js +7 -0
  101. package/dist/esm/chunks/chunk.MACPUZC2.js.map +7 -0
  102. package/dist/esm/chunks/{chunk.XOM2FYQ2.js → chunk.MGLL67VO.js} +2 -2
  103. package/dist/esm/chunks/{chunk.6MPXRRMB.js → chunk.MHBBMC6O.js} +2 -2
  104. package/dist/esm/chunks/{chunk.TL6WVBGT.js → chunk.MTKSU2BV.js} +2 -2
  105. package/dist/esm/chunks/{chunk.NK7H3MMM.js → chunk.MVTBJPO2.js} +2 -2
  106. package/dist/esm/chunks/{chunk.KSCUIS5C.js → chunk.MXEKIEJA.js} +2 -2
  107. package/dist/esm/chunks/{chunk.BBKRPL6R.js → chunk.N43BCJHN.js} +2 -2
  108. package/dist/esm/chunks/{chunk.2ZTERGYF.js → chunk.NR3MLTXF.js} +2 -2
  109. package/dist/esm/chunks/{chunk.PHTOULRR.js → chunk.OWCYRSI3.js} +2 -2
  110. package/dist/esm/chunks/chunk.P2CW5MQO.js +12 -0
  111. package/dist/esm/chunks/{chunk.7TGGJGTG.js → chunk.P2ZCNO63.js} +2 -2
  112. package/dist/esm/chunks/{chunk.RFLASSCI.js → chunk.PADPL4L3.js} +2 -2
  113. package/dist/esm/chunks/chunk.PEBT47AU.js +7 -0
  114. package/dist/esm/chunks/{chunk.BNFJRFLW.js.map → chunk.PEBT47AU.js.map} +2 -2
  115. package/dist/esm/chunks/{chunk.H5D54EHO.js → chunk.PH3HUFJJ.js} +2 -2
  116. package/dist/esm/chunks/chunk.Q7JUJNYD.js +7 -0
  117. package/dist/esm/chunks/{chunk.E6KWYFZG.js → chunk.Q7Z3SJ5F.js} +2 -2
  118. package/dist/esm/chunks/{chunk.SQVBT7HU.js → chunk.QCRRHGBA.js} +2 -2
  119. package/dist/esm/chunks/{chunk.7DHFTAWI.js → chunk.QOJESHEV.js} +2 -2
  120. package/dist/esm/chunks/{chunk.X3YNJSDT.js → chunk.S3JMOOWC.js} +2 -2
  121. package/dist/esm/chunks/{chunk.MJSLXZBM.js → chunk.SBYX7VZ4.js} +2 -2
  122. package/dist/esm/chunks/{chunk.XRESQBNE.js → chunk.SFCGOCQK.js} +2 -2
  123. package/dist/esm/chunks/chunk.SJJS4LYN.js +7 -0
  124. package/dist/esm/chunks/chunk.SJJS4LYN.js.map +7 -0
  125. package/dist/esm/chunks/{chunk.UCM6CGFM.js → chunk.SMGXXR6K.js} +2 -2
  126. package/dist/esm/chunks/{chunk.6VDF54LZ.js → chunk.SU4FU7GK.js} +2 -2
  127. package/dist/esm/chunks/{chunk.5IQGVS6U.js → chunk.TK5I4RHF.js} +2 -2
  128. package/dist/esm/chunks/{chunk.MGWY7YIL.js → chunk.TYLOAD7R.js} +2 -2
  129. package/dist/esm/chunks/{chunk.UKFJHDO7.js → chunk.UJ2WQOLO.js} +2 -2
  130. package/dist/esm/chunks/{chunk.2TQONIPK.js → chunk.ULY4H76N.js} +2 -2
  131. package/dist/esm/chunks/{chunk.J3UFSHDY.js → chunk.VSQOTSAO.js} +2 -2
  132. package/dist/esm/chunks/chunk.VVXSELXX.js +7 -0
  133. package/dist/esm/chunks/{chunk.CRWP7H46.js.map → chunk.VVXSELXX.js.map} +2 -2
  134. package/dist/esm/chunks/{chunk.QI3GKORL.js → chunk.VZWNNK7A.js} +2 -2
  135. package/dist/esm/chunks/{chunk.T5X6UNH7.js → chunk.W4247Q2P.js} +2 -2
  136. package/dist/esm/chunks/chunk.WPG7NNQX.js +7 -0
  137. package/dist/esm/chunks/chunk.WPG7NNQX.js.map +7 -0
  138. package/dist/esm/chunks/{chunk.IWA3CYIB.js → chunk.X3C3J5MH.js} +2 -2
  139. package/dist/esm/chunks/{chunk.WYP2M5FR.js → chunk.XGOAYMK2.js} +2 -2
  140. package/dist/esm/chunks/chunk.XI3MJSIS.js +7 -0
  141. package/dist/esm/chunks/chunk.XI3MJSIS.js.map +7 -0
  142. package/dist/esm/chunks/{chunk.MF36FG2X.js → chunk.XKI46BH2.js} +2 -2
  143. package/dist/esm/chunks/{chunk.Y5UJ23LB.js → chunk.YLG6ZC5K.js} +2 -2
  144. package/dist/esm/chunks/chunk.YRMR7IOS.js +7 -0
  145. package/dist/esm/chunks/{chunk.LYYWQGS6.js.map → chunk.YRMR7IOS.js.map} +2 -2
  146. package/dist/esm/chunks/{chunk.TT2VTZJ6.js → chunk.YWNCJ7XP.js} +2 -2
  147. package/dist/esm/chunks/{chunk.TT2VTZJ6.js.map → chunk.YWNCJ7XP.js.map} +2 -2
  148. package/dist/esm/chunks/{chunk.EDEYCLDU.js → chunk.YX7WLO5Y.js} +2 -2
  149. package/dist/esm/chunks/{chunk.AHHNJSZK.js → chunk.Z6FCL3G3.js} +2 -2
  150. package/dist/esm/chunks/chunk.ZDD2NLGP.js +7 -0
  151. package/dist/esm/chunks/{chunk.P5QIB6OY.js → chunk.ZJC2DSNM.js} +2 -2
  152. package/dist/esm/chunks/{chunk.L3M6DPQB.js → chunk.ZKGSQQGU.js} +3 -3
  153. package/dist/esm/chunks/chunk.ZKGSQQGU.js.map +7 -0
  154. package/dist/esm/chunks/{chunk.E7Z3IRWV.js → chunk.ZVBZ3LGP.js} +2 -2
  155. package/dist/esm/circular-progress/index.js +1 -1
  156. package/dist/esm/color-picker/index.js +1 -1
  157. package/dist/esm/core/base/index.js +1 -1
  158. package/dist/esm/core/delegates/index.js +1 -1
  159. package/dist/esm/core/index.js +1 -1
  160. package/dist/esm/date-picker/index.js +1 -1
  161. package/dist/esm/date-range-picker/index.js +1 -1
  162. package/dist/esm/dialog/index.js +1 -1
  163. package/dist/esm/divider/index.js +1 -1
  164. package/dist/esm/drawer/base/index.js +1 -1
  165. package/dist/esm/drawer/drawer/index.js +1 -1
  166. package/dist/esm/drawer/index.js +1 -1
  167. package/dist/esm/drawer/mini-drawer/index.js +1 -1
  168. package/dist/esm/drawer/modal-drawer/index.js +1 -1
  169. package/dist/esm/expansion-panel/index.js +1 -1
  170. package/dist/esm/file-picker/index.js +1 -1
  171. package/dist/esm/floating-action-button/index.js +1 -1
  172. package/dist/esm/floating-label/index.js +1 -1
  173. package/dist/esm/focus-indicator/index.js +1 -1
  174. package/dist/esm/icon/index.js +1 -1
  175. package/dist/esm/icon-button/index.js +1 -1
  176. package/dist/esm/index.js +1 -1
  177. package/dist/esm/inline-message/index.js +1 -1
  178. package/dist/esm/keyboard-shortcut/index.js +1 -1
  179. package/dist/esm/label-value/index.js +1 -1
  180. package/dist/esm/linear-progress/index.js +1 -1
  181. package/dist/esm/list/index.js +1 -1
  182. package/dist/esm/list/list/index.js +1 -1
  183. package/dist/esm/list/list-item/index.js +1 -1
  184. package/dist/esm/list-dropdown/index.js +1 -1
  185. package/dist/esm/menu/index.js +1 -1
  186. package/dist/esm/open-icon/index.js +1 -1
  187. package/dist/esm/page-state/index.js +1 -1
  188. package/dist/esm/paginator/index.js +1 -1
  189. package/dist/esm/popup/index.js +1 -1
  190. package/dist/esm/product-icon/index.js +1 -1
  191. package/dist/esm/profile-card/index.js +1 -1
  192. package/dist/esm/quantity-field/index.js +1 -1
  193. package/dist/esm/radio/index.js +1 -1
  194. package/dist/esm/ripple/index.js +1 -1
  195. package/dist/esm/scaffold/index.js +1 -1
  196. package/dist/esm/select/core/index.js +1 -1
  197. package/dist/esm/select/index.js +1 -1
  198. package/dist/esm/select/option/index.js +1 -1
  199. package/dist/esm/select/option-group/index.js +1 -1
  200. package/dist/esm/select/select/index.js +1 -1
  201. package/dist/esm/select/select-dropdown/index.js +1 -1
  202. package/dist/esm/skeleton/index.js +1 -1
  203. package/dist/esm/slider/index.js +1 -1
  204. package/dist/esm/split-view/index.js +1 -1
  205. package/dist/esm/split-view/split-view/index.js +1 -1
  206. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  207. package/dist/esm/stack/index.js +1 -1
  208. package/dist/esm/state-layer/index.js +1 -1
  209. package/dist/esm/stepper/index.js +1 -1
  210. package/dist/esm/stepper/step/index.js +1 -1
  211. package/dist/esm/stepper/stepper/index.js +1 -1
  212. package/dist/esm/switch/index.js +1 -1
  213. package/dist/esm/table/index.js +1 -1
  214. package/dist/esm/tabs/index.js +1 -1
  215. package/dist/esm/tabs/tab/index.js +1 -1
  216. package/dist/esm/tabs/tab-bar/index.js +1 -1
  217. package/dist/esm/text-field/index.js +1 -1
  218. package/dist/esm/time-picker/index.js +1 -1
  219. package/dist/esm/toast/index.js +1 -1
  220. package/dist/esm/toolbar/index.js +1 -1
  221. package/dist/esm/tooltip/index.js +1 -1
  222. package/dist/esm/view-switcher/index.js +1 -1
  223. package/dist/esm/view-switcher/view/index.js +1 -1
  224. package/dist/forge.css +1 -1
  225. package/dist/table/forge-table.css +1 -1
  226. package/dist/typography/forge-typography-legacy.css +6 -0
  227. package/dist/typography/forge-typography.css +1 -1
  228. package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +1 -1
  229. package/esm/autocomplete/autocomplete-adapter.js +1 -1
  230. package/esm/busy-indicator/busy-indicator-adapter.js +1 -1
  231. package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +3 -0
  232. package/esm/calendar/calendar-dropdown/calendar-dropdown.js +9 -0
  233. package/esm/chip-field/chip-field-foundation.js +1 -1
  234. package/esm/chips/chip/chip-adapter.js +2 -2
  235. package/esm/chips/chip/chip.js +1 -1
  236. package/esm/color-picker/color-picker-foundation.d.ts +0 -1
  237. package/esm/color-picker/color-picker-foundation.js +2 -5
  238. package/esm/date-picker/base/base-date-picker-adapter.d.ts +2 -0
  239. package/esm/date-picker/base/base-date-picker-adapter.js +6 -0
  240. package/esm/date-picker/base/base-date-picker-constants.d.ts +1 -0
  241. package/esm/date-picker/base/base-date-picker-constants.js +2 -1
  242. package/esm/date-picker/base/base-date-picker-foundation.d.ts +4 -0
  243. package/esm/date-picker/base/base-date-picker-foundation.js +13 -1
  244. package/esm/date-picker/base/base-date-picker.d.ts +3 -0
  245. package/esm/date-picker/base/base-date-picker.js +6 -0
  246. package/esm/date-picker/date-picker-adapter.js +1 -1
  247. package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
  248. package/esm/dialog/dialog-adapter.js +1 -1
  249. package/esm/field/field-adapter.js +1 -1
  250. package/esm/field/field-foundation.js +5 -0
  251. package/esm/focus-indicator/focus-indicator.js +1 -1
  252. package/esm/linear-progress/linear-progress.js +1 -1
  253. package/esm/list/list/list-adapter.js +2 -2
  254. package/esm/list/list-item/list-item.js +1 -1
  255. package/esm/popup/popup-adapter.js +2 -2
  256. package/esm/radio/radio-adapter.js +2 -1
  257. package/esm/slider/slider.d.ts +2 -1
  258. package/esm/slider/slider.js +3 -2
  259. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  260. package/esm/stepper/core/stepper-utils.js +2 -1
  261. package/esm/stepper/stepper/stepper-adapter.js +1 -1
  262. package/esm/stepper/stepper/stepper-foundation.js +1 -0
  263. package/esm/tabs/tab/tab.js +1 -1
  264. package/esm/text-field/text-field-adapter.js +2 -1
  265. package/esm/time-picker/time-picker-adapter.js +2 -1
  266. package/package.json +2 -2
  267. package/styles/chips/chip/_mixins.scss +1 -0
  268. package/styles/circular-progress/{_animations.scss → _animation.scss} +6 -0
  269. package/styles/circular-progress/_configuration.scss +0 -7
  270. package/styles/circular-progress/_core.scss +8 -8
  271. package/styles/circular-progress/circular-progress.scss +2 -2
  272. package/styles/circular-progress/index.scss +1 -1
  273. package/styles/core/styles/{tokens/_utils.scss → _utils.scss} +21 -1
  274. package/styles/core/styles/animation/index.scss +16 -0
  275. package/styles/core/styles/border/index.scss +38 -0
  276. package/styles/core/styles/elevation/index.scss +10 -10
  277. package/styles/core/styles/shape/index.scss +31 -0
  278. package/styles/core/styles/spacing/index.scss +30 -0
  279. package/styles/core/styles/theme/index.scss +15 -11
  280. package/styles/core/styles/tokens/animation/_tokens.scss +38 -0
  281. package/styles/core/styles/tokens/border/_tokens.scss +17 -0
  282. package/styles/core/styles/tokens/circular-progress/_tokens.scss +1 -1
  283. package/styles/core/styles/tokens/focus-indicator/_tokens.scss +11 -7
  284. package/styles/core/styles/tokens/linear-progress/_tokens.scss +5 -3
  285. package/styles/core/styles/tokens/shape/_tokens.scss +42 -0
  286. package/styles/core/styles/tokens/slider/_tokens.scss +7 -5
  287. package/styles/core/styles/tokens/spacing/_tokens.scss +23 -0
  288. package/styles/core/styles/tokens/state-layer/_tokens.scss +1 -1
  289. package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
  290. package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +1 -1
  291. package/styles/core/styles/tokens/typography/_tokens.scss +198 -35
  292. package/styles/core/styles/typography/index.scss +119 -0
  293. package/styles/focus-indicator/_core.scss +1 -1
  294. package/styles/linear-progress/_core.scss +1 -1
  295. package/styles/list/list-item/_mixins.scss +11 -1
  296. package/styles/list/list-item/_variables.scss +9 -0
  297. package/styles/slider/_configuration.scss +2 -1
  298. package/styles/slider/_core.scss +7 -6
  299. package/styles/state-layer/_core.scss +1 -1
  300. package/styles/table/_mixins.scss +2 -2
  301. package/styles/tabs/tab/_core.scss +6 -5
  302. package/styles/tabs/tab/tab.scss +14 -0
  303. package/styles/tabs/tab-bar/_core.scss +1 -1
  304. package/styles/{core/styles/tokens/theme/_shape.scss → typography/forge-typography-legacy.scss} +2 -7
  305. package/styles/typography/forge-typography.scss +11 -3
  306. package/styles/utils/_mixins-core.scss +1 -1
  307. package/dist/esm/chunks/chunk.2VP57RZO.js +0 -7
  308. package/dist/esm/chunks/chunk.2VP57RZO.js.map +0 -7
  309. package/dist/esm/chunks/chunk.33EJTOVA.js +0 -7
  310. package/dist/esm/chunks/chunk.33EJTOVA.js.map +0 -7
  311. package/dist/esm/chunks/chunk.3JDFBEF7.js +0 -7
  312. package/dist/esm/chunks/chunk.74DEHKGT.js +0 -12
  313. package/dist/esm/chunks/chunk.7G72CBOJ.js +0 -7
  314. package/dist/esm/chunks/chunk.7G72CBOJ.js.map +0 -7
  315. package/dist/esm/chunks/chunk.BNFJRFLW.js +0 -7
  316. package/dist/esm/chunks/chunk.CRWP7H46.js +0 -7
  317. package/dist/esm/chunks/chunk.DXZ5LVFJ.js +0 -7
  318. package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +0 -7
  319. package/dist/esm/chunks/chunk.EYZ25QUP.js +0 -7
  320. package/dist/esm/chunks/chunk.EYZ25QUP.js.map +0 -7
  321. package/dist/esm/chunks/chunk.F776DWXU.js +0 -7
  322. package/dist/esm/chunks/chunk.F776DWXU.js.map +0 -7
  323. package/dist/esm/chunks/chunk.FIBGOPNP.js +0 -7
  324. package/dist/esm/chunks/chunk.FIBGOPNP.js.map +0 -7
  325. package/dist/esm/chunks/chunk.FUPNTFG7.js +0 -7
  326. package/dist/esm/chunks/chunk.FUPNTFG7.js.map +0 -7
  327. package/dist/esm/chunks/chunk.GT3XBPZY.js +0 -7
  328. package/dist/esm/chunks/chunk.GT3XBPZY.js.map +0 -7
  329. package/dist/esm/chunks/chunk.HXJCTE47.js +0 -7
  330. package/dist/esm/chunks/chunk.JL4XB4RI.js +0 -7
  331. package/dist/esm/chunks/chunk.JL4XB4RI.js.map +0 -7
  332. package/dist/esm/chunks/chunk.L3M6DPQB.js.map +0 -7
  333. package/dist/esm/chunks/chunk.LHBF47UY.js +0 -7
  334. package/dist/esm/chunks/chunk.LHBF47UY.js.map +0 -7
  335. package/dist/esm/chunks/chunk.LM57DOG3.js +0 -7
  336. package/dist/esm/chunks/chunk.LYYWQGS6.js +0 -7
  337. package/dist/esm/chunks/chunk.M2M47T4L.js +0 -7
  338. package/dist/esm/chunks/chunk.M2M47T4L.js.map +0 -7
  339. package/dist/esm/chunks/chunk.QLJBPFP5.js +0 -7
  340. package/dist/esm/chunks/chunk.QLJBPFP5.js.map +0 -7
  341. package/dist/esm/chunks/chunk.SN5LPTHH.js +0 -7
  342. package/dist/esm/chunks/chunk.YDY2IGBF.js +0 -7
  343. package/dist/esm/chunks/chunk.YDY2IGBF.js.map +0 -7
  344. package/dist/esm/chunks/chunk.YWCLKUK7.js +0 -7
  345. package/dist/esm/chunks/chunk.YWCLKUK7.js.map +0 -7
  346. package/dist/esm/chunks/chunk.ZMRDW25U.js +0 -7
  347. package/dist/typography/forge-form.css +0 -6
  348. package/styles/typography/forge-form.scss +0 -67
  349. /package/dist/esm/chunks/{chunk.ECRL6O3V.js.map → chunk.2AJ7FFI6.js.map} +0 -0
  350. /package/dist/esm/chunks/{chunk.4WB3FGEL.js.map → chunk.2EWV2XBP.js.map} +0 -0
  351. /package/dist/esm/chunks/{chunk.WH6C36MO.js.map → chunk.2QHD3DCR.js.map} +0 -0
  352. /package/dist/esm/chunks/{chunk.ZMRDW25U.js.map → chunk.3HB22HCX.js.map} +0 -0
  353. /package/dist/esm/chunks/{chunk.3JDFBEF7.js.map → chunk.4C6KHYUO.js.map} +0 -0
  354. /package/dist/esm/chunks/{chunk.WBYXVMYI.js.map → chunk.4YFVG4KP.js.map} +0 -0
  355. /package/dist/esm/chunks/{chunk.XATLSSAW.js.map → chunk.4ZKX3SO5.js.map} +0 -0
  356. /package/dist/esm/chunks/{chunk.SZIM4KFZ.js.map → chunk.54OOOQ4R.js.map} +0 -0
  357. /package/dist/esm/chunks/{chunk.ZDAXNM2P.js.map → chunk.5MZ5SGMO.js.map} +0 -0
  358. /package/dist/esm/chunks/{chunk.YQXX5KSW.js.map → chunk.624UKZFU.js.map} +0 -0
  359. /package/dist/esm/chunks/{chunk.BIFQ4VOJ.js.map → chunk.6GC5AJPE.js.map} +0 -0
  360. /package/dist/esm/chunks/{chunk.OTD2SFQJ.js.map → chunk.6OUJSOJY.js.map} +0 -0
  361. /package/dist/esm/chunks/{chunk.57IVD67K.js.map → chunk.6OW6Q3EW.js.map} +0 -0
  362. /package/dist/esm/chunks/{chunk.IDD54B5P.js.map → chunk.A62DE5PD.js.map} +0 -0
  363. /package/dist/esm/chunks/{chunk.4WVHON6T.js.map → chunk.ALIYGJXA.js.map} +0 -0
  364. /package/dist/esm/chunks/{chunk.JTIPXKV6.js.map → chunk.B4T3R53C.js.map} +0 -0
  365. /package/dist/esm/chunks/{chunk.5V5ABSHI.js.map → chunk.BKL2BAYW.js.map} +0 -0
  366. /package/dist/esm/chunks/{chunk.SEP3L4QL.js.map → chunk.CDGZYUQS.js.map} +0 -0
  367. /package/dist/esm/chunks/{chunk.Z4J4D5FD.js.map → chunk.CKW7KKDW.js.map} +0 -0
  368. /package/dist/esm/chunks/{chunk.QL45FKVJ.js.map → chunk.COVTBIQQ.js.map} +0 -0
  369. /package/dist/esm/chunks/{chunk.WO7KEM5K.js.map → chunk.CWTV3TB3.js.map} +0 -0
  370. /package/dist/esm/chunks/{chunk.7WVTJIVR.js.map → chunk.CXY6K7EI.js.map} +0 -0
  371. /package/dist/esm/chunks/{chunk.VNOJO2PF.js.map → chunk.D5TAI6Q7.js.map} +0 -0
  372. /package/dist/esm/chunks/{chunk.QZK3WEH6.js.map → chunk.DG4ZM3AW.js.map} +0 -0
  373. /package/dist/esm/chunks/{chunk.DTZFWZPB.js.map → chunk.DXN7ZOH3.js.map} +0 -0
  374. /package/dist/esm/chunks/{chunk.7ZQMJLHE.js.map → chunk.EK24Y56W.js.map} +0 -0
  375. /package/dist/esm/chunks/{chunk.2O6IZ7XZ.js.map → chunk.F74YURLV.js.map} +0 -0
  376. /package/dist/esm/chunks/{chunk.U4GYQOPY.js.map → chunk.FWFOOQMA.js.map} +0 -0
  377. /package/dist/esm/chunks/{chunk.D2Y2CRRY.js.map → chunk.GNG64TXK.js.map} +0 -0
  378. /package/dist/esm/chunks/{chunk.OAHA3QOH.js.map → chunk.IX25DYIM.js.map} +0 -0
  379. /package/dist/esm/chunks/{chunk.RGPNNISQ.js.map → chunk.JLLHDJSO.js.map} +0 -0
  380. /package/dist/esm/chunks/{chunk.ZAJB7G4V.js.map → chunk.JUJGROHA.js.map} +0 -0
  381. /package/dist/esm/chunks/{chunk.PHBOQRF6.js.map → chunk.K3KAM2PL.js.map} +0 -0
  382. /package/dist/esm/chunks/{chunk.G4IN6Y46.js.map → chunk.KVCDAZ6B.js.map} +0 -0
  383. /package/dist/esm/chunks/{chunk.2QSDH3PC.js.map → chunk.LFODKHUO.js.map} +0 -0
  384. /package/dist/esm/chunks/{chunk.N7PQ2MUQ.js.map → chunk.LK4AAUOP.js.map} +0 -0
  385. /package/dist/esm/chunks/{chunk.5CMQ7DNL.js.map → chunk.LTT67HTW.js.map} +0 -0
  386. /package/dist/esm/chunks/{chunk.NF4J3Q5X.js.map → chunk.LXPFG7MW.js.map} +0 -0
  387. /package/dist/esm/chunks/{chunk.5M6Y2RU6.js.map → chunk.M56LSSPW.js.map} +0 -0
  388. /package/dist/esm/chunks/{chunk.XOM2FYQ2.js.map → chunk.MGLL67VO.js.map} +0 -0
  389. /package/dist/esm/chunks/{chunk.6MPXRRMB.js.map → chunk.MHBBMC6O.js.map} +0 -0
  390. /package/dist/esm/chunks/{chunk.TL6WVBGT.js.map → chunk.MTKSU2BV.js.map} +0 -0
  391. /package/dist/esm/chunks/{chunk.NK7H3MMM.js.map → chunk.MVTBJPO2.js.map} +0 -0
  392. /package/dist/esm/chunks/{chunk.KSCUIS5C.js.map → chunk.MXEKIEJA.js.map} +0 -0
  393. /package/dist/esm/chunks/{chunk.BBKRPL6R.js.map → chunk.N43BCJHN.js.map} +0 -0
  394. /package/dist/esm/chunks/{chunk.2ZTERGYF.js.map → chunk.NR3MLTXF.js.map} +0 -0
  395. /package/dist/esm/chunks/{chunk.PHTOULRR.js.map → chunk.OWCYRSI3.js.map} +0 -0
  396. /package/dist/esm/chunks/{chunk.74DEHKGT.js.map → chunk.P2CW5MQO.js.map} +0 -0
  397. /package/dist/esm/chunks/{chunk.7TGGJGTG.js.map → chunk.P2ZCNO63.js.map} +0 -0
  398. /package/dist/esm/chunks/{chunk.RFLASSCI.js.map → chunk.PADPL4L3.js.map} +0 -0
  399. /package/dist/esm/chunks/{chunk.H5D54EHO.js.map → chunk.PH3HUFJJ.js.map} +0 -0
  400. /package/dist/esm/chunks/{chunk.LM57DOG3.js.map → chunk.Q7JUJNYD.js.map} +0 -0
  401. /package/dist/esm/chunks/{chunk.E6KWYFZG.js.map → chunk.Q7Z3SJ5F.js.map} +0 -0
  402. /package/dist/esm/chunks/{chunk.SQVBT7HU.js.map → chunk.QCRRHGBA.js.map} +0 -0
  403. /package/dist/esm/chunks/{chunk.7DHFTAWI.js.map → chunk.QOJESHEV.js.map} +0 -0
  404. /package/dist/esm/chunks/{chunk.X3YNJSDT.js.map → chunk.S3JMOOWC.js.map} +0 -0
  405. /package/dist/esm/chunks/{chunk.MJSLXZBM.js.map → chunk.SBYX7VZ4.js.map} +0 -0
  406. /package/dist/esm/chunks/{chunk.XRESQBNE.js.map → chunk.SFCGOCQK.js.map} +0 -0
  407. /package/dist/esm/chunks/{chunk.UCM6CGFM.js.map → chunk.SMGXXR6K.js.map} +0 -0
  408. /package/dist/esm/chunks/{chunk.6VDF54LZ.js.map → chunk.SU4FU7GK.js.map} +0 -0
  409. /package/dist/esm/chunks/{chunk.5IQGVS6U.js.map → chunk.TK5I4RHF.js.map} +0 -0
  410. /package/dist/esm/chunks/{chunk.MGWY7YIL.js.map → chunk.TYLOAD7R.js.map} +0 -0
  411. /package/dist/esm/chunks/{chunk.UKFJHDO7.js.map → chunk.UJ2WQOLO.js.map} +0 -0
  412. /package/dist/esm/chunks/{chunk.2TQONIPK.js.map → chunk.ULY4H76N.js.map} +0 -0
  413. /package/dist/esm/chunks/{chunk.J3UFSHDY.js.map → chunk.VSQOTSAO.js.map} +0 -0
  414. /package/dist/esm/chunks/{chunk.QI3GKORL.js.map → chunk.VZWNNK7A.js.map} +0 -0
  415. /package/dist/esm/chunks/{chunk.T5X6UNH7.js.map → chunk.W4247Q2P.js.map} +0 -0
  416. /package/dist/esm/chunks/{chunk.IWA3CYIB.js.map → chunk.X3C3J5MH.js.map} +0 -0
  417. /package/dist/esm/chunks/{chunk.WYP2M5FR.js.map → chunk.XGOAYMK2.js.map} +0 -0
  418. /package/dist/esm/chunks/{chunk.MF36FG2X.js.map → chunk.XKI46BH2.js.map} +0 -0
  419. /package/dist/esm/chunks/{chunk.Y5UJ23LB.js.map → chunk.YLG6ZC5K.js.map} +0 -0
  420. /package/dist/esm/chunks/{chunk.EDEYCLDU.js.map → chunk.YX7WLO5Y.js.map} +0 -0
  421. /package/dist/esm/chunks/{chunk.AHHNJSZK.js.map → chunk.Z6FCL3G3.js.map} +0 -0
  422. /package/dist/esm/chunks/{chunk.HXJCTE47.js.map → chunk.ZDD2NLGP.js.map} +0 -0
  423. /package/dist/esm/chunks/{chunk.P5QIB6OY.js.map → chunk.ZJC2DSNM.js.map} +0 -0
  424. /package/dist/esm/chunks/{chunk.E7Z3IRWV.js.map → chunk.ZVBZ3LGP.js.map} +0 -0
  425. /package/styles/core/styles/tokens/{theme/_elevation.scss → elevation/_tokens.scss} +0 -0
@@ -3,5 +3,5 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import{h as i}from"./chunk.NK7H3MMM.js";import{u as o}from"./chunk.CFDK4RCW.js";var r=class{constructor(e){this._component=e}getHostAttribute(e){return this._component.getAttribute(e)}setHostAttribute(e,t=""){this._component.setAttribute(e,t)}removeHostAttribute(e){this._component.removeAttribute(e)}toggleHostAttribute(e,t,n){o(this._component,t,e,n)}emitHostEvent(e,t=null,n=!0,s){return i(this._component,e,t,n,s)}addHostListener(e,t,n){this._component.addEventListener(e,t,n)}removeHostListener(e,t){this._component.removeEventListener(e,t)}addWindowListener(e,t,n){window.addEventListener(e,t,n)}removeWindowListener(e,t,n){window.removeEventListener(e,t,n)}addDocumentListener(e,t,n){document.addEventListener(e,t,n)}removeDocumentListener(e,t,n){document.removeEventListener(e,t,n)}getScreenWidth(){return window.innerWidth}setBodyAttribute(e,t){document.body.setAttribute(e,t)}removeBodyAttribute(e){document.body.removeAttribute(e)}get isConnected(){return this._component.isConnected}};export{r as a};
7
- //# sourceMappingURL=chunk.5V5ABSHI.js.map
6
+ import{h as i}from"./chunk.MVTBJPO2.js";import{u as o}from"./chunk.K7FPXAFS.js";var r=class{constructor(e){this._component=e}getHostAttribute(e){return this._component.getAttribute(e)}setHostAttribute(e,t=""){this._component.setAttribute(e,t)}removeHostAttribute(e){this._component.removeAttribute(e)}toggleHostAttribute(e,t,n){o(this._component,t,e,n)}emitHostEvent(e,t=null,n=!0,s){return i(this._component,e,t,n,s)}addHostListener(e,t,n){this._component.addEventListener(e,t,n)}removeHostListener(e,t){this._component.removeEventListener(e,t)}addWindowListener(e,t,n){window.addEventListener(e,t,n)}removeWindowListener(e,t,n){window.removeEventListener(e,t,n)}addDocumentListener(e,t,n){document.addEventListener(e,t,n)}removeDocumentListener(e,t,n){document.removeEventListener(e,t,n)}getScreenWidth(){return window.innerWidth}setBodyAttribute(e,t){document.body.setAttribute(e,t)}removeBodyAttribute(e){document.body.removeAttribute(e)}get isConnected(){return this._component.isConnected}};export{r as a};
7
+ //# sourceMappingURL=chunk.BKL2BAYW.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{d as W}from"./chunk.S3JMOOWC.js";import{b as K}from"./chunk.MXEKIEJA.js";import{C as D}from"./chunk.FYWPZFLJ.js";import{d as U,l as Z}from"./chunk.PH3HUFJJ.js";import{a as g}from"./chunk.NVUMRW44.js";import{a as z}from"./chunk.BKL2BAYW.js";import{a as B,b as N}from"./chunk.DXN7ZOH3.js";import{a as M,e as O,f as s,k as G}from"./chunk.MVTBJPO2.js";import{d as u,k as C,o as P}from"./chunk.J2M2MXP2.js";import{a as L,d as h}from"./chunk.M3QDAYD2.js";var F=`${N}color-picker`,Y={VALUE:"value",ALLOW_OPACITY:"allow-opacity",DEBOUNCE_CHANGE_EVENT:"debounce-change-event"},J={SLIDER_THUMB_ACTIVE:"forge-color-picker__slider-thumb--active",GRADIENT_THUMB_ACTIVE:"forge-color-picker__gradient-thumb--active"},Q={GRADIENT:".forge-color-picker__gradient",GRADIENT_THUMB:".forge-color-picker__gradient-thumb",PREVIEW_COLOR:".forge-color-picker__color-preview",HEX_INPUT:"#forge-color-picker-hex-input",RGBA_INPUT:"#forge-color-picker-rgba-input",HSVA_INPUT:"#forge-color-picker-hsva-input",HUE_SLIDER:".forge-color-picker__hue-slider",HUE_SLIDER_THUMB:"#forge-color-picker-hue-thumb",OPACITY_SLIDER:".forge-color-picker__opacity-slider",OPACITY_SLIDER_THUMB:"#forge-color-picker-opacity-thumb",SLIDER:".forge-color-picker__slider",SLIDER_THUMB:".forge-color-picker__slider-thumb",COLOR_VALUE_HEX_CONTAINER:".forge-color-picker__color-hex",COLOR_VALUE_RGBA_CONTAINER:".forge-color-picker__color-rgba",COLOR_VALUE_HSVA_CONTAINER:".forge-color-picker__color-hsva",TYPE_BUTTON:"#forge-color-picker-type-button",COLOR_VALUE_RGBA_R:"#forge-color-picker-rgba-r-input",COLOR_VALUE_RGBA_G:"#forge-color-picker-rgba-g-input",COLOR_VALUE_RGBA_B:"#forge-color-picker-rgba-b-input",COLOR_VALUE_RGBA_A:"#forge-color-picker-rgba-a-input",COLOR_VALUE_HSVA_H:"#forge-color-picker-hsva-h-input",COLOR_VALUE_HSVA_S:"#forge-color-picker-hsva-s-input",COLOR_VALUE_HSVA_V:"#forge-color-picker-hsva-v-input",COLOR_VALUE_HSVA_A:"#forge-color-picker-hsva-a-input"},q={CHANGE:`${F}-change`},ee={CHANGE_EVENT_DEBOUNCE_THRESHOLD:200},o={elementName:F,attributes:Y,events:q,classes:J,selectors:Q,numbers:ee},w="000000",A=(n=>(n.HEX="hex",n.RGB="rgb",n.RGBA="rgba",n.HSV="hsv",n.HSVA="hsva",n))(A||{});var f=class extends z{constructor(t){super(t);this._gradientElement=s(t,o.selectors.GRADIENT),this._previewColorElement=s(t,o.selectors.PREVIEW_COLOR),this._hexInputElement=s(t,o.selectors.HEX_INPUT),this._rgbaInputRElement=s(t,o.selectors.COLOR_VALUE_RGBA_R),this._rgbaInputGElement=s(t,o.selectors.COLOR_VALUE_RGBA_G),this._rgbaInputBElement=s(t,o.selectors.COLOR_VALUE_RGBA_B),this._rgbaInputAElement=s(t,o.selectors.COLOR_VALUE_RGBA_A),this._hsvaInputHElement=s(t,o.selectors.COLOR_VALUE_HSVA_H),this._hsvaInputSElement=s(t,o.selectors.COLOR_VALUE_HSVA_S),this._hsvaInputVElement=s(t,o.selectors.COLOR_VALUE_HSVA_V),this._hsvaInputAElement=s(t,o.selectors.COLOR_VALUE_HSVA_A),this._hueSliderElement=s(t,o.selectors.HUE_SLIDER),this._hueSliderThumbElement=s(t,o.selectors.HUE_SLIDER_THUMB),this._opacitySliderElement=s(t,o.selectors.OPACITY_SLIDER),this._opacitySliderThumbElement=s(t,o.selectors.OPACITY_SLIDER_THUMB),this._hexValueContainerElement=s(t,o.selectors.COLOR_VALUE_HEX_CONTAINER),this._rgbaValueContainerElement=s(t,o.selectors.COLOR_VALUE_RGBA_CONTAINER),this._hsvaValueContainerElement=s(t,o.selectors.COLOR_VALUE_HSVA_CONTAINER),this._typeButtonElement=s(t,o.selectors.TYPE_BUTTON)}setPreviewColor(t){this._previewColorElement.style.backgroundColor=t}setHexInputValue(t){this._hexInputElement.value=t}setRgbaInputValue(t){this._rgbaInputRElement.value=t.r.toString(),this._rgbaInputGElement.value=t.g.toString(),this._rgbaInputBElement.value=t.b.toString(),this._rgbaInputAElement.value=t.a.toString()}setHsvaInputValue(t){this._hsvaInputHElement.value=t.h.toString(),this._hsvaInputSElement.value=t.s.toString(),this._hsvaInputVElement.value=t.v.toString(),this._hsvaInputAElement.value=t.a.toString()}updateA11y(t,i){this._hueSliderThumbElement.setAttribute("aria-valuenow",t.toString()),this._hueSliderThumbElement.setAttribute("aria-valuetext",t.toString()),this._opacitySliderThumbElement.setAttribute("aria-valuenow",i.toString()),this._opacitySliderThumbElement.setAttribute("aria-valuetext",i.toString())}setGradientColor(t){this._gradientElement.style.backgroundColor=t}getHueSliderElement(){return this._hueSliderElement}getOpacitySliderElement(){return this._opacitySliderElement}getGradientElement(){return this._gradientElement}setActiveValueType(t){switch(this._hexValueContainerElement.style.display="none",this._rgbaValueContainerElement.style.display="none",this._hsvaValueContainerElement.style.display="none",t){case"hex":this._hexValueContainerElement.style.removeProperty("display");break;case"rgba":this._rgbaValueContainerElement.style.removeProperty("display");break;case"hsva":this._hsvaValueContainerElement.style.removeProperty("display");break}}focusValueInput(t){switch(t){case"hex":this._hexInputElement.focus(),this._hexInputElement.select();break;case"rgba":this._rgbaInputRElement.focus(),this._rgbaInputRElement.select();break;case"hsva":this._hsvaInputHElement.focus(),this._hsvaInputHElement.select();break}}setTypeClickListener(t){this._typeButtonElement.addEventListener("click",t)}removeTypeClickListener(t){this._typeButtonElement.removeEventListener("click",t)}setHexInputListener(t,i){this._hexInputElement.addEventListener(t,i)}removeHexInputListener(t,i){this._hexInputElement.removeEventListener(t,i)}getHexInputValue(){return this._hexInputElement.value}setRgbaInputListener(t,i){this._rgbaInputRElement.addEventListener(t,i),this._rgbaInputGElement.addEventListener(t,i),this._rgbaInputBElement.addEventListener(t,i),this._rgbaInputAElement.addEventListener(t,i)}removeRgbaInputListener(t,i){this._rgbaInputRElement.removeEventListener(t,i),this._rgbaInputGElement.removeEventListener(t,i),this._rgbaInputBElement.removeEventListener(t,i),this._rgbaInputAElement.removeEventListener(t,i)}getRgbaInputValue(){return{r:parseInt(this._rgbaInputRElement.value,10),g:parseInt(this._rgbaInputGElement.value,10),b:parseInt(this._rgbaInputBElement.value,10),a:parseFloat(this._rgbaInputAElement.value)}}setHsvaInputListener(t,i){this._hsvaInputHElement.addEventListener(t,i),this._hsvaInputSElement.addEventListener(t,i),this._hsvaInputVElement.addEventListener(t,i),this._hsvaInputAElement.addEventListener(t,i)}removeHsvaInputListener(t,i){this._hsvaInputHElement.removeEventListener(t,i),this._hsvaInputSElement.removeEventListener(t,i),this._hsvaInputVElement.removeEventListener(t,i),this._hsvaInputAElement.removeEventListener(t,i)}getHsvaInputValue(){return{h:parseInt(this._hsvaInputHElement.value,10),s:parseInt(this._hsvaInputSElement.value,10),v:parseInt(this._hsvaInputVElement.value,10),a:parseFloat(this._hsvaInputAElement.value)}}toggleOpacityControls(t){t?(this._opacitySliderElement.style.removeProperty("display"),this._rgbaInputAElement.parentElement&&this._rgbaInputAElement.parentElement.style.removeProperty("display"),this._hsvaInputAElement.parentElement&&this._hsvaInputAElement.parentElement.style.removeProperty("display")):(this._opacitySliderElement.style.display="none",this._rgbaInputAElement.parentElement&&(this._rgbaInputAElement.parentElement.style.display="none"),this._hsvaInputAElement.parentElement&&(this._hsvaInputAElement.parentElement.style.display="none"))}};function E(r,e,t){let i=t.getBoundingClientRect(),a=r-i.left,n=e-i.top;return a>i.width?a=i.width:a<0&&(a=0),n>i.height?n=i.height:n<0&&(n=0),{x:a,y:n,height:i.height,width:i.width}}function v(r){let e,t,i,a=r.h/60,n=r.s/100,l=r.v/100;if(n===0)return e=t=i=l,{r:Math.round(e*255),g:Math.round(t*255),b:Math.round(i*255),a:r.a};let d=Math.floor(a),_=a-d,c=l*(1-n),k=l*(1-n*_),x=l*(1-n*(1-_));switch(d){case 0:e=l,t=x,i=c;break;case 1:e=k,t=l,i=c;break;case 2:e=c,t=l,i=x;break;case 3:e=c,t=k,i=l;break;case 4:e=x,t=c,i=l;break;default:e=l,t=c,i=k}return{r:Math.round(e*255),g:Math.round(t*255),b:Math.round(i*255),a:r.a}}function m(r){return T(r.r)+T(r.g)+T(r.b)+(Math.round(r.a*255)+65536).toString(16).substr(-2)}function T(r){return("0"+r.toString(16)).slice(-2)}function $(r){let e=r.length===3||r.length===4,t=e?`${r.slice(0,1)}${r.slice(0,1)}`:r.slice(0,2),i=e?`${r.slice(1,2)}${r.slice(1,2)}`:r.slice(2,4),a=e?`${r.slice(2,3)}${r.slice(2,3)}`:r.slice(4,6),n=(e?`${r.slice(3,4)}${r.slice(3,4)}`:r.slice(6,8))||"ff";return{r:parseInt(t,16),g:parseInt(i,16),b:parseInt(a,16),a:parseFloat((parseInt(n,16)/255).toFixed(2))}}function X(r){return`rgba(${r.r}, ${r.g}, ${r.b}, ${r.a})`}function H(r,e){let t=r.replace(/^#/,"");return e||(t.length===4?t=t.substring(0,3):t.length===8&&(t=t.substring(0,6))),`#${t}`}function j(r){let e=r.r/255,t=r.g/255,i=r.b/255,a=Math.max(e,t,i),n=Math.min(e,t,i),l=a,d=a,_=a,c=a-n;if(d=a===0?0:c/a,a===n)l=0;else{switch(a){case e:l=(t-i)/c+(t<i?6:0);break;case t:l=(i-e)/c+2;break;case i:l=(e-t)/c+4;break}l/=6}return{h:Math.round(l*360),s:Math.round(d*100),v:Math.round(_*100),a:r.a}}function S(r){if(!r||typeof r!="string")return!1;switch(r.substring(0,1)==="#"&&(r=r.substring(1)),r.length){case 3:return/^[0-9A-F]{3}$/i.test(r);case 4:return/^[0-9A-F]{4}$/i.test(r);case 6:return/^[0-9A-F]{6}$/i.test(r);case 8:return/^[0-9A-F]{8}$/i.test(r);default:return!1}}function R(r){return u(r.r)&&r.r>=0&&r.r<=255&&u(r.g)&&r.g>=0&&r.g<=255&&u(r.b)&&r.b>=0&&r.b<=255&&u(r.a)&&r.a>=0&&r.a<=1}function V(r){return u(r.h)&&r.h>=0&&r.h<=360&&u(r.s)&&r.s>=0&&r.s<=100&&u(r.v)&&r.v>=0&&r.v<=100&&u(r.a)&&r.a>=0&&r.a<=1}var y=class{constructor(e,t){this._rootElement=e;this._changeListener=t;this._keydownListener=i=>this._onKeydown(i),this._downListener=i=>this._onDown(i),this._moveListener=i=>this._onMove(i),this._upListener=i=>this._onUp(i),this._initialize()}destroy(){this._unlisten()}setValue(e,t){window.requestAnimationFrame(()=>{let i=this._rootElement.getBoundingClientRect();this._xPercent=Math.round(i.width*(e/100)),this._yPercent=i.height-Math.round(i.height*(t/100)),this._setThumbPosition(this._xPercent,this._yPercent)})}_initialize(){this._thumbElement=this._rootElement.querySelector(o.selectors.GRADIENT_THUMB),this._listen(),this._setThumbPosition(this._xPercent,this._yPercent)}_listen(){this._rootElement.addEventListener("keydown",this._keydownListener),this._rootElement.addEventListener("mousedown",this._downListener),this._rootElement.addEventListener("touchstart",this._downListener)}_unlisten(){this._rootElement.removeEventListener("keydown",this._keydownListener),this._rootElement.removeEventListener("mousedown",this._downListener),this._rootElement.removeEventListener("touchstart",this._downListener),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener)}_onKeydown(e){let t=e.key==="Enter"||e.keyCode===13,i=e.key==="ArrowLeft"||e.keyCode===37,a=e.key==="ArrowUp"||e.keyCode===38,n=e.key==="ArrowRight"||e.keyCode===39,l=e.key==="ArrowDown"||e.keyCode===40,d=this._rootElement.getBoundingClientRect();if(l)e.preventDefault(),this._yPercent++;else if(a)e.preventDefault(),this._yPercent--;else if(i)e.preventDefault(),this._xPercent--;else if(n)e.preventDefault(),this._xPercent++;else if(t)e.preventDefault();else return;this._xPercent>d.width?this._xPercent=d.width:this._xPercent<0&&(this._xPercent=0),this._yPercent>d.height?this._yPercent=d.height:this._yPercent<0&&(this._yPercent=0),this._setThumbPosition(this._xPercent,this._yPercent),this._notify()}_onDown(e){e.preventDefault(),document.addEventListener("mousemove",this._moveListener),document.addEventListener("touchmove",this._moveListener),document.addEventListener("mouseup",this._upListener),document.addEventListener("touchend",this._upListener),this._updateThumbPosition(e)}_onMove(e){e.preventDefault(),this._updateThumbPosition(e)}_onUp(e){document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener),this._updateThumbPosition(e),this._thumbElement.focus()}_updateThumbPosition(e){let t=/^mouse/.test(e.type),i=t?e.clientX:e.changedTouches[0].clientX,a=t?e.clientY:e.changedTouches[0].clientY,n=this._calculateSliderPercent(i,a);this._setThumbPosition(n.x,n.y),this._xPercent=parseInt((n.x/n.width*100).toString(),10),this._yPercent=Math.abs(parseInt((n.y/n.height*100).toString(),10)-100),this._notify()}_calculateSliderPercent(e,t){return E(e,t,this._rootElement)}_setThumbPosition(e,t){this._thumbElement.style.left=`${e}px`,this._thumbElement.style.top=`${t}px`}_notify(){typeof this._changeListener=="function"&&this._changeListener(this._xPercent,this._yPercent)}};var b=class{constructor(e,t){this._rootElement=e;this._changeListener=t;this._percent=1;this._min=0;this._max=1;this._step=.01;this._keydownListener=i=>this._onKeydown(i),this._downListener=i=>this._onDown(i),this._moveListener=i=>this._onMove(i),this._upListener=i=>this._onUp(i),this._initialize()}destroy(){this._unlisten()}setValue(e){this._percent=e,this._setThumbPosition(this._percent)}_initialize(){this._thumbElement=this._rootElement.querySelector(o.selectors.SLIDER_THUMB),this._listen(),this._setThumbPosition(this._percent)}_listen(){this._thumbElement.addEventListener("keydown",this._keydownListener),this._rootElement.addEventListener("mousedown",this._downListener),this._rootElement.addEventListener("touchstart",this._downListener)}_unlisten(){this._thumbElement.removeEventListener("keydown",this._keydownListener),this._rootElement.removeEventListener("mousedown",this._downListener),this._rootElement.removeEventListener("touchstart",this._downListener),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener)}_onKeydown(e){let t=e.key==="ArrowLeft"||e.keyCode===37,i=e.key==="ArrowRight"||e.keyCode===39,a=e.key==="Home"||e.keyCode===36,n=e.key==="End"||e.keyCode===35;t?(e.preventDefault(),this._percent-=this._step):i?(e.preventDefault(),this._percent+=this._step):a?(e.preventDefault(),this._percent=this._min):n&&(e.preventDefault(),this._percent=this._max),this._percent<this._min?this._percent=this._min:this._percent>this._max&&(this._percent=this._max),this._setThumbPosition(this._percent),this._notify()}_onDown(e){e.preventDefault(),document.addEventListener("mousemove",this._moveListener),document.addEventListener("touchmove",this._moveListener),document.addEventListener("mouseup",this._upListener),document.addEventListener("touchend",this._upListener),this._updateThumbPosition(e)}_onMove(e){e.preventDefault(),this._thumbElement.classList.add(o.classes.SLIDER_THUMB_ACTIVE),this._updateThumbPosition(e)}_onUp(e){this._thumbElement.classList.remove(o.classes.SLIDER_THUMB_ACTIVE),document.removeEventListener("mousemove",this._moveListener),document.removeEventListener("touchmove",this._moveListener),document.removeEventListener("mouseup",this._upListener),document.removeEventListener("touchend",this._upListener),this._updateThumbPosition(e),this._thumbElement.focus()}_updateThumbPosition(e){let t=/^mouse/.test(e.type)?e.clientX:e.changedTouches[0].clientX;this._percent=this._calculateSliderPercent(t),this._setThumbPosition(this._percent),this._notify()}_calculateSliderPercent(e){let t=E(e,0,this._rootElement);return parseFloat((t.x/t.width).toFixed(2))}_setThumbPosition(e){this._thumbElement.style.left=`${e*100}%`}_notify(){typeof this._changeListener=="function"&&this._changeListener(this._percent)}};var I=class{constructor(e){this._adapter=e;this._value=null;this._allowOpacity=!0;this._hex=w;this._hsva={h:0,s:0,v:0,a:1};this._rgba={r:0,g:0,b:0,a:1};this._debounceChangeEvent=!1;this._valueType="hex";this._initialized=!1;this._gradientSliderChangedListener=(t,i)=>this._onGradientSliderChanged(t,i),this._hueSliderChangedListener=t=>this._onHueSliderChanged(t),this._opacitySliderChangedListener=t=>this._onOpacitySliderChanged(t),this._typeClickListener=t=>this._onTypeClicked(t),this._hexInputChangedListener=t=>this._onHexInputChanged(),this._rgbaInputChangedListener=t=>this._onRgbaInputChanged(),this._hsvaInputChangedListener=t=>this._onHsvaInputChanged()}initialize(){this._initialized=!0,this._applyChangeEventTrigger(),this._adapter.setTypeClickListener(this._typeClickListener),this._adapter.setHexInputListener("input",this._hexInputChangedListener),this._adapter.setRgbaInputListener("input",this._rgbaInputChangedListener),this._adapter.setHsvaInputListener("input",this._hsvaInputChangedListener),this._gradientSlider=new y(this._adapter.getGradientElement(),this._gradientSliderChangedListener),this._hueSlider=new b(this._adapter.getHueSliderElement(),this._hueSliderChangedListener),this._opacitySlider=new b(this._adapter.getOpacitySliderElement(),this._opacitySliderChangedListener),this._initializeOpacity(),this._setColorFromHex(),this._adapter.setActiveValueType(this._valueType)}disconnect(){this._adapter.removeTypeClickListener(this._typeClickListener),this._adapter.removeHexInputListener("input",this._hexInputChangedListener),this._adapter.removeRgbaInputListener("input",this._hexInputChangedListener),this._adapter.removeHsvaInputListener("input",this._hexInputChangedListener),this._gradientSlider.destroy(),this._hueSlider.destroy(),this._opacitySlider.destroy(),this._initialized=!1}_applyChangeEventTrigger(){this._debounceChangeEvent?this._triggerChangeEvent=P((e,t)=>{this._emitChangeEvent(e,t)},o.numbers.CHANGE_EVENT_DEBOUNCE_THRESHOLD,!1):this._triggerChangeEvent=(e,t)=>this._emitChangeEvent(e,t)}_initializeOpacity(){this._hsva.a=1,this._adapter.toggleOpacityControls(this._allowOpacity),this._render()}_onTypeClicked(e){this._valueType==="hex"?this._valueType="rgba":this._valueType==="rgba"?this._valueType="hsva":this._valueType==="hsva"&&(this._valueType="hex"),this._adapter.setActiveValueType(this._valueType),this._adapter.focusValueInput(this._valueType)}_onHexInputChanged(){let e=this._adapter.getHexInputValue();S(e)&&(this.value=e,this._triggerChangeEvent("input","hex"))}_onRgbaInputChanged(){let e=this._adapter.getRgbaInputValue();R(e)&&(this.value=m(e),this._triggerChangeEvent("input","rgba"))}_onHsvaInputChanged(){let e=this._adapter.getHsvaInputValue();V(e)&&(this.value=m(v(e)),this._triggerChangeEvent("input","hsva"))}_setColorFromHex(){this._rgba=$(this._hex),this._hsva=j(this._rgba),this._initialized&&(this._gradientSlider.setValue(this._hsva.s,this._hsva.v),this._hueSlider.setValue(parseFloat((this._hsva.h/360).toFixed(2))),this._opacitySlider.setValue(this._hsva.a),this._render())}_onGradientSliderChanged(e,t){this._hsva.s=e,this._hsva.v=t,this._syncColors(),this._render(),this._triggerChangeEvent("slider","gradient")}_onHueSliderChanged(e){this._hsva.h=parseInt((360*e).toString(),10),this._syncColors(),this._setGradientColor(),this._render(),this._triggerChangeEvent("slider","hue")}_onOpacitySliderChanged(e){this._hsva.a=e,this._syncColors(),this._render(),this._triggerChangeEvent("slider","opacity")}_setGradientColor(){let e=v({h:this._hsva.h,s:100,v:100,a:1});this._adapter.setGradientColor(`rgb(${e.r}, ${e.g}, ${e.b})`)}_syncColors(){this._rgba=v(this._hsva),this._hex=m(this._rgba),this._value=this._hex||null}_render(){this._setGradientColor(),this._adapter.setPreviewColor(X(this._rgba)),this._adapter.setHexInputValue(`#${this._hex}`),this._adapter.setRgbaInputValue(this._rgba),this._adapter.setHsvaInputValue(this._hsva),this._adapter.updateA11y(this._hsva.h,Math.round(this._hsva.a*100))}_emitChangeEvent(e,t){let i={type:e,source:t,hex:H(this._hex,!1).replace(/^#/,""),rgba:this._rgba,hsva:this._hsva};this._allowOpacity&&(i.alpha=this._hsva.a),this._adapter.emitHostEvent(o.events.CHANGE,i)}get value(){return H(this._hex,!1)}set value(e){if(this._value!==e){if(this._value=e||w,!S(this._value))throw new Error("Invalid hex value provided.");this._hex=this._value.replace(/^#/,""),this._setColorFromHex(),this._adapter.setHostAttribute(o.attributes.VALUE,this._value)}}get rgba(){return this._rgba?L({},this._rgba):null}set rgba(e){e?R(e)&&(this.value=m(e)):this.value=null}get hsva(){return this._hsva?L({},this._hsva):null}set hsva(e){e?V(e)&&(this.value=m(v(e))):this.value=null}get opacity(){return this._hsva?this._hsva.a:null}set opacity(e){this._hsva.a!==e&&e!=null&&this._allowOpacity&&(e>=0&&e<=1?(this._hsva.a=e,this._syncColors(),this._initialized&&(this._opacitySlider.setValue(this._hsva.a),this._render())):console.warn(`The provided opacity value (${e}) must be between 0 and 1.`))}get allowOpacity(){return this._allowOpacity}set allowOpacity(e){this._allowOpacity=e,this._initialized&&this._initializeOpacity()}get debounceChangeEvent(){return this._debounceChangeEvent}set debounceChangeEvent(e){this._debounceChangeEvent!==e&&(this._debounceChangeEvent=e,this._initialized&&this._applyChangeEventTrigger())}};var te='<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>',ie='.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:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.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:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);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:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);-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}',p=class extends G{constructor(){super();U.define(D),O(this,te,ie),this._foundation=new I(new f(this))}static get observedAttributes(){return[o.attributes.VALUE,o.attributes.ALLOW_OPACITY,o.attributes.DEBOUNCE_CHANGE_EVENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,i,a){switch(t){case o.attributes.VALUE:this.value=a;break;case o.attributes.ALLOW_OPACITY:this.allowOpacity=C(a);break;case o.attributes.DEBOUNCE_CHANGE_EVENT:this.debounceChangeEvent=C(a);break}}};h([g()],p.prototype,"value",2),h([g()],p.prototype,"rgba",2),h([g()],p.prototype,"hsva",2),h([g()],p.prototype,"opacity",2),h([g()],p.prototype,"allowOpacity",2),h([g()],p.prototype,"debounceChangeEvent",2),p=h([B({name:o.elementName,dependencies:[K,W,Z]})],p);function Ye(){M(p)}export{o as a,w as b,A as c,f as d,I as e,p as f,Ye as g};
7
+ //# sourceMappingURL=chunk.BY25RT52.js.map
@@ -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 _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:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.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:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);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:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);-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": "wcAEA,IAAMA,EAA2C,GAAGC,gBAE9CC,EAAa,CACjB,MAAO,QACP,cAAe,gBACf,sBAAuB,uBACzB,EAEMC,EAAU,CACd,oBAAqB,2CACrB,sBAAuB,4CACzB,EAEMC,EAAY,CAChB,SAAU,gCACV,eAAgB,sCAChB,cAAe,qCACf,UAAW,gCACX,WAAY,iCACZ,WAAY,iCACZ,WAAY,kCACZ,iBAAkB,gCAClB,eAAgB,sCAChB,qBAAsB,oCACtB,OAAQ,8BACR,aAAc,oCACd,0BAA2B,iCAC3B,2BAA4B,kCAC5B,2BAA4B,kCAC5B,YAAa,kCACb,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,mCACpB,mBAAoB,kCACtB,EAEMC,EAAS,CACb,OAAQ,GAAGL,UACb,EAEMM,GAAU,CACd,gCAAiC,GACnC,EAEaC,EAAyB,CACpC,YAAAP,EACA,WAAAE,EACA,OAAAG,EACA,QAAAF,EACA,UAAAC,EACA,QAAAE,EACF,EAEaE,EAAgB,SAEjBC,OACVA,EAAA,IAAM,MACNA,EAAA,IAAM,MACNA,EAAA,KAAO,OACPA,EAAA,IAAM,MACNA,EAAA,KAAO,OALGA,OAAA,IC9BL,IAAMC,EAAN,cAAiCC,CAAkE,CAqBxG,YAAYC,EAAkC,CAC5C,MAAMA,CAAS,EACf,KAAK,iBAAmBC,EAAiBD,EAAWE,EAAuB,UAAU,QAAQ,EAC7F,KAAK,qBAAuBD,EAAiBD,EAAWE,EAAuB,UAAU,aAAa,EACtG,KAAK,iBAAmBD,EAAiBD,EAAWE,EAAuB,UAAU,SAAS,EAC9F,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,kBAAkB,EACzG,KAAK,kBAAoBD,EAAiBD,EAAWE,EAAuB,UAAU,UAAU,EAChG,KAAK,uBAAyBD,EAAiBD,EAAWE,EAAuB,UAAU,gBAAgB,EAC3G,KAAK,sBAAwBD,EAAiBD,EAAWE,EAAuB,UAAU,cAAc,EACxG,KAAK,2BAA6BD,EAAiBD,EAAWE,EAAuB,UAAU,oBAAoB,EACnH,KAAK,0BAA4BD,EAAiBD,EAAWE,EAAuB,UAAU,yBAAyB,EACvH,KAAK,2BAA6BD,EAAiBD,EAAWE,EAAuB,UAAU,0BAA0B,EACzH,KAAK,2BAA6BD,EAAiBD,EAAWE,EAAuB,UAAU,0BAA0B,EACzH,KAAK,mBAAqBD,EAAiBD,EAAWE,EAAuB,UAAU,WAAW,CACpG,CAEO,gBAAgBC,EAAyB,CAC9C,KAAK,qBAAqB,MAAM,gBAAkBA,CACpD,CAEO,iBAAiBC,EAAqB,CAC3C,KAAK,iBAAiB,MAAQA,CAChC,CAEO,kBAAkBC,EAAmB,CAC1C,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,CAClD,CAEO,kBAAkBC,EAAmB,CAC1C,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,EAChD,KAAK,mBAAmB,MAAQA,EAAK,EAAE,SAAS,CAClD,CAEO,WAAWC,EAAkBC,EAA4B,CAC9D,KAAK,uBAAuB,aAAa,gBAAiBD,EAAS,SAAS,CAAC,EAC7E,KAAK,uBAAuB,aAAa,iBAAkBA,EAAS,SAAS,CAAC,EAE9E,KAAK,2BAA2B,aAAa,gBAAiBC,EAAa,SAAS,CAAC,EACrF,KAAK,2BAA2B,aAAa,iBAAkBA,EAAa,SAAS,CAAC,CACxF,CAEO,iBAAiBJ,EAAqB,CAC3C,KAAK,iBAAiB,MAAM,gBAAkBA,CAChD,CAEO,qBAAmC,CACxC,OAAO,KAAK,iBACd,CAEO,yBAAuC,CAC5C,OAAO,KAAK,qBACd,CAEO,oBAAkC,CACvC,OAAO,KAAK,gBACd,CAEO,mBAAmBK,EAAkC,CAK1D,OAJA,KAAK,0BAA0B,MAAM,QAAU,OAC/C,KAAK,2BAA2B,MAAM,QAAU,OAChD,KAAK,2BAA2B,MAAM,QAAU,OAExCA,EAAM,CACZ,UACE,KAAK,0BAA0B,MAAM,eAAe,SAAS,EAC7D,MACF,WACE,KAAK,2BAA2B,MAAM,eAAe,SAAS,EAC9D,MACF,WACE,KAAK,2BAA2B,MAAM,eAAe,SAAS,EAC9D,KACJ,CACF,CAEO,gBAAgBA,EAAkC,CACvD,OAAQA,EAAM,CACZ,UACE,KAAK,iBAAiB,MAAM,EAC5B,KAAK,iBAAiB,OAAO,EAC7B,MACF,WACE,KAAK,mBAAmB,MAAM,EAC9B,KAAK,mBAAmB,OAAO,EAC/B,MACF,WACE,KAAK,mBAAmB,MAAM,EAC9B,KAAK,mBAAmB,OAAO,EAC/B,KACJ,CACF,CAEO,qBAAqBC,EAA2C,CACrE,KAAK,mBAAmB,iBAAiB,QAASA,CAAQ,CAC5D,CAEO,wBAAwBA,EAA2C,CACxE,KAAK,mBAAmB,oBAAoB,QAASA,CAAQ,CAC/D,CAEO,oBAAoBD,EAAcC,EAAsC,CAC7E,KAAK,iBAAiB,iBAAiBD,EAAMC,CAAQ,CACvD,CAEO,uBAAuBD,EAAcC,EAAsC,CAChF,KAAK,iBAAiB,oBAAoBD,EAAMC,CAAQ,CAC1D,CAEO,kBAA2B,CAChC,OAAO,KAAK,iBAAiB,KAC/B,CAEO,qBAAqBD,EAAcC,EAAsC,CAC9E,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,CACzD,CAEO,wBAAwBD,EAAcC,EAAsC,CACjF,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,CAC5D,CAEO,mBAA2B,CAChC,MAAO,CACL,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,WAAW,KAAK,mBAAmB,KAAK,CAC7C,CACF,CAEO,qBAAqBD,EAAcC,EAAsC,CAC9E,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,EACvD,KAAK,mBAAmB,iBAAiBD,EAAMC,CAAQ,CACzD,CAEO,wBAAwBD,EAAcC,EAAsC,CACjF,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,EAC1D,KAAK,mBAAmB,oBAAoBD,EAAMC,CAAQ,CAC5D,CAEO,mBAA2B,CAChC,MAAO,CACL,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,SAAS,KAAK,mBAAmB,MAAO,EAAE,EAC7C,EAAG,WAAW,KAAK,mBAAmB,KAAK,CAC7C,CACF,CAEO,sBAAsBC,EAAwB,CAC/CA,GACF,KAAK,sBAAsB,MAAM,eAAe,SAAS,EACrD,KAAK,mBAAmB,eAC1B,KAAK,mBAAmB,cAAc,MAAM,eAAe,SAAS,EAElE,KAAK,mBAAmB,eAC1B,KAAK,mBAAmB,cAAc,MAAM,eAAe,SAAS,IAGtE,KAAK,sBAAsB,MAAM,QAAU,OACvC,KAAK,mBAAmB,gBAC1B,KAAK,mBAAmB,cAAc,MAAM,QAAU,QAEpD,KAAK,mBAAmB,gBAC1B,KAAK,mBAAmB,cAAc,MAAM,QAAU,QAG5D,CACF,ECvOO,SAASC,EAAeC,EAAcC,EAAcC,EAA+E,CACxI,IAAMC,EAASD,EAAQ,sBAAsB,EACzCE,EAAIJ,EAAOG,EAAO,KAClBE,EAAIJ,EAAOE,EAAO,IAEtB,OAAIC,EAAID,EAAO,MACbC,EAAID,EAAO,MACFC,EAAI,IACbA,EAAI,GAGFC,EAAIF,EAAO,OACbE,EAAIF,EAAO,OACFE,EAAI,IACbA,EAAI,GAGC,CAAE,EAAAD,EAAG,EAAAC,EAAG,OAAQF,EAAO,OAAQ,MAAOA,EAAO,KAAM,CAC5D,CAEO,SAASG,EAAWC,EAAoB,CAC7C,IAAIC,EACAC,EACAC,EACEC,EAAIJ,EAAK,EAAI,GACbK,EAAIL,EAAK,EAAI,IACbM,EAAIN,EAAK,EAAI,IAEnB,GAAIK,IAAM,EACR,OAAAJ,EAAIC,EAAIC,EAAIG,EACL,CACL,EAAG,KAAK,MAAML,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAGH,EAAK,CACV,EAGF,IAAMO,EAAI,KAAK,MAAMH,CAAC,EAChBI,EAAIJ,EAAIG,EACRE,EAAIH,GAAK,EAAID,GACbK,EAAIJ,GAAK,EAAID,EAAIG,GACjBG,EAAIL,GAAK,EAAID,GAAK,EAAIG,IAE5B,OAAQD,EAAG,CACT,IAAK,GAAGN,EAAIK,EAAGJ,EAAIS,EAAGR,EAAIM,EAAG,MAC7B,IAAK,GAAGR,EAAIS,EAAGR,EAAII,EAAGH,EAAIM,EAAG,MAC7B,IAAK,GAAGR,EAAIQ,EAAGP,EAAII,EAAGH,EAAIQ,EAAG,MAC7B,IAAK,GAAGV,EAAIQ,EAAGP,EAAIQ,EAAGP,EAAIG,EAAG,MAC7B,IAAK,GAAGL,EAAIU,EAAGT,EAAIO,EAAGN,EAAIG,EAAG,MAC7B,QAASL,EAAIK,EAAGJ,EAAIO,EAAGN,EAAIO,CAC7B,CAEA,MAAO,CACL,EAAG,KAAK,MAAMT,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAGH,EAAK,CACV,CACF,CAEO,SAASY,EAAUC,EAAqB,CAC7C,OAAOC,EAAMD,EAAK,CAAC,EAAIC,EAAMD,EAAK,CAAC,EAAIC,EAAMD,EAAK,CAAC,GAAK,KAAK,MAAMA,EAAK,EAAI,GAAG,EAAI,OAAS,SAAS,EAAE,EAAE,OAAO,EAAE,CACpH,CAEO,SAASC,EAAMjB,EAAmB,CACvC,OAAQ,IAAMA,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CACxC,CAEO,SAASkB,EAAUC,EAAoB,CAC5C,IAAMC,EAAcD,EAAI,SAAW,GAAKA,EAAI,SAAW,EACjDE,EAAOD,EAAc,GAAGD,EAAI,MAAM,EAAG,CAAC,IAAIA,EAAI,MAAM,EAAG,CAAC,IAAMA,EAAI,MAAM,EAAG,CAAC,EAC5EG,EAAOF,EAAc,GAAGD,EAAI,MAAM,EAAG,CAAC,IAAIA,EAAI,MAAM,EAAG,CAAC,IAAMA,EAAI,MAAM,EAAG,CAAC,EAC5EI,EAAOH,EAAc,GAAGD,EAAI,MAAM,EAAG,CAAC,IAAIA,EAAI,MAAM,EAAG,CAAC,IAAMA,EAAI,MAAM,EAAG,CAAC,EAC5EK,GAAQJ,EAAc,GAAGD,EAAI,MAAM,EAAG,CAAC,IAAIA,EAAI,MAAM,EAAG,CAAC,IAAMA,EAAI,MAAM,EAAG,CAAC,IAAM,KAEzF,MAAO,CACL,EAAG,SAASE,EAAM,EAAE,EACpB,EAAG,SAASC,EAAM,EAAE,EACpB,EAAG,SAASC,EAAM,EAAE,EACpB,EAAG,YAAY,SAASC,EAAM,EAAE,EAAI,KAAK,QAAQ,CAAC,CAAC,CACrD,CACF,CAEO,SAASC,EAAWT,EAAqB,CAC9C,MAAO,QAAQA,EAAK,MAAMA,EAAK,MAAMA,EAAK,MAAMA,EAAK,IACvD,CAEO,SAASU,EAAUC,EAAeC,EAA+B,CACtE,IAAIT,EAAMQ,EAAM,QAAQ,KAAM,EAAE,EAEhC,OAAKC,IACCT,EAAI,SAAW,EACjBA,EAAMA,EAAI,UAAU,EAAG,CAAC,EACfA,EAAI,SAAW,IACxBA,EAAMA,EAAI,UAAU,EAAG,CAAC,IAIrB,IAAIA,GACb,CAEO,SAASU,EAAWb,EAAoB,CAC7C,IAAMZ,EAAIY,EAAK,EAAI,IACbX,EAAIW,EAAK,EAAI,IACbV,EAAIU,EAAK,EAAI,IAEbc,EAAM,KAAK,IAAI1B,EAAGC,EAAGC,CAAC,EACtByB,EAAM,KAAK,IAAI3B,EAAGC,EAAGC,CAAC,EACxBC,EAAIuB,EACJtB,EAAIsB,EACFrB,EAAIqB,EAEJE,EAAIF,EAAMC,EAGhB,GAFAvB,EAAIsB,IAAQ,EAAI,EAAIE,EAAIF,EAEpBA,IAAQC,EACVxB,EAAI,MACC,CACL,OAAQuB,EAAK,CACX,KAAK1B,EAAGG,GAAKF,EAAIC,GAAK0B,GAAK3B,EAAIC,EAAI,EAAI,GAAI,MAC3C,KAAKD,EAAGE,GAAKD,EAAIF,GAAK4B,EAAI,EAAG,MAC7B,KAAK1B,EAAGC,GAAKH,EAAIC,GAAK2B,EAAI,EAAG,KAC/B,CACAzB,GAAK,EAGP,MAAO,CACL,EAAG,KAAK,MAAMA,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAG,KAAK,MAAMC,EAAI,GAAG,EACrB,EAAGO,EAAK,CACV,CACF,CAMO,SAASiB,EAAWN,EAAwB,CACjD,GAAI,CAACA,GAAS,OAAOA,GAAU,SAC7B,MAAO,GAOT,OAJIA,EAAM,UAAU,EAAG,CAAC,IAAM,MAC5BA,EAAQA,EAAM,UAAU,CAAC,GAGnBA,EAAM,OAAQ,CACpB,IAAK,GAAG,MAAO,iBAAiB,KAAKA,CAAK,EAC1C,IAAK,GAAG,MAAO,iBAAiB,KAAKA,CAAK,EAC1C,IAAK,GAAG,MAAO,iBAAiB,KAAKA,CAAK,EAC1C,IAAK,GAAG,MAAO,iBAAiB,KAAKA,CAAK,EAC1C,QAAS,MAAO,EAClB,CACF,CAMO,SAASO,EAAYP,EAAuB,CACjD,OAAOQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,CACzD,CAMO,SAASS,EAAYT,EAAuB,CACjD,OAAOQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,KAChDQ,EAASR,EAAM,CAAC,GAAKA,EAAM,GAAK,GAAKA,EAAM,GAAK,CACzD,CCxLO,IAAMU,EAAN,KAAgC,CASrC,YAAoBC,EAAmCC,EAAiD,CAApF,kBAAAD,EAAmC,qBAAAC,EACrD,KAAK,iBAAmBC,GAAO,KAAK,WAAWA,CAAG,EAClD,KAAK,cAAgBA,GAAO,KAAK,QAAQA,CAAG,EAC5C,KAAK,cAAgBA,GAAO,KAAK,QAAQA,CAAG,EAC5C,KAAK,YAAcA,GAAO,KAAK,MAAMA,CAAG,EACxC,KAAK,YAAY,CACnB,CAEO,SAAgB,CACrB,KAAK,UAAU,CACjB,CAEO,SAASC,EAAoBC,EAAqB,CACvD,OAAO,sBAAsB,IAAM,CACjC,IAAMC,EAAS,KAAK,aAAa,sBAAsB,EACvD,KAAK,UAAY,KAAK,MAAMA,EAAO,OAASF,EAAa,IAAI,EAC7D,KAAK,UAAYE,EAAO,OAAS,KAAK,MAAMA,EAAO,QAAUD,EAAQ,IAAI,EACzE,KAAK,kBAAkB,KAAK,UAAW,KAAK,SAAS,CACvD,CAAC,CACH,CAEQ,aAAoB,CAC1B,KAAK,cAAgB,KAAK,aAAa,cAAcE,EAAuB,UAAU,cAAc,EACpG,KAAK,QAAQ,EACb,KAAK,kBAAkB,KAAK,UAAW,KAAK,SAAS,CACvD,CAEQ,SAAgB,CACtB,KAAK,aAAa,iBAAiB,UAAW,KAAK,gBAAgB,EACnE,KAAK,aAAa,iBAAiB,YAAa,KAAK,aAAa,EAClE,KAAK,aAAa,iBAAiB,aAAc,KAAK,aAAa,CACrE,CAEQ,WAAkB,CACxB,KAAK,aAAa,oBAAoB,UAAW,KAAK,gBAAgB,EACtE,KAAK,aAAa,oBAAoB,YAAa,KAAK,aAAa,EACrE,KAAK,aAAa,oBAAoB,aAAc,KAAK,aAAa,EACtE,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,UAAW,KAAK,WAAW,EACxD,SAAS,oBAAoB,WAAY,KAAK,WAAW,CAC3D,CAEQ,WAAWJ,EAA0B,CAC3C,IAAMK,EAAaL,EAAI,MAAQ,SAAWA,EAAI,UAAY,GACpDM,EAAiBN,EAAI,MAAQ,aAAeA,EAAI,UAAY,GAC5DO,EAAeP,EAAI,MAAQ,WAAaA,EAAI,UAAY,GACxDQ,EAAkBR,EAAI,MAAQ,cAAgBA,EAAI,UAAY,GAC9DS,EAAiBT,EAAI,MAAQ,aAAeA,EAAI,UAAY,GAE5DG,EAAS,KAAK,aAAa,sBAAsB,EAEvD,GAAIM,EACFT,EAAI,eAAe,EACnB,KAAK,oBACIO,EACTP,EAAI,eAAe,EACnB,KAAK,oBACIM,EACTN,EAAI,eAAe,EACnB,KAAK,oBACIQ,EACTR,EAAI,eAAe,EACnB,KAAK,oBACIK,EACTL,EAAI,eAAe,MAGnB,QAGE,KAAK,UAAYG,EAAO,MAC1B,KAAK,UAAYA,EAAO,MACf,KAAK,UAAY,IAC1B,KAAK,UAAY,GAGf,KAAK,UAAYA,EAAO,OAC1B,KAAK,UAAYA,EAAO,OACf,KAAK,UAAY,IAC1B,KAAK,UAAY,GAGnB,KAAK,kBAAkB,KAAK,UAAW,KAAK,SAAS,EACrD,KAAK,QAAQ,CACf,CAEQ,QAAQH,EAAoC,CAClDA,EAAI,eAAe,EACnB,SAAS,iBAAiB,YAAa,KAAK,aAAa,EACzD,SAAS,iBAAiB,YAAa,KAAK,aAAa,EACzD,SAAS,iBAAiB,UAAW,KAAK,WAAW,EACrD,SAAS,iBAAiB,WAAY,KAAK,WAAW,EACtD,KAAK,qBAAqBA,CAAG,CAC/B,CAEQ,QAAQA,EAAoC,CAClDA,EAAI,eAAe,EACnB,KAAK,qBAAqBA,CAAG,CAC/B,CAEQ,MAAMA,EAAoC,CAChD,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,UAAW,KAAK,WAAW,EACxD,SAAS,oBAAoB,WAAY,KAAK,WAAW,EACzD,KAAK,qBAAqBA,CAAG,EAC7B,KAAK,cAAc,MAAM,CAC3B,CAEQ,qBAAqBA,EAAoC,CAC/D,IAAMU,EAAe,SAAS,KAAKV,EAAI,IAAI,EACrCW,EAAID,EAAeV,EAAI,QAAUA,EAAI,eAAe,CAAC,EAAE,QACvDY,EAAIF,EAAeV,EAAI,QAAUA,EAAI,eAAe,CAAC,EAAE,QACvDa,EAAS,KAAK,wBAAwBF,EAAGC,CAAC,EAChD,KAAK,kBAAkBC,EAAO,EAAGA,EAAO,CAAC,EACzC,KAAK,UAAY,UAAWA,EAAO,EAAIA,EAAO,MAAS,KAAK,SAAS,EAAG,EAAE,EAC1E,KAAK,UAAY,KAAK,IAAI,UAAWA,EAAO,EAAIA,EAAO,OAAU,KAAK,SAAS,EAAG,EAAE,EAAI,GAAG,EAC3F,KAAK,QAAQ,CACf,CAEQ,wBAAwBC,EAAcC,EAAuE,CACnH,OAAOC,EAAeF,EAAMC,EAAM,KAAK,YAAY,CACrD,CAEQ,kBAAkBE,EAAkBC,EAAwB,CAClE,KAAK,cAAc,MAAM,KAAO,GAAGD,MACnC,KAAK,cAAc,MAAM,IAAM,GAAGC,KACpC,CAEQ,SAAgB,CAClB,OAAO,KAAK,iBAAoB,YAClC,KAAK,gBAAgB,KAAK,UAAW,KAAK,SAAS,CAEvD,CACF,ECzIO,IAAMC,EAAN,KAAwB,CAW7B,YAAoBC,EAAmCC,EAA0C,CAA7E,kBAAAD,EAAmC,qBAAAC,EAVvD,KAAQ,SAAW,EACnB,KAAQ,KAAO,EACf,KAAQ,KAAO,EACf,KAAQ,MAAQ,IAQd,KAAK,iBAAmBC,GAAO,KAAK,WAAWA,CAAG,EAClD,KAAK,cAAgBA,GAAO,KAAK,QAAQA,CAAG,EAC5C,KAAK,cAAgBA,GAAO,KAAK,QAAQA,CAAG,EAC5C,KAAK,YAAcA,GAAO,KAAK,MAAMA,CAAG,EACxC,KAAK,YAAY,CACnB,CAEO,SAAgB,CACrB,KAAK,UAAU,CACjB,CAEO,SAASC,EAAqB,CACnC,KAAK,SAAWA,EAChB,KAAK,kBAAkB,KAAK,QAAQ,CACtC,CAEQ,aAAoB,CAC1B,KAAK,cAAgB,KAAK,aAAa,cAAcC,EAAuB,UAAU,YAAY,EAClG,KAAK,QAAQ,EACb,KAAK,kBAAkB,KAAK,QAAQ,CACtC,CAEQ,SAAgB,CACtB,KAAK,cAAc,iBAAiB,UAAW,KAAK,gBAAgB,EACpE,KAAK,aAAa,iBAAiB,YAAa,KAAK,aAAa,EAClE,KAAK,aAAa,iBAAiB,aAAc,KAAK,aAAa,CACrE,CAEQ,WAAkB,CACxB,KAAK,cAAc,oBAAoB,UAAW,KAAK,gBAAgB,EACvE,KAAK,aAAa,oBAAoB,YAAa,KAAK,aAAa,EACrE,KAAK,aAAa,oBAAoB,aAAc,KAAK,aAAa,EACtE,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,UAAW,KAAK,WAAW,EACxD,SAAS,oBAAoB,WAAY,KAAK,WAAW,CAC3D,CAEQ,WAAWF,EAA0B,CAC3C,IAAMG,EAAiBH,EAAI,MAAQ,aAAeA,EAAI,UAAY,GAC5DI,EAAkBJ,EAAI,MAAQ,cAAgBA,EAAI,UAAY,GAC9DK,EAAYL,EAAI,MAAQ,QAAUA,EAAI,UAAY,GAClDM,EAAWN,EAAI,MAAQ,OAASA,EAAI,UAAY,GAElDG,GACFH,EAAI,eAAe,EACnB,KAAK,UAAY,KAAK,OACbI,GACTJ,EAAI,eAAe,EACnB,KAAK,UAAY,KAAK,OACbK,GACTL,EAAI,eAAe,EACnB,KAAK,SAAW,KAAK,MACZM,IACTN,EAAI,eAAe,EACnB,KAAK,SAAW,KAAK,MAGnB,KAAK,SAAW,KAAK,KACvB,KAAK,SAAW,KAAK,KACZ,KAAK,SAAW,KAAK,OAC9B,KAAK,SAAW,KAAK,MAGvB,KAAK,kBAAkB,KAAK,QAAQ,EACpC,KAAK,QAAQ,CACf,CAEQ,QAAQA,EAAoC,CAClDA,EAAI,eAAe,EACnB,SAAS,iBAAiB,YAAa,KAAK,aAAa,EACzD,SAAS,iBAAiB,YAAa,KAAK,aAAa,EACzD,SAAS,iBAAiB,UAAW,KAAK,WAAW,EACrD,SAAS,iBAAiB,WAAY,KAAK,WAAW,EACtD,KAAK,qBAAqBA,CAAG,CAC/B,CAEQ,QAAQA,EAAoC,CAClDA,EAAI,eAAe,EACnB,KAAK,cAAc,UAAU,IAAIE,EAAuB,QAAQ,mBAAmB,EACnF,KAAK,qBAAqBF,CAAG,CAC/B,CAEQ,MAAMA,EAAoC,CAChD,KAAK,cAAc,UAAU,OAAOE,EAAuB,QAAQ,mBAAmB,EACtF,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,YAAa,KAAK,aAAa,EAC5D,SAAS,oBAAoB,UAAW,KAAK,WAAW,EACxD,SAAS,oBAAoB,WAAY,KAAK,WAAW,EACzD,KAAK,qBAAqBF,CAAG,EAC7B,KAAK,cAAc,MAAM,CAC3B,CAEQ,qBAAqBA,EAAoC,CAC/D,IAAMO,EAAI,SAAS,KAAKP,EAAI,IAAI,EAAIA,EAAI,QAAUA,EAAI,eAAe,CAAC,EAAE,QACxE,KAAK,SAAW,KAAK,wBAAwBO,CAAC,EAC9C,KAAK,kBAAkB,KAAK,QAAQ,EACpC,KAAK,QAAQ,CACf,CAEQ,wBAAwBC,EAAsB,CACpD,IAAMC,EAASC,EAAeF,EAAM,EAAG,KAAK,YAAY,EACxD,OAAO,YAAYC,EAAO,EAAIA,EAAO,OAAO,QAAQ,CAAC,CAAC,CACxD,CAEQ,kBAAkBE,EAAuB,CAC/C,KAAK,cAAc,MAAM,KAAO,GAAGA,EAAU,MAC/C,CAEQ,SAAgB,CAClB,OAAO,KAAK,iBAAoB,YAClC,KAAK,gBAAgB,KAAK,QAAQ,CAEtC,CACF,ECxHO,IAAMC,EAAN,KAA8D,CAqBnE,YAAoBC,EAA+B,CAA/B,cAAAA,EApBpB,KAAQ,OAAoC,KAC5C,KAAQ,cAAgB,GACxB,KAAQ,KAAOC,EACf,KAAQ,MAAe,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAE,EAChD,KAAQ,MAAe,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAE,EAChD,KAAQ,qBAAuB,GAC/B,KAAQ,iBAIR,KAAQ,aAAe,GAWrB,KAAK,+BAAiC,CAACC,EAAGC,IAAM,KAAK,yBAAyBD,EAAGC,CAAC,EAClF,KAAK,0BAA4BC,GAAS,KAAK,oBAAoBA,CAAK,EACxE,KAAK,8BAAgCA,GAAS,KAAK,wBAAwBA,CAAK,EAChF,KAAK,mBAAqBC,GAAO,KAAK,eAAeA,CAAG,EACxD,KAAK,yBAA2BA,GAAO,KAAK,mBAAmB,EAC/D,KAAK,0BAA4BA,GAAO,KAAK,oBAAoB,EACjE,KAAK,0BAA4BA,GAAO,KAAK,oBAAoB,CACnE,CAEO,YAAmB,CACxB,KAAK,aAAe,GACpB,KAAK,yBAAyB,EAC9B,KAAK,SAAS,qBAAqB,KAAK,kBAAkB,EAC1D,KAAK,SAAS,oBAAoB,QAAS,KAAK,wBAAwB,EACxE,KAAK,SAAS,qBAAqB,QAAS,KAAK,yBAAyB,EAC1E,KAAK,SAAS,qBAAqB,QAAS,KAAK,yBAAyB,EAC1E,KAAK,gBAAkB,IAAIC,EAA0B,KAAK,SAAS,mBAAmB,EAAG,KAAK,8BAA8B,EAC5H,KAAK,WAAa,IAAIC,EAAkB,KAAK,SAAS,oBAAoB,EAAG,KAAK,yBAAyB,EAC3G,KAAK,eAAiB,IAAIA,EAAkB,KAAK,SAAS,wBAAwB,EAAG,KAAK,6BAA6B,EAEvH,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,SAAS,mBAAmB,KAAK,UAAU,CAClD,CAEO,YAAmB,CACxB,KAAK,SAAS,wBAAwB,KAAK,kBAAkB,EAC7D,KAAK,SAAS,uBAAuB,QAAS,KAAK,wBAAwB,EAC3E,KAAK,SAAS,wBAAwB,QAAS,KAAK,wBAAwB,EAC5E,KAAK,SAAS,wBAAwB,QAAS,KAAK,wBAAwB,EAE5E,KAAK,gBAAgB,QAAQ,EAC7B,KAAK,WAAW,QAAQ,EACxB,KAAK,eAAe,QAAQ,EAC5B,KAAK,aAAe,EACtB,CAEQ,0BAAiC,CACnC,KAAK,qBACP,KAAK,oBAAsBC,EAAS,CAACC,EAAkCC,IAAyC,CAC9G,KAAK,iBAAiBD,EAAMC,CAAM,CACpC,EAAGC,EAAuB,QAAQ,gCAAiC,EAAK,EAExE,KAAK,oBAAsB,CAACF,EAAMC,IAAW,KAAK,iBAAiBD,EAAMC,CAAM,CAEnF,CAEQ,oBAA2B,CACjC,KAAK,MAAM,EAAI,EACf,KAAK,SAAS,sBAAsB,KAAK,aAAa,EACtD,KAAK,QAAQ,CACf,CAEQ,eAAeL,EAAuB,CACxC,KAAK,mBACP,KAAK,kBACI,KAAK,oBACd,KAAK,kBACI,KAAK,sBACd,KAAK,kBAGP,KAAK,SAAS,mBAAmB,KAAK,UAAU,EAChD,KAAK,SAAS,gBAAgB,KAAK,UAAU,CAC/C,CAEQ,oBAA2B,CACjC,IAAMD,EAAQ,KAAK,SAAS,iBAAiB,EACzCQ,EAAWR,CAAK,IAClB,KAAK,MAAQA,EACb,KAAK,oBAAoB,QAAS,KAAK,EAE3C,CAEQ,qBAA4B,CAClC,IAAMA,EAAQ,KAAK,SAAS,kBAAkB,EAC1CS,EAAYT,CAAK,IACnB,KAAK,MAAQU,EAAUV,CAAK,EAC5B,KAAK,oBAAoB,QAAS,MAAM,EAE5C,CAEQ,qBAA4B,CAClC,IAAMA,EAAQ,KAAK,SAAS,kBAAkB,EAC1CW,EAAYX,CAAK,IACnB,KAAK,MAAQU,EAAUE,EAAWZ,CAAK,CAAC,EACxC,KAAK,oBAAoB,QAAS,MAAM,EAE5C,CAEQ,kBAAyB,CAC/B,KAAK,MAAQa,EAAU,KAAK,IAAI,EAChC,KAAK,MAAQC,EAAW,KAAK,KAAK,EAE9B,KAAK,eACP,KAAK,gBAAgB,SAAS,KAAK,MAAM,EAAG,KAAK,MAAM,CAAC,EACxD,KAAK,WAAW,SAAS,YAAY,KAAK,MAAM,EAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EACpE,KAAK,eAAe,SAAS,KAAK,MAAM,CAAC,EACzC,KAAK,QAAQ,EAEjB,CAEQ,yBAAyBhB,EAAWC,EAAiB,CAC3D,KAAK,MAAM,EAAID,EACf,KAAK,MAAM,EAAIC,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,oBAAoB,SAAU,UAAU,CAC/C,CAEQ,oBAAoBC,EAAqB,CAC/C,KAAK,MAAM,EAAI,UAAU,IAAMA,GAAO,SAAS,EAAG,EAAE,EACpD,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,oBAAoB,SAAU,KAAK,CAC1C,CAEQ,wBAAwBA,EAAqB,CACnD,KAAK,MAAM,EAAIA,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,oBAAoB,SAAU,SAAS,CAC9C,CAEQ,mBAA0B,CAChC,IAAMe,EAAOH,EAAW,CAAE,EAAG,KAAK,MAAM,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,CAAE,CAAC,EACjE,KAAK,SAAS,iBAAiB,OAAOG,EAAK,MAAMA,EAAK,MAAMA,EAAK,IAAI,CACvE,CAEQ,aAAoB,CAC1B,KAAK,MAAQH,EAAW,KAAK,KAAK,EAClC,KAAK,KAAOF,EAAU,KAAK,KAAK,EAChC,KAAK,OAAS,KAAK,MAAQ,IAC7B,CAEQ,SAAgB,CACtB,KAAK,kBAAkB,EACvB,KAAK,SAAS,gBAAgBM,EAAW,KAAK,KAAK,CAAC,EACpD,KAAK,SAAS,iBAAiB,KAAK,iBAAiB,CAAC,EACtD,KAAK,SAAS,kBAAkB,KAAK,KAAK,EAC1C,KAAK,SAAS,kBAAkB,KAAK,KAAK,EAC1C,KAAK,SAAS,WAAW,KAAK,MAAM,EAAG,KAAK,MAAM,KAAK,MAAM,EAAI,GAAG,CAAC,CACvE,CAEQ,kBAA2B,CACjC,OAAOC,EAAU,KAAK,KAAM,EAAK,CACnC,CAEQ,iBAAiBZ,EAAkCC,EAA4C,CACrG,IAAMY,EAAoC,CACxC,KAAAb,EACA,OAAAC,EACA,IAAKW,EAAU,KAAK,KAAM,EAAK,EAAE,QAAQ,KAAM,EAAE,EACjD,KAAM,KAAK,MACX,KAAM,KAAK,KACb,EACI,KAAK,gBACPC,EAAK,MAAQ,KAAK,MAAM,GAE1B,KAAK,SAAS,cAAcX,EAAuB,OAAO,OAAQW,CAAI,CACxE,CAEA,IAAW,OAAmC,CAC5C,OAAO,KAAK,iBAAiB,CAC/B,CACA,IAAW,MAAMlB,EAAkC,CACjD,GAAI,KAAK,SAAWA,EAAO,CAGzB,GAFA,KAAK,OAASA,GAASH,EAEnB,CAACW,EAAW,KAAK,MAAM,EACzB,MAAM,IAAI,MAAM,6BAA6B,EAG/C,KAAK,KAAO,KAAK,OAAO,QAAQ,KAAM,EAAE,EACxC,KAAK,iBAAiB,EACtB,KAAK,SAAS,iBAAiBD,EAAuB,WAAW,MAAO,KAAK,MAAM,EAEvF,CAEA,IAAW,MAAiC,CAC1C,OAAS,KAAK,MAAQY,EAAA,GAAK,KAAK,OAAU,IAC5C,CACA,IAAW,KAAKnB,EAAiC,CAC3CA,EACES,EAAYT,CAAK,IACnB,KAAK,MAAQU,EAAUV,CAAK,GAG9B,KAAK,MAAQ,IAEjB,CAEA,IAAW,MAAiC,CAC1C,OAAS,KAAK,MAAQmB,EAAA,GAAK,KAAK,OAAU,IAC5C,CACA,IAAW,KAAKnB,EAAiC,CAC3CA,EACEW,EAAYX,CAAK,IACnB,KAAK,MAAQU,EAAUE,EAAWZ,CAAK,CAAC,GAG1C,KAAK,MAAQ,IAEjB,CAEA,IAAW,SAAqC,CAC9C,OAAO,KAAK,MAAQ,KAAK,MAAM,EAAI,IACrC,CACA,IAAW,QAAQA,EAAkC,CAC/C,KAAK,MAAM,IAAMA,GACfA,GAAS,MAAQ,KAAK,gBACpBA,GAAS,GAAKA,GAAS,GACzB,KAAK,MAAM,EAAIA,EACf,KAAK,YAAY,EAEb,KAAK,eACP,KAAK,eAAe,SAAS,KAAK,MAAM,CAAC,EACzC,KAAK,QAAQ,IAGf,QAAQ,KAAK,+BAA+BA,6BAAiC,EAIrF,CAEA,IAAW,cAAwB,CACjC,OAAO,KAAK,aACd,CACA,IAAW,aAAaA,EAAgB,CACtC,KAAK,cAAgBA,EACjB,KAAK,cACP,KAAK,mBAAmB,CAE5B,CAEA,IAAW,qBAA+B,CACxC,OAAO,KAAK,oBACd,CACA,IAAW,oBAAoBA,EAAgB,CACzC,KAAK,uBAAyBA,IAChC,KAAK,qBAAuBA,EACxB,KAAK,cACP,KAAK,yBAAyB,EAGpC,CACF,ECpRA,IAAMoB,GAAW,gjKACXC,GAAS,qggBAiCFC,EAAN,cAAmCC,CAA+C,CAWvF,aAAc,CACZ,MAAM,EACNC,EAAa,OAAOC,CAAiB,EACrCC,EAAqB,KAAMN,GAAUC,EAAM,EAC3C,KAAK,YAAc,IAAIM,EAAsB,IAAIC,EAAmB,IAAI,CAAC,CAC3E,CAfA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAuB,WAAW,MAClCA,EAAuB,WAAW,cAClCA,EAAuB,WAAW,qBACpC,CACF,CAWO,mBAA0B,CAC/B,KAAK,YAAY,WAAW,CAC9B,CAEO,sBAA6B,CAClC,KAAK,YAAY,WAAW,CAC9B,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAuB,WAAW,MACrC,KAAK,MAAQG,EACb,MACF,KAAKH,EAAuB,WAAW,cACrC,KAAK,aAAeI,EAAcD,CAAQ,EAC1C,MACF,KAAKH,EAAuB,WAAW,sBACrC,KAAK,oBAAsBI,EAAcD,CAAQ,EACjD,KACJ,CACF,CAyBF,EArBiBE,EAAA,CADdC,EAAmB,GAzCTb,EA0CI,qBAIAY,EAAA,CADdC,EAAmB,GA7CTb,EA8CI,oBAIAY,EAAA,CADdC,EAAmB,GAjDTb,EAkDI,oBAIAY,EAAA,CADdC,EAAmB,GArDTb,EAsDI,uBAIAY,EAAA,CADdC,EAAmB,GAzDTb,EA0DI,4BAIAY,EAAA,CADdC,EAAmB,GA7DTb,EA8DI,mCA9DJA,EAANY,EAAA,CARNE,EAAc,CACb,KAAMP,EAAuB,YAC7B,aAAc,CACZQ,EACAC,EACAC,CACF,CACF,CAAC,GACYjB,GCnCN,SAASkB,IAAmC,CACjDC,EAAoBC,CAAoB,CAC1C",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "numbers", "COLOR_PICKER_CONSTANTS", "DEFAULT_COLOR", "ColorPickerValueType", "ColorPickerAdapter", "BaseAdapter", "component", "getShadowElement", "COLOR_PICKER_CONSTANTS", "rgbaStyle", "value", "rgba", "hsva", "hueValue", "opacityValue", "type", "listener", "visible", "relativeCoords", "absX", "absY", "element", "bounds", "x", "y", "hsvaToRgba", "hsva", "r", "g", "b", "h", "s", "v", "i", "f", "p", "q", "t", "rgbaToHex", "rgba", "toHex", "hexToRgba", "hex", "isShorthand", "hexR", "hexG", "hexB", "hexA", "formatRgba", "formatHex", "value", "allowOpacity", "rgbaToHsva", "max", "min", "d", "isValidHex", "isValidRGBA", "isNumber", "isValidHSVA", "ColorPickerGradientSlider", "_rootElement", "_changeListener", "evt", "saturation", "value", "bounds", "COLOR_PICKER_CONSTANTS", "isEnterKey", "isArrowLeftKey", "isArrowUpKey", "isArrowRightKey", "isArrowDownKey", "isMouseEvent", "x", "y", "coords", "absX", "absY", "relativeCoords", "xPercent", "yPercent", "ColorPickerSlider", "_rootElement", "_changeListener", "evt", "value", "COLOR_PICKER_CONSTANTS", "isArrowLeftKey", "isArrowRightKey", "isHomeKey", "isEndKey", "x", "absX", "coords", "relativeCoords", "percent", "ColorPickerFoundation", "_adapter", "DEFAULT_COLOR", "x", "y", "value", "evt", "ColorPickerGradientSlider", "ColorPickerSlider", "debounce", "type", "source", "COLOR_PICKER_CONSTANTS", "isValidHex", "isValidRGBA", "rgbaToHex", "isValidHSVA", "hsvaToRgba", "hexToRgba", "rgbaToHsva", "rgba", "formatRgba", "formatHex", "data", "__spreadValues", "template", "styles", "ColorPickerComponent", "BaseComponent", "IconRegistry", "tylIconUnfoldMore", "attachShadowTemplate", "ColorPickerFoundation", "ColorPickerAdapter", "COLOR_PICKER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconButtonComponent", "TooltipComponent", "IconComponent", "defineColorPickerComponent", "defineCustomElement", "ColorPickerComponent"]
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._hex}`);\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 _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 formatHex(this._hex, false);\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:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.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:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);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:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);-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
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "events", "numbers", "COLOR_PICKER_CONSTANTS", "DEFAULT_COLOR", "ColorPickerValueType", "ColorPickerAdapter", "BaseAdapter", "component", "getShadowElement", "COLOR_PICKER_CONSTANTS", "rgbaStyle", "value", "rgba", "hsva", "hueValue", "opacityValue", "type", "listener", "visible", "relativeCoords", "absX", "absY", "element", "bounds", "x", "y", "hsvaToRgba", "hsva", "r", "g", "b", "h", "s", "v", "i", "f", "p", "q", "t", "rgbaToHex", "rgba", "toHex", "hexToRgba", "hex", "isShorthand", "hexR", "hexG", "hexB", "hexA", "formatRgba", "formatHex", "value", "allowOpacity", "rgbaToHsva", "max", "min", "d", "isValidHex", "isValidRGBA", "isNumber", "isValidHSVA", "ColorPickerGradientSlider", "_rootElement", "_changeListener", "evt", "saturation", "value", "bounds", "COLOR_PICKER_CONSTANTS", "isEnterKey", "isArrowLeftKey", "isArrowUpKey", "isArrowRightKey", "isArrowDownKey", "isMouseEvent", "x", "y", "coords", "absX", "absY", "relativeCoords", "xPercent", "yPercent", "ColorPickerSlider", "_rootElement", "_changeListener", "evt", "value", "COLOR_PICKER_CONSTANTS", "isArrowLeftKey", "isArrowRightKey", "isHomeKey", "isEndKey", "x", "absX", "coords", "relativeCoords", "percent", "ColorPickerFoundation", "_adapter", "DEFAULT_COLOR", "x", "y", "value", "evt", "ColorPickerGradientSlider", "ColorPickerSlider", "debounce", "type", "source", "COLOR_PICKER_CONSTANTS", "isValidHex", "isValidRGBA", "rgbaToHex", "isValidHSVA", "hsvaToRgba", "hexToRgba", "rgbaToHsva", "rgba", "formatRgba", "data", "formatHex", "__spreadValues", "template", "styles", "ColorPickerComponent", "BaseComponent", "IconRegistry", "tylIconUnfoldMore", "attachShadowTemplate", "ColorPickerFoundation", "ColorPickerAdapter", "COLOR_PICKER_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "IconButtonComponent", "TooltipComponent", "IconComponent", "defineColorPickerComponent", "defineCustomElement", "ColorPickerComponent"]
7
7
  }