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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-color.umd.js","sources":["../../../src/lib/common/helpers/checkboard.ts","../../../src/lib/common/checkboard.component.ts","../../../src/lib/common/coordinates.directive.ts","../../../src/lib/common/alpha.component.ts","../../../src/lib/common/helpers/color.ts","../../../src/lib/common/color-wrap.component.ts","../../../src/lib/common/editable-input.component.ts","../../../src/lib/common/hue.component.ts","../../../src/lib/common/raised.component.ts","../../../src/lib/common/saturation.component.ts","../../../src/lib/common/swatch.component.ts","../../../src/lib/common/shade.component.ts","../../../src/lib/common/ngx-color.ts"],"sourcesContent":["const checkboardCache: {[key: string]: string} = {};\n\nexport function render(c1: string, c2: string, size: number) {\n if (typeof document === 'undefined') {\n return null;\n }\n const canvas = document.createElement('canvas');\n canvas.width = size * 2;\n canvas.height = size * 2;\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n } // If no context can be found, return early.\n ctx.fillStyle = c1;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n ctx.fillStyle = c2;\n ctx.fillRect(0, 0, size, size);\n ctx.translate(size, size);\n ctx.fillRect(0, 0, size, size);\n return canvas.toDataURL();\n}\n\nexport function getCheckerboard(c1: string, c2: string, size: number) {\n const key = `${c1}-${c2}-${size}`;\n if (checkboardCache[key]) {\n return checkboardCache[key];\n }\n const checkboard = render(c1, c2, size);\n if (!checkboard) {\n return null;\n }\n checkboardCache[key] = checkboard;\n return checkboard;\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n NgModule,\n OnInit,\n} from '@angular/core';\n\nimport { getCheckerboard } from './helpers/checkboard';\n\n@Component({\n selector: 'color-checkboard',\n template: `<div class=\"grid\" [ngStyle]=\"gridStyles\"></div>`,\n styles: [\n `\n .grid {\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n position: absolute;\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboardComponent implements OnInit {\n @Input() white = 'transparent';\n @Input() size = 8;\n @Input() grey = 'rgba(0,0,0,.08)';\n @Input() boxShadow!: string;\n @Input() borderRadius!: string;\n gridStyles!: Record<string, string>;\n\n ngOnInit() {\n const background = getCheckerboard(this.white, this.grey, this.size);\n this.gridStyles = {\n borderRadius: this.borderRadius,\n boxShadow: this.boxShadow,\n background: `url(${background}) center left`,\n };\n }\n}\n\n@NgModule({\n declarations: [CheckboardComponent],\n exports: [CheckboardComponent],\n imports: [CommonModule],\n})\nexport class CheckboardModule {}\n","import {\n Directive,\n ElementRef,\n HostListener,\n NgModule,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Directive({ selector: '[ngx-color-coordinates]' })\nexport class CoordinatesDirective implements OnInit, OnDestroy {\n @Output()\n coordinatesChange = new Subject<{\n x: number;\n y: number;\n top: number;\n left: number;\n containerWidth: number;\n containerHeight: number;\n $event: any;\n }>();\n private mousechange = new Subject<{\n x: number;\n y: number;\n $event: any;\n isTouch: boolean;\n }>();\n\n private mouseListening = false;\n private sub!: Subscription;\n @HostListener('window:mousemove', ['$event', '$event.pageX', '$event.pageY'])\n @HostListener('window:touchmove', [\n '$event',\n '$event.touches[0].clientX',\n '$event.touches[0].clientY',\n 'true',\n ])\n mousemove($event: Event, x: number, y: number, isTouch = false) {\n if (this.mouseListening) {\n $event.preventDefault();\n this.mousechange.next({ $event, x, y, isTouch });\n }\n }\n @HostListener('window:mouseup')\n @HostListener('window:touchend')\n mouseup() {\n this.mouseListening = false;\n }\n @HostListener('mousedown', ['$event', '$event.pageX', '$event.pageY'])\n @HostListener('touchstart', [\n '$event',\n '$event.touches[0].clientX',\n '$event.touches[0].clientY',\n 'true',\n ])\n mousedown($event: Event, x: number, y: number, isTouch = false) {\n $event.preventDefault();\n this.mouseListening = true;\n this.mousechange.next({ $event, x, y, isTouch });\n }\n\n constructor(private el: ElementRef) {}\n\n ngOnInit() {\n this.sub = this.mousechange\n .pipe(\n // limit times it is updated for the same area\n distinctUntilChanged((p, q) => p.x === q.x && p.y === q.y),\n )\n .subscribe(n => this.handleChange(n.x, n.y, n.$event, n.isTouch));\n }\n\n ngOnDestroy() {\n this.sub.unsubscribe();\n }\n\n handleChange(x: number, y: number, $event: Event, isTouch: boolean) {\n const containerWidth = this.el.nativeElement.clientWidth;\n const containerHeight = this.el.nativeElement.clientHeight;\n const left =\n x -\n (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);\n let top = y - this.el.nativeElement.getBoundingClientRect().top;\n\n if (!isTouch) {\n top = top - window.pageYOffset;\n }\n this.coordinatesChange.next({\n x,\n y,\n top,\n left,\n containerWidth,\n containerHeight,\n $event,\n });\n }\n}\n\n@NgModule({\n declarations: [CoordinatesDirective],\n exports: [CoordinatesDirective],\n})\nexport class CoordinatesModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\n\n\n@Component({\n selector: 'color-alpha',\n template: `\n <div class=\"alpha\" [style.border-radius]=\"radius\">\n <div class=\"alpha-checkboard\">\n <color-checkboard></color-checkboard>\n </div>\n <div class=\"alpha-gradient\" [ngStyle]=\"gradient\" [style.box-shadow]=\"shadow\" [style.border-radius]=\"radius\"></div>\n <div ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" class=\"alpha-container color-alpha-{{direction}}\">\n <div class=\"alpha-pointer\" [style.left.%]=\"pointerLeft\" [style.top.%]=\"pointerTop\">\n <div class=\"alpha-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .alpha {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .alpha-checkboard {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n overflow: hidden;\n }\n .alpha-gradient {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .alpha-container {\n position: relative;\n height: 100%;\n margin: 0 3px;\n }\n .alpha-pointer {\n position: absolute;\n }\n .alpha-slider {\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n})\nexport class AlphaComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() pointer!: Record<string, string>;\n @Input() shadow!: string;\n @Input() radius!: number | string;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Output() onChange = new EventEmitter<any>();\n gradient!: Record<string, string>;\n pointerLeft!: number;\n pointerTop!: number;\n\n ngOnChanges() {\n if (this.direction === 'vertical') {\n this.pointerLeft = 0;\n this.pointerTop = this.rgb.a * 100;\n this.gradient = {\n background: `linear-gradient(to bottom, rgba(${this.rgb.r},${\n this.rgb.g\n },${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n };\n } else {\n this.gradient = {\n background: `linear-gradient(to right, rgba(${this.rgb.r},${\n this.rgb.g\n },${this.rgb.b}, 0) 0%,\n rgba(${this.rgb.r},${this.rgb.g},${this.rgb.b}, 1) 100%)`,\n };\n this.pointerLeft = this.rgb.a * 100;\n }\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n let data: any;\n if (this.direction === 'vertical') {\n let a: number;\n if (top < 0) {\n a = 0;\n } else if (top > containerHeight) {\n a = 1;\n } else {\n a = Math.round(top * 100 / containerHeight) / 100;\n }\n\n if (this.hsl.a !== a) {\n data = {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a,\n source: 'rgb',\n };\n }\n } else {\n let a: number;\n if (left < 0) {\n a = 0;\n } else if (left > containerWidth) {\n a = 1;\n } else {\n a = Math.round(left * 100 / containerWidth) / 100;\n }\n\n if (this.hsl.a !== a) {\n data = {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a,\n source: 'rgb',\n };\n }\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [AlphaComponent],\n exports: [AlphaComponent],\n imports: [CommonModule, CheckboardModule, CoordinatesModule],\n})\nexport class AlphaModule {}\n","import { TinyColor } from '@ctrl/tinycolor';\n\nimport { Color } from './color.interfaces';\n\nexport function simpleCheckForValidColor(data) {\n const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];\n let checked = 0;\n let passed = 0;\n keysToCheck.forEach(letter => {\n if (!data[letter]) {\n return;\n }\n checked += 1;\n if (!isNaN(data[letter])) {\n passed += 1;\n }\n if (letter === 's' || letter === 'l') {\n const percentPatt = /^\\d+%$/;\n if (percentPatt.test(data[letter])) {\n passed += 1;\n }\n }\n });\n return checked === passed ? data : false;\n}\n\nexport function toState(data, oldHue?: number, disableAlpha?: boolean): Color {\n const color = data.hex ? new TinyColor(data.hex) : new TinyColor(data);\n if (disableAlpha) {\n color.setAlpha(1);\n }\n\n const hsl = color.toHsl();\n const hsv = color.toHsv();\n const rgb = color.toRgb();\n const hex = color.toHex();\n if (hsl.s === 0) {\n hsl.h = oldHue || 0;\n hsv.h = oldHue || 0;\n }\n const transparent = hex === '000000' && rgb.a === 0;\n\n return {\n hsl,\n hex: transparent ? 'transparent' : color.toHexString(),\n rgb,\n hsv,\n oldHue: data.h || oldHue || hsl.h,\n source: data.source,\n };\n}\n\nexport function isValidHex(hex: string) {\n return new TinyColor(hex).isValid;\n}\n\nexport function getContrastingColor(data) {\n if (!data) {\n return '#fff';\n }\n const col = toState(data);\n if (col.hex === 'transparent') {\n return 'rgba(0,0,0,0.4)';\n }\n const yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000' : '#fff';\n}\n","import { CommonModule } from '@angular/common';\nimport {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { debounceTime, tap } from 'rxjs/operators';\n\nimport { simpleCheckForValidColor, toState } from './helpers/color';\nimport { Color, HSLA, HSVA, RGBA } from './helpers/color.interfaces';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport interface ColorEvent {\n $event: Event;\n color: Color;\n}\n\nexport enum ColorMode {\n HEX = 'hex',\n HSL = 'hsl',\n HSV = 'hsv',\n RGB = 'rgb'\n}\n\n@Component({\n // create seletor base for test override property\n selector: 'color-wrap',\n template: ``,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorWrap),\n multi: true,\n }\n ]\n})\nexport class ColorWrap implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {\n @Input() className?: string;\n\n /**\n * Descriptors the return color format if the component is used with two-way binding\n */\n @Input() mode: ColorMode = ColorMode.HEX;\n\n @Input() color: HSLA | HSVA | RGBA | string = {\n h: 250,\n s: 0.5,\n l: 0.2,\n a: 1,\n };\n @Output() colorChange = new EventEmitter<HSLA | HSVA | RGBA | string>();\n @Output() onChange = new EventEmitter<ColorEvent>();\n @Output() onChangeComplete = new EventEmitter<ColorEvent>();\n @Output() onSwatchHover = new EventEmitter<ColorEvent>();\n oldHue!: number;\n hsl!: HSLA;\n hsv!: HSVA;\n rgb!: RGBA;\n hex!: string;\n source!: string;\n currentColor!: string;\n changes?: Subscription;\n disableAlpha?: boolean;\n\n private _onChangeCompleteSubscription = new Subscription();\n private _onSwatchHoverSubscription = new Subscription();\n\n ngOnInit() {\n this.changes = this.onChange\n .pipe(\n debounceTime(100),\n tap(event => {\n this.onChangeComplete.emit(event);\n switch (this.mode) {\n case ColorMode.HEX:\n this.colorChange.emit(event.color.hex);\n break;\n case ColorMode.HSL:\n this.colorChange.emit(event.color.hsl);\n break;\n case ColorMode.HSV:\n this.colorChange.emit(event.color.hsv);\n break;\n case ColorMode.RGB:\n this.colorChange.emit(event.color.rgb);\n break;\n default:\n const msg = `The mode '${this.mode}' is not supported`;\n if (isDevMode()) {\n throw new Error(msg);\n } else {\n console.warn(msg);\n }\n break;\n }\n })\n )\n .subscribe();\n this.setState(toState(this.color, 0));\n this.currentColor = this.hex;\n }\n ngOnChanges() {\n this.setState(toState(this.color, this.oldHue));\n }\n ngOnDestroy() {\n this.changes?.unsubscribe();\n this._onChangeCompleteSubscription.unsubscribe();\n this._onSwatchHoverSubscription.unsubscribe();\n }\n setState(data) {\n this.oldHue = data.oldHue;\n this.hsl = data.hsl;\n this.hsv = data.hsv;\n this.rgb = data.rgb;\n this.hex = data.hex;\n this.source = data.source;\n this.afterValidChange();\n }\n handleChange(data, $event) {\n const isValidColor = simpleCheckForValidColor(data);\n if (isValidColor) {\n const color = toState(data, data.h || this.oldHue, this.disableAlpha);\n this.setState(color);\n this.onChange.emit({ color, $event });\n this.afterValidChange();\n }\n }\n /** hook for components after a complete change */\n afterValidChange() {}\n\n handleSwatchHover(data, $event) {\n const isValidColor = simpleCheckForValidColor(data);\n if (isValidColor) {\n const color = toState(data, data.h || this.oldHue);\n this.setState(color);\n this.onSwatchHover.emit({ color, $event });\n }\n }\n\n registerOnChange(fn: (hex: string) => void): void {\n this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(\n tap(event => fn(event.color.hex)),\n ).subscribe());\n }\n\n registerOnTouched(fn: () => void): void {\n this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(\n tap(() => fn()),\n ).subscribe());\n }\n\n setDisabledState(isDisabled: boolean): void {}\n\n writeValue(hex: string): void {\n this.color = hex;\n }\n\n}\n\n@NgModule({\n declarations: [ColorWrap],\n exports: [ColorWrap],\n imports: [CommonModule],\n})\nexport class ColorWrapModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { fromEvent, Subscription } from 'rxjs';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'color-editable-input',\n template: `\n <div class=\"wrap\" [ngStyle]=\"wrapStyle\">\n <input\n [ngStyle]=\"inputStyle\"\n spellCheck=\"false\"\n [value]=\"currentValue\"\n [placeholder]=\"placeholder\"\n (keydown)=\"handleKeydown($event)\"\n (keyup)=\"handleKeyup($event)\"\n (focus)=\"handleFocus($event)\"\n (focusout)=\"handleFocusOut($event)\"\n [attr.aria-labelledby]=\"uniqueId\"\n />\n <span [id]=\"uniqueId\" *ngIf=\"label\" [ngStyle]=\"labelStyle\" (mousedown)=\"handleMousedown($event)\">\n {{ label }}\n </span>\n </div>\n `,\n styles: [\n `\n :host {\n display: flex;\n }\n .wrap {\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EditableInputComponent implements OnInit, OnChanges, OnDestroy {\n @Input() style!: {\n wrap?: Record<string, any>;\n input?: Record<string, any>;\n label?: Record<string, any>;\n };\n @Input() label!: string;\n @Input() value!: string | number;\n @Input() arrowOffset!: number;\n @Input() dragLabel!: boolean;\n @Input() dragMax!: number;\n @Input() placeholder = '';\n @Output() onChange = new EventEmitter();\n currentValue!: string | number;\n blurValue!: string;\n wrapStyle!: Record<string, string>;\n inputStyle!: Record<string, string>;\n labelStyle!: Record<string, string>;\n focus = false;\n mousemove!: Subscription;\n mouseup!: Subscription;\n uniqueId: string = `editableInput-${++nextUniqueId}`;\n\n ngOnInit() {\n this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};\n this.inputStyle = this.style && this.style.input ? this.style.input : {};\n this.labelStyle = this.style && this.style.label ? this.style.label : {};\n if (this.dragLabel) {\n this.labelStyle.cursor = 'ew-resize';\n }\n }\n handleFocus($event) {\n this.focus = true;\n }\n handleFocusOut($event) {\n this.focus = false;\n this.currentValue = this.blurValue;\n }\n handleKeydown($event) {\n // In case `e.target.value` is a percentage remove the `%` character\n // and update accordingly with a percentage\n // https://github.com/casesandberg/react-color/issues/383\n const stringValue = String($event.target.value);\n const isPercentage = stringValue.indexOf('%') > -1;\n const num = Number(stringValue.replace(/%/g, ''));\n if (isNaN(num)) {\n return;\n }\n const amount = this.arrowOffset || 1;\n\n // Up\n if ($event.keyCode === 38) {\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: num + amount },\n $event,\n });\n } else {\n this.onChange.emit({ data: num + amount, $event });\n }\n\n if (isPercentage) {\n this.currentValue = `${num + amount}%`;\n } else {\n this.currentValue = num + amount;\n }\n }\n\n // Down\n if ($event.keyCode === 40) {\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: num - amount },\n $event,\n });\n } else {\n this.onChange.emit({ data: num - amount, $event });\n }\n\n if (isPercentage) {\n this.currentValue = `${num - amount}%`;\n } else {\n this.currentValue = num - amount;\n }\n }\n }\n handleKeyup($event) {\n if ($event.keyCode === 40 || $event.keyCode === 38) {\n return;\n }\n if (`${this.currentValue}` === $event.target.value) {\n return;\n }\n\n if (this.label) {\n this.onChange.emit({\n data: { [this.label]: $event.target.value },\n $event,\n });\n } else {\n this.onChange.emit({ data: $event.target.value, $event });\n }\n }\n ngOnChanges() {\n if (!this.focus) {\n this.currentValue = String(this.value).toUpperCase();\n this.blurValue = String(this.value).toUpperCase();\n } else {\n this.blurValue = String(this.value).toUpperCase();\n }\n }\n ngOnDestroy() {\n this.unsubscribe();\n }\n subscribe() {\n this.mousemove = fromEvent(document, 'mousemove').subscribe((ev: Event) => this.handleDrag(ev));\n this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());\n }\n unsubscribe() {\n if (this.mousemove) {\n this.mousemove.unsubscribe();\n }\n if (this.mouseup) {\n this.mouseup.unsubscribe();\n }\n }\n handleMousedown($event: Event) {\n if (this.dragLabel) {\n $event.preventDefault();\n this.handleDrag($event);\n this.subscribe();\n }\n }\n handleDrag($event) {\n if (this.dragLabel) {\n const newValue = Math.round(this.value + $event.movementX);\n if (newValue >= 0 && newValue <= this.dragMax) {\n this.onChange.emit({ data: { [this.label]: newValue }, $event });\n }\n }\n }\n}\n\n@NgModule({\n declarations: [EditableInputComponent],\n exports: [EditableInputComponent],\n imports: [CommonModule],\n})\nexport class EditableInputModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSLAsource } from './helpers/color.interfaces';\n\n@Component({\n selector: 'color-hue',\n template: `\n <div class=\"color-hue color-hue-{{direction}}\" [style.border-radius.px]=\"radius\" [style.box-shadow]=\"shadow\">\n <div ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" class=\"color-hue-container\">\n <div class=\"color-hue-pointer\" [style.left]=\"left\" [style.top]=\"top\" *ngIf=\"!hidePointer\">\n <div class=\"color-hue-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .color-hue {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .color-hue-container {\n margin: 0 2px;\n position: relative;\n height: 100%;\n }\n .color-hue-pointer {\n position: absolute;\n }\n .color-hue-slider {\n margin-top: 1px;\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n transform: translateX(-2px);\n }\n .color-hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n .color-hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HueComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() pointer!: Record<string, string>;\n @Input() radius!: number;\n @Input() shadow!: string;\n @Input() hidePointer = false;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n @Output() onChange = new EventEmitter<{ data: HSLAsource; $event: Event }>();\n left = '0px';\n top = '';\n\n ngOnChanges(): void {\n if (this.direction === 'horizontal') {\n this.left = `${this.hsl.h * 100 / 360}%`;\n } else {\n this.top = `${-(this.hsl.h * 100 / 360) + 100}%`;\n }\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }): void {\n let data: HSLAsource | undefined;\n if (this.direction === 'vertical') {\n let h: number;\n if (top < 0) {\n h = 359;\n } else if (top > containerHeight) {\n h = 0;\n } else {\n const percent = -(top * 100 / containerHeight) + 100;\n h = 360 * percent / 100;\n }\n\n if (this.hsl.h !== h) {\n data = {\n h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n } else {\n let h: number;\n if (left < 0) {\n h = 0;\n } else if (left > containerWidth) {\n h = 359;\n } else {\n const percent = left * 100 / containerWidth;\n h = 360 * percent / 100;\n }\n\n if (this.hsl.h !== h) {\n data = {\n h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [HueComponent],\n exports: [HueComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class HueModule {}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, NgModule } from '@angular/core';\n\nexport type zDepth = 0 | 1 | 2 | 3 | 4 | 5;\n\n@Component({\n selector: 'color-raised',\n template: `\n <div class=\"raised-wrap\">\n <div class=\"raised-bg zDepth-{{zDepth}}\" [style.background]=\"background\"></div>\n <div class=\"raised-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n styles: [`\n .raised-wrap {\n position: relative;\n display: inline-block;\n }\n .raised-bg {\n position: absolute;\n top: 0px;\n right: 0px;\n bottom: 0px;\n left: 0px;\n }\n .raised-content {\n position: relative;\n }\n .zDepth-0 {\n box-shadow: none;\n }\n .zDepth-1 {\n box-shadow: 0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16);\n }\n .zDepth-2 {\n box-shadow: 0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2);\n }\n .zDepth-3 {\n box-shadow: 0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24);\n }\n .zDepth-4 {\n box-shadow: 0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22);\n }\n .zDepth-5 {\n box-shadow: 0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2);\n }\n `],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RaisedComponent {\n @Input() zDepth: zDepth = 1;\n @Input() radius = 1;\n @Input() background = '#fff';\n}\n\n@NgModule({\n declarations: [RaisedComponent],\n exports: [RaisedComponent],\n imports: [CommonModule],\n})\nexport class RaisedModule { }\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\n\n\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, HSVA, HSVAsource } from './helpers/color.interfaces';\n\n@Component({\n selector: 'color-saturation',\n template: `\n <div class=\"color-saturation\" ngx-color-coordinates (coordinatesChange)=\"handleChange($event)\" [style.background]=\"background\">\n <div class=\"saturation-white\">\n <div class=\"saturation-black\"></div>\n <div class=\"saturation-pointer\" [ngStyle]=\"pointer\" [style.top]=\"pointerTop\" [style.left]=\"pointerLeft\">\n <div class=\"saturation-circle\" [ngStyle]=\"circle\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .saturation-white {\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .saturation-black {\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .color-saturation {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .saturation-pointer {\n position: absolute;\n cursor: default;\n }\n .saturation-circle {\n width: 4px;\n height: 4px;\n box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3), 0 0 1px 2px rgba(0,0,0,.4);\n border-radius: 50%;\n cursor: hand;\n transform: translate(-2px, -4px);\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SaturationComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() hsv!: HSVA;\n @Input() radius!: number;\n @Input() pointer!: Record<string, string>;\n @Input() circle!: Record<string, string>;\n @Output() onChange = new EventEmitter<{ data: HSVAsource; $event: Event }>();\n background!: string;\n pointerTop!: string;\n pointerLeft!: string;\n\n ngOnChanges() {\n this.background = `hsl(${this.hsl.h}, 100%, 50%)`;\n this.pointerTop = -(this.hsv.v * 100) + 1 + 100 + '%';\n this.pointerLeft = this.hsv.s * 100 + '%';\n }\n handleChange({ top, left, containerHeight, containerWidth, $event }) {\n if (left < 0) {\n left = 0;\n } else if (left > containerWidth) {\n left = containerWidth;\n } else if (top < 0) {\n top = 0;\n } else if (top > containerHeight) {\n top = containerHeight;\n }\n\n const saturation = left / containerWidth;\n let bright = -(top / containerHeight) + 1;\n bright = bright > 0 ? bright : 0;\n bright = bright > 1 ? 1 : bright;\n\n const data: HSVAsource = {\n h: this.hsl.h,\n s: saturation,\n v: bright,\n a: this.hsl.a,\n source: 'hsva',\n };\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [SaturationComponent],\n exports: [SaturationComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class SaturationModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CheckboardModule } from './checkboard.component';\n\n@Component({\n selector: 'color-swatch',\n template: `\n <div\n class=\"swatch\"\n [ngStyle]=\"currentStyles()\"\n [attr.title]=\"color\"\n (click)=\"handleClick(color, $event)\"\n (keydown.enter)=\"handleClick(color, $event)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleFocusOut()\"\n (mouseover)=\"handleHover(color, $event)\"\n tabindex=\"0\"\n >\n <ng-content></ng-content>\n <color-checkboard\n *ngIf=\"color === 'transparent'\"\n boxShadow=\"inset 0 0 0 1px rgba(0,0,0,0.1)\"\n ></color-checkboard>\n </div>\n `,\n styles: [\n `\n .swatch {\n outline: none;\n height: 100%;\n width: 100%;\n cursor: pointer;\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SwatchComponent implements OnInit {\n @Input() color!: string;\n @Input() style: Record<string, string> = {};\n @Input() focusStyle: Record<string, string> = {};\n @Input() focus!: boolean;\n @Output() onClick = new EventEmitter<any>();\n @Output() onHover = new EventEmitter<any>();\n divStyles: Record<string, string> = {};\n focusStyles: Record<string, string> = {};\n inFocus = false;\n\n ngOnInit() {\n this.divStyles = {\n background: this.color as string,\n ...this.style,\n };\n }\n currentStyles() {\n this.focusStyles = {\n ...this.divStyles,\n ...this.focusStyle,\n };\n return this.focus || this.inFocus ? this.focusStyles : this.divStyles;\n }\n handleFocusOut() {\n this.inFocus = false;\n }\n handleFocus() {\n this.inFocus = true;\n }\n handleHover(hex: string, $event) {\n this.onHover.emit({ hex, $event });\n }\n handleClick(hex: string, $event) {\n this.onClick.emit({ hex, $event });\n }\n}\n\n@NgModule({\n declarations: [SwatchComponent],\n exports: [SwatchComponent],\n imports: [CommonModule, CheckboardModule],\n})\nexport class SwatchModule {}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n NgModule,\n OnChanges,\n Output,\n} from '@angular/core';\nimport { CoordinatesModule } from './coordinates.directive';\nimport { HSLA, RGBA } from './helpers/color.interfaces';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n\n@Component({\n selector: 'color-shade',\n template: `\n <div class=\"shade\" [style.border-radius]=\"radius\">\n <div\n class=\"shade-gradient\"\n [ngStyle]=\"gradient\"\n [style.box-shadow]=\"shadow\"\n [style.border-radius]=\"radius\"\n ></div>\n <div\n ngx-color-coordinates\n (coordinatesChange)=\"handleChange($event)\"\n class=\"shade-container\"\n >\n <div\n class=\"shade-pointer\"\n [style.left.%]=\"pointerLeft\"\n [style.top.%]=\"pointerTop\"\n >\n <div class=\"shade-slider\" [ngStyle]=\"pointer\"></div>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .shade {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .shade-gradient {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n .shade-container {\n position: relative;\n height: 100%;\n margin: 0 3px;\n }\n .shade-pointer {\n position: absolute;\n }\n .shade-slider {\n width: 4px;\n border-radius: 1px;\n height: 8px;\n box-shadow: 0 0 2px rgba(0, 0, 0, .6);\n background: #fff;\n margin-top: 1px;\n transform: translateX(-2px);\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n})\nexport class ShadeComponent implements OnChanges {\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() pointer!: Record<string, string>;\n @Input() shadow!: string;\n @Input() radius!: string;\n @Output() onChange = new EventEmitter<any>();\n gradient!: Record<string, string>;\n pointerLeft!: number;\n pointerTop?: number;\n\n ngOnChanges() {\n this.gradient = {\n background: `linear-gradient(to right,\n hsl(${this.hsl.h}, 90%, 55%),\n #000)`,\n };\n const hsv = new TinyColor(this.hsl).toHsv();\n this.pointerLeft = 100 - (hsv.v * 100);\n }\n\n handleChange({ left, containerWidth, $event }): void {\n let data;\n let v: number;\n if (left < 0) {\n v = 0;\n } else if (left > containerWidth) {\n v = 1;\n } else {\n v = Math.round((left * 100) / containerWidth) / 100;\n }\n\n const hsv = new TinyColor(this.hsl).toHsv();\n if (hsv.v !== v) {\n data = {\n h: this.hsl.h,\n s: 100,\n v: 1 - v,\n l: this.hsl.l,\n a: this.hsl.a,\n source: 'rgb',\n };\n }\n\n if (!data) {\n return;\n }\n\n this.onChange.emit({ data, $event });\n }\n}\n\n@NgModule({\n declarations: [ShadeComponent],\n exports: [ShadeComponent],\n imports: [CommonModule, CoordinatesModule],\n})\nexport class ShadeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["Component","ChangeDetectionStrategy","Input","NgModule","CommonModule","Subject","distinctUntilChanged","Directive","ElementRef","Output","HostListener","EventEmitter","TinyColor","ColorMode","Subscription","debounceTime","tap","isDevMode","NG_VALUE_ACCESSOR","forwardRef","fromEvent"],"mappings":"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"}