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 @@
1
+ {"version":3,"file":"ngx-color.mjs","sources":["../../src/lib/helpers/checkboard.ts","../../src/lib/checkboard.component.ts","../../src/lib/coordinates.directive.ts","../../src/lib/alpha.component.ts","../../src/lib/helpers/color.ts","../../src/lib/color-wrap.component.ts","../../src/lib/editable-input.component.ts","../../src/lib/hue.component.ts","../../src/lib/raised.component.ts","../../src/lib/saturation.component.ts","../../src/lib/swatch.component.ts","../../src/lib/shade.component.ts","../../src/lib/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@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":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { forwardRef, Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
4
+ import * as i1 from 'ngx-color';
5
+ import { ColorWrap, toState, AlphaModule, CheckboardModule } from 'ngx-color';
6
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+
8
+ class AlphaPickerComponent extends ColorWrap {
9
+ constructor() {
10
+ super();
11
+ /** Pixel value for picker width */
12
+ this.width = 316;
13
+ /** Pixel value for picker height */
14
+ this.height = 16;
15
+ this.direction = 'horizontal';
16
+ this.pointer = {
17
+ width: '18px',
18
+ height: '18px',
19
+ borderRadius: '50%',
20
+ transform: 'translate(-9px, -2px)',
21
+ boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
22
+ };
23
+ }
24
+ ngOnChanges() {
25
+ if (this.direction === 'vertical') {
26
+ this.pointer.transform = 'translate(-3px, -9px)';
27
+ }
28
+ this.setState(toState(this.color, this.oldHue));
29
+ }
30
+ handlePickerChange({ data, $event }) {
31
+ this.handleChange(data, $event);
32
+ }
33
+ }
34
+ AlphaPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AlphaPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ AlphaPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: AlphaPickerComponent, selector: "color-alpha-picker", inputs: { width: "width", height: "height", direction: "direction" }, providers: [
36
+ {
37
+ provide: NG_VALUE_ACCESSOR,
38
+ useExisting: forwardRef(() => AlphaPickerComponent),
39
+ multi: true,
40
+ },
41
+ {
42
+ provide: ColorWrap,
43
+ useExisting: forwardRef(() => AlphaPickerComponent)
44
+ }
45
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
46
+ <div class="alpha-picker {{ className }}"
47
+ [style.width.px]="width" [style.height.px]="height">
48
+ <color-alpha
49
+ [hsl]="hsl"
50
+ [rgb]="rgb"
51
+ [pointer]="pointer"
52
+ [direction]="direction"
53
+ (onChange)="handlePickerChange($event)"
54
+ ></color-alpha>
55
+ </div>
56
+ `, isInline: true, styles: [".alpha-picker{position:relative}.color-alpha{radius:2px}\n"], components: [{ type: i1.AlphaComponent, selector: "color-alpha", inputs: ["hsl", "rgb", "pointer", "shadow", "radius", "direction"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: AlphaPickerComponent, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ selector: 'color-alpha-picker',
61
+ template: `
62
+ <div class="alpha-picker {{ className }}"
63
+ [style.width.px]="width" [style.height.px]="height">
64
+ <color-alpha
65
+ [hsl]="hsl"
66
+ [rgb]="rgb"
67
+ [pointer]="pointer"
68
+ [direction]="direction"
69
+ (onChange)="handlePickerChange($event)"
70
+ ></color-alpha>
71
+ </div>
72
+ `,
73
+ styles: [
74
+ `
75
+ .alpha-picker {
76
+ position: relative;
77
+ }
78
+ .color-alpha {
79
+ radius: 2px;
80
+ }
81
+ `,
82
+ ],
83
+ changeDetection: ChangeDetectionStrategy.OnPush,
84
+ preserveWhitespaces: false,
85
+ providers: [
86
+ {
87
+ provide: NG_VALUE_ACCESSOR,
88
+ useExisting: forwardRef(() => AlphaPickerComponent),
89
+ multi: true,
90
+ },
91
+ {
92
+ provide: ColorWrap,
93
+ useExisting: forwardRef(() => AlphaPickerComponent)
94
+ }
95
+ ]
96
+ }]
97
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
98
+ type: Input
99
+ }], height: [{
100
+ type: Input
101
+ }], direction: [{
102
+ type: Input
103
+ }] } });
104
+ class ColorAlphaModule {
105
+ }
106
+ ColorAlphaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
+ ColorAlphaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, declarations: [AlphaPickerComponent], imports: [CommonModule, AlphaModule, CheckboardModule], exports: [AlphaPickerComponent] });
108
+ ColorAlphaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, imports: [[CommonModule, AlphaModule, CheckboardModule]] });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorAlphaModule, decorators: [{
110
+ type: NgModule,
111
+ args: [{
112
+ declarations: [AlphaPickerComponent],
113
+ exports: [AlphaPickerComponent],
114
+ imports: [CommonModule, AlphaModule, CheckboardModule],
115
+ }]
116
+ }] });
117
+
118
+ /**
119
+ * Generated bundle index. Do not edit.
120
+ */
121
+
122
+ export { AlphaPickerComponent, ColorAlphaModule };
123
+ //# sourceMappingURL=ngx-color-alpha.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-color-alpha.mjs","sources":["../../src/lib/alpha/alpha-picker.component.ts","../../src/lib/alpha/ngx-color-alpha.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule, OnChanges } from '@angular/core';\n\nimport { AlphaModule, CheckboardModule, ColorWrap, toState } from 'ngx-color';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-alpha-picker',\n template: `\n <div class=\"alpha-picker {{ className }}\"\n [style.width.px]=\"width\" [style.height.px]=\"height\">\n <color-alpha\n [hsl]=\"hsl\"\n [rgb]=\"rgb\"\n [pointer]=\"pointer\"\n [direction]=\"direction\"\n (onChange)=\"handlePickerChange($event)\"\n ></color-alpha>\n </div>\n `,\n styles: [\n `\n .alpha-picker {\n position: relative;\n }\n .color-alpha {\n radius: 2px;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AlphaPickerComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => AlphaPickerComponent)\n }\n ]\n})\nexport class AlphaPickerComponent extends ColorWrap implements OnChanges {\n /** Pixel value for picker width */\n @Input() width: string | number = 316;\n /** Pixel value for picker height */\n @Input() height: string | number = 16;\n @Input() direction: 'horizontal' | 'vertical' = 'horizontal';\n pointer: {[key: string]: string} = {\n width: '18px',\n height: '18px',\n borderRadius: '50%',\n transform: 'translate(-9px, -2px)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',\n };\n\n constructor() {\n super();\n }\n ngOnChanges() {\n if (this.direction === 'vertical') {\n this.pointer.transform = 'translate(-3px, -9px)';\n }\n this.setState(toState(this.color, this.oldHue));\n }\n handlePickerChange({ data, $event }) {\n this.handleChange(data, $event);\n }\n}\n\n@NgModule({\n declarations: [AlphaPickerComponent],\n exports: [AlphaPickerComponent],\n imports: [CommonModule, AlphaModule, CheckboardModule],\n})\nexport class ColorAlphaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;MA4Ca,oBAAqB,SAAQ,SAAS;IAcjD;QACE,KAAK,EAAE,CAAC;;QAbD,UAAK,GAAoB,GAAG,CAAC;;QAE7B,WAAM,GAAoB,EAAE,CAAC;QAC7B,cAAS,GAA8B,YAAY,CAAC;QAC7D,YAAO,GAA4B;YACjC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,uBAAuB;YAClC,SAAS,EAAE,iCAAiC;SAC7C,CAAC;KAID;IACD,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,KAAK,UAAU,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,uBAAuB,CAAC;SAClD;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACjD;IACD,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACjC;;iHAzBU,oBAAoB;qGAApB,oBAAoB,mHAZpB;QACT;YACE,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;YACnD,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;SACpD;KACF,sEAlCS;;;;;;;;;;;GAWT;2FAyBU,oBAAoB;kBAtChC,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE;;;;;;;;;;;GAWT;oBACD,MAAM,EAAE;wBACN;;;;;;;GAOD;qBACA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,mBAAmB,EAAE,KAAK;oBAC1B,SAAS,EAAE;wBACT;4BACE,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;4BACnD,KAAK,EAAE,IAAI;yBACZ;wBACD;4BACE,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;yBACpD;qBACF;iBACF;0EAGU,KAAK;sBAAb,KAAK;gBAEG,MAAM;sBAAd,KAAK;gBACG,SAAS;sBAAjB,KAAK;;MA4BK,gBAAgB;;6GAAhB,gBAAgB;8GAAhB,gBAAgB,iBAjChB,oBAAoB,aA+BrB,YAAY,EAAE,WAAW,EAAE,gBAAgB,aA/B1C,oBAAoB;8GAiCpB,gBAAgB,YAFlB,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;2FAE3C,gBAAgB;kBAL5B,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAC;iBACvD;;;AC5ED;;;;;;"}
@@ -0,0 +1,275 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import * as i1 from 'ngx-color';
4
+ import { ColorWrap, getContrastingColor, isValidHex, CheckboardModule, SwatchModule, EditableInputModule } from 'ngx-color';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+
9
+ class BlockSwatchesComponent {
10
+ constructor() {
11
+ this.onClick = new EventEmitter();
12
+ this.onSwatchHover = new EventEmitter();
13
+ this.swatchStyle = {
14
+ width: '22px',
15
+ height: '22px',
16
+ float: 'left',
17
+ marginRight: '10px',
18
+ marginBottom: '10px',
19
+ borderRadius: '4px',
20
+ };
21
+ }
22
+ handleClick({ hex, $event }) {
23
+ this.onClick.emit({ hex, $event });
24
+ }
25
+ focusStyle(c) {
26
+ return {
27
+ boxShadow: `${c} 0 0 4px`,
28
+ };
29
+ }
30
+ }
31
+ BlockSwatchesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockSwatchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ BlockSwatchesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BlockSwatchesComponent, selector: "color-block-swatches", inputs: { colors: "colors" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
33
+ <div class="block-swatches">
34
+ <color-swatch
35
+ *ngFor="let c of colors"
36
+ [color]="c"
37
+ [style]="swatchStyle"
38
+ [focusStyle]="focusStyle(c)"
39
+ (onClick)="handleClick($event)"
40
+ (onHover)="onSwatchHover.emit($event)"
41
+ ></color-swatch>
42
+ <div class="clear"></div>
43
+ </div>
44
+ `, isInline: true, styles: [".block-swatches{margin-right:-10px}.clear{clear:both}\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"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockSwatchesComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ selector: 'color-block-swatches',
49
+ template: `
50
+ <div class="block-swatches">
51
+ <color-swatch
52
+ *ngFor="let c of colors"
53
+ [color]="c"
54
+ [style]="swatchStyle"
55
+ [focusStyle]="focusStyle(c)"
56
+ (onClick)="handleClick($event)"
57
+ (onHover)="onSwatchHover.emit($event)"
58
+ ></color-swatch>
59
+ <div class="clear"></div>
60
+ </div>
61
+ `,
62
+ styles: [`
63
+ .block-swatches {
64
+ margin-right: -10px;
65
+ }
66
+ .clear {
67
+ clear: both;
68
+ }
69
+ `],
70
+ }]
71
+ }], propDecorators: { colors: [{
72
+ type: Input
73
+ }], onClick: [{
74
+ type: Output
75
+ }], onSwatchHover: [{
76
+ type: Output
77
+ }] } });
78
+
79
+ class BlockComponent extends ColorWrap {
80
+ constructor() {
81
+ super();
82
+ /** Pixel value for picker width */
83
+ this.width = 170;
84
+ /** Color squares to display */
85
+ this.colors = [
86
+ '#D9E3F0',
87
+ '#F47373',
88
+ '#697689',
89
+ '#37D67A',
90
+ '#2CCCE4',
91
+ '#555555',
92
+ '#dce775',
93
+ '#ff8a65',
94
+ '#ba68c8',
95
+ ];
96
+ this.triangle = 'top';
97
+ this.input = {
98
+ width: '100%',
99
+ fontSize: '12px',
100
+ color: '#666',
101
+ border: '0px',
102
+ outline: 'none',
103
+ height: '22px',
104
+ boxShadow: 'inset 0 0 0 1px #ddd',
105
+ borderRadius: '4px',
106
+ padding: '0 7px',
107
+ boxSizing: 'border-box',
108
+ };
109
+ this.wrap = {
110
+ position: 'relative',
111
+ width: '100%',
112
+ };
113
+ this.disableAlpha = true;
114
+ }
115
+ handleValueChange({ data, $event }) {
116
+ this.handleBlockChange({ hex: data, $event });
117
+ }
118
+ getContrastingColor(hex) {
119
+ return getContrastingColor(hex);
120
+ }
121
+ handleBlockChange({ hex, $event }) {
122
+ if (isValidHex(hex)) {
123
+ // this.hex = hex;
124
+ this.handleChange({
125
+ hex,
126
+ source: 'hex',
127
+ }, $event);
128
+ }
129
+ }
130
+ }
131
+ BlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
132
+ BlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BlockComponent, selector: "color-block", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
133
+ {
134
+ provide: NG_VALUE_ACCESSOR,
135
+ useExisting: forwardRef(() => BlockComponent),
136
+ multi: true,
137
+ },
138
+ {
139
+ provide: ColorWrap,
140
+ useExisting: forwardRef(() => BlockComponent),
141
+ },
142
+ ], usesInheritance: true, ngImport: i0, template: `
143
+ <div class="block-card block-picker {{ className }}">
144
+ <div class="block-triangle" *ngIf="triangle !== 'hide'"
145
+ [style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
146
+ ></div>
147
+
148
+ <div class="block-head" [style.background]="hex">
149
+ <color-checkboard *ngIf="hex === 'transparent'"
150
+ borderRadius="6px 6px 0 0"
151
+ ></color-checkboard>
152
+ <div class="block-label" [style.color]="getContrastingColor(hex)">
153
+ {{ hex }}
154
+ </div>
155
+ </div>
156
+
157
+ <div class="block-body">
158
+ <color-block-swatches [colors]="colors"
159
+ (onClick)="handleBlockChange($event)"
160
+ (onSwatchHover)="onSwatchHover.emit($event)"
161
+ ></color-block-swatches>
162
+ <color-editable-input [value]="hex"
163
+ (onChange)="handleValueChange($event)"
164
+ [style]="{input: input, wrap: wrap}"
165
+ ></color-editable-input>
166
+ </div>
167
+ </div>
168
+ `, isInline: true, styles: [".block-card{background:#fff;border-radius:6px;box-shadow:0 1px #0000001a;position:relative}.block-head{align-items:center;border-radius:6px 6px 0 0;display:flex;height:110px;justify-content:center;position:relative}.block-body{padding:10px}.block-label{font-size:18px;position:relative}.block-triangle{border-style:solid;border-width:0 10px 10px 10px;height:0;left:50%;margin-left:-10px;position:absolute;top:-10px;width:0}\n"], components: [{ type: i0.forwardRef(function () { return i1.CheckboardComponent; }), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { type: i0.forwardRef(function () { return BlockSwatchesComponent; }), selector: "color-block-swatches", inputs: ["colors"], outputs: ["onClick", "onSwatchHover"] }, { type: i0.forwardRef(function () { return i1.EditableInputComponent; }), selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], directives: [{ type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, decorators: [{
170
+ type: Component,
171
+ args: [{
172
+ selector: 'color-block',
173
+ template: `
174
+ <div class="block-card block-picker {{ className }}">
175
+ <div class="block-triangle" *ngIf="triangle !== 'hide'"
176
+ [style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
177
+ ></div>
178
+
179
+ <div class="block-head" [style.background]="hex">
180
+ <color-checkboard *ngIf="hex === 'transparent'"
181
+ borderRadius="6px 6px 0 0"
182
+ ></color-checkboard>
183
+ <div class="block-label" [style.color]="getContrastingColor(hex)">
184
+ {{ hex }}
185
+ </div>
186
+ </div>
187
+
188
+ <div class="block-body">
189
+ <color-block-swatches [colors]="colors"
190
+ (onClick)="handleBlockChange($event)"
191
+ (onSwatchHover)="onSwatchHover.emit($event)"
192
+ ></color-block-swatches>
193
+ <color-editable-input [value]="hex"
194
+ (onChange)="handleValueChange($event)"
195
+ [style]="{input: input, wrap: wrap}"
196
+ ></color-editable-input>
197
+ </div>
198
+ </div>
199
+ `,
200
+ styles: [
201
+ `
202
+ .block-card {
203
+ background: #fff;
204
+ border-radius: 6px;
205
+ box-shadow: 0 1px rgba(0, 0, 0, .1);
206
+ position: relative;
207
+ }
208
+ .block-head {
209
+ align-items: center;
210
+ border-radius: 6px 6px 0 0;
211
+ display: flex;
212
+ height: 110px;
213
+ justify-content: center;
214
+ position: relative;
215
+ }
216
+ .block-body {
217
+ padding: 10px;
218
+ }
219
+ .block-label {
220
+ font-size: 18px;
221
+ position: relative;
222
+ }
223
+ .block-triangle {
224
+ border-style: solid;
225
+ border-width: 0 10px 10px 10px;
226
+ height: 0;
227
+ left: 50%;
228
+ margin-left: -10px;
229
+ position: absolute;
230
+ top: -10px;
231
+ width: 0;
232
+ }
233
+ `,
234
+ ],
235
+ preserveWhitespaces: false,
236
+ changeDetection: ChangeDetectionStrategy.OnPush,
237
+ providers: [
238
+ {
239
+ provide: NG_VALUE_ACCESSOR,
240
+ useExisting: forwardRef(() => BlockComponent),
241
+ multi: true,
242
+ },
243
+ {
244
+ provide: ColorWrap,
245
+ useExisting: forwardRef(() => BlockComponent),
246
+ },
247
+ ]
248
+ }]
249
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
250
+ type: Input
251
+ }], colors: [{
252
+ type: Input
253
+ }], triangle: [{
254
+ type: Input
255
+ }] } });
256
+ class ColorBlockModule {
257
+ }
258
+ ColorBlockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
259
+ ColorBlockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, declarations: [BlockComponent, BlockSwatchesComponent], imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule], exports: [BlockComponent, BlockSwatchesComponent] });
260
+ ColorBlockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, imports: [[CommonModule, CheckboardModule, SwatchModule, EditableInputModule]] });
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, decorators: [{
262
+ type: NgModule,
263
+ args: [{
264
+ declarations: [BlockComponent, BlockSwatchesComponent],
265
+ exports: [BlockComponent, BlockSwatchesComponent],
266
+ imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],
267
+ }]
268
+ }] });
269
+
270
+ /**
271
+ * Generated bundle index. Do not edit.
272
+ */
273
+
274
+ export { BlockComponent, BlockSwatchesComponent, ColorBlockModule };
275
+ //# sourceMappingURL=ngx-color-block.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-color-block.mjs","sources":["../../src/lib/block/block-swatches.component.ts","../../src/lib/block/block.component.ts","../../src/lib/block/ngx-color-block.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n@Component({\n selector: 'color-block-swatches',\n template: `\n <div class=\"block-swatches\">\n <color-swatch\n *ngFor=\"let c of colors\"\n [color]=\"c\"\n [style]=\"swatchStyle\"\n [focusStyle]=\"focusStyle(c)\"\n (onClick)=\"handleClick($event)\"\n (onHover)=\"onSwatchHover.emit($event)\"\n ></color-swatch>\n <div class=\"clear\"></div>\n </div>\n `,\n styles: [`\n .block-swatches {\n margin-right: -10px;\n }\n .clear {\n clear: both;\n }\n `],\n})\nexport class BlockSwatchesComponent {\n @Input() colors!: string[];\n @Output() onClick = new EventEmitter<any>();\n @Output() onSwatchHover = new EventEmitter<any>();\n\n swatchStyle = {\n width: '22px',\n height: '22px',\n float: 'left',\n marginRight: '10px',\n marginBottom: '10px',\n borderRadius: '4px',\n };\n\n handleClick({hex, $event}) {\n this.onClick.emit({hex, $event});\n }\n focusStyle(c) {\n return {\n boxShadow: `${ c } 0 0 4px`,\n };\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';\n\nimport {\n CheckboardModule,\n ColorWrap,\n EditableInputModule,\n getContrastingColor,\n isValidHex,\n SwatchModule,\n} from 'ngx-color';\nimport { BlockSwatchesComponent } from './block-swatches.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-block',\n template: `\n <div class=\"block-card block-picker {{ className }}\">\n <div class=\"block-triangle\" *ngIf=\"triangle !== 'hide'\"\n [style.border-color]=\"'transparent transparent ' + this.hex + ' transparent'\"\n ></div>\n\n <div class=\"block-head\" [style.background]=\"hex\">\n <color-checkboard *ngIf=\"hex === 'transparent'\"\n borderRadius=\"6px 6px 0 0\"\n ></color-checkboard>\n <div class=\"block-label\" [style.color]=\"getContrastingColor(hex)\">\n {{ hex }}\n </div>\n </div>\n\n <div class=\"block-body\">\n <color-block-swatches [colors]=\"colors\"\n (onClick)=\"handleBlockChange($event)\"\n (onSwatchHover)=\"onSwatchHover.emit($event)\"\n ></color-block-swatches>\n <color-editable-input [value]=\"hex\"\n (onChange)=\"handleValueChange($event)\"\n [style]=\"{input: input, wrap: wrap}\"\n ></color-editable-input>\n </div>\n </div>\n `,\n styles: [\n `\n .block-card {\n background: #fff;\n border-radius: 6px;\n box-shadow: 0 1px rgba(0, 0, 0, .1);\n position: relative;\n }\n .block-head {\n align-items: center;\n border-radius: 6px 6px 0 0;\n display: flex;\n height: 110px;\n justify-content: center;\n position: relative;\n }\n .block-body {\n padding: 10px;\n }\n .block-label {\n font-size: 18px;\n position: relative;\n }\n .block-triangle {\n border-style: solid;\n border-width: 0 10px 10px 10px;\n height: 0;\n left: 50%;\n margin-left: -10px;\n position: absolute;\n top: -10px;\n width: 0;\n }\n `,\n ],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BlockComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => BlockComponent),\n },\n ]\n})\nexport class BlockComponent extends ColorWrap {\n /** Pixel value for picker width */\n @Input() width: string | number = 170;\n /** Color squares to display */\n @Input() colors = [\n '#D9E3F0',\n '#F47373',\n '#697689',\n '#37D67A',\n '#2CCCE4',\n '#555555',\n '#dce775',\n '#ff8a65',\n '#ba68c8',\n ];\n @Input() triangle: 'top' | 'hide' = 'top';\n input: {[key: string]: string} = {\n width: '100%',\n fontSize: '12px',\n color: '#666',\n border: '0px',\n outline: 'none',\n height: '22px',\n boxShadow: 'inset 0 0 0 1px #ddd',\n borderRadius: '4px',\n padding: '0 7px',\n boxSizing: 'border-box',\n };\n wrap: {[key: string]: string} = {\n position: 'relative',\n width: '100%',\n };\n disableAlpha = true;\n\n constructor() {\n super();\n }\n\n handleValueChange({ data, $event }) {\n this.handleBlockChange({ hex: data, $event });\n }\n getContrastingColor(hex) {\n return getContrastingColor(hex);\n }\n handleBlockChange({ hex, $event }) {\n if (isValidHex(hex)) {\n // this.hex = hex;\n this.handleChange(\n {\n hex,\n source: 'hex',\n },\n $event,\n );\n }\n }\n}\n\n@NgModule({\n declarations: [BlockComponent, BlockSwatchesComponent],\n exports: [BlockComponent, BlockSwatchesComponent],\n imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],\n})\nexport class ColorBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}