ngx-color 7.2.0 → 7.3.3

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 (346) 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/{chrome/esm2015/chrome.component.js → esm2020/chrome/chrome.component.mjs} +116 -40
  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/{twitter/esm2015/twitter.component.js → esm2020/twitter/twitter.component.mjs} +83 -35
  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 +133 -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 -404
  217. package/alpha/bundles/ngx-color-alpha.umd.js.map +0 -1
  218. package/alpha/esm2015/alpha-picker.component.js +0 -84
  219. package/alpha/esm2015/ngx-color-alpha.js +0 -5
  220. package/alpha/fesm2015/ngx-color-alpha.js +0 -91
  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 -472
  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 -151
  227. package/block/esm2015/ngx-color-block.js +0 -6
  228. package/block/fesm2015/ngx-color-block.js +0 -214
  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 -543
  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/ngx-color-chrome.js +0 -6
  237. package/chrome/fesm2015/ngx-color-chrome.js +0 -432
  238. package/chrome/fesm2015/ngx-color-chrome.js.map +0 -1
  239. package/chrome/ngx-color-chrome.metadata.json +0 -1
  240. package/circle/bundles/ngx-color-circle.umd.js +0 -469
  241. package/circle/bundles/ngx-color-circle.umd.js.map +0 -1
  242. package/circle/esm2015/circle-swatch.component.js +0 -63
  243. package/circle/esm2015/circle.component.js +0 -109
  244. package/circle/esm2015/ngx-color-circle.js +0 -6
  245. package/circle/fesm2015/ngx-color-circle.js +0 -177
  246. package/circle/fesm2015/ngx-color-circle.js.map +0 -1
  247. package/circle/ngx-color-circle.metadata.json +0 -1
  248. package/compact/bundles/ngx-color-compact.umd.js +0 -579
  249. package/compact/bundles/ngx-color-compact.umd.js.map +0 -1
  250. package/compact/esm2015/compact-color.component.js +0 -70
  251. package/compact/esm2015/compact-fields.component.js +0 -142
  252. package/compact/esm2015/compact.component.js +0 -135
  253. package/compact/esm2015/ngx-color-compact.js +0 -7
  254. package/compact/fesm2015/ngx-color-compact.js +0 -348
  255. package/compact/fesm2015/ngx-color-compact.js.map +0 -1
  256. package/compact/ngx-color-compact.metadata.json +0 -1
  257. package/esm2015/alpha.component.js +0 -156
  258. package/esm2015/checkboard.component.js +0 -52
  259. package/esm2015/color-wrap.component.js +0 -145
  260. package/esm2015/coordinates.directive.js +0 -85
  261. package/esm2015/editable-input.component.js +0 -183
  262. package/esm2015/helpers/checkboard.js +0 -33
  263. package/esm2015/helpers/color.interfaces.js +0 -2
  264. package/esm2015/helpers/color.js +0 -60
  265. package/esm2015/hue.component.js +0 -140
  266. package/esm2015/ngx-color.js +0 -5
  267. package/esm2015/public_api.js +0 -14
  268. package/esm2015/raised.component.js +0 -73
  269. package/esm2015/saturation.component.js +0 -111
  270. package/esm2015/shade.component.js +0 -127
  271. package/esm2015/swatch.component.js +0 -85
  272. package/fesm2015/ngx-color.js +0 -1228
  273. package/fesm2015/ngx-color.js.map +0 -1
  274. package/github/bundles/ngx-color-github.umd.js +0 -447
  275. package/github/bundles/ngx-color-github.umd.js.map +0 -1
  276. package/github/esm2015/github-swatch.component.js +0 -48
  277. package/github/esm2015/github.component.js +0 -146
  278. package/github/esm2015/ngx-color-github.js +0 -6
  279. package/github/fesm2015/ngx-color-github.js +0 -199
  280. package/github/fesm2015/ngx-color-github.js.map +0 -1
  281. package/github/ngx-color-github.metadata.json +0 -1
  282. package/hue/bundles/ngx-color-hue.umd.js +0 -407
  283. package/hue/bundles/ngx-color-hue.umd.js.map +0 -1
  284. package/hue/esm2015/hue-picker.component.js +0 -82
  285. package/hue/esm2015/ngx-color-hue.js +0 -5
  286. package/hue/fesm2015/ngx-color-hue.js +0 -89
  287. package/hue/fesm2015/ngx-color-hue.js.map +0 -1
  288. package/hue/ngx-color-hue.metadata.json +0 -1
  289. package/material/bundles/ngx-color-material.umd.js +0 -455
  290. package/material/bundles/ngx-color-material.umd.js.map +0 -1
  291. package/material/esm2015/material.component.js +0 -161
  292. package/material/esm2015/ngx-color-material.js +0 -5
  293. package/material/fesm2015/ngx-color-material.js +0 -168
  294. package/material/fesm2015/ngx-color-material.js.map +0 -1
  295. package/material/ngx-color-material.metadata.json +0 -1
  296. package/ngx-color.metadata.json +0 -1
  297. package/photoshop/bundles/ngx-color-photoshop.umd.js +0 -571
  298. package/photoshop/bundles/ngx-color-photoshop.umd.js.map +0 -1
  299. package/photoshop/esm2015/ngx-color-photoshop.js +0 -8
  300. package/photoshop/esm2015/photoshop-button.component.js +0 -50
  301. package/photoshop/esm2015/photoshop-fields.component.js +0 -180
  302. package/photoshop/esm2015/photoshop-previews.component.js +0 -53
  303. package/photoshop/esm2015/photoshop.component.js +0 -181
  304. package/photoshop/fesm2015/ngx-color-photoshop.js +0 -464
  305. package/photoshop/fesm2015/ngx-color-photoshop.js.map +0 -1
  306. package/photoshop/ngx-color-photoshop.metadata.json +0 -1
  307. package/shade/bundles/ngx-color-shade.umd.js +0 -399
  308. package/shade/bundles/ngx-color-shade.umd.js.map +0 -1
  309. package/shade/esm2015/ngx-color-shade.js +0 -5
  310. package/shade/esm2015/shade-picker.component.js +0 -75
  311. package/shade/fesm2015/ngx-color-shade.js +0 -82
  312. package/shade/fesm2015/ngx-color-shade.js.map +0 -1
  313. package/shade/ngx-color-shade.metadata.json +0 -1
  314. package/sketch/bundles/ngx-color-sketch.umd.js +0 -585
  315. package/sketch/bundles/ngx-color-sketch.umd.js.map +0 -1
  316. package/sketch/esm2015/ngx-color-sketch.js +0 -7
  317. package/sketch/esm2015/sketch-fields.component.js +0 -181
  318. package/sketch/esm2015/sketch-preset-colors.component.js +0 -76
  319. package/sketch/esm2015/sketch.component.js +0 -203
  320. package/sketch/fesm2015/ngx-color-sketch.js +0 -462
  321. package/sketch/fesm2015/ngx-color-sketch.js.map +0 -1
  322. package/sketch/ngx-color-sketch.metadata.json +0 -1
  323. package/slider/bundles/ngx-color-slider.umd.js +0 -470
  324. package/slider/bundles/ngx-color-slider.umd.js.map +0 -1
  325. package/slider/esm2015/ngx-color-slider.js +0 -7
  326. package/slider/esm2015/slider-swatch.component.js +0 -65
  327. package/slider/esm2015/slider-swatches.component.js +0 -84
  328. package/slider/esm2015/slider.component.js +0 -81
  329. package/slider/fesm2015/ngx-color-slider.js +0 -233
  330. package/slider/fesm2015/ngx-color-slider.js.map +0 -1
  331. package/slider/ngx-color-slider.metadata.json +0 -1
  332. package/swatches/bundles/ngx-color-swatches.umd.js +0 -612
  333. package/swatches/bundles/ngx-color-swatches.umd.js.map +0 -1
  334. package/swatches/esm2015/ngx-color-swatches.js +0 -7
  335. package/swatches/esm2015/swatches-color.component.js +0 -90
  336. package/swatches/esm2015/swatches-group.component.js +0 -42
  337. package/swatches/esm2015/swatches.component.js +0 -217
  338. package/swatches/fesm2015/ngx-color-swatches.js +0 -351
  339. package/swatches/fesm2015/ngx-color-swatches.js.map +0 -1
  340. package/swatches/ngx-color-swatches.metadata.json +0 -1
  341. package/twitter/bundles/ngx-color-twitter.umd.js +0 -433
  342. package/twitter/bundles/ngx-color-twitter.umd.js.map +0 -1
  343. package/twitter/esm2015/ngx-color-twitter.js +0 -5
  344. package/twitter/fesm2015/ngx-color-twitter.js +0 -214
  345. package/twitter/fesm2015/ngx-color-twitter.js.map +0 -1
  346. package/twitter/ngx-color-twitter.metadata.json +0 -1
@@ -1,145 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, forwardRef, Input, isDevMode, NgModule, Output, } from '@angular/core';
3
- import { Subscription } from 'rxjs';
4
- import { debounceTime, tap } from 'rxjs/operators';
5
- import { simpleCheckForValidColor, toState } from './helpers/color';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- export var ColorMode;
8
- (function (ColorMode) {
9
- ColorMode["HEX"] = "hex";
10
- ColorMode["HSL"] = "hsl";
11
- ColorMode["HSV"] = "hsv";
12
- ColorMode["RGB"] = "rgb";
13
- })(ColorMode || (ColorMode = {}));
14
- export class ColorWrap {
15
- constructor() {
16
- /**
17
- * Descriptors the return color format if the component is used with two-way binding
18
- */
19
- this.mode = ColorMode.HEX;
20
- this.color = {
21
- h: 250,
22
- s: 0.5,
23
- l: 0.2,
24
- a: 1,
25
- };
26
- this.colorChange = new EventEmitter();
27
- this.onChange = new EventEmitter();
28
- this.onChangeComplete = new EventEmitter();
29
- this.onSwatchHover = new EventEmitter();
30
- this._onChangeCompleteSubscription = new Subscription();
31
- this._onSwatchHoverSubscription = new Subscription();
32
- }
33
- ngOnInit() {
34
- this.changes = this.onChange
35
- .pipe(debounceTime(100), tap(event => {
36
- this.onChangeComplete.emit(event);
37
- switch (this.mode) {
38
- case ColorMode.HEX:
39
- this.colorChange.emit(event.color.hex);
40
- break;
41
- case ColorMode.HSL:
42
- this.colorChange.emit(event.color.hsl);
43
- break;
44
- case ColorMode.HSV:
45
- this.colorChange.emit(event.color.hsv);
46
- break;
47
- case ColorMode.RGB:
48
- this.colorChange.emit(event.color.rgb);
49
- break;
50
- default:
51
- const msg = `The mode '${this.mode}' is not supported`;
52
- if (isDevMode()) {
53
- throw new Error(msg);
54
- }
55
- else {
56
- console.warn(msg);
57
- }
58
- break;
59
- }
60
- }))
61
- .subscribe();
62
- this.setState(toState(this.color, 0));
63
- this.currentColor = this.hex;
64
- }
65
- ngOnChanges() {
66
- this.setState(toState(this.color, this.oldHue));
67
- }
68
- ngOnDestroy() {
69
- var _a;
70
- (_a = this.changes) === null || _a === void 0 ? void 0 : _a.unsubscribe();
71
- this._onChangeCompleteSubscription.unsubscribe();
72
- this._onSwatchHoverSubscription.unsubscribe();
73
- }
74
- setState(data) {
75
- this.oldHue = data.oldHue;
76
- this.hsl = data.hsl;
77
- this.hsv = data.hsv;
78
- this.rgb = data.rgb;
79
- this.hex = data.hex;
80
- this.source = data.source;
81
- this.afterValidChange();
82
- }
83
- handleChange(data, $event) {
84
- const isValidColor = simpleCheckForValidColor(data);
85
- if (isValidColor) {
86
- const color = toState(data, data.h || this.oldHue, this.disableAlpha);
87
- this.setState(color);
88
- this.onChange.emit({ color, $event });
89
- this.afterValidChange();
90
- }
91
- }
92
- /** hook for components after a complete change */
93
- afterValidChange() { }
94
- handleSwatchHover(data, $event) {
95
- const isValidColor = simpleCheckForValidColor(data);
96
- if (isValidColor) {
97
- const color = toState(data, data.h || this.oldHue);
98
- this.setState(color);
99
- this.onSwatchHover.emit({ color, $event });
100
- }
101
- }
102
- registerOnChange(fn) {
103
- this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(tap(event => fn(event.color.hex))).subscribe());
104
- }
105
- registerOnTouched(fn) {
106
- this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(tap(() => fn())).subscribe());
107
- }
108
- setDisabledState(isDisabled) { }
109
- writeValue(hex) {
110
- this.color = hex;
111
- }
112
- }
113
- ColorWrap.decorators = [
114
- { type: Component, args: [{
115
- // create seletor base for test override property
116
- selector: 'color-wrap',
117
- template: ``,
118
- providers: [
119
- {
120
- provide: NG_VALUE_ACCESSOR,
121
- useExisting: forwardRef(() => ColorWrap),
122
- multi: true,
123
- }
124
- ]
125
- },] }
126
- ];
127
- ColorWrap.propDecorators = {
128
- className: [{ type: Input }],
129
- mode: [{ type: Input }],
130
- color: [{ type: Input }],
131
- colorChange: [{ type: Output }],
132
- onChange: [{ type: Output }],
133
- onChangeComplete: [{ type: Output }],
134
- onSwatchHover: [{ type: Output }]
135
- };
136
- export class ColorWrapModule {
137
- }
138
- ColorWrapModule.decorators = [
139
- { type: NgModule, args: [{
140
- declarations: [ColorWrap],
141
- exports: [ColorWrap],
142
- imports: [CommonModule],
143
- },] }
144
- ];
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itd3JhcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9jb2xvci13cmFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUlSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU96RSxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCx3QkFBVyxDQUFBO0lBQ1gsd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFjRCxNQUFNLE9BQU8sU0FBUztJQVp0QjtRQWVFOztXQUVHO1FBQ00sU0FBSSxHQUFjLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFFaEMsVUFBSyxHQUFnQztZQUM1QyxDQUFDLEVBQUUsR0FBRztZQUNOLENBQUMsRUFBRSxHQUFHO1lBQ04sQ0FBQyxFQUFFLEdBQUc7WUFDTixDQUFDLEVBQUUsQ0FBQztTQUNMLENBQUM7UUFDUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBQzlELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDbEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBV2pELGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQTRGMUQsQ0FBQztJQTFGQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUTthQUN6QixJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakIsS0FBSyxTQUFTLENBQUMsR0FBRztvQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkMsTUFBTTtnQkFDUixLQUFLLFNBQVMsQ0FBQyxHQUFHO29CQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN2QyxNQUFNO2dCQUNSLEtBQUssU0FBUyxDQUFDLEdBQUc7b0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTLENBQUMsR0FBRztvQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkMsTUFBTTtnQkFDUjtvQkFDRSxNQUFNLEdBQUcsR0FBRyxhQUFhLElBQUksQ0FBQyxJQUFJLG9CQUFvQixDQUFDO29CQUN2RCxJQUFJLFNBQVMsRUFBRSxFQUFFO3dCQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3RCO3lCQUFNO3dCQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ25CO29CQUNELE1BQU07YUFDVDtRQUNILENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsV0FBVzs7UUFDVCxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFJO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTTtRQUN2QixNQUFNLFlBQVksR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUNELGtEQUFrRDtJQUNsRCxnQkFBZ0IsS0FBSSxDQUFDO0lBRXJCLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNO1FBQzVCLE1BQU0sWUFBWSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQXlCO1FBQ3hDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNoQixDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CLElBQVMsQ0FBQztJQUU5QyxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNuQixDQUFDOzs7WUFuSUYsU0FBUyxTQUFDO2dCQUNULGlEQUFpRDtnQkFDakQsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQzt3QkFDeEMsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7O3dCQUVFLEtBQUs7bUJBS0wsS0FBSztvQkFFTCxLQUFLOzBCQU1MLE1BQU07dUJBQ04sTUFBTTsrQkFDTixNQUFNOzRCQUNOLE1BQU07O0FBK0dULE1BQU0sT0FBTyxlQUFlOzs7WUFMM0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDekIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IsIHRvU3RhdGUgfSBmcm9tICcuL2hlbHBlcnMvY29sb3InO1xuaW1wb3J0IHsgQ29sb3IsIEhTTEEsIEhTVkEsIFJHQkEgfSBmcm9tICcuL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JFdmVudCB7XG4gICRldmVudDogRXZlbnQ7XG4gIGNvbG9yOiBDb2xvcjtcbn1cblxuZXhwb3J0IGVudW0gQ29sb3JNb2RlIHtcbiAgSEVYID0gJ2hleCcsXG4gIEhTTCA9ICdoc2wnLFxuICBIU1YgPSAnaHN2JyxcbiAgUkdCID0gJ3JnYidcbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGNyZWF0ZSBzZWxldG9yIGJhc2UgZm9yIHRlc3Qgb3ZlcnJpZGUgcHJvcGVydHlcbiAgc2VsZWN0b3I6ICdjb2xvci13cmFwJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbG9yV3JhcCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JXcmFwIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBjbGFzc05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0b3JzIHRoZSByZXR1cm4gY29sb3IgZm9ybWF0IGlmIHRoZSBjb21wb25lbnQgaXMgdXNlZCB3aXRoIHR3by13YXkgYmluZGluZ1xuICAgKi9cbiAgQElucHV0KCkgbW9kZTogQ29sb3JNb2RlID0gQ29sb3JNb2RlLkhFWDtcblxuICBASW5wdXQoKSBjb2xvcjogSFNMQSB8IEhTVkEgfCBSR0JBIHwgc3RyaW5nID0ge1xuICAgIGg6IDI1MCxcbiAgICBzOiAwLjUsXG4gICAgbDogMC4yLFxuICAgIGE6IDEsXG4gIH07XG4gIEBPdXRwdXQoKSBjb2xvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SFNMQSB8IEhTVkEgfCBSR0JBIHwgc3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbG9yRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZUNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxDb2xvckV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3JFdmVudD4oKTtcbiAgb2xkSHVlITogbnVtYmVyO1xuICBoc2whOiBIU0xBO1xuICBoc3YhOiBIU1ZBO1xuICByZ2IhOiBSR0JBO1xuICBoZXghOiBzdHJpbmc7XG4gIHNvdXJjZSE6IHN0cmluZztcbiAgY3VycmVudENvbG9yITogc3RyaW5nO1xuICBjaGFuZ2VzPzogU3Vic2NyaXB0aW9uO1xuICBkaXNhYmxlQWxwaGE/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX29uU3dhdGNoSG92ZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jaGFuZ2VzID0gdGhpcy5vbkNoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAgIHRoaXMub25DaGFuZ2VDb21wbGV0ZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xuICAgICAgICAgICAgY2FzZSBDb2xvck1vZGUuSEVYOlxuICAgICAgICAgICAgICB0aGlzLmNvbG9yQ2hhbmdlLmVtaXQoZXZlbnQuY29sb3IuaGV4KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIENvbG9yTW9kZS5IU0w6XG4gICAgICAgICAgICAgIHRoaXMuY29sb3JDaGFuZ2UuZW1pdChldmVudC5jb2xvci5oc2wpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQ29sb3JNb2RlLkhTVjpcbiAgICAgICAgICAgICAgdGhpcy5jb2xvckNoYW5nZS5lbWl0KGV2ZW50LmNvbG9yLmhzdik7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBDb2xvck1vZGUuUkdCOlxuICAgICAgICAgICAgICB0aGlzLmNvbG9yQ2hhbmdlLmVtaXQoZXZlbnQuY29sb3IucmdiKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBjb25zdCBtc2cgPSBgVGhlIG1vZGUgJyR7dGhpcy5tb2RlfScgaXMgbm90IHN1cHBvcnRlZGA7XG4gICAgICAgICAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLnNldFN0YXRlKHRvU3RhdGUodGhpcy5jb2xvciwgMCkpO1xuICAgIHRoaXMuY3VycmVudENvbG9yID0gdGhpcy5oZXg7XG4gIH1cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh0b1N0YXRlKHRoaXMuY29sb3IsIHRoaXMub2xkSHVlKSk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblN3YXRjaEhvdmVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgc2V0U3RhdGUoZGF0YSkge1xuICAgIHRoaXMub2xkSHVlID0gZGF0YS5vbGRIdWU7XG4gICAgdGhpcy5oc2wgPSBkYXRhLmhzbDtcbiAgICB0aGlzLmhzdiA9IGRhdGEuaHN2O1xuICAgIHRoaXMucmdiID0gZGF0YS5yZ2I7XG4gICAgdGhpcy5oZXggPSBkYXRhLmhleDtcbiAgICB0aGlzLnNvdXJjZSA9IGRhdGEuc291cmNlO1xuICAgIHRoaXMuYWZ0ZXJWYWxpZENoYW5nZSgpO1xuICB9XG4gIGhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpIHtcbiAgICBjb25zdCBpc1ZhbGlkQ29sb3IgPSBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IoZGF0YSk7XG4gICAgaWYgKGlzVmFsaWRDb2xvcikge1xuICAgICAgY29uc3QgY29sb3IgPSB0b1N0YXRlKGRhdGEsIGRhdGEuaCB8fCB0aGlzLm9sZEh1ZSwgdGhpcy5kaXNhYmxlQWxwaGEpO1xuICAgICAgdGhpcy5zZXRTdGF0ZShjb2xvcik7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgICAgdGhpcy5hZnRlclZhbGlkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG4gIC8qKiBob29rIGZvciBjb21wb25lbnRzIGFmdGVyIGEgY29tcGxldGUgY2hhbmdlICovXG4gIGFmdGVyVmFsaWRDaGFuZ2UoKSB7fVxuXG4gIGhhbmRsZVN3YXRjaEhvdmVyKGRhdGEsICRldmVudCkge1xuICAgIGNvbnN0IGlzVmFsaWRDb2xvciA9IHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvcihkYXRhKTtcbiAgICBpZiAoaXNWYWxpZENvbG9yKSB7XG4gICAgICBjb25zdCBjb2xvciA9IHRvU3RhdGUoZGF0YSwgZGF0YS5oIHx8IHRoaXMub2xkSHVlKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoY29sb3IpO1xuICAgICAgdGhpcy5vblN3YXRjaEhvdmVyLmVtaXQoeyBjb2xvciwgJGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChoZXg6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlQ29tcGxldGVTdWJzY3JpcHRpb24uYWRkKHRoaXMub25DaGFuZ2VDb21wbGV0ZS5waXBlKFxuICAgICAgdGFwKGV2ZW50ID0+IGZuKGV2ZW50LmNvbG9yLmhleCkpLFxuICAgICkuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblN3YXRjaEhvdmVyU3Vic2NyaXB0aW9uLmFkZCh0aGlzLm9uU3dhdGNoSG92ZXIucGlwZShcbiAgICAgIHRhcCgoKSA9PiBmbigpKSxcbiAgICApLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKGhleDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb2xvciA9IGhleDtcbiAgfVxuXG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NvbG9yV3JhcF0sXG4gIGV4cG9ydHM6IFtDb2xvcldyYXBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JXcmFwTW9kdWxlIHt9XG4iXX0=
@@ -1,85 +0,0 @@
1
- import { Directive, ElementRef, HostListener, NgModule, Output, } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { distinctUntilChanged } from 'rxjs/operators';
4
- export class CoordinatesDirective {
5
- constructor(el) {
6
- this.el = el;
7
- this.coordinatesChange = new Subject();
8
- this.mousechange = new Subject();
9
- this.mouseListening = false;
10
- }
11
- mousemove($event, x, y, isTouch = false) {
12
- if (this.mouseListening) {
13
- $event.preventDefault();
14
- this.mousechange.next({ $event, x, y, isTouch });
15
- }
16
- }
17
- mouseup() {
18
- this.mouseListening = false;
19
- }
20
- mousedown($event, x, y, isTouch = false) {
21
- $event.preventDefault();
22
- this.mouseListening = true;
23
- this.mousechange.next({ $event, x, y, isTouch });
24
- }
25
- ngOnInit() {
26
- this.sub = this.mousechange
27
- .pipe(
28
- // limit times it is updated for the same area
29
- distinctUntilChanged((p, q) => p.x === q.x && p.y === q.y))
30
- .subscribe(n => this.handleChange(n.x, n.y, n.$event, n.isTouch));
31
- }
32
- ngOnDestroy() {
33
- this.sub.unsubscribe();
34
- }
35
- handleChange(x, y, $event, isTouch) {
36
- const containerWidth = this.el.nativeElement.clientWidth;
37
- const containerHeight = this.el.nativeElement.clientHeight;
38
- const left = x -
39
- (this.el.nativeElement.getBoundingClientRect().left + window.pageXOffset);
40
- let top = y - this.el.nativeElement.getBoundingClientRect().top;
41
- if (!isTouch) {
42
- top = top - window.pageYOffset;
43
- }
44
- this.coordinatesChange.next({
45
- x,
46
- y,
47
- top,
48
- left,
49
- containerWidth,
50
- containerHeight,
51
- $event,
52
- });
53
- }
54
- }
55
- CoordinatesDirective.decorators = [
56
- { type: Directive, args: [{ selector: '[ngx-color-coordinates]' },] }
57
- ];
58
- CoordinatesDirective.ctorParameters = () => [
59
- { type: ElementRef }
60
- ];
61
- CoordinatesDirective.propDecorators = {
62
- coordinatesChange: [{ type: Output }],
63
- mousemove: [{ type: HostListener, args: ['window:mousemove', ['$event', '$event.pageX', '$event.pageY'],] }, { type: HostListener, args: ['window:touchmove', [
64
- '$event',
65
- '$event.touches[0].clientX',
66
- '$event.touches[0].clientY',
67
- 'true',
68
- ],] }],
69
- mouseup: [{ type: HostListener, args: ['window:mouseup',] }, { type: HostListener, args: ['window:touchend',] }],
70
- mousedown: [{ type: HostListener, args: ['mousedown', ['$event', '$event.pageX', '$event.pageY'],] }, { type: HostListener, args: ['touchstart', [
71
- '$event',
72
- '$event.touches[0].clientX',
73
- '$event.touches[0].clientY',
74
- 'true',
75
- ],] }]
76
- };
77
- export class CoordinatesModule {
78
- }
79
- CoordinatesModule.decorators = [
80
- { type: NgModule, args: [{
81
- declarations: [CoordinatesDirective],
82
- exports: [CoordinatesDirective],
83
- },] }
84
- ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vY29vcmRpbmF0ZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBR1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE1BQU0sT0FBTyxvQkFBb0I7SUFtRC9CLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBakRsQyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFRM0IsQ0FBQztRQUNHLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBSzdCLENBQUM7UUFFRyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQWlDTSxDQUFDO0lBeEJ0QyxTQUFTLENBQUMsTUFBYSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDNUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFRRCxTQUFTLENBQUMsTUFBYSxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDNUQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVc7YUFDeEIsSUFBSTtRQUNILDhDQUE4QztRQUM5QyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDM0Q7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsTUFBYSxFQUFFLE9BQWdCO1FBQ2hFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUN6RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDM0QsTUFBTSxJQUFJLEdBQ1IsQ0FBQztZQUNELENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVFLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUVoRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osR0FBRyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUMxQixDQUFDO1lBQ0QsQ0FBQztZQUNELEdBQUc7WUFDSCxJQUFJO1lBQ0osY0FBYztZQUNkLGVBQWU7WUFDZixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBdkZGLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRTs7O1lBWGhELFVBQVU7OztnQ0FhVCxNQUFNO3dCQW1CTixZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxjQUMzRSxZQUFZLFNBQUMsa0JBQWtCLEVBQUU7b0JBQ2hDLFFBQVE7b0JBQ1IsMkJBQTJCO29CQUMzQiwyQkFBMkI7b0JBQzNCLE1BQU07aUJBQ1A7c0JBT0EsWUFBWSxTQUFDLGdCQUFnQixjQUM3QixZQUFZLFNBQUMsaUJBQWlCO3dCQUk5QixZQUFZLFNBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsY0FDcEUsWUFBWSxTQUFDLFlBQVksRUFBRTtvQkFDMUIsUUFBUTtvQkFDUiwyQkFBMkI7b0JBQzNCLDJCQUEyQjtvQkFDM0IsTUFBTTtpQkFDUDs7QUFpREgsTUFBTSxPQUFPLGlCQUFpQjs7O1lBSjdCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgTmdNb2R1bGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbmd4LWNvbG9yLWNvb3JkaW5hdGVzXScgfSlcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpXG4gIGNvb3JkaW5hdGVzQ2hhbmdlID0gbmV3IFN1YmplY3Q8e1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIGNvbnRhaW5lcldpZHRoOiBudW1iZXI7XG4gICAgY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgJGV2ZW50OiBhbnk7XG4gIH0+KCk7XG4gIHByaXZhdGUgbW91c2VjaGFuZ2UgPSBuZXcgU3ViamVjdDx7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICAkZXZlbnQ6IGFueTtcbiAgICBpc1RvdWNoOiBib29sZWFuO1xuICB9PigpO1xuXG4gIHByaXZhdGUgbW91c2VMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBzdWIhOiBTdWJzY3JpcHRpb247XG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUnLCBbJyRldmVudCcsICckZXZlbnQucGFnZVgnLCAnJGV2ZW50LnBhZ2VZJ10pXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaG1vdmUnLCBbXG4gICAgJyRldmVudCcsXG4gICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFgnLFxuICAgICckZXZlbnQudG91Y2hlc1swXS5jbGllbnRZJyxcbiAgICAndHJ1ZScsXG4gIF0pXG4gIG1vdXNlbW92ZSgkZXZlbnQ6IEV2ZW50LCB4OiBudW1iZXIsIHk6IG51bWJlciwgaXNUb3VjaCA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMubW91c2VMaXN0ZW5pbmcpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5tb3VzZWNoYW5nZS5uZXh0KHsgJGV2ZW50LCB4LCB5LCBpc1RvdWNoIH0pO1xuICAgIH1cbiAgfVxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcpXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzp0b3VjaGVuZCcpXG4gIG1vdXNldXAoKSB7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmluZyA9IGZhbHNlO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50JywgJyRldmVudC5wYWdlWCcsICckZXZlbnQucGFnZVknXSlcbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcsIFtcbiAgICAnJGV2ZW50JyxcbiAgICAnJGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WCcsXG4gICAgJyRldmVudC50b3VjaGVzWzBdLmNsaWVudFknLFxuICAgICd0cnVlJyxcbiAgXSlcbiAgbW91c2Vkb3duKCRldmVudDogRXZlbnQsIHg6IG51bWJlciwgeTogbnVtYmVyLCBpc1RvdWNoID0gZmFsc2UpIHtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm1vdXNlY2hhbmdlLm5leHQoeyAkZXZlbnQsIHgsIHksIGlzVG91Y2ggfSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3ViID0gdGhpcy5tb3VzZWNoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIGxpbWl0IHRpbWVzIGl0IGlzIHVwZGF0ZWQgZm9yIHRoZSBzYW1lIGFyZWFcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHAsIHEpID0+IHAueCA9PT0gcS54ICYmIHAueSA9PT0gcS55KSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUobiA9PiB0aGlzLmhhbmRsZUNoYW5nZShuLngsIG4ueSwgbi4kZXZlbnQsIG4uaXNUb3VjaCkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZSh4OiBudW1iZXIsIHk6IG51bWJlciwgJGV2ZW50OiBFdmVudCwgaXNUb3VjaDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIGNvbnN0IGNvbnRhaW5lckhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgY29uc3QgbGVmdCA9XG4gICAgICB4IC1cbiAgICAgICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCArIHdpbmRvdy5wYWdlWE9mZnNldCk7XG4gICAgbGV0IHRvcCA9IHkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuXG4gICAgaWYgKCFpc1RvdWNoKSB7XG4gICAgICB0b3AgPSB0b3AgLSB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgfVxuICAgIHRoaXMuY29vcmRpbmF0ZXNDaGFuZ2UubmV4dCh7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICBjb250YWluZXJXaWR0aCxcbiAgICAgIGNvbnRhaW5lckhlaWdodCxcbiAgICAgICRldmVudCxcbiAgICB9KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb29yZGluYXRlc0RpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtDb29yZGluYXRlc0RpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvb3JkaW5hdGVzTW9kdWxlIHt9XG4iXX0=
@@ -1,183 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
3
- import { fromEvent } from 'rxjs';
4
- let nextUniqueId = 0;
5
- export class EditableInputComponent {
6
- constructor() {
7
- this.placeholder = '';
8
- this.onChange = new EventEmitter();
9
- this.focus = false;
10
- this.uniqueId = `editableInput-${++nextUniqueId}`;
11
- }
12
- ngOnInit() {
13
- this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};
14
- this.inputStyle = this.style && this.style.input ? this.style.input : {};
15
- this.labelStyle = this.style && this.style.label ? this.style.label : {};
16
- if (this.dragLabel) {
17
- this.labelStyle.cursor = 'ew-resize';
18
- }
19
- }
20
- handleFocus($event) {
21
- this.focus = true;
22
- }
23
- handleFocusOut($event) {
24
- this.focus = false;
25
- this.currentValue = this.blurValue;
26
- }
27
- handleKeydown($event) {
28
- // In case `e.target.value` is a percentage remove the `%` character
29
- // and update accordingly with a percentage
30
- // https://github.com/casesandberg/react-color/issues/383
31
- const stringValue = String($event.target.value);
32
- const isPercentage = stringValue.indexOf('%') > -1;
33
- const num = Number(stringValue.replace(/%/g, ''));
34
- if (isNaN(num)) {
35
- return;
36
- }
37
- const amount = this.arrowOffset || 1;
38
- // Up
39
- if ($event.keyCode === 38) {
40
- if (this.label) {
41
- this.onChange.emit({
42
- data: { [this.label]: num + amount },
43
- $event,
44
- });
45
- }
46
- else {
47
- this.onChange.emit({ data: num + amount, $event });
48
- }
49
- if (isPercentage) {
50
- this.currentValue = `${num + amount}%`;
51
- }
52
- else {
53
- this.currentValue = num + amount;
54
- }
55
- }
56
- // Down
57
- if ($event.keyCode === 40) {
58
- if (this.label) {
59
- this.onChange.emit({
60
- data: { [this.label]: num - amount },
61
- $event,
62
- });
63
- }
64
- else {
65
- this.onChange.emit({ data: num - amount, $event });
66
- }
67
- if (isPercentage) {
68
- this.currentValue = `${num - amount}%`;
69
- }
70
- else {
71
- this.currentValue = num - amount;
72
- }
73
- }
74
- }
75
- handleKeyup($event) {
76
- if ($event.keyCode === 40 || $event.keyCode === 38) {
77
- return;
78
- }
79
- if (`${this.currentValue}` === $event.target.value) {
80
- return;
81
- }
82
- if (this.label) {
83
- this.onChange.emit({
84
- data: { [this.label]: $event.target.value },
85
- $event,
86
- });
87
- }
88
- else {
89
- this.onChange.emit({ data: $event.target.value, $event });
90
- }
91
- }
92
- ngOnChanges() {
93
- if (!this.focus) {
94
- this.currentValue = String(this.value).toUpperCase();
95
- this.blurValue = String(this.value).toUpperCase();
96
- }
97
- else {
98
- this.blurValue = String(this.value).toUpperCase();
99
- }
100
- }
101
- ngOnDestroy() {
102
- this.unsubscribe();
103
- }
104
- subscribe() {
105
- this.mousemove = fromEvent(document, 'mousemove').subscribe((ev) => this.handleDrag(ev));
106
- this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());
107
- }
108
- unsubscribe() {
109
- if (this.mousemove) {
110
- this.mousemove.unsubscribe();
111
- }
112
- if (this.mouseup) {
113
- this.mouseup.unsubscribe();
114
- }
115
- }
116
- handleMousedown($event) {
117
- if (this.dragLabel) {
118
- $event.preventDefault();
119
- this.handleDrag($event);
120
- this.subscribe();
121
- }
122
- }
123
- handleDrag($event) {
124
- if (this.dragLabel) {
125
- const newValue = Math.round(this.value + $event.movementX);
126
- if (newValue >= 0 && newValue <= this.dragMax) {
127
- this.onChange.emit({ data: { [this.label]: newValue }, $event });
128
- }
129
- }
130
- }
131
- }
132
- EditableInputComponent.decorators = [
133
- { type: Component, args: [{
134
- selector: 'color-editable-input',
135
- template: `
136
- <div class="wrap" [ngStyle]="wrapStyle">
137
- <input
138
- [ngStyle]="inputStyle"
139
- spellCheck="false"
140
- [value]="currentValue"
141
- [placeholder]="placeholder"
142
- (keydown)="handleKeydown($event)"
143
- (keyup)="handleKeyup($event)"
144
- (focus)="handleFocus($event)"
145
- (focusout)="handleFocusOut($event)"
146
- [attr.aria-labelledby]="uniqueId"
147
- />
148
- <span [id]="uniqueId" *ngIf="label" [ngStyle]="labelStyle" (mousedown)="handleMousedown($event)">
149
- {{ label }}
150
- </span>
151
- </div>
152
- `,
153
- changeDetection: ChangeDetectionStrategy.OnPush,
154
- styles: [`
155
- :host {
156
- display: flex;
157
- }
158
- .wrap {
159
- position: relative;
160
- }
161
- `]
162
- },] }
163
- ];
164
- EditableInputComponent.propDecorators = {
165
- style: [{ type: Input }],
166
- label: [{ type: Input }],
167
- value: [{ type: Input }],
168
- arrowOffset: [{ type: Input }],
169
- dragLabel: [{ type: Input }],
170
- dragMax: [{ type: Input }],
171
- placeholder: [{ type: Input }],
172
- onChange: [{ type: Output }]
173
- };
174
- export class EditableInputModule {
175
- }
176
- EditableInputModule.decorators = [
177
- { type: NgModule, args: [{
178
- declarations: [EditableInputComponent],
179
- exports: [EditableInputComponent],
180
- imports: [CommonModule],
181
- },] }
182
- ];
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFJUixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFL0MsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBa0NyQixNQUFNLE9BQU8sc0JBQXNCO0lBaENuQztRQTJDVyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNoQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU14QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR2QsYUFBUSxHQUFXLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBd0h2RCxDQUFDO0lBdEhDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFD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RSxLQUFLO29CQUtMLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO3VCQUNMLE1BQU07O0FBd0lULE1BQU0sT0FBTyxtQkFBbUI7OztZQUwvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdNb2R1bGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1lZGl0YWJsZS1pbnB1dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIndyYXBcIiBbbmdTdHlsZV09XCJ3cmFwU3R5bGVcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcbiAgICAgICAgc3BlbGxDaGVjaz1cImZhbHNlXCJcbiAgICAgICAgW3ZhbHVlXT1cImN1cnJlbnRWYWx1ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleWRvd24oJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cCk9XCJoYW5kbGVLZXl1cCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxuICAgICAgICAoZm9jdXNvdXQpPVwiaGFuZGxlRm9jdXNPdXQoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ1bmlxdWVJZFwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gW2lkXT1cInVuaXF1ZUlkXCIgKm5nSWY9XCJsYWJlbFwiIFtuZ1N0eWxlXT1cImxhYmVsU3R5bGVcIiAobW91c2Vkb3duKT1cImhhbmRsZU1vdXNlZG93bigkZXZlbnQpXCI+XG4gICAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC53cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0YWJsZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHN0eWxlIToge1xuICAgIHdyYXA/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGlucHV0PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBsYWJlbD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIH07XG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB2YWx1ZSE6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgYXJyb3dPZmZzZXQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyYWdMYWJlbCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRyYWdNYXghOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY3VycmVudFZhbHVlITogc3RyaW5nIHwgbnVtYmVyO1xuICBibHVyVmFsdWUhOiBzdHJpbmc7XG4gIHdyYXBTdHlsZSE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGlucHV0U3R5bGUhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBsYWJlbFN0eWxlITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgZm9jdXMgPSBmYWxzZTtcbiAgbW91c2Vtb3ZlITogU3Vic2NyaXB0aW9uO1xuICBtb3VzZXVwITogU3Vic2NyaXB0aW9uO1xuICB1bmlxdWVJZDogc3RyaW5nID0gYGVkaXRhYmxlSW5wdXQtJHsrK25leHRVbmlxdWVJZH1gO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMud3JhcFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLndyYXAgPyB0aGlzLnN0eWxlLndyYXAgOiB7fTtcbiAgICB0aGlzLmlucHV0U3R5bGUgPSB0aGlzLnN0eWxlICYmIHRoaXMuc3R5bGUuaW5wdXQgPyB0aGlzLnN0eWxlLmlucHV0IDoge307XG4gICAgdGhpcy5sYWJlbFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLmxhYmVsID8gdGhpcy5zdHlsZS5sYWJlbCA6IHt9O1xuICAgIGlmICh0aGlzLmRyYWdMYWJlbCkge1xuICAgICAgdGhpcy5sYWJlbFN0eWxlLmN1cnNvciA9ICdldy1yZXNpemUnO1xuICAgIH1cbiAgfVxuICBoYW5kbGVGb2N1cygkZXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzID0gdHJ1ZTtcbiAgfVxuICBoYW5kbGVGb2N1c091dCgkZXZlbnQpIHtcbiAgICB0aGlzLmZvY3VzID0gZmFsc2U7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmJsdXJWYWx1ZTtcbiAgfVxuICBoYW5kbGVLZXlkb3duKCRldmVudCkge1xuICAgIC8vIEluIGNhc2UgYGUudGFyZ2V0LnZhbHVlYCBpcyBhIHBlcmNlbnRhZ2UgcmVtb3ZlIHRoZSBgJWAgY2hhcmFjdGVyXG4gICAgLy8gYW5kIHVwZGF0ZSBhY2NvcmRpbmdseSB3aXRoIGEgcGVyY2VudGFnZVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXNlc2FuZGJlcmcvcmVhY3QtY29sb3IvaXNzdWVzLzM4M1xuICAgIGNvbnN0IHN0cmluZ1ZhbHVlID0gU3RyaW5nKCRldmVudC50YXJnZXQudmFsdWUpO1xuICAgIGNvbnN0IGlzUGVyY2VudGFnZSA9IHN0cmluZ1ZhbHVlLmluZGV4T2YoJyUnKSA+IC0xO1xuICAgIGNvbnN0IG51bSA9IE51bWJlcihzdHJpbmdWYWx1ZS5yZXBsYWNlKC8lL2csICcnKSk7XG4gICAgaWYgKGlzTmFOKG51bSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYW1vdW50ID0gdGhpcy5hcnJvd09mZnNldCB8fCAxO1xuXG4gICAgLy8gVXBcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICBpZiAodGhpcy5sYWJlbCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGRhdGE6IHsgW3RoaXMubGFiZWxdOiBudW0gKyBhbW91bnQgfSxcbiAgICAgICAgICAkZXZlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogbnVtICsgYW1vdW50LCAkZXZlbnQgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1BlcmNlbnRhZ2UpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBgJHtudW0gKyBhbW91bnR9JWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bSArIGFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb3duXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogbnVtIC0gYW1vdW50IH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGE6IG51bSAtIGFtb3VudCwgJGV2ZW50IH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNQZXJjZW50YWdlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gYCR7bnVtIC0gYW1vdW50fSVgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBudW0gLSBhbW91bnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGhhbmRsZUtleXVwKCRldmVudCkge1xuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gNDAgfHwgJGV2ZW50LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChgJHt0aGlzLmN1cnJlbnRWYWx1ZX1gID09PSAkZXZlbnQudGFyZ2V0LnZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHsgW3RoaXMubGFiZWxdOiAkZXZlbnQudGFyZ2V0LnZhbHVlIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhOiAkZXZlbnQudGFyZ2V0LnZhbHVlLCAkZXZlbnQgfSk7XG4gICAgfVxuICB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy5mb2N1cykge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBTdHJpbmcodGhpcy52YWx1ZSkudG9VcHBlckNhc2UoKTtcbiAgICAgIHRoaXMuYmx1clZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmx1clZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgfVxuICB9XG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuICBzdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5tb3VzZW1vdmUgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKS5zdWJzY3JpYmUoKGV2OiBFdmVudCkgPT4gdGhpcy5oYW5kbGVEcmFnKGV2KSk7XG4gICAgdGhpcy5tb3VzZXVwID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2V1cCcpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVuc3Vic2NyaWJlKCkpO1xuICB9XG4gIHVuc3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLm1vdXNlbW92ZSkge1xuICAgICAgdGhpcy5tb3VzZW1vdmUudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW91c2V1cCkge1xuICAgICAgdGhpcy5tb3VzZXVwLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZU1vdXNlZG93bigkZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZHJhZ0xhYmVsKSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuaGFuZGxlRHJhZygkZXZlbnQpO1xuICAgICAgdGhpcy5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbiAgaGFuZGxlRHJhZygkZXZlbnQpIHtcbiAgICBpZiAodGhpcy5kcmFnTGFiZWwpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gTWF0aC5yb3VuZCh0aGlzLnZhbHVlICsgJGV2ZW50Lm1vdmVtZW50WCk7XG4gICAgICBpZiAobmV3VmFsdWUgPj0gMCAmJiBuZXdWYWx1ZSA8PSB0aGlzLmRyYWdNYXgpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogeyBbdGhpcy5sYWJlbF06IG5ld1ZhbHVlIH0sICRldmVudCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRWRpdGFibGVJbnB1dENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtFZGl0YWJsZUlucHV0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRhYmxlSW5wdXRNb2R1bGUge31cbiJdfQ==
@@ -1,33 +0,0 @@
1
- const checkboardCache = {};
2
- export function render(c1, c2, size) {
3
- if (typeof document === 'undefined') {
4
- return null;
5
- }
6
- const canvas = document.createElement('canvas');
7
- canvas.width = size * 2;
8
- canvas.height = size * 2;
9
- const ctx = canvas.getContext('2d');
10
- if (!ctx) {
11
- return null;
12
- } // If no context can be found, return early.
13
- ctx.fillStyle = c1;
14
- ctx.fillRect(0, 0, canvas.width, canvas.height);
15
- ctx.fillStyle = c2;
16
- ctx.fillRect(0, 0, size, size);
17
- ctx.translate(size, size);
18
- ctx.fillRect(0, 0, size, size);
19
- return canvas.toDataURL();
20
- }
21
- export function getCheckerboard(c1, c2, size) {
22
- const key = `${c1}-${c2}-${size}`;
23
- if (checkboardCache[key]) {
24
- return checkboardCache[key];
25
- }
26
- const checkboard = render(c1, c2, size);
27
- if (!checkboard) {
28
- return null;
29
- }
30
- checkboardCache[key] = checkboard;
31
- return checkboard;
32
- }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL2hlbHBlcnMvY2hlY2tib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLGVBQWUsR0FBNEIsRUFBRSxDQUFDO0FBRXBELE1BQU0sVUFBVSxNQUFNLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxJQUFZO0lBQ3pELElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN4QixNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7SUFDekIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxJQUFJLENBQUM7S0FDYixDQUFDLDRDQUE0QztJQUM5QyxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDbkIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsSUFBWTtJQUNsRSxNQUFNLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7SUFDbEMsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDN0I7SUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2YsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDbEMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGNoZWNrYm9hcmRDYWNoZToge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcihjMTogc3RyaW5nLCBjMjogc3RyaW5nLCBzaXplOiBudW1iZXIpIHtcbiAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgY2FudmFzLndpZHRoID0gc2l6ZSAqIDI7XG4gIGNhbnZhcy5oZWlnaHQgPSBzaXplICogMjtcbiAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gIGlmICghY3R4KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0gLy8gSWYgbm8gY29udGV4dCBjYW4gYmUgZm91bmQsIHJldHVybiBlYXJseS5cbiAgY3R4LmZpbGxTdHlsZSA9IGMxO1xuICBjdHguZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgY3R4LmZpbGxTdHlsZSA9IGMyO1xuICBjdHguZmlsbFJlY3QoMCwgMCwgc2l6ZSwgc2l6ZSk7XG4gIGN0eC50cmFuc2xhdGUoc2l6ZSwgc2l6ZSk7XG4gIGN0eC5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcbiAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENoZWNrZXJib2FyZChjMTogc3RyaW5nLCBjMjogc3RyaW5nLCBzaXplOiBudW1iZXIpIHtcbiAgY29uc3Qga2V5ID0gYCR7YzF9LSR7YzJ9LSR7c2l6ZX1gO1xuICBpZiAoY2hlY2tib2FyZENhY2hlW2tleV0pIHtcbiAgICByZXR1cm4gY2hlY2tib2FyZENhY2hlW2tleV07XG4gIH1cbiAgY29uc3QgY2hlY2tib2FyZCA9IHJlbmRlcihjMSwgYzIsIHNpemUpO1xuICBpZiAoIWNoZWNrYm9hcmQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjaGVja2JvYXJkQ2FjaGVba2V5XSA9IGNoZWNrYm9hcmQ7XG4gIHJldHVybiBjaGVja2JvYXJkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSR0Ige1xuICByOiBudW1iZXI7XG4gIGc6IG51bWJlcjtcbiAgYjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJHQkEgZXh0ZW5kcyBSR0Ige1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNMIHtcbiAgaDogbnVtYmVyO1xuICBzOiBudW1iZXI7XG4gIGw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU0xBIGV4dGVuZHMgSFNMIHtcbiAgYTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTViB7XG4gIGg6IG51bWJlcjtcbiAgczogbnVtYmVyO1xuICB2OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNWQSBleHRlbmRzIEhTViB7XG4gIGE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU1ZBc291cmNlIGV4dGVuZHMgSFNWQSB7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTTEFzb3VyY2UgZXh0ZW5kcyBIU0xBIHtcbiAgc291cmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3Ige1xuICBoZXg6IHN0cmluZztcbiAgcmdiOiBSR0JBO1xuICBoc2w6IEhTTEE7XG4gIGhzdjogSFNWQTtcbiAgb2xkSHVlOiBudW1iZXI7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlIHtcbiAgY29sb3I6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { TinyColor } from '@ctrl/tinycolor';
2
- export function simpleCheckForValidColor(data) {
3
- const keysToCheck = ['r', 'g', 'b', 'a', 'h', 's', 'l', 'v'];
4
- let checked = 0;
5
- let passed = 0;
6
- keysToCheck.forEach(letter => {
7
- if (!data[letter]) {
8
- return;
9
- }
10
- checked += 1;
11
- if (!isNaN(data[letter])) {
12
- passed += 1;
13
- }
14
- if (letter === 's' || letter === 'l') {
15
- const percentPatt = /^\d+%$/;
16
- if (percentPatt.test(data[letter])) {
17
- passed += 1;
18
- }
19
- }
20
- });
21
- return checked === passed ? data : false;
22
- }
23
- export function toState(data, oldHue, disableAlpha) {
24
- const color = data.hex ? new TinyColor(data.hex) : new TinyColor(data);
25
- if (disableAlpha) {
26
- color.setAlpha(1);
27
- }
28
- const hsl = color.toHsl();
29
- const hsv = color.toHsv();
30
- const rgb = color.toRgb();
31
- const hex = color.toHex();
32
- if (hsl.s === 0) {
33
- hsl.h = oldHue || 0;
34
- hsv.h = oldHue || 0;
35
- }
36
- const transparent = hex === '000000' && rgb.a === 0;
37
- return {
38
- hsl,
39
- hex: transparent ? 'transparent' : color.toHexString(),
40
- rgb,
41
- hsv,
42
- oldHue: data.h || oldHue || hsl.h,
43
- source: data.source,
44
- };
45
- }
46
- export function isValidHex(hex) {
47
- return new TinyColor(hex).isValid;
48
- }
49
- export function getContrastingColor(data) {
50
- if (!data) {
51
- return '#fff';
52
- }
53
- const col = toState(data);
54
- if (col.hex === 'transparent') {
55
- return 'rgba(0,0,0,0.4)';
56
- }
57
- const yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;
58
- return yiq >= 128 ? '#000' : '#fff';
59
- }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9oZWxwZXJzL2NvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk1QyxNQUFNLFVBQVUsd0JBQXdCLENBQUMsSUFBSTtJQUMzQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDaEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxDQUFDLENBQUM7U0FDYjtRQUNELElBQUksTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztZQUM3QixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sSUFBSSxDQUFDLENBQUM7YUFDYjtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNDLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFlLEVBQUUsWUFBc0I7SUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxJQUFJLFlBQVksRUFBRTtRQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25CO0lBRUQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDZixHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDcEIsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBQ0QsTUFBTSxXQUFXLEdBQUcsR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwRCxPQUFPO1FBQ0wsR0FBRztRQUNILEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtRQUN0RCxHQUFHO1FBQ0gsR0FBRztRQUNILE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDcEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3RDLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQ0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxhQUFhLEVBQUU7UUFDN0IsT0FBTyxpQkFBaUIsQ0FBQztLQUMxQjtJQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDekUsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcblxuaW1wb3J0IHsgQ29sb3IgfSBmcm9tICcuL2NvbG9yLmludGVyZmFjZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2ltcGxlQ2hlY2tGb3JWYWxpZENvbG9yKGRhdGEpIHtcbiAgY29uc3Qga2V5c1RvQ2hlY2sgPSBbJ3InLCAnZycsICdiJywgJ2EnLCAnaCcsICdzJywgJ2wnLCAndiddO1xuICBsZXQgY2hlY2tlZCA9IDA7XG4gIGxldCBwYXNzZWQgPSAwO1xuICBrZXlzVG9DaGVjay5mb3JFYWNoKGxldHRlciA9PiB7XG4gICAgaWYgKCFkYXRhW2xldHRlcl0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY2hlY2tlZCArPSAxO1xuICAgIGlmICghaXNOYU4oZGF0YVtsZXR0ZXJdKSkge1xuICAgICAgcGFzc2VkICs9IDE7XG4gICAgfVxuICAgIGlmIChsZXR0ZXIgPT09ICdzJyB8fCBsZXR0ZXIgPT09ICdsJykge1xuICAgICAgY29uc3QgcGVyY2VudFBhdHQgPSAvXlxcZCslJC87XG4gICAgICBpZiAocGVyY2VudFBhdHQudGVzdChkYXRhW2xldHRlcl0pKSB7XG4gICAgICAgIHBhc3NlZCArPSAxO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjaGVja2VkID09PSBwYXNzZWQgPyBkYXRhIDogZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1N0YXRlKGRhdGEsIG9sZEh1ZT86IG51bWJlciwgZGlzYWJsZUFscGhhPzogYm9vbGVhbik6IENvbG9yIHtcbiAgY29uc3QgY29sb3IgPSBkYXRhLmhleCA/IG5ldyBUaW55Q29sb3IoZGF0YS5oZXgpIDogbmV3IFRpbnlDb2xvcihkYXRhKTtcbiAgaWYgKGRpc2FibGVBbHBoYSkge1xuICAgIGNvbG9yLnNldEFscGhhKDEpO1xuICB9XG5cbiAgY29uc3QgaHNsID0gY29sb3IudG9Ic2woKTtcbiAgY29uc3QgaHN2ID0gY29sb3IudG9Ic3YoKTtcbiAgY29uc3QgcmdiID0gY29sb3IudG9SZ2IoKTtcbiAgY29uc3QgaGV4ID0gY29sb3IudG9IZXgoKTtcbiAgaWYgKGhzbC5zID09PSAwKSB7XG4gICAgaHNsLmggPSBvbGRIdWUgfHwgMDtcbiAgICBoc3YuaCA9IG9sZEh1ZSB8fCAwO1xuICB9XG4gIGNvbnN0IHRyYW5zcGFyZW50ID0gaGV4ID09PSAnMDAwMDAwJyAmJiByZ2IuYSA9PT0gMDtcblxuICByZXR1cm4ge1xuICAgIGhzbCxcbiAgICBoZXg6IHRyYW5zcGFyZW50ID8gJ3RyYW5zcGFyZW50JyA6IGNvbG9yLnRvSGV4U3RyaW5nKCksXG4gICAgcmdiLFxuICAgIGhzdixcbiAgICBvbGRIdWU6IGRhdGEuaCB8fCBvbGRIdWUgfHwgaHNsLmgsXG4gICAgc291cmNlOiBkYXRhLnNvdXJjZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRIZXgoaGV4OiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBUaW55Q29sb3IoaGV4KS5pc1ZhbGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udHJhc3RpbmdDb2xvcihkYXRhKSB7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiAnI2ZmZic7XG4gIH1cbiAgY29uc3QgY29sID0gdG9TdGF0ZShkYXRhKTtcbiAgaWYgKGNvbC5oZXggPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICByZXR1cm4gJ3JnYmEoMCwwLDAsMC40KSc7XG4gIH1cbiAgY29uc3QgeWlxID0gKGNvbC5yZ2IuciAqIDI5OSArIGNvbC5yZ2IuZyAqIDU4NyArIGNvbC5yZ2IuYiAqIDExNCkgLyAxMDAwO1xuICByZXR1cm4geWlxID49IDEyOCA/ICcjMDAwJyA6ICcjZmZmJztcbn1cbiJdfQ==