ngx-color 7.1.0 → 7.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/alpha/alpha-picker.component.d.ts +8 -0
  2. package/alpha/ngx-color-alpha.d.ts +2 -1
  3. package/alpha/package.json +6 -10
  4. package/alpha/public_api.d.ts +1 -0
  5. package/alpha.component.d.ts +9 -0
  6. package/block/block-swatches.component.d.ts +13 -8
  7. package/block/block.component.d.ts +9 -0
  8. package/block/ngx-color-block.d.ts +2 -2
  9. package/block/package.json +6 -10
  10. package/block/public_api.d.ts +2 -0
  11. package/checkboard.component.d.ts +7 -0
  12. package/chrome/chrome-fields.component.d.ts +3 -0
  13. package/chrome/chrome.component.d.ts +9 -0
  14. package/chrome/ngx-color-chrome.d.ts +2 -2
  15. package/chrome/package.json +6 -10
  16. package/chrome/public_api.d.ts +2 -0
  17. package/circle/circle-swatch.component.d.ts +3 -0
  18. package/circle/circle.component.d.ts +9 -0
  19. package/circle/ngx-color-circle.d.ts +2 -2
  20. package/circle/package.json +9 -10
  21. package/circle/public_api.d.ts +2 -0
  22. package/color-wrap.component.d.ts +7 -0
  23. package/compact/compact-color.component.d.ts +3 -0
  24. package/compact/compact-fields.component.d.ts +3 -0
  25. package/compact/compact.component.d.ts +10 -0
  26. package/compact/ngx-color-compact.d.ts +2 -3
  27. package/compact/package.json +6 -10
  28. package/compact/public_api.d.ts +3 -0
  29. package/coordinates.directive.d.ts +6 -0
  30. package/editable-input.component.d.ts +7 -0
  31. package/esm2020/alpha/alpha-picker.component.mjs +116 -0
  32. package/esm2020/alpha/ngx-color-alpha.mjs +5 -0
  33. package/esm2020/alpha/public_api.mjs +2 -0
  34. package/esm2020/alpha.component.mjs +186 -0
  35. package/esm2020/block/block-swatches.component.mjs +74 -0
  36. package/esm2020/block/block.component.mjs +199 -0
  37. package/esm2020/block/ngx-color-block.mjs +5 -0
  38. package/esm2020/block/public_api.mjs +3 -0
  39. package/esm2020/checkboard.component.mjs +66 -0
  40. package/esm2020/chrome/chrome-fields.component.mjs +356 -0
  41. package/esm2020/chrome/chrome.component.mjs +249 -0
  42. package/esm2020/chrome/ngx-color-chrome.mjs +5 -0
  43. package/esm2020/chrome/public_api.mjs +3 -0
  44. package/esm2020/circle/circle-swatch.component.mjs +85 -0
  45. package/esm2020/circle/circle.component.mjs +148 -0
  46. package/esm2020/circle/ngx-color-circle.mjs +5 -0
  47. package/esm2020/circle/public_api.mjs +3 -0
  48. package/esm2020/color-wrap.component.mjs +163 -0
  49. package/esm2020/compact/compact-color.component.mjs +91 -0
  50. package/esm2020/compact/compact-fields.component.mjs +186 -0
  51. package/esm2020/compact/compact.component.mjs +177 -0
  52. package/esm2020/compact/ngx-color-compact.mjs +5 -0
  53. package/esm2020/compact/public_api.mjs +4 -0
  54. package/esm2020/coordinates.directive.mjs +104 -0
  55. package/esm2020/editable-input.component.mjs +217 -0
  56. package/esm2020/github/github-swatch.component.mjs +67 -0
  57. package/esm2020/github/github.component.mjs +179 -0
  58. package/esm2020/github/ngx-color-github.mjs +5 -0
  59. package/esm2020/github/public_api.mjs +3 -0
  60. package/esm2020/helpers/checkboard.mjs +33 -0
  61. package/esm2020/helpers/color.interfaces.mjs +2 -0
  62. package/esm2020/helpers/color.mjs +60 -0
  63. package/esm2020/hue/hue-picker.component.mjs +113 -0
  64. package/esm2020/hue/ngx-color-hue.mjs +5 -0
  65. package/esm2020/hue/public_api.mjs +2 -0
  66. package/esm2020/hue.component.mjs +165 -0
  67. package/esm2020/material/material.component.mjs +211 -0
  68. package/esm2020/material/ngx-color-material.mjs +5 -0
  69. package/esm2020/material/public_api.mjs +2 -0
  70. package/esm2020/ngx-color.mjs +5 -0
  71. package/esm2020/photoshop/ngx-color-photoshop.mjs +5 -0
  72. package/esm2020/photoshop/photoshop-button.component.mjs +63 -0
  73. package/esm2020/photoshop/photoshop-fields.component.mjs +241 -0
  74. package/esm2020/photoshop/photoshop-previews.component.mjs +68 -0
  75. package/esm2020/photoshop/photoshop.component.mjs +258 -0
  76. package/esm2020/photoshop/public_api.mjs +5 -0
  77. package/esm2020/public_api.mjs +14 -0
  78. package/esm2020/raised.component.mjs +89 -0
  79. package/esm2020/saturation.component.mjs +136 -0
  80. package/esm2020/shade/ngx-color-shade.mjs +5 -0
  81. package/esm2020/shade/public_api.mjs +2 -0
  82. package/esm2020/shade/shade-picker.component.mjs +105 -0
  83. package/esm2020/shade.component.mjs +165 -0
  84. package/esm2020/sketch/ngx-color-sketch.mjs +5 -0
  85. package/esm2020/sketch/public_api.mjs +4 -0
  86. package/esm2020/sketch/sketch-fields.component.mjs +243 -0
  87. package/esm2020/sketch/sketch-preset-colors.component.mjs +98 -0
  88. package/esm2020/sketch/sketch.component.mjs +283 -0
  89. package/esm2020/slider/ngx-color-slider.mjs +5 -0
  90. package/esm2020/slider/public_api.mjs +4 -0
  91. package/esm2020/slider/slider-swatch.component.mjs +80 -0
  92. package/esm2020/slider/slider-swatches.component.mjs +135 -0
  93. package/esm2020/slider/slider.component.mjs +116 -0
  94. package/esm2020/swatch.component.mjs +125 -0
  95. package/esm2020/swatches/ngx-color-swatches.mjs +5 -0
  96. package/esm2020/swatches/public_api.mjs +4 -0
  97. package/esm2020/swatches/swatches-color.component.mjs +123 -0
  98. package/esm2020/swatches/swatches-group.component.mjs +64 -0
  99. package/esm2020/swatches/swatches.component.mjs +258 -0
  100. package/esm2020/twitter/ngx-color-twitter.mjs +5 -0
  101. package/esm2020/twitter/public_api.mjs +2 -0
  102. package/esm2020/twitter/twitter.component.mjs +255 -0
  103. package/fesm2015/ngx-color-alpha.mjs +123 -0
  104. package/fesm2015/ngx-color-alpha.mjs.map +1 -0
  105. package/fesm2015/ngx-color-block.mjs +275 -0
  106. package/fesm2015/ngx-color-block.mjs.map +1 -0
  107. package/fesm2015/ngx-color-chrome.mjs +606 -0
  108. package/fesm2015/ngx-color-chrome.mjs.map +1 -0
  109. package/fesm2015/ngx-color-circle.mjs +237 -0
  110. package/fesm2015/ngx-color-circle.mjs.map +1 -0
  111. package/fesm2015/ngx-color-compact.mjs +451 -0
  112. package/fesm2015/ngx-color-compact.mjs.map +1 -0
  113. package/fesm2015/ngx-color-github.mjs +250 -0
  114. package/fesm2015/ngx-color-github.mjs.map +1 -0
  115. package/fesm2015/ngx-color-hue.mjs +120 -0
  116. package/fesm2015/ngx-color-hue.mjs.map +1 -0
  117. package/fesm2015/ngx-color-material.mjs +218 -0
  118. package/fesm2015/ngx-color-material.mjs.map +1 -0
  119. package/fesm2015/ngx-color-photoshop.mjs +626 -0
  120. package/fesm2015/ngx-color-photoshop.mjs.map +1 -0
  121. package/fesm2015/ngx-color-shade.mjs +112 -0
  122. package/fesm2015/ngx-color-shade.mjs.map +1 -0
  123. package/fesm2015/ngx-color-sketch.mjs +620 -0
  124. package/fesm2015/ngx-color-sketch.mjs.map +1 -0
  125. package/fesm2015/ngx-color-slider.mjs +331 -0
  126. package/fesm2015/ngx-color-slider.mjs.map +1 -0
  127. package/fesm2015/ngx-color-swatches.mjs +441 -0
  128. package/fesm2015/ngx-color-swatches.mjs.map +1 -0
  129. package/fesm2015/ngx-color-twitter.mjs +262 -0
  130. package/fesm2015/ngx-color-twitter.mjs.map +1 -0
  131. package/fesm2015/ngx-color.mjs +1461 -0
  132. package/fesm2015/ngx-color.mjs.map +1 -0
  133. package/fesm2020/ngx-color-alpha.mjs +123 -0
  134. package/fesm2020/ngx-color-alpha.mjs.map +1 -0
  135. package/fesm2020/ngx-color-block.mjs +275 -0
  136. package/fesm2020/ngx-color-block.mjs.map +1 -0
  137. package/fesm2020/ngx-color-chrome.mjs +606 -0
  138. package/fesm2020/ngx-color-chrome.mjs.map +1 -0
  139. package/fesm2020/ngx-color-circle.mjs +237 -0
  140. package/fesm2020/ngx-color-circle.mjs.map +1 -0
  141. package/fesm2020/ngx-color-compact.mjs +451 -0
  142. package/fesm2020/ngx-color-compact.mjs.map +1 -0
  143. package/fesm2020/ngx-color-github.mjs +250 -0
  144. package/fesm2020/ngx-color-github.mjs.map +1 -0
  145. package/fesm2020/ngx-color-hue.mjs +120 -0
  146. package/fesm2020/ngx-color-hue.mjs.map +1 -0
  147. package/fesm2020/ngx-color-material.mjs +218 -0
  148. package/fesm2020/ngx-color-material.mjs.map +1 -0
  149. package/fesm2020/ngx-color-photoshop.mjs +626 -0
  150. package/fesm2020/ngx-color-photoshop.mjs.map +1 -0
  151. package/fesm2020/ngx-color-shade.mjs +112 -0
  152. package/fesm2020/ngx-color-shade.mjs.map +1 -0
  153. package/fesm2020/ngx-color-sketch.mjs +620 -0
  154. package/fesm2020/ngx-color-sketch.mjs.map +1 -0
  155. package/fesm2020/ngx-color-slider.mjs +331 -0
  156. package/fesm2020/ngx-color-slider.mjs.map +1 -0
  157. package/fesm2020/ngx-color-swatches.mjs +441 -0
  158. package/fesm2020/ngx-color-swatches.mjs.map +1 -0
  159. package/fesm2020/ngx-color-twitter.mjs +262 -0
  160. package/fesm2020/ngx-color-twitter.mjs.map +1 -0
  161. package/fesm2020/ngx-color.mjs +1466 -0
  162. package/fesm2020/ngx-color.mjs.map +1 -0
  163. package/github/github-swatch.component.d.ts +3 -0
  164. package/github/github.component.d.ts +9 -0
  165. package/github/ngx-color-github.d.ts +2 -2
  166. package/github/package.json +6 -10
  167. package/github/public_api.d.ts +2 -0
  168. package/hue/hue-picker.component.d.ts +8 -0
  169. package/hue/ngx-color-hue.d.ts +2 -1
  170. package/hue/package.json +6 -10
  171. package/hue/public_api.d.ts +1 -0
  172. package/hue.component.d.ts +8 -0
  173. package/material/material.component.d.ts +8 -0
  174. package/material/ngx-color-material.d.ts +2 -1
  175. package/material/package.json +6 -10
  176. package/material/public_api.d.ts +1 -0
  177. package/ngx-color.d.ts +1 -0
  178. package/package.json +132 -9
  179. package/photoshop/ngx-color-photoshop.d.ts +2 -4
  180. package/photoshop/package.json +6 -10
  181. package/photoshop/photoshop-button.component.d.ts +3 -0
  182. package/photoshop/photoshop-fields.component.d.ts +3 -0
  183. package/photoshop/photoshop-previews.component.d.ts +3 -0
  184. package/photoshop/photoshop.component.d.ts +11 -0
  185. package/photoshop/public_api.d.ts +4 -0
  186. package/raised.component.d.ts +7 -0
  187. package/saturation.component.d.ts +8 -0
  188. package/shade/ngx-color-shade.d.ts +2 -1
  189. package/shade/package.json +6 -10
  190. package/shade/public_api.d.ts +1 -0
  191. package/shade/shade-picker.component.d.ts +8 -0
  192. package/shade.component.d.ts +8 -0
  193. package/sketch/ngx-color-sketch.d.ts +2 -3
  194. package/sketch/package.json +6 -10
  195. package/sketch/public_api.d.ts +3 -0
  196. package/sketch/sketch-fields.component.d.ts +3 -0
  197. package/sketch/sketch-preset-colors.component.d.ts +3 -0
  198. package/sketch/sketch.component.d.ts +10 -0
  199. package/slider/ngx-color-slider.d.ts +2 -3
  200. package/slider/package.json +6 -10
  201. package/slider/public_api.d.ts +3 -0
  202. package/slider/slider-swatch.component.d.ts +3 -0
  203. package/slider/slider-swatches.component.d.ts +3 -0
  204. package/slider/slider.component.d.ts +10 -0
  205. package/swatch.component.d.ts +8 -0
  206. package/swatches/ngx-color-swatches.d.ts +2 -3
  207. package/swatches/package.json +9 -10
  208. package/swatches/public_api.d.ts +3 -0
  209. package/swatches/swatches-color.component.d.ts +3 -0
  210. package/swatches/swatches-group.component.d.ts +3 -0
  211. package/swatches/swatches.component.d.ts +10 -0
  212. package/twitter/ngx-color-twitter.d.ts +2 -1
  213. package/twitter/package.json +6 -10
  214. package/twitter/public_api.d.ts +1 -0
  215. package/twitter/twitter.component.d.ts +8 -0
  216. package/alpha/bundles/ngx-color-alpha.umd.js +0 -400
  217. package/alpha/bundles/ngx-color-alpha.umd.js.map +0 -1
  218. package/alpha/esm2015/alpha-picker.component.js +0 -80
  219. package/alpha/esm2015/ngx-color-alpha.js +0 -5
  220. package/alpha/fesm2015/ngx-color-alpha.js +0 -87
  221. package/alpha/fesm2015/ngx-color-alpha.js.map +0 -1
  222. package/alpha/ngx-color-alpha.metadata.json +0 -1
  223. package/block/bundles/ngx-color-block.umd.js +0 -468
  224. package/block/bundles/ngx-color-block.umd.js.map +0 -1
  225. package/block/esm2015/block-swatches.component.js +0 -58
  226. package/block/esm2015/block.component.js +0 -147
  227. package/block/esm2015/ngx-color-block.js +0 -6
  228. package/block/fesm2015/ngx-color-block.js +0 -210
  229. package/block/fesm2015/ngx-color-block.js.map +0 -1
  230. package/block/ngx-color-block.metadata.json +0 -1
  231. package/bundles/ngx-color.umd.js +0 -1014
  232. package/bundles/ngx-color.umd.js.map +0 -1
  233. package/chrome/bundles/ngx-color-chrome.umd.js +0 -539
  234. package/chrome/bundles/ngx-color-chrome.umd.js.map +0 -1
  235. package/chrome/esm2015/chrome-fields.component.js +0 -255
  236. package/chrome/esm2015/chrome.component.js +0 -169
  237. package/chrome/esm2015/ngx-color-chrome.js +0 -6
  238. package/chrome/fesm2015/ngx-color-chrome.js +0 -428
  239. package/chrome/fesm2015/ngx-color-chrome.js.map +0 -1
  240. package/chrome/ngx-color-chrome.metadata.json +0 -1
  241. package/circle/bundles/ngx-color-circle.umd.js +0 -465
  242. package/circle/bundles/ngx-color-circle.umd.js.map +0 -1
  243. package/circle/esm2015/circle-swatch.component.js +0 -63
  244. package/circle/esm2015/circle.component.js +0 -105
  245. package/circle/esm2015/ngx-color-circle.js +0 -6
  246. package/circle/fesm2015/ngx-color-circle.js +0 -173
  247. package/circle/fesm2015/ngx-color-circle.js.map +0 -1
  248. package/circle/ngx-color-circle.metadata.json +0 -1
  249. package/compact/bundles/ngx-color-compact.umd.js +0 -575
  250. package/compact/bundles/ngx-color-compact.umd.js.map +0 -1
  251. package/compact/esm2015/compact-color.component.js +0 -70
  252. package/compact/esm2015/compact-fields.component.js +0 -142
  253. package/compact/esm2015/compact.component.js +0 -131
  254. package/compact/esm2015/ngx-color-compact.js +0 -7
  255. package/compact/fesm2015/ngx-color-compact.js +0 -344
  256. package/compact/fesm2015/ngx-color-compact.js.map +0 -1
  257. package/compact/ngx-color-compact.metadata.json +0 -1
  258. package/esm2015/alpha.component.js +0 -156
  259. package/esm2015/checkboard.component.js +0 -52
  260. package/esm2015/color-wrap.component.js +0 -145
  261. package/esm2015/coordinates.directive.js +0 -85
  262. package/esm2015/editable-input.component.js +0 -183
  263. package/esm2015/helpers/checkboard.js +0 -33
  264. package/esm2015/helpers/color.interfaces.js +0 -2
  265. package/esm2015/helpers/color.js +0 -60
  266. package/esm2015/hue.component.js +0 -140
  267. package/esm2015/ngx-color.js +0 -5
  268. package/esm2015/public_api.js +0 -14
  269. package/esm2015/raised.component.js +0 -73
  270. package/esm2015/saturation.component.js +0 -111
  271. package/esm2015/shade.component.js +0 -127
  272. package/esm2015/swatch.component.js +0 -85
  273. package/fesm2015/ngx-color.js +0 -1228
  274. package/fesm2015/ngx-color.js.map +0 -1
  275. package/github/bundles/ngx-color-github.umd.js +0 -443
  276. package/github/bundles/ngx-color-github.umd.js.map +0 -1
  277. package/github/esm2015/github-swatch.component.js +0 -48
  278. package/github/esm2015/github.component.js +0 -142
  279. package/github/esm2015/ngx-color-github.js +0 -6
  280. package/github/fesm2015/ngx-color-github.js +0 -195
  281. package/github/fesm2015/ngx-color-github.js.map +0 -1
  282. package/github/ngx-color-github.metadata.json +0 -1
  283. package/hue/bundles/ngx-color-hue.umd.js +0 -403
  284. package/hue/bundles/ngx-color-hue.umd.js.map +0 -1
  285. package/hue/esm2015/hue-picker.component.js +0 -78
  286. package/hue/esm2015/ngx-color-hue.js +0 -5
  287. package/hue/fesm2015/ngx-color-hue.js +0 -85
  288. package/hue/fesm2015/ngx-color-hue.js.map +0 -1
  289. package/hue/ngx-color-hue.metadata.json +0 -1
  290. package/material/bundles/ngx-color-material.umd.js +0 -451
  291. package/material/bundles/ngx-color-material.umd.js.map +0 -1
  292. package/material/esm2015/material.component.js +0 -157
  293. package/material/esm2015/ngx-color-material.js +0 -5
  294. package/material/fesm2015/ngx-color-material.js +0 -164
  295. package/material/fesm2015/ngx-color-material.js.map +0 -1
  296. package/material/ngx-color-material.metadata.json +0 -1
  297. package/ngx-color.metadata.json +0 -1
  298. package/photoshop/bundles/ngx-color-photoshop.umd.js +0 -567
  299. package/photoshop/bundles/ngx-color-photoshop.umd.js.map +0 -1
  300. package/photoshop/esm2015/ngx-color-photoshop.js +0 -8
  301. package/photoshop/esm2015/photoshop-button.component.js +0 -50
  302. package/photoshop/esm2015/photoshop-fields.component.js +0 -180
  303. package/photoshop/esm2015/photoshop-previews.component.js +0 -53
  304. package/photoshop/esm2015/photoshop.component.js +0 -177
  305. package/photoshop/fesm2015/ngx-color-photoshop.js +0 -460
  306. package/photoshop/fesm2015/ngx-color-photoshop.js.map +0 -1
  307. package/photoshop/ngx-color-photoshop.metadata.json +0 -1
  308. package/shade/bundles/ngx-color-shade.umd.js +0 -395
  309. package/shade/bundles/ngx-color-shade.umd.js.map +0 -1
  310. package/shade/esm2015/ngx-color-shade.js +0 -5
  311. package/shade/esm2015/shade-picker.component.js +0 -71
  312. package/shade/fesm2015/ngx-color-shade.js +0 -78
  313. package/shade/fesm2015/ngx-color-shade.js.map +0 -1
  314. package/shade/ngx-color-shade.metadata.json +0 -1
  315. package/sketch/bundles/ngx-color-sketch.umd.js +0 -581
  316. package/sketch/bundles/ngx-color-sketch.umd.js.map +0 -1
  317. package/sketch/esm2015/ngx-color-sketch.js +0 -7
  318. package/sketch/esm2015/sketch-fields.component.js +0 -181
  319. package/sketch/esm2015/sketch-preset-colors.component.js +0 -76
  320. package/sketch/esm2015/sketch.component.js +0 -199
  321. package/sketch/fesm2015/ngx-color-sketch.js +0 -458
  322. package/sketch/fesm2015/ngx-color-sketch.js.map +0 -1
  323. package/sketch/ngx-color-sketch.metadata.json +0 -1
  324. package/slider/bundles/ngx-color-slider.umd.js +0 -466
  325. package/slider/bundles/ngx-color-slider.umd.js.map +0 -1
  326. package/slider/esm2015/ngx-color-slider.js +0 -7
  327. package/slider/esm2015/slider-swatch.component.js +0 -65
  328. package/slider/esm2015/slider-swatches.component.js +0 -84
  329. package/slider/esm2015/slider.component.js +0 -77
  330. package/slider/fesm2015/ngx-color-slider.js +0 -229
  331. package/slider/fesm2015/ngx-color-slider.js.map +0 -1
  332. package/slider/ngx-color-slider.metadata.json +0 -1
  333. package/swatches/bundles/ngx-color-swatches.umd.js +0 -608
  334. package/swatches/bundles/ngx-color-swatches.umd.js.map +0 -1
  335. package/swatches/esm2015/ngx-color-swatches.js +0 -7
  336. package/swatches/esm2015/swatches-color.component.js +0 -90
  337. package/swatches/esm2015/swatches-group.component.js +0 -42
  338. package/swatches/esm2015/swatches.component.js +0 -213
  339. package/swatches/fesm2015/ngx-color-swatches.js +0 -347
  340. package/swatches/fesm2015/ngx-color-swatches.js.map +0 -1
  341. package/swatches/ngx-color-swatches.metadata.json +0 -1
  342. package/twitter/bundles/ngx-color-twitter.umd.js +0 -429
  343. package/twitter/bundles/ngx-color-twitter.umd.js.map +0 -1
  344. package/twitter/esm2015/ngx-color-twitter.js +0 -5
  345. package/twitter/esm2015/twitter.component.js +0 -203
  346. package/twitter/fesm2015/ngx-color-twitter.js +0 -210
  347. package/twitter/fesm2015/ngx-color-twitter.js.map +0 -1
  348. package/twitter/ngx-color-twitter.metadata.json +0 -1
@@ -0,0 +1,243 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { isValidHex } from 'ngx-color';
3
+ import { TinyColor } from '@ctrl/tinycolor';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "ngx-color";
6
+ import * as i2 from "@angular/common";
7
+ export class SketchFieldsComponent {
8
+ constructor() {
9
+ this.disableAlpha = false;
10
+ this.onChange = new EventEmitter();
11
+ this.input = {
12
+ width: '100%',
13
+ padding: '4px 10% 3px',
14
+ border: 'none',
15
+ boxSizing: 'border-box',
16
+ boxShadow: 'inset 0 0 0 1px #ccc',
17
+ fontSize: '11px',
18
+ };
19
+ this.label = {
20
+ display: 'block',
21
+ textAlign: 'center',
22
+ fontSize: '11px',
23
+ color: '#222',
24
+ paddingTop: '3px',
25
+ paddingBottom: '4px',
26
+ textTransform: 'capitalize',
27
+ };
28
+ }
29
+ round(value) {
30
+ return Math.round(value);
31
+ }
32
+ handleChange({ data, $event }) {
33
+ if (data.hex) {
34
+ if (isValidHex(data.hex)) {
35
+ const color = new TinyColor(data.hex);
36
+ this.onChange.emit({
37
+ data: {
38
+ hex: this.disableAlpha || data.hex.length <= 6 ? color.toHex() : color.toHex8(),
39
+ source: 'hex',
40
+ },
41
+ $event,
42
+ });
43
+ }
44
+ }
45
+ else if (data.r || data.g || data.b) {
46
+ this.onChange.emit({
47
+ data: {
48
+ r: data.r || this.rgb.r,
49
+ g: data.g || this.rgb.g,
50
+ b: data.b || this.rgb.b,
51
+ source: 'rgb',
52
+ },
53
+ $event,
54
+ });
55
+ }
56
+ else if (data.a) {
57
+ if (data.a < 0) {
58
+ data.a = 0;
59
+ }
60
+ else if (data.a > 100) {
61
+ data.a = 100;
62
+ }
63
+ data.a /= 100;
64
+ if (this.disableAlpha) {
65
+ data.a = 1;
66
+ }
67
+ this.onChange.emit({
68
+ data: {
69
+ h: this.hsl.h,
70
+ s: this.hsl.s,
71
+ l: this.hsl.l,
72
+ a: Math.round(data.a * 100) / 100,
73
+ source: 'rgb',
74
+ },
75
+ $event,
76
+ });
77
+ }
78
+ else if (data.h || data.s || data.l) {
79
+ this.onChange.emit({
80
+ data: {
81
+ h: data.h || this.hsl.h,
82
+ s: Number((data.s && data.s) || this.hsl.s),
83
+ l: Number((data.l && data.l) || this.hsl.l),
84
+ source: 'hsl',
85
+ },
86
+ $event,
87
+ });
88
+ }
89
+ }
90
+ }
91
+ SketchFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ SketchFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SketchFieldsComponent, selector: "color-sketch-fields", inputs: { hsl: "hsl", rgb: "rgb", hex: "hex", disableAlpha: "disableAlpha" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
93
+ <div class="sketch-fields">
94
+ <div class="sketch-double">
95
+ <color-editable-input
96
+ [style]="{ input: input, label: label }"
97
+ label="hex"
98
+ [value]="hex.replace('#', '')"
99
+ (onChange)="handleChange($event)"
100
+ ></color-editable-input>
101
+ </div>
102
+ <div class="sketch-single">
103
+ <color-editable-input
104
+ [style]="{ input: input, label: label }"
105
+ label="r"
106
+ [value]="rgb.r"
107
+ (onChange)="handleChange($event)"
108
+ [dragLabel]="true"
109
+ [dragMax]="255"
110
+ ></color-editable-input>
111
+ </div>
112
+ <div class="sketch-single">
113
+ <color-editable-input
114
+ [style]="{ input: input, label: label }"
115
+ label="g"
116
+ [value]="rgb.g"
117
+ (onChange)="handleChange($event)"
118
+ [dragLabel]="true"
119
+ [dragMax]="255"
120
+ ></color-editable-input>
121
+ </div>
122
+ <div class="sketch-single">
123
+ <color-editable-input
124
+ [style]="{ input: input, label: label }"
125
+ label="b"
126
+ [value]="rgb.b"
127
+ (onChange)="handleChange($event)"
128
+ [dragLabel]="true"
129
+ [dragMax]="255"
130
+ ></color-editable-input>
131
+ </div>
132
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
133
+ <color-editable-input
134
+ [style]="{ input: input, label: label }"
135
+ label="a"
136
+ [value]="round(rgb.a * 100)"
137
+ (onChange)="handleChange($event)"
138
+ [dragLabel]="true"
139
+ [dragMax]="100"
140
+ ></color-editable-input>
141
+ </div>
142
+ </div>
143
+ `, isInline: true, styles: [".sketch-fields{display:flex;padding-top:4px}.sketch-double{flex:2 1 0%}.sketch-single{flex:1 1 0%;padding-left:6px}.sketch-alpha{flex:1 1 0%;padding-left:6px}:host-context([dir=rtl]) .sketch-single{padding-right:6px;padding-left:0}:host-context([dir=rtl]) .sketch-alpha{padding-right:6px;padding-left:0}\n"], components: [{ type: i1.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchFieldsComponent, decorators: [{
145
+ type: Component,
146
+ args: [{
147
+ selector: 'color-sketch-fields',
148
+ template: `
149
+ <div class="sketch-fields">
150
+ <div class="sketch-double">
151
+ <color-editable-input
152
+ [style]="{ input: input, label: label }"
153
+ label="hex"
154
+ [value]="hex.replace('#', '')"
155
+ (onChange)="handleChange($event)"
156
+ ></color-editable-input>
157
+ </div>
158
+ <div class="sketch-single">
159
+ <color-editable-input
160
+ [style]="{ input: input, label: label }"
161
+ label="r"
162
+ [value]="rgb.r"
163
+ (onChange)="handleChange($event)"
164
+ [dragLabel]="true"
165
+ [dragMax]="255"
166
+ ></color-editable-input>
167
+ </div>
168
+ <div class="sketch-single">
169
+ <color-editable-input
170
+ [style]="{ input: input, label: label }"
171
+ label="g"
172
+ [value]="rgb.g"
173
+ (onChange)="handleChange($event)"
174
+ [dragLabel]="true"
175
+ [dragMax]="255"
176
+ ></color-editable-input>
177
+ </div>
178
+ <div class="sketch-single">
179
+ <color-editable-input
180
+ [style]="{ input: input, label: label }"
181
+ label="b"
182
+ [value]="rgb.b"
183
+ (onChange)="handleChange($event)"
184
+ [dragLabel]="true"
185
+ [dragMax]="255"
186
+ ></color-editable-input>
187
+ </div>
188
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
189
+ <color-editable-input
190
+ [style]="{ input: input, label: label }"
191
+ label="a"
192
+ [value]="round(rgb.a * 100)"
193
+ (onChange)="handleChange($event)"
194
+ [dragLabel]="true"
195
+ [dragMax]="100"
196
+ ></color-editable-input>
197
+ </div>
198
+ </div>
199
+ `,
200
+ styles: [
201
+ `
202
+ .sketch-fields {
203
+ display: flex;
204
+ padding-top: 4px;
205
+ }
206
+ .sketch-double {
207
+ -webkit-box-flex: 2;
208
+ flex: 2 1 0%;
209
+ }
210
+ .sketch-single {
211
+ flex: 1 1 0%;
212
+ padding-left: 6px;
213
+ }
214
+ .sketch-alpha {
215
+ -webkit-box-flex: 1;
216
+ flex: 1 1 0%;
217
+ padding-left: 6px;
218
+ }
219
+ :host-context([dir=rtl]) .sketch-single {
220
+ padding-right: 6px;
221
+ padding-left: 0;
222
+ }
223
+ :host-context([dir=rtl]) .sketch-alpha {
224
+ padding-right: 6px;
225
+ padding-left: 0;
226
+ }
227
+ `,
228
+ ],
229
+ changeDetection: ChangeDetectionStrategy.OnPush,
230
+ preserveWhitespaces: false,
231
+ }]
232
+ }], propDecorators: { hsl: [{
233
+ type: Input
234
+ }], rgb: [{
235
+ type: Input
236
+ }], hex: [{
237
+ type: Input
238
+ }], disableAlpha: [{
239
+ type: Input
240
+ }], onChange: [{
241
+ type: Output
242
+ }] } });
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NrZXRjaC9za2V0Y2gtZmllbGRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQXdGNUMsTUFBTSxPQUFPLHFCQUFxQjtJQXRGbEM7UUEwRlcsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0MsVUFBSyxHQUE0QjtZQUMvQixLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLFlBQVk7WUFDdkIsU0FBUyxFQUFFLHNCQUFzQjtZQUNqQyxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDO1FBQ0YsVUFBSyxHQUE0QjtZQUMvQixPQUFPLEVBQUUsT0FBTztZQUNoQixTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsTUFBTTtZQUNiLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGFBQWEsRUFBRSxZQUFZO1NBQzVCLENBQUM7S0E2REg7SUEzREMsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDM0IsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lB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O0lBQ0gsQ0FBQzs7a0hBbEZVLHFCQUFxQjtzR0FBckIscUJBQXFCLDRLQXBGdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDsyRkFpQ1UscUJBQXFCO2tCQXRGakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtvQkFDRCxNQUFNLEVBQUU7d0JBQ047Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJEO3FCQUNBO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxtQkFBbUIsRUFBRSxLQUFLO2lCQUMzQjs4QkFFVSxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1ZhbGlkSGV4LCBIU0xBLCBSR0JBIH0gZnJvbSAnbmd4LWNvbG9yJztcbmltcG9ydCB7IFRpbnlDb2xvciB9IGZyb20gJ0BjdHJsL3Rpbnljb2xvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLXNrZXRjaC1maWVsZHMnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwic2tldGNoLWZpZWxkc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtZG91YmxlXCI+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgIGxhYmVsPVwiaGV4XCJcbiAgICAgICAgW3ZhbHVlXT1cImhleC5yZXBsYWNlKCcjJywgJycpXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtc2luZ2xlXCI+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgIGxhYmVsPVwiclwiXG4gICAgICAgIFt2YWx1ZV09XCJyZ2IuclwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkcmFnTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgIFtkcmFnTWF4XT1cIjI1NVwiXG4gICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2tldGNoLXNpbmdsZVwiPlxuICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICBsYWJlbD1cImdcIlxuICAgICAgICBbdmFsdWVdPVwicmdiLmdcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZHJhZ0xhYmVsXT1cInRydWVcIlxuICAgICAgICBbZHJhZ01heF09XCIyNTVcIlxuICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1zaW5nbGVcIj5cbiAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgbGFiZWw9XCJiXCJcbiAgICAgICAgW3ZhbHVlXT1cInJnYi5iXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2RyYWdMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgW2RyYWdNYXhdPVwiMjU1XCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtYWxwaGFcIiAqbmdJZj1cImRpc2FibGVBbHBoYSA9PT0gZmFsc2VcIj5cbiAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgbGFiZWw9XCJhXCJcbiAgICAgICAgW3ZhbHVlXT1cInJvdW5kKHJnYi5hICogMTAwKVwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkcmFnTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgIFtkcmFnTWF4XT1cIjEwMFwiXG4gICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAuc2tldGNoLWZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICB9XG4gICAgLnNrZXRjaC1kb3VibGUge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMjtcbiAgICAgIGZsZXg6IDIgMSAwJTtcbiAgICB9XG4gICAgLnNrZXRjaC1zaW5nbGUge1xuICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgfVxuICAgIC5za2V0Y2gtYWxwaGEge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIH1cbiAgICA6aG9zdC1jb250ZXh0KFtkaXI9cnRsXSkgLnNrZXRjaC1zaW5nbGUge1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICA6aG9zdC1jb250ZXh0KFtkaXI9cnRsXSkgLnNrZXRjaC1hbHBoYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNrZXRjaEZpZWxkc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGhzbCE6IEhTTEE7XG4gIEBJbnB1dCgpIHJnYiE6IFJHQkE7XG4gIEBJbnB1dCgpIGhleCE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZUFscGhhID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBpbnB1dDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBwYWRkaW5nOiAnNHB4IDEwJSAzcHgnLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIGJveFNoYWRvdzogJ2luc2V0IDAgMCAwIDFweCAjY2NjJyxcbiAgICBmb250U2l6ZTogJzExcHgnLFxuICB9O1xuICBsYWJlbDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIGZvbnRTaXplOiAnMTFweCcsXG4gICAgY29sb3I6ICcjMjIyJyxcbiAgICBwYWRkaW5nVG9wOiAnM3B4JyxcbiAgICBwYWRkaW5nQm90dG9tOiAnNHB4JyxcbiAgICB0ZXh0VHJhbnNmb3JtOiAnY2FwaXRhbGl6ZScsXG4gIH07XG5cbiAgcm91bmQodmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSk7XG4gIH1cbiAgaGFuZGxlQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICBpZiAoZGF0YS5oZXgpIHtcbiAgICAgIGlmIChpc1ZhbGlkSGV4KGRhdGEuaGV4KSkge1xuICAgICAgICBjb25zdCBjb2xvciA9IG5ldyBUaW55Q29sb3IoZGF0YS5oZXgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGhleDogdGhpcy5kaXNhYmxlQWxwaGEgfHwgZGF0YS5oZXgubGVuZ3RoIDw9IDYgPyBjb2xvci50b0hleCgpIDogY29sb3IudG9IZXg4KCksXG4gICAgICAgICAgICBzb3VyY2U6ICdoZXgnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRhdGEuciB8fCBkYXRhLmcgfHwgZGF0YS5iKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgcjogZGF0YS5yIHx8IHRoaXMucmdiLnIsXG4gICAgICAgICAgZzogZGF0YS5nIHx8IHRoaXMucmdiLmcsXG4gICAgICAgICAgYjogZGF0YS5iIHx8IHRoaXMucmdiLmIsXG4gICAgICAgICAgc291cmNlOiAncmdiJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLmEpIHtcbiAgICAgIGlmIChkYXRhLmEgPCAwKSB7XG4gICAgICAgIGRhdGEuYSA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGRhdGEuYSA+IDEwMCkge1xuICAgICAgICBkYXRhLmEgPSAxMDA7XG4gICAgICB9XG4gICAgICBkYXRhLmEgLz0gMTAwO1xuXG4gICAgICBpZiAodGhpcy5kaXNhYmxlQWxwaGEpIHtcbiAgICAgICAgZGF0YS5hID0gMTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGg6IHRoaXMuaHNsLmgsXG4gICAgICAgICAgczogdGhpcy5oc2wucyxcbiAgICAgICAgICBsOiB0aGlzLmhzbC5sLFxuICAgICAgICAgIGE6IE1hdGgucm91bmQoZGF0YS5hICogMTAwKSAvIDEwMCxcbiAgICAgICAgICBzb3VyY2U6ICdyZ2InLFxuICAgICAgICB9LFxuICAgICAgICAkZXZlbnQsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuaCB8fCBkYXRhLnMgfHwgZGF0YS5sKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaDogZGF0YS5oIHx8IHRoaXMuaHNsLmgsXG4gICAgICAgICAgczogTnVtYmVyKChkYXRhLnMgJiYgZGF0YS5zKSB8fCB0aGlzLmhzbC5zKSxcbiAgICAgICAgICBsOiBOdW1iZXIoKGRhdGEubCAmJiBkYXRhLmwpIHx8IHRoaXMuaHNsLmwpLFxuICAgICAgICAgIHNvdXJjZTogJ2hzbCcsXG4gICAgICAgIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,98 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-color";
4
+ import * as i2 from "@angular/common";
5
+ export class SketchPresetColorsComponent {
6
+ constructor() {
7
+ this.onClick = new EventEmitter();
8
+ this.onSwatchHover = new EventEmitter();
9
+ this.swatchStyle = {
10
+ borderRadius: '3px',
11
+ boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)',
12
+ };
13
+ }
14
+ handleClick({ hex, $event }) {
15
+ this.onClick.emit({ hex, $event });
16
+ }
17
+ normalizeValue(val) {
18
+ if (typeof val === 'string') {
19
+ return { color: val };
20
+ }
21
+ return val;
22
+ }
23
+ focusStyle(val) {
24
+ const c = this.normalizeValue(val);
25
+ return {
26
+ boxShadow: `inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ${c.color}`,
27
+ };
28
+ }
29
+ }
30
+ SketchPresetColorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchPresetColorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ SketchPresetColorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SketchPresetColorsComponent, selector: "color-sketch-preset-colors", inputs: { colors: "colors" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
32
+ <div class="sketch-swatches">
33
+ <div class="sketch-wrap" *ngFor="let c of colors">
34
+ <color-swatch
35
+ [color]="normalizeValue(c).color"
36
+ [style]="swatchStyle"
37
+ [focusStyle]="focusStyle(c)"
38
+ (onClick)="handleClick($event)"
39
+ (onHover)="onSwatchHover.emit($event)"
40
+ class="swatch"
41
+ ></color-swatch>
42
+ </div>
43
+ </div>
44
+ `, isInline: true, styles: [".sketch-swatches{position:relative;display:flex;flex-wrap:wrap;margin:0 -10px;padding:10px 0 0 10px;border-top:1px solid rgb(238,238,238)}.sketch-wrap{width:16px;height:16px;margin:0 10px 10px 0}:host-context([dir=rtl]) .sketch-swatches{padding-right:10px;padding-left:0}:host-context([dir=rtl]) .sketch-wrap{margin-left:10px;margin-right:0}\n"], components: [{ type: i1.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchPresetColorsComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ selector: 'color-sketch-preset-colors',
49
+ template: `
50
+ <div class="sketch-swatches">
51
+ <div class="sketch-wrap" *ngFor="let c of colors">
52
+ <color-swatch
53
+ [color]="normalizeValue(c).color"
54
+ [style]="swatchStyle"
55
+ [focusStyle]="focusStyle(c)"
56
+ (onClick)="handleClick($event)"
57
+ (onHover)="onSwatchHover.emit($event)"
58
+ class="swatch"
59
+ ></color-swatch>
60
+ </div>
61
+ </div>
62
+ `,
63
+ styles: [
64
+ `
65
+ .sketch-swatches {
66
+ position: relative;
67
+ display: flex;
68
+ flex-wrap: wrap;
69
+ margin: 0px -10px;
70
+ padding: 10px 0px 0px 10px;
71
+ border-top: 1px solid rgb(238, 238, 238);
72
+ }
73
+ .sketch-wrap {
74
+ width: 16px;
75
+ height: 16px;
76
+ margin: 0px 10px 10px 0px;
77
+ }
78
+ :host-context([dir=rtl]) .sketch-swatches {
79
+ padding-right: 10px;
80
+ padding-left: 0;
81
+ }
82
+ :host-context([dir=rtl]) .sketch-wrap {
83
+ margin-left: 10px;
84
+ margin-right: 0;
85
+ }
86
+ `,
87
+ ],
88
+ changeDetection: ChangeDetectionStrategy.OnPush,
89
+ preserveWhitespaces: false,
90
+ }]
91
+ }], propDecorators: { colors: [{
92
+ type: Input
93
+ }], onClick: [{
94
+ type: Output
95
+ }], onSwatchHover: [{
96
+ type: Output
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLXByZXNldC1jb2xvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9za2V0Y2gvc2tldGNoLXByZXNldC1jb2xvcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBZ0R2QixNQUFNLE9BQU8sMkJBQTJCO0lBNUN4QztRQThDWSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEQsZ0JBQVcsR0FBRztZQUNaLFlBQVksRUFBRSxLQUFLO1lBQ25CLFNBQVMsRUFBRSxpQ0FBaUM7U0FDN0MsQ0FBQztLQWlCSDtJQWZDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUU7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsY0FBYyxDQUFDLEdBQW1CO1FBQ2hDLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdkI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxVQUFVLENBQUMsR0FBbUI7UUFDNUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPO1lBQ0wsU0FBUyxFQUFFLDRDQUE0QyxDQUFDLENBQUMsS0FBSyxFQUFFO1NBQ2pFLENBQUM7SUFDSixDQUFDOzt3SEF2QlUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaUtBMUM1Qjs7Ozs7Ozs7Ozs7OztHQWFUOzJGQTZCVSwyQkFBMkI7a0JBNUN2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztHQWFUO29CQUNELE1BQU0sRUFBRTt3QkFDTjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRDtxQkFDQTtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0I7OEJBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNoYXBlIH0gZnJvbSAnbmd4LWNvbG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc2tldGNoLXByZXNldC1jb2xvcnMnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwic2tldGNoLXN3YXRjaGVzXCI+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC13cmFwXCIgKm5nRm9yPVwibGV0IGMgb2YgY29sb3JzXCI+XG4gICAgICA8Y29sb3Itc3dhdGNoXG4gICAgICAgIFtjb2xvcl09XCJub3JtYWxpemVWYWx1ZShjKS5jb2xvclwiXG4gICAgICAgIFtzdHlsZV09XCJzd2F0Y2hTdHlsZVwiXG4gICAgICAgIFtmb2N1c1N0eWxlXT1cImZvY3VzU3R5bGUoYylcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKG9uSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgICBjbGFzcz1cInN3YXRjaFwiXG4gICAgICA+PC9jb2xvci1zd2F0Y2g+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnNrZXRjaC1zd2F0Y2hlcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwcHggLTEwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDBweCAwcHggMTBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMjM4LCAyMzgsIDIzOCk7XG4gICAgfVxuICAgIC5za2V0Y2gtd3JhcCB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHggMTBweCAwcHg7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLXN3YXRjaGVzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLXdyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNrZXRjaFByZXNldENvbG9yc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbG9ycyE6IHN0cmluZ1tdO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzd2F0Y2hTdHlsZSA9IHtcbiAgICBib3JkZXJSYWRpdXM6ICczcHgnLFxuICAgIGJveFNoYWRvdzogJ2luc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4xNSknLFxuICB9O1xuXG4gIGhhbmRsZUNsaWNrKHsgaGV4LCAkZXZlbnQgfSkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgaGV4LCAkZXZlbnQgfSk7XG4gIH1cbiAgbm9ybWFsaXplVmFsdWUodmFsOiBzdHJpbmcgfCBTaGFwZSkge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHsgY29sb3I6IHZhbCB9O1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG4gIGZvY3VzU3R5bGUodmFsOiBzdHJpbmcgfCBTaGFwZSkge1xuICAgIGNvbnN0IGMgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJveFNoYWRvdzogYGluc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4xNSksIDAgMCA0cHggJHtjLmNvbG9yfWAsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,283 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
+ import { AlphaModule, CheckboardModule, ColorWrap, EditableInputModule, HueModule, isValidHex, SaturationModule, SwatchModule, } from 'ngx-color';
4
+ import { SketchFieldsComponent } from './sketch-fields.component';
5
+ import { SketchPresetColorsComponent } from './sketch-preset-colors.component';
6
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngx-color";
9
+ import * as i2 from "@angular/common";
10
+ export class SketchComponent extends ColorWrap {
11
+ constructor() {
12
+ super();
13
+ /** Remove alpha slider and options from picker */
14
+ this.disableAlpha = false;
15
+ /** Hex strings for default colors at bottom of picker */
16
+ this.presetColors = [
17
+ '#D0021B',
18
+ '#F5A623',
19
+ '#F8E71C',
20
+ '#8B572A',
21
+ '#7ED321',
22
+ '#417505',
23
+ '#BD10E0',
24
+ '#9013FE',
25
+ '#4A90E2',
26
+ '#50E3C2',
27
+ '#B8E986',
28
+ '#000000',
29
+ '#4A4A4A',
30
+ '#9B9B9B',
31
+ '#FFFFFF',
32
+ ];
33
+ /** Width of picker */
34
+ this.width = 200;
35
+ }
36
+ afterValidChange() {
37
+ const alpha = this.disableAlpha ? 1 : this.rgb.a;
38
+ this.activeBackground = `rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${alpha})`;
39
+ }
40
+ handleValueChange({ data, $event }) {
41
+ this.handleChange(data, $event);
42
+ }
43
+ handleBlockChange({ hex, $event }) {
44
+ if (isValidHex(hex)) {
45
+ // this.hex = hex;
46
+ this.handleChange({
47
+ hex,
48
+ source: 'hex',
49
+ }, $event);
50
+ }
51
+ }
52
+ }
53
+ SketchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
+ SketchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: SketchComponent, selector: "color-sketch", inputs: { disableAlpha: "disableAlpha", presetColors: "presetColors", width: "width" }, providers: [
55
+ {
56
+ provide: NG_VALUE_ACCESSOR,
57
+ useExisting: forwardRef(() => SketchComponent),
58
+ multi: true,
59
+ },
60
+ {
61
+ provide: ColorWrap,
62
+ useExisting: forwardRef(() => SketchComponent),
63
+ },
64
+ ], usesInheritance: true, ngImport: i0, template: `
65
+ <div class="sketch-picker {{ className }}" [style.width]="width">
66
+ <div class="sketch-saturation">
67
+ <color-saturation [hsl]="hsl" [hsv]="hsv"
68
+ (onChange)="handleValueChange($event)"
69
+ >
70
+ </color-saturation>
71
+ </div>
72
+ <div class="sketch-controls">
73
+ <div class="sketch-sliders">
74
+ <div class="sketch-hue">
75
+ <color-hue [hsl]="hsl"
76
+ (onChange)="handleValueChange($event)"
77
+ ></color-hue>
78
+ </div>
79
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
80
+ <color-alpha
81
+ [radius]="2" [rgb]="rgb" [hsl]="hsl"
82
+ (onChange)="handleValueChange($event)"
83
+ ></color-alpha>
84
+ </div>
85
+ </div>
86
+ <div class="sketch-color">
87
+ <color-checkboard></color-checkboard>
88
+ <div class="sketch-active" [style.background]="activeBackground"></div>
89
+ </div>
90
+ </div>
91
+ <div class="sketch-fields-container">
92
+ <color-sketch-fields
93
+ [rgb]="rgb" [hsl]="hsl" [hex]="hex"
94
+ [disableAlpha]="disableAlpha"
95
+ (onChange)="handleValueChange($event)"
96
+ ></color-sketch-fields>
97
+ </div>
98
+ <div class="sketch-swatches-container" *ngIf="presetColors && presetColors.length">
99
+ <color-sketch-preset-colors
100
+ [colors]="presetColors"
101
+ (onClick)="handleBlockChange($event)"
102
+ (onSwatchHover)="onSwatchHover.emit($event)"
103
+ ></color-sketch-preset-colors>
104
+ </div>
105
+ </div>
106
+ `, isInline: true, styles: [".sketch-picker{padding:10px 10px 3px;box-sizing:initial;background:#fff;border-radius:4px;box-shadow:0 0 0 1px #00000026,0 8px 16px #00000026}.sketch-saturation{width:100%;padding-bottom:75%;position:relative;overflow:hidden}.sketch-fields-container{display:block}.sketch-swatches-container{display:block}.sketch-controls{display:flex}.sketch-sliders{padding:4px 0;flex:1 1 0%}.sketch-hue{position:relative;height:10px;overflow:hidden}.sketch-alpha{position:relative;height:10px;margin-top:4px;overflow:hidden}.sketch-color{width:24px;height:24px;position:relative;margin-top:4px;margin-left:4px;border-radius:3px}.sketch-active{position:absolute;top:0px;right:0px;bottom:0px;left:0px;border-radius:2px;box-shadow:#00000026 0 0 0 1px inset,#00000040 0 0 4px inset}:host-context([dir=rtl]) .sketch-color{margin-right:4px;margin-left:0}\n"], components: [{ type: i0.forwardRef(function () { return i1.SaturationComponent; }), selector: "color-saturation", inputs: ["hsl", "hsv", "radius", "pointer", "circle"], outputs: ["onChange"] }, { type: i0.forwardRef(function () { return i1.HueComponent; }), selector: "color-hue", inputs: ["hsl", "pointer", "radius", "shadow", "hidePointer", "direction"], outputs: ["onChange"] }, { type: i0.forwardRef(function () { return i1.AlphaComponent; }), selector: "color-alpha", inputs: ["hsl", "rgb", "pointer", "shadow", "radius", "direction"], outputs: ["onChange"] }, { type: i0.forwardRef(function () { return i1.CheckboardComponent; }), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { type: i0.forwardRef(function () { return SketchFieldsComponent; }), selector: "color-sketch-fields", inputs: ["hsl", "rgb", "hex", "disableAlpha"], outputs: ["onChange"] }, { type: i0.forwardRef(function () { return SketchPresetColorsComponent; }), selector: "color-sketch-preset-colors", inputs: ["colors"], outputs: ["onClick", "onSwatchHover"] }], directives: [{ type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: SketchComponent, decorators: [{
108
+ type: Component,
109
+ args: [{
110
+ selector: 'color-sketch',
111
+ template: `
112
+ <div class="sketch-picker {{ className }}" [style.width]="width">
113
+ <div class="sketch-saturation">
114
+ <color-saturation [hsl]="hsl" [hsv]="hsv"
115
+ (onChange)="handleValueChange($event)"
116
+ >
117
+ </color-saturation>
118
+ </div>
119
+ <div class="sketch-controls">
120
+ <div class="sketch-sliders">
121
+ <div class="sketch-hue">
122
+ <color-hue [hsl]="hsl"
123
+ (onChange)="handleValueChange($event)"
124
+ ></color-hue>
125
+ </div>
126
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
127
+ <color-alpha
128
+ [radius]="2" [rgb]="rgb" [hsl]="hsl"
129
+ (onChange)="handleValueChange($event)"
130
+ ></color-alpha>
131
+ </div>
132
+ </div>
133
+ <div class="sketch-color">
134
+ <color-checkboard></color-checkboard>
135
+ <div class="sketch-active" [style.background]="activeBackground"></div>
136
+ </div>
137
+ </div>
138
+ <div class="sketch-fields-container">
139
+ <color-sketch-fields
140
+ [rgb]="rgb" [hsl]="hsl" [hex]="hex"
141
+ [disableAlpha]="disableAlpha"
142
+ (onChange)="handleValueChange($event)"
143
+ ></color-sketch-fields>
144
+ </div>
145
+ <div class="sketch-swatches-container" *ngIf="presetColors && presetColors.length">
146
+ <color-sketch-preset-colors
147
+ [colors]="presetColors"
148
+ (onClick)="handleBlockChange($event)"
149
+ (onSwatchHover)="onSwatchHover.emit($event)"
150
+ ></color-sketch-preset-colors>
151
+ </div>
152
+ </div>
153
+ `,
154
+ styles: [
155
+ `
156
+ .sketch-picker {
157
+ padding: 10px 10px 3px;
158
+ box-sizing: initial;
159
+ background: #fff;
160
+ border-radius: 4px;
161
+ box-shadow: 0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15);
162
+ }
163
+ .sketch-saturation {
164
+ width: 100%;
165
+ padding-bottom: 75%;
166
+ position: relative;
167
+ overflow: hidden;
168
+ }
169
+ .sketch-fields-container {
170
+ display: block;
171
+ }
172
+ .sketch-swatches-container {
173
+ display: block;
174
+ }
175
+ .sketch-controls {
176
+ display: flex;
177
+ }
178
+ .sketch-sliders {
179
+ padding: 4px 0px;
180
+ -webkit-box-flex: 1;
181
+ flex: 1 1 0%;
182
+ }
183
+ .sketch-hue {
184
+ position: relative;
185
+ height: 10px;
186
+ overflow: hidden;
187
+ }
188
+ .sketch-alpha {
189
+ position: relative;
190
+ height: 10px;
191
+ margin-top: 4px;
192
+ overflow: hidden;
193
+ }
194
+ .sketch-color {
195
+ width: 24px;
196
+ height: 24px;
197
+ position: relative;
198
+ margin-top: 4px;
199
+ margin-left: 4px;
200
+ border-radius: 3px;
201
+ }
202
+ .sketch-active {
203
+ position: absolute;
204
+ top: 0px;
205
+ right: 0px;
206
+ bottom: 0px;
207
+ left: 0px;
208
+ border-radius: 2px;
209
+ box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset, rgba(0, 0, 0, 0.25) 0px 0px 4px inset;
210
+ }
211
+ :host-context([dir=rtl]) .sketch-color {
212
+ margin-right: 4px;
213
+ margin-left: 0;
214
+ }
215
+ `,
216
+ ],
217
+ changeDetection: ChangeDetectionStrategy.OnPush,
218
+ preserveWhitespaces: false,
219
+ providers: [
220
+ {
221
+ provide: NG_VALUE_ACCESSOR,
222
+ useExisting: forwardRef(() => SketchComponent),
223
+ multi: true,
224
+ },
225
+ {
226
+ provide: ColorWrap,
227
+ useExisting: forwardRef(() => SketchComponent),
228
+ },
229
+ ]
230
+ }]
231
+ }], ctorParameters: function () { return []; }, propDecorators: { disableAlpha: [{
232
+ type: Input
233
+ }], presetColors: [{
234
+ type: Input
235
+ }], width: [{
236
+ type: Input
237
+ }] } });
238
+ export class ColorSketchModule {
239
+ }
240
+ ColorSketchModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorSketchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
+ ColorSketchModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorSketchModule, declarations: [SketchComponent, SketchFieldsComponent,
242
+ SketchPresetColorsComponent], imports: [CommonModule,
243
+ AlphaModule,
244
+ CheckboardModule,
245
+ EditableInputModule,
246
+ HueModule,
247
+ SaturationModule,
248
+ SwatchModule], exports: [SketchComponent, SketchFieldsComponent,
249
+ SketchPresetColorsComponent] });
250
+ ColorSketchModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorSketchModule, imports: [[
251
+ CommonModule,
252
+ AlphaModule,
253
+ CheckboardModule,
254
+ EditableInputModule,
255
+ HueModule,
256
+ SaturationModule,
257
+ SwatchModule,
258
+ ]] });
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorSketchModule, decorators: [{
260
+ type: NgModule,
261
+ args: [{
262
+ declarations: [
263
+ SketchComponent,
264
+ SketchFieldsComponent,
265
+ SketchPresetColorsComponent,
266
+ ],
267
+ exports: [
268
+ SketchComponent,
269
+ SketchFieldsComponent,
270
+ SketchPresetColorsComponent,
271
+ ],
272
+ imports: [
273
+ CommonModule,
274
+ AlphaModule,
275
+ CheckboardModule,
276
+ EditableInputModule,
277
+ HueModule,
278
+ SaturationModule,
279
+ SwatchModule,
280
+ ],
281
+ }]
282
+ }] });
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2tldGNoL3NrZXRjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixZQUFZLEdBQ2IsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUE0SG5ELE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUF3QjVDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4QlYsa0RBQWtEO1FBQ3pDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzlCLHlEQUF5RDtRQUNoRCxpQkFBWSxHQUFHO1lBQ3RCLFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztTQUNWLENBQUM7UUFDRixzQkFBc0I7UUFDYixVQUFLLEdBQUcsR0FBRyxDQUFDO0lBSXJCLENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENB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Q1AsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEFscGhhTW9kdWxlLFxuICBDaGVja2JvYXJkTW9kdWxlLFxuICBDb2xvcldyYXAsXG4gIEVkaXRhYmxlSW5wdXRNb2R1bGUsXG4gIEh1ZU1vZHVsZSxcbiAgaXNWYWxpZEhleCxcbiAgU2F0dXJhdGlvbk1vZHVsZSxcbiAgU3dhdGNoTW9kdWxlLFxufSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgU2tldGNoRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9za2V0Y2gtZmllbGRzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2V0Y2hQcmVzZXRDb2xvcnNDb21wb25lbnQgfSBmcm9tICcuL3NrZXRjaC1wcmVzZXQtY29sb3JzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc2tldGNoJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cInNrZXRjaC1waWNrZXIge3sgY2xhc3NOYW1lIH19XCIgW3N0eWxlLndpZHRoXT1cIndpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1zYXR1cmF0aW9uXCI+XG4gICAgICA8Y29sb3Itc2F0dXJhdGlvbiBbaHNsXT1cImhzbFwiIFtoc3ZdPVwiaHN2XCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9jb2xvci1zYXR1cmF0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtY29udHJvbHNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtc2xpZGVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2tldGNoLWh1ZVwiPlxuICAgICAgICAgIDxjb2xvci1odWUgW2hzbF09XCJoc2xcIlxuICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgID48L2NvbG9yLWh1ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtYWxwaGFcIiAqbmdJZj1cImRpc2FibGVBbHBoYSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICA8Y29sb3ItYWxwaGFcbiAgICAgICAgICAgIFtyYWRpdXNdPVwiMlwiIFtyZ2JdPVwicmdiXCIgW2hzbF09XCJoc2xcIlxuICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgID48L2NvbG9yLWFscGhhPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNrZXRjaC1jb2xvclwiPlxuICAgICAgICA8Y29sb3ItY2hlY2tib2FyZD48L2NvbG9yLWNoZWNrYm9hcmQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtYWN0aXZlXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiYWN0aXZlQmFja2dyb3VuZFwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1maWVsZHMtY29udGFpbmVyXCI+XG4gICAgICA8Y29sb3Itc2tldGNoLWZpZWxkc1xuICAgICAgICBbcmdiXT1cInJnYlwiIFtoc2xdPVwiaHNsXCIgW2hleF09XCJoZXhcIlxuICAgICAgICBbZGlzYWJsZUFscGhhXT1cImRpc2FibGVBbHBoYVwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2NvbG9yLXNrZXRjaC1maWVsZHM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1zd2F0Y2hlcy1jb250YWluZXJcIiAqbmdJZj1cInByZXNldENvbG9ycyAmJiBwcmVzZXRDb2xvcnMubGVuZ3RoXCI+XG4gICAgICA8Y29sb3Itc2tldGNoLXByZXNldC1jb2xvcnNcbiAgICAgICAgW2NvbG9yc109XCJwcmVzZXRDb2xvcnNcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVCbG9ja0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU3dhdGNoSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgPjwvY29sb3Itc2tldGNoLXByZXNldC1jb2xvcnM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnNrZXRjaC1waWNrZXIge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDNweDtcbiAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwwLDAsLjE1KSwgMCA4cHggMTZweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgfVxuICAgIC5za2V0Y2gtc2F0dXJhdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuc2tldGNoLWZpZWxkcy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5za2V0Y2gtc3dhdGNoZXMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuc2tldGNoLWNvbnRyb2xzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5za2V0Y2gtc2xpZGVycyB7XG4gICAgICBwYWRkaW5nOiA0cHggMHB4O1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICB9XG4gICAgLnNrZXRjaC1odWUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnNrZXRjaC1hbHBoYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuc2tldGNoLWNvbG9yIHtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG4gICAgLnNrZXRjaC1hY3RpdmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwcHg7XG4gICAgICByaWdodDogMHB4O1xuICAgICAgYm90dG9tOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTUpIDBweCAwcHggMHB4IDFweCBpbnNldCwgcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggMHB4IDRweCBpbnNldDtcbiAgICB9XG4gICAgOmhvc3QtY29udGV4dChbZGlyPXJ0bF0pIC5za2V0Y2gtY29sb3Ige1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa2V0Y2hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTa2V0Y2hDb21wb25lbnQpLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2tldGNoQ29tcG9uZW50IGV4dGVuZHMgQ29sb3JXcmFwIHtcbiAgLyoqIFJlbW92ZSBhbHBoYSBzbGlkZXIgYW5kIG9wdGlvbnMgZnJvbSBwaWNrZXIgKi9cbiAgQElucHV0KCkgZGlzYWJsZUFscGhhID0gZmFsc2U7XG4gIC8qKiBIZXggc3RyaW5ncyBmb3IgZGVmYXVsdCBjb2xvcnMgYXQgYm90dG9tIG9mIHBpY2tlciAqL1xuICBASW5wdXQoKSBwcmVzZXRDb2xvcnMgPSBbXG4gICAgJyNEMDAyMUInLFxuICAgICcjRjVBNjIzJyxcbiAgICAnI0Y4RTcxQycsXG4gICAgJyM4QjU3MkEnLFxuICAgICcjN0VEMzIxJyxcbiAgICAnIzQxNzUwNScsXG4gICAgJyNCRDEwRTAnLFxuICAgICcjOTAxM0ZFJyxcbiAgICAnIzRBOTBFMicsXG4gICAgJyM1MEUzQzInLFxuICAgICcjQjhFOTg2JyxcbiAgICAnIzAwMDAwMCcsXG4gICAgJyM0QTRBNEEnLFxuICAgICcjOUI5QjlCJyxcbiAgICAnI0ZGRkZGRicsXG4gIF07XG4gIC8qKiBXaWR0aCBvZiBwaWNrZXIgKi9cbiAgQElucHV0KCkgd2lkdGggPSAyMDA7XG4gIGFjdGl2ZUJhY2tncm91bmQhOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgYWZ0ZXJWYWxpZENoYW5nZSgpIHtcbiAgICBjb25zdCBhbHBoYSA9IHRoaXMuZGlzYWJsZUFscGhhID8gMSA6IHRoaXMucmdiLmE7XG4gICAgdGhpcy5hY3RpdmVCYWNrZ3JvdW5kID0gYHJnYmEoJHt0aGlzLnJnYi5yfSwgJHt0aGlzLnJnYi5nfSwgJHt0aGlzLnJnYi5ifSwgJHthbHBoYX0pYDtcbiAgfVxuICBoYW5kbGVWYWx1ZUNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KTtcbiAgfVxuICBoYW5kbGVCbG9ja0NoYW5nZSh7IGhleCwgJGV2ZW50IH0pIHtcbiAgICBpZiAoaXNWYWxpZEhleChoZXgpKSB7XG4gICAgICAvLyB0aGlzLmhleCA9IGhleDtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKFxuICAgICAgICB7XG4gICAgICAgICAgaGV4LFxuICAgICAgICAgIHNvdXJjZTogJ2hleCcsXG4gICAgICAgIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNrZXRjaENvbXBvbmVudCxcbiAgICBTa2V0Y2hGaWVsZHNDb21wb25lbnQsXG4gICAgU2tldGNoUHJlc2V0Q29sb3JzQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2tldGNoQ29tcG9uZW50LFxuICAgIFNrZXRjaEZpZWxkc0NvbXBvbmVudCxcbiAgICBTa2V0Y2hQcmVzZXRDb2xvcnNDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQWxwaGFNb2R1bGUsXG4gICAgQ2hlY2tib2FyZE1vZHVsZSxcbiAgICBFZGl0YWJsZUlucHV0TW9kdWxlLFxuICAgIEh1ZU1vZHVsZSxcbiAgICBTYXR1cmF0aW9uTW9kdWxlLFxuICAgIFN3YXRjaE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JTa2V0Y2hNb2R1bGUge31cbiJdfQ==