ngx-color 8.0.3 → 10.0.0

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 (200) hide show
  1. package/README.md +2 -3
  2. package/alpha/alpha-picker.component.d.ts +1 -1
  3. package/alpha.component.d.ts +1 -1
  4. package/block/block-swatches.component.d.ts +1 -1
  5. package/block/block.component.d.ts +1 -1
  6. package/checkboard.component.d.ts +1 -1
  7. package/chrome/chrome-fields.component.d.ts +1 -1
  8. package/chrome/chrome.component.d.ts +1 -1
  9. package/circle/circle-swatch.component.d.ts +1 -1
  10. package/circle/circle.component.d.ts +1 -1
  11. package/color-wrap.component.d.ts +1 -1
  12. package/compact/compact-color.component.d.ts +1 -1
  13. package/compact/compact-fields.component.d.ts +1 -1
  14. package/compact/compact.component.d.ts +1 -1
  15. package/coordinates.directive.d.ts +2 -3
  16. package/editable-input.component.d.ts +1 -1
  17. package/{fesm2020 → fesm2022}/ngx-color-alpha.mjs +36 -38
  18. package/fesm2022/ngx-color-alpha.mjs.map +1 -0
  19. package/fesm2022/ngx-color-block.mjs +233 -0
  20. package/fesm2022/ngx-color-block.mjs.map +1 -0
  21. package/fesm2022/ngx-color-chrome.mjs +543 -0
  22. package/fesm2022/ngx-color-chrome.mjs.map +1 -0
  23. package/fesm2022/ngx-color-circle.mjs +223 -0
  24. package/fesm2022/ngx-color-circle.mjs.map +1 -0
  25. package/fesm2022/ngx-color-compact.mjs +403 -0
  26. package/fesm2022/ngx-color-compact.mjs.map +1 -0
  27. package/fesm2022/ngx-color-github.mjs +167 -0
  28. package/fesm2022/ngx-color-github.mjs.map +1 -0
  29. package/fesm2022/ngx-color-hue.mjs +109 -0
  30. package/fesm2022/ngx-color-hue.mjs.map +1 -0
  31. package/fesm2022/ngx-color-material.mjs +209 -0
  32. package/fesm2022/ngx-color-material.mjs.map +1 -0
  33. package/fesm2022/ngx-color-photoshop.mjs +475 -0
  34. package/fesm2022/ngx-color-photoshop.mjs.map +1 -0
  35. package/{fesm2015 → fesm2022}/ngx-color-shade.mjs +41 -35
  36. package/fesm2022/ngx-color-shade.mjs.map +1 -0
  37. package/fesm2022/ngx-color-sketch.mjs +491 -0
  38. package/fesm2022/ngx-color-sketch.mjs.map +1 -0
  39. package/fesm2022/ngx-color-slider.mjs +282 -0
  40. package/fesm2022/ngx-color-slider.mjs.map +1 -0
  41. package/fesm2022/ngx-color-swatches.mjs +293 -0
  42. package/fesm2022/ngx-color-swatches.mjs.map +1 -0
  43. package/fesm2022/ngx-color-twitter.mjs +169 -0
  44. package/fesm2022/ngx-color-twitter.mjs.map +1 -0
  45. package/{fesm2020 → fesm2022}/ngx-color.mjs +348 -264
  46. package/fesm2022/ngx-color.mjs.map +1 -0
  47. package/github/github-swatch.component.d.ts +1 -1
  48. package/github/github.component.d.ts +1 -1
  49. package/hue/hue-picker.component.d.ts +1 -1
  50. package/hue.component.d.ts +1 -1
  51. package/material/material.component.d.ts +1 -1
  52. package/package.json +29 -84
  53. package/photoshop/photoshop-button.component.d.ts +1 -1
  54. package/photoshop/photoshop-fields.component.d.ts +1 -1
  55. package/photoshop/photoshop-previews.component.d.ts +1 -1
  56. package/photoshop/photoshop.component.d.ts +1 -1
  57. package/raised.component.d.ts +2 -2
  58. package/saturation.component.d.ts +1 -1
  59. package/shade/shade-picker.component.d.ts +1 -1
  60. package/shade.component.d.ts +1 -1
  61. package/sketch/sketch-fields.component.d.ts +1 -1
  62. package/sketch/sketch-preset-colors.component.d.ts +1 -1
  63. package/sketch/sketch.component.d.ts +1 -1
  64. package/slider/slider-swatch.component.d.ts +1 -1
  65. package/slider/slider-swatches.component.d.ts +1 -1
  66. package/slider/slider.component.d.ts +1 -1
  67. package/swatch.component.d.ts +1 -1
  68. package/swatches/swatches-color.component.d.ts +1 -1
  69. package/swatches/swatches-group.component.d.ts +1 -1
  70. package/swatches/swatches.component.d.ts +1 -1
  71. package/twitter/twitter.component.d.ts +1 -1
  72. package/esm2020/alpha/alpha-picker.component.mjs +0 -100
  73. package/esm2020/alpha/ngx-color-alpha.mjs +0 -5
  74. package/esm2020/alpha/public_api.mjs +0 -2
  75. package/esm2020/alpha.component.mjs +0 -138
  76. package/esm2020/block/block-swatches.component.mjs +0 -63
  77. package/esm2020/block/block.component.mjs +0 -158
  78. package/esm2020/block/ngx-color-block.mjs +0 -5
  79. package/esm2020/block/public_api.mjs +0 -3
  80. package/esm2020/checkboard.component.mjs +0 -50
  81. package/esm2020/chrome/chrome-fields.component.mjs +0 -314
  82. package/esm2020/chrome/chrome.component.mjs +0 -184
  83. package/esm2020/chrome/ngx-color-chrome.mjs +0 -5
  84. package/esm2020/chrome/public_api.mjs +0 -3
  85. package/esm2020/circle/circle-swatch.component.mjs +0 -69
  86. package/esm2020/circle/circle.component.mjs +0 -134
  87. package/esm2020/circle/ngx-color-circle.mjs +0 -5
  88. package/esm2020/circle/public_api.mjs +0 -3
  89. package/esm2020/color-wrap.component.mjs +0 -163
  90. package/esm2020/compact/compact-color.component.mjs +0 -70
  91. package/esm2020/compact/compact-fields.component.mjs +0 -164
  92. package/esm2020/compact/compact.component.mjs +0 -154
  93. package/esm2020/compact/ngx-color-compact.mjs +0 -5
  94. package/esm2020/compact/public_api.mjs +0 -4
  95. package/esm2020/coordinates.directive.mjs +0 -104
  96. package/esm2020/editable-input.component.mjs +0 -199
  97. package/esm2020/github/github-swatch.component.mjs +0 -53
  98. package/esm2020/github/github.component.mjs +0 -112
  99. package/esm2020/github/ngx-color-github.mjs +0 -5
  100. package/esm2020/github/public_api.mjs +0 -3
  101. package/esm2020/helpers/checkboard.mjs +0 -33
  102. package/esm2020/helpers/color.interfaces.mjs +0 -2
  103. package/esm2020/helpers/color.mjs +0 -60
  104. package/esm2020/hue/hue-picker.component.mjs +0 -100
  105. package/esm2020/hue/ngx-color-hue.mjs +0 -5
  106. package/esm2020/hue/public_api.mjs +0 -2
  107. package/esm2020/hue.component.mjs +0 -124
  108. package/esm2020/material/material.component.mjs +0 -186
  109. package/esm2020/material/ngx-color-material.mjs +0 -5
  110. package/esm2020/material/public_api.mjs +0 -2
  111. package/esm2020/ngx-color.mjs +0 -5
  112. package/esm2020/photoshop/ngx-color-photoshop.mjs +0 -5
  113. package/esm2020/photoshop/photoshop-button.component.mjs +0 -34
  114. package/esm2020/photoshop/photoshop-fields.component.mjs +0 -212
  115. package/esm2020/photoshop/photoshop-previews.component.mjs +0 -40
  116. package/esm2020/photoshop/photoshop.component.mjs +0 -185
  117. package/esm2020/photoshop/public_api.mjs +0 -5
  118. package/esm2020/public_api.mjs +0 -14
  119. package/esm2020/raised.component.mjs +0 -50
  120. package/esm2020/saturation.component.mjs +0 -92
  121. package/esm2020/shade/ngx-color-shade.mjs +0 -5
  122. package/esm2020/shade/public_api.mjs +0 -2
  123. package/esm2020/shade/shade-picker.component.mjs +0 -92
  124. package/esm2020/shade.component.mjs +0 -125
  125. package/esm2020/sketch/ngx-color-sketch.mjs +0 -5
  126. package/esm2020/sketch/public_api.mjs +0 -4
  127. package/esm2020/sketch/sketch-fields.component.mjs +0 -209
  128. package/esm2020/sketch/sketch-preset-colors.component.mjs +0 -68
  129. package/esm2020/sketch/sketch.component.mjs +0 -212
  130. package/esm2020/slider/ngx-color-slider.mjs +0 -5
  131. package/esm2020/slider/public_api.mjs +0 -4
  132. package/esm2020/slider/slider-swatch.component.mjs +0 -52
  133. package/esm2020/slider/slider-swatches.component.mjs +0 -119
  134. package/esm2020/slider/slider.component.mjs +0 -102
  135. package/esm2020/swatch.component.mjs +0 -110
  136. package/esm2020/swatches/ngx-color-swatches.mjs +0 -5
  137. package/esm2020/swatches/public_api.mjs +0 -4
  138. package/esm2020/swatches/swatches-color.component.mjs +0 -104
  139. package/esm2020/swatches/swatches-group.component.mjs +0 -49
  140. package/esm2020/swatches/swatches.component.mjs +0 -242
  141. package/esm2020/twitter/ngx-color-twitter.mjs +0 -5
  142. package/esm2020/twitter/public_api.mjs +0 -2
  143. package/esm2020/twitter/twitter.component.mjs +0 -159
  144. package/fesm2015/ngx-color-alpha.mjs +0 -107
  145. package/fesm2015/ngx-color-alpha.mjs.map +0 -1
  146. package/fesm2015/ngx-color-block.mjs +0 -223
  147. package/fesm2015/ngx-color-block.mjs.map +0 -1
  148. package/fesm2015/ngx-color-chrome.mjs +0 -499
  149. package/fesm2015/ngx-color-chrome.mjs.map +0 -1
  150. package/fesm2015/ngx-color-circle.mjs +0 -207
  151. package/fesm2015/ngx-color-circle.mjs.map +0 -1
  152. package/fesm2015/ngx-color-compact.mjs +0 -385
  153. package/fesm2015/ngx-color-compact.mjs.map +0 -1
  154. package/fesm2015/ngx-color-github.mjs +0 -169
  155. package/fesm2015/ngx-color-github.mjs.map +0 -1
  156. package/fesm2015/ngx-color-hue.mjs +0 -107
  157. package/fesm2015/ngx-color-hue.mjs.map +0 -1
  158. package/fesm2015/ngx-color-material.mjs +0 -193
  159. package/fesm2015/ngx-color-material.mjs.map +0 -1
  160. package/fesm2015/ngx-color-photoshop.mjs +0 -467
  161. package/fesm2015/ngx-color-photoshop.mjs.map +0 -1
  162. package/fesm2015/ngx-color-shade.mjs.map +0 -1
  163. package/fesm2015/ngx-color-sketch.mjs +0 -485
  164. package/fesm2015/ngx-color-sketch.mjs.map +0 -1
  165. package/fesm2015/ngx-color-slider.mjs +0 -273
  166. package/fesm2015/ngx-color-slider.mjs.map +0 -1
  167. package/fesm2015/ngx-color-swatches.mjs +0 -391
  168. package/fesm2015/ngx-color-swatches.mjs.map +0 -1
  169. package/fesm2015/ngx-color-twitter.mjs +0 -166
  170. package/fesm2015/ngx-color-twitter.mjs.map +0 -1
  171. package/fesm2015/ngx-color.mjs +0 -1202
  172. package/fesm2015/ngx-color.mjs.map +0 -1
  173. package/fesm2020/ngx-color-alpha.mjs.map +0 -1
  174. package/fesm2020/ngx-color-block.mjs +0 -223
  175. package/fesm2020/ngx-color-block.mjs.map +0 -1
  176. package/fesm2020/ngx-color-chrome.mjs +0 -499
  177. package/fesm2020/ngx-color-chrome.mjs.map +0 -1
  178. package/fesm2020/ngx-color-circle.mjs +0 -207
  179. package/fesm2020/ngx-color-circle.mjs.map +0 -1
  180. package/fesm2020/ngx-color-compact.mjs +0 -385
  181. package/fesm2020/ngx-color-compact.mjs.map +0 -1
  182. package/fesm2020/ngx-color-github.mjs +0 -169
  183. package/fesm2020/ngx-color-github.mjs.map +0 -1
  184. package/fesm2020/ngx-color-hue.mjs +0 -107
  185. package/fesm2020/ngx-color-hue.mjs.map +0 -1
  186. package/fesm2020/ngx-color-material.mjs +0 -193
  187. package/fesm2020/ngx-color-material.mjs.map +0 -1
  188. package/fesm2020/ngx-color-photoshop.mjs +0 -467
  189. package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
  190. package/fesm2020/ngx-color-shade.mjs +0 -99
  191. package/fesm2020/ngx-color-shade.mjs.map +0 -1
  192. package/fesm2020/ngx-color-sketch.mjs +0 -485
  193. package/fesm2020/ngx-color-sketch.mjs.map +0 -1
  194. package/fesm2020/ngx-color-slider.mjs +0 -273
  195. package/fesm2020/ngx-color-slider.mjs.map +0 -1
  196. package/fesm2020/ngx-color-swatches.mjs +0 -391
  197. package/fesm2020/ngx-color-swatches.mjs.map +0 -1
  198. package/fesm2020/ngx-color-twitter.mjs +0 -166
  199. package/fesm2020/ngx-color-twitter.mjs.map +0 -1
  200. package/fesm2020/ngx-color.mjs.map +0 -1
@@ -1,112 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
- import { ColorWrap, isValidHex, SwatchModule } from 'ngx-color';
4
- import { GithubSwatchComponent } from './github-swatch.component';
5
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- export class GithubComponent extends ColorWrap {
9
- constructor() {
10
- super();
11
- /** Pixel value for picker width */
12
- this.width = 212;
13
- /** Color squares to display */
14
- this.colors = [
15
- '#B80000',
16
- '#DB3E00',
17
- '#FCCB00',
18
- '#008B02',
19
- '#006B76',
20
- '#1273DE',
21
- '#004DCF',
22
- '#5300EB',
23
- '#EB9694',
24
- '#FAD0C3',
25
- '#FEF3BD',
26
- '#C1E1C5',
27
- '#BEDADC',
28
- '#C4DEF6',
29
- '#BED3F3',
30
- '#D4C4FB',
31
- ];
32
- this.triangle = 'top-left';
33
- }
34
- handleBlockChange({ hex, $event }) {
35
- if (isValidHex(hex)) {
36
- this.handleChange({ hex, source: 'hex' }, $event);
37
- }
38
- }
39
- handleValueChange({ data, $event }) {
40
- this.handleChange(data, $event);
41
- }
42
- }
43
- GithubComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GithubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- GithubComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: GithubComponent, selector: "color-github", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
45
- {
46
- provide: NG_VALUE_ACCESSOR,
47
- useExisting: forwardRef(() => GithubComponent),
48
- multi: true,
49
- },
50
- {
51
- provide: ColorWrap,
52
- useExisting: forwardRef(() => GithubComponent),
53
- },
54
- ], usesInheritance: true, ngImport: i0, template: `
55
- <div class="github-picker {{ triangle }}-triangle {{ className }}"
56
- [style.width.px]="width"
57
- >
58
- <div class="triangleShadow"></div>
59
- <div class="triangle"></div>
60
- <color-github-swatch *ngFor="let color of colors"
61
- [color]="color"
62
- (onClick)="handleBlockChange($event)"
63
- (onSwatchHover)="onSwatchHover.emit($event)"
64
- ></color-github-swatch>
65
- </div>
66
- `, isInline: true, styles: [".github-picker{background:rgb(255,255,255);border:1px solid rgba(0,0,0,.2);box-shadow:#00000026 0 3px 12px;border-radius:4px;position:relative;padding:5px;display:flex;flex-wrap:wrap;box-sizing:border-box}.triangleShadow{position:absolute;border-width:8px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.15);border-image:initial}.triangle{position:absolute;border-width:7px;border-style:solid;border-color:transparent transparent rgb(255,255,255);border-image:initial}.hide-triangle>.triangle{display:none}.hide-triangle>.triangleShadow{display:none}.top-left-triangle>.triangle{top:-14px;left:10px}.top-left-triangle>.triangleShadow{top:-16px;left:9px}.top-right-triangle>.triangle{top:-14px;right:10px}.top-right-triangle>.triangleShadow{top:-16px;right:9px}.bottom-right-triangle>.triangle{top:35px;right:10px;transform:rotate(180deg)}.bottom-right-triangle>.triangleShadow{top:37px;right:9px;transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return GithubSwatchComponent; }), selector: "color-github-swatch", inputs: ["color"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: GithubComponent, decorators: [{
68
- type: Component,
69
- args: [{ selector: 'color-github', template: `
70
- <div class="github-picker {{ triangle }}-triangle {{ className }}"
71
- [style.width.px]="width"
72
- >
73
- <div class="triangleShadow"></div>
74
- <div class="triangle"></div>
75
- <color-github-swatch *ngFor="let color of colors"
76
- [color]="color"
77
- (onClick)="handleBlockChange($event)"
78
- (onSwatchHover)="onSwatchHover.emit($event)"
79
- ></color-github-swatch>
80
- </div>
81
- `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
82
- {
83
- provide: NG_VALUE_ACCESSOR,
84
- useExisting: forwardRef(() => GithubComponent),
85
- multi: true,
86
- },
87
- {
88
- provide: ColorWrap,
89
- useExisting: forwardRef(() => GithubComponent),
90
- },
91
- ], styles: [".github-picker{background:rgb(255,255,255);border:1px solid rgba(0,0,0,.2);box-shadow:#00000026 0 3px 12px;border-radius:4px;position:relative;padding:5px;display:flex;flex-wrap:wrap;box-sizing:border-box}.triangleShadow{position:absolute;border-width:8px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.15);border-image:initial}.triangle{position:absolute;border-width:7px;border-style:solid;border-color:transparent transparent rgb(255,255,255);border-image:initial}.hide-triangle>.triangle{display:none}.hide-triangle>.triangleShadow{display:none}.top-left-triangle>.triangle{top:-14px;left:10px}.top-left-triangle>.triangleShadow{top:-16px;left:9px}.top-right-triangle>.triangle{top:-14px;right:10px}.top-right-triangle>.triangleShadow{top:-16px;right:9px}.bottom-right-triangle>.triangle{top:35px;right:10px;transform:rotate(180deg)}.bottom-right-triangle>.triangleShadow{top:37px;right:9px;transform:rotate(180deg)}\n"] }]
92
- }], ctorParameters: function () { return []; }, propDecorators: { width: [{
93
- type: Input
94
- }], colors: [{
95
- type: Input
96
- }], triangle: [{
97
- type: Input
98
- }] } });
99
- export class ColorGithubModule {
100
- }
101
- ColorGithubModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorGithubModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
102
- ColorGithubModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: ColorGithubModule, declarations: [GithubComponent, GithubSwatchComponent], imports: [CommonModule, SwatchModule], exports: [GithubComponent, GithubSwatchComponent] });
103
- ColorGithubModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorGithubModule, imports: [CommonModule, SwatchModule] });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorGithubModule, decorators: [{
105
- type: NgModule,
106
- args: [{
107
- declarations: [GithubComponent, GithubSwatchComponent],
108
- exports: [GithubComponent, GithubSwatchComponent],
109
- imports: [CommonModule, SwatchModule],
110
- }]
111
- }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ2l0aHViL2dpdGh1Yi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUE0Rm5ELE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUF3QjVDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4QlYsbUNBQW1DO1FBQzFCLFVBQUssR0FBb0IsR0FBRyxDQUFDO1FBQ3RDLCtCQUErQjtRQUN0QixXQUFNLEdBQUc7WUFDaEIsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztTQUNWLENBQUM7UUFDTyxhQUFRLEdBQXVELFVBQVUsQ0FBQztJQUluRixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFrQztRQUMvRCxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7NEdBbkNVLGVBQWU7Z0dBQWYsZUFBZSwyR0FaZjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztTQUMvQztLQUNGLGlEQXRGUzs7Ozs7Ozs7Ozs7O0dBWVQsZ3NDQW1IK0IscUJBQXFCOzJGQXZDMUMsZUFBZTtrQkExRjNCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkOzs7Ozs7Ozs7Ozs7R0FZVCxtQkE4RGdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUssYUFDZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDO3lCQUMvQztxQkFDRjswRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQWtCRyxRQUFRO3NCQUFoQixLQUFLOztBQXFCUixNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBM0NqQixlQUFlLEVBdUNNLHFCQUFxQixhQUUzQyxZQUFZLEVBQUUsWUFBWSxhQXpDekIsZUFBZSxFQXdDQyxxQkFBcUI7K0dBR3JDLGlCQUFpQixZQUZsQixZQUFZLEVBQUUsWUFBWTsyRkFFekIsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sb3JXcmFwLCBpc1ZhbGlkSGV4LCBTd2F0Y2hNb2R1bGUgfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgR2l0aHViU3dhdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9naXRodWItc3dhdGNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItZ2l0aHViJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cImdpdGh1Yi1waWNrZXIge3sgdHJpYW5nbGUgfX0tdHJpYW5nbGUge3sgY2xhc3NOYW1lIH19XCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInRyaWFuZ2xlU2hhZG93XCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRyaWFuZ2xlXCI+PC9kaXY+XG4gICAgPGNvbG9yLWdpdGh1Yi1zd2F0Y2ggKm5nRm9yPVwibGV0IGNvbG9yIG9mIGNvbG9yc1wiXG4gICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQmxvY2tDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAob25Td2F0Y2hIb3Zlcik9XCJvblN3YXRjaEhvdmVyLmVtaXQoJGV2ZW50KVwiXG4gICAgPjwvY29sb3ItZ2l0aHViLXN3YXRjaD5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgLmdpdGh1Yi1waWNrZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjE1KSAwcHggM3B4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAudHJpYW5nbGVTaGFkb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItd2lkdGg6IDhweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXItaW1hZ2U6IGluaXRpYWw7XG4gIH1cbiAgLnRyaWFuZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICBib3JkZXItaW1hZ2U6IGluaXRpYWw7XG4gIH1cbiAgLmhpZGUtdHJpYW5nbGUgPiAudHJpYW5nbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtdHJpYW5nbGUgPiAudHJpYW5nbGVTaGFkb3cge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnRvcC1sZWZ0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICB0b3A6IC0xNHB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cbiAgLnRvcC1sZWZ0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICB0b3A6IC0xNnB4O1xuICAgIGxlZnQ6IDlweDtcbiAgfVxuICAudG9wLXJpZ2h0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICB0b3A6IC0xNHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG4gIC50b3AtcmlnaHQtdHJpYW5nbGUgPiAudHJpYW5nbGVTaGFkb3cge1xuICAgIHRvcDogLTE2cHg7XG4gICAgcmlnaHQ6IDlweDtcbiAgfVxuICAuYm90dG9tLXJpZ2h0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICB0b3A6IDM1cHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICAuYm90dG9tLXJpZ2h0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICB0b3A6IDM3cHg7XG4gICAgcmlnaHQ6IDlweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHaXRodWJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHaXRodWJDb21wb25lbnQpLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgR2l0aHViQ29tcG9uZW50IGV4dGVuZHMgQ29sb3JXcmFwIHtcbiAgLyoqIFBpeGVsIHZhbHVlIGZvciBwaWNrZXIgd2lkdGggKi9cbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDIxMjtcbiAgLyoqIENvbG9yIHNxdWFyZXMgdG8gZGlzcGxheSAqL1xuICBASW5wdXQoKSBjb2xvcnMgPSBbXG4gICAgJyNCODAwMDAnLFxuICAgICcjREIzRTAwJyxcbiAgICAnI0ZDQ0IwMCcsXG4gICAgJyMwMDhCMDInLFxuICAgICcjMDA2Qjc2JyxcbiAgICAnIzEyNzNERScsXG4gICAgJyMwMDREQ0YnLFxuICAgICcjNTMwMEVCJyxcbiAgICAnI0VCOTY5NCcsXG4gICAgJyNGQUQwQzMnLFxuICAgICcjRkVGM0JEJyxcbiAgICAnI0MxRTFDNScsXG4gICAgJyNCRURBREMnLFxuICAgICcjQzRERUY2JyxcbiAgICAnI0JFRDNGMycsXG4gICAgJyNENEM0RkInLFxuICBdO1xuICBASW5wdXQoKSB0cmlhbmdsZTogJ2hpZGUnIHwgJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCcgPSAndG9wLWxlZnQnO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBoYW5kbGVCbG9ja0NoYW5nZSh7IGhleCwgJGV2ZW50IH06IHsgaGV4OiBzdHJpbmcsICRldmVudDogRXZlbnQgfSkge1xuICAgIGlmIChpc1ZhbGlkSGV4KGhleCkpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHsgaGV4LCBzb3VyY2U6ICdoZXgnIH0sICRldmVudCk7XG4gICAgfVxuICB9XG4gIGhhbmRsZVZhbHVlQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0dpdGh1YkNvbXBvbmVudCwgR2l0aHViU3dhdGNoQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0dpdGh1YkNvbXBvbmVudCwgR2l0aHViU3dhdGNoQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3dhdGNoTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JHaXRodWJNb2R1bGUge31cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLWdpdGh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ2l0aHViL25neC1jb2xvci1naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export { GithubSwatchComponent } from './github-swatch.component';
2
- export { ColorGithubModule, GithubComponent } from './github.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ2l0aHViL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgR2l0aHViU3dhdGNoQ29tcG9uZW50IH0gZnJvbSAnLi9naXRodWItc3dhdGNoLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb2xvckdpdGh1Yk1vZHVsZSwgR2l0aHViQ29tcG9uZW50IH0gZnJvbSAnLi9naXRodWIuY29tcG9uZW50JztcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9jaGVja2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sZUFBZSxHQUE0QixFQUFFLENBQUM7QUFFcEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLElBQVk7SUFDekQsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUU7UUFDbkMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUN6QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixPQUFPLElBQUksQ0FBQztLQUNiLENBQUMsNENBQTRDO0lBQzlDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ25CLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxHQUFHLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNuQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0IsT0FBTyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBVSxFQUFFLEVBQVUsRUFBRSxJQUFZO0lBQ2xFLE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4QixPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUM3QjtJQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUNsQyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY2hlY2tib2FyZENhY2hlOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyKGMxOiBzdHJpbmcsIGMyOiBzdHJpbmcsIHNpemU6IG51bWJlcikge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBjYW52YXMud2lkdGggPSBzaXplICogMjtcbiAgY2FudmFzLmhlaWdodCA9IHNpemUgKiAyO1xuICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgaWYgKCFjdHgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBJZiBubyBjb250ZXh0IGNhbiBiZSBmb3VuZCwgcmV0dXJuIGVhcmx5LlxuICBjdHguZmlsbFN0eWxlID0gYzE7XG4gIGN0eC5maWxsUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuICBjdHguZmlsbFN0eWxlID0gYzI7XG4gIGN0eC5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcbiAgY3R4LnRyYW5zbGF0ZShzaXplLCBzaXplKTtcbiAgY3R4LmZpbGxSZWN0KDAsIDAsIHNpemUsIHNpemUpO1xuICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hlY2tlcmJvYXJkKGMxOiBzdHJpbmcsIGMyOiBzdHJpbmcsIHNpemU6IG51bWJlcikge1xuICBjb25zdCBrZXkgPSBgJHtjMX0tJHtjMn0tJHtzaXplfWA7XG4gIGlmIChjaGVja2JvYXJkQ2FjaGVba2V5XSkge1xuICAgIHJldHVybiBjaGVja2JvYXJkQ2FjaGVba2V5XTtcbiAgfVxuICBjb25zdCBjaGVja2JvYXJkID0gcmVuZGVyKGMxLCBjMiwgc2l6ZSk7XG4gIGlmICghY2hlY2tib2FyZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNoZWNrYm9hcmRDYWNoZVtrZXldID0gY2hlY2tib2FyZDtcbiAgcmV0dXJuIGNoZWNrYm9hcmQ7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9jb2xvci5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJHQiB7XG4gIHI6IG51bWJlcjtcbiAgZzogbnVtYmVyO1xuICBiOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUkdCQSBleHRlbmRzIFJHQiB7XG4gIGE6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU0wge1xuICBoOiBudW1iZXI7XG4gIHM6IG51bWJlcjtcbiAgbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTTEEgZXh0ZW5kcyBIU0wge1xuICBhOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNWIHtcbiAgaDogbnVtYmVyO1xuICBzOiBudW1iZXI7XG4gIHY6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIU1ZBIGV4dGVuZHMgSFNWIHtcbiAgYTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhTVkFzb3VyY2UgZXh0ZW5kcyBIU1ZBIHtcbiAgc291cmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSFNMQXNvdXJjZSBleHRlbmRzIEhTTEEge1xuICBzb3VyY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvciB7XG4gIGhleDogc3RyaW5nO1xuICByZ2I6IFJHQkE7XG4gIGhzbDogSFNMQTtcbiAgaHN2OiBIU1ZBO1xuICBvbGRIdWU6IG51bWJlcjtcbiAgc291cmNlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGUge1xuICBjb2xvcjogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvY29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSTVDLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxJQUFJO0lBQzNDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNoQixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLENBQUMsQ0FBQztTQUNiO1FBQ0QsSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDcEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO1lBQzdCLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxJQUFJLENBQUMsQ0FBQzthQUNiO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQWUsRUFBRSxZQUFzQjtJQUNuRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLElBQUksWUFBWSxFQUFFO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkI7SUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNmLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNwQixHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7S0FDckI7SUFDRCxNQUFNLFdBQVcsR0FBRyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBELE9BQU87UUFDTCxHQUFHO1FBQ0gsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1FBQ3RELEdBQUc7UUFDSCxHQUFHO1FBQ0gsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtLQUNwQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBVztJQUNwQyxPQUFPLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQUk7SUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFDRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLGFBQWEsRUFBRTtRQUM3QixPQUFPLGlCQUFpQixDQUFDO0tBQzFCO0lBQ0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN6RSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW55Q29sb3IgfSBmcm9tICdAY3RybC90aW55Y29sb3InO1xuXG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4vY29sb3IuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IoZGF0YSkge1xuICBjb25zdCBrZXlzVG9DaGVjayA9IFsncicsICdnJywgJ2InLCAnYScsICdoJywgJ3MnLCAnbCcsICd2J107XG4gIGxldCBjaGVja2VkID0gMDtcbiAgbGV0IHBhc3NlZCA9IDA7XG4gIGtleXNUb0NoZWNrLmZvckVhY2gobGV0dGVyID0+IHtcbiAgICBpZiAoIWRhdGFbbGV0dGVyXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjaGVja2VkICs9IDE7XG4gICAgaWYgKCFpc05hTihkYXRhW2xldHRlcl0pKSB7XG4gICAgICBwYXNzZWQgKz0gMTtcbiAgICB9XG4gICAgaWYgKGxldHRlciA9PT0gJ3MnIHx8IGxldHRlciA9PT0gJ2wnKSB7XG4gICAgICBjb25zdCBwZXJjZW50UGF0dCA9IC9eXFxkKyUkLztcbiAgICAgIGlmIChwZXJjZW50UGF0dC50ZXN0KGRhdGFbbGV0dGVyXSkpIHtcbiAgICAgICAgcGFzc2VkICs9IDE7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGNoZWNrZWQgPT09IHBhc3NlZCA/IGRhdGEgOiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RhdGUoZGF0YSwgb2xkSHVlPzogbnVtYmVyLCBkaXNhYmxlQWxwaGE/OiBib29sZWFuKTogQ29sb3Ige1xuICBjb25zdCBjb2xvciA9IGRhdGEuaGV4ID8gbmV3IFRpbnlDb2xvcihkYXRhLmhleCkgOiBuZXcgVGlueUNvbG9yKGRhdGEpO1xuICBpZiAoZGlzYWJsZUFscGhhKSB7XG4gICAgY29sb3Iuc2V0QWxwaGEoMSk7XG4gIH1cblxuICBjb25zdCBoc2wgPSBjb2xvci50b0hzbCgpO1xuICBjb25zdCBoc3YgPSBjb2xvci50b0hzdigpO1xuICBjb25zdCByZ2IgPSBjb2xvci50b1JnYigpO1xuICBjb25zdCBoZXggPSBjb2xvci50b0hleCgpO1xuICBpZiAoaHNsLnMgPT09IDApIHtcbiAgICBoc2wuaCA9IG9sZEh1ZSB8fCAwO1xuICAgIGhzdi5oID0gb2xkSHVlIHx8IDA7XG4gIH1cbiAgY29uc3QgdHJhbnNwYXJlbnQgPSBoZXggPT09ICcwMDAwMDAnICYmIHJnYi5hID09PSAwO1xuXG4gIHJldHVybiB7XG4gICAgaHNsLFxuICAgIGhleDogdHJhbnNwYXJlbnQgPyAndHJhbnNwYXJlbnQnIDogY29sb3IudG9IZXhTdHJpbmcoKSxcbiAgICByZ2IsXG4gICAgaHN2LFxuICAgIG9sZEh1ZTogZGF0YS5oIHx8IG9sZEh1ZSB8fCBoc2wuaCxcbiAgICBzb3VyY2U6IGRhdGEuc291cmNlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZEhleChoZXg6IHN0cmluZykge1xuICByZXR1cm4gbmV3IFRpbnlDb2xvcihoZXgpLmlzVmFsaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb250cmFzdGluZ0NvbG9yKGRhdGEpIHtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuICcjZmZmJztcbiAgfVxuICBjb25zdCBjb2wgPSB0b1N0YXRlKGRhdGEpO1xuICBpZiAoY29sLmhleCA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgIHJldHVybiAncmdiYSgwLDAsMCwwLjQpJztcbiAgfVxuICBjb25zdCB5aXEgPSAoY29sLnJnYi5yICogMjk5ICsgY29sLnJnYi5nICogNTg3ICsgY29sLnJnYi5iICogMTE0KSAvIDEwMDA7XG4gIHJldHVybiB5aXEgPj0gMTI4ID8gJyMwMDAnIDogJyNmZmYnO1xufVxuIl19
@@ -1,100 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
- import { ColorWrap, HueModule, toState } from 'ngx-color';
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "ngx-color";
7
- export class HuePickerComponent extends ColorWrap {
8
- constructor() {
9
- super();
10
- /** Pixel value for picker width */
11
- this.width = 316;
12
- /** Pixel value for picker height */
13
- this.height = 16;
14
- this.radius = 2;
15
- this.direction = 'horizontal';
16
- this.pointer = {
17
- width: '18px',
18
- height: '18px',
19
- borderRadius: '50%',
20
- transform: 'translate(-9px, -2px)',
21
- backgroundColor: 'rgb(248, 248, 248)',
22
- boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
23
- };
24
- }
25
- ngOnChanges() {
26
- if (this.direction === 'vertical') {
27
- this.pointer.transform = 'translate(-3px, -9px)';
28
- }
29
- this.setState(toState(this.color, this.oldHue));
30
- }
31
- handlePickerChange({ data, $event }) {
32
- this.handleChange({ a: 1, h: data.h, l: 0.5, s: 1 }, $event);
33
- }
34
- }
35
- HuePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HuePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- HuePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: HuePickerComponent, selector: "color-hue-picker", inputs: { width: "width", height: "height", radius: "radius", direction: "direction" }, providers: [
37
- {
38
- provide: NG_VALUE_ACCESSOR,
39
- useExisting: forwardRef(() => HuePickerComponent),
40
- multi: true,
41
- },
42
- {
43
- provide: ColorWrap,
44
- useExisting: forwardRef(() => HuePickerComponent),
45
- },
46
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
47
- <div class="hue-picker {{ className }}"
48
- [style.width.px]="width" [style.height.px]="height"
49
- >
50
- <color-hue [hsl]="hsl" [pointer]="pointer"
51
- [direction]="direction" [radius]="radius"
52
- (onChange)="handlePickerChange($event)"
53
- ></color-hue>
54
- </div>
55
- `, isInline: true, styles: [".hue-picker{position:relative}\n"], dependencies: [{ kind: "component", type: i1.HueComponent, selector: "color-hue", inputs: ["hsl", "pointer", "radius", "shadow", "hidePointer", "direction"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HuePickerComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'color-hue-picker', template: `
59
- <div class="hue-picker {{ className }}"
60
- [style.width.px]="width" [style.height.px]="height"
61
- >
62
- <color-hue [hsl]="hsl" [pointer]="pointer"
63
- [direction]="direction" [radius]="radius"
64
- (onChange)="handlePickerChange($event)"
65
- ></color-hue>
66
- </div>
67
- `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
68
- {
69
- provide: NG_VALUE_ACCESSOR,
70
- useExisting: forwardRef(() => HuePickerComponent),
71
- multi: true,
72
- },
73
- {
74
- provide: ColorWrap,
75
- useExisting: forwardRef(() => HuePickerComponent),
76
- },
77
- ], styles: [".hue-picker{position:relative}\n"] }]
78
- }], ctorParameters: function () { return []; }, propDecorators: { width: [{
79
- type: Input
80
- }], height: [{
81
- type: Input
82
- }], radius: [{
83
- type: Input
84
- }], direction: [{
85
- type: Input
86
- }] } });
87
- export class ColorHueModule {
88
- }
89
- ColorHueModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorHueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
90
- ColorHueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: ColorHueModule, declarations: [HuePickerComponent], imports: [CommonModule, HueModule], exports: [HuePickerComponent] });
91
- ColorHueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorHueModule, imports: [CommonModule, HueModule] });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ColorHueModule, decorators: [{
93
- type: NgModule,
94
- args: [{
95
- declarations: [HuePickerComponent],
96
- exports: [HuePickerComponent],
97
- imports: [CommonModule, HueModule],
98
- }]
99
- }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2h1ZS9odWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQW1DbkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFnQi9DO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFoQlYsbUNBQW1DO1FBQzFCLFVBQUssR0FBb0IsR0FBRyxDQUFDO1FBQ3RDLG9DQUFvQztRQUMzQixXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUM3QixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsY0FBUyxHQUE4QixZQUFZLENBQUM7UUFDN0QsWUFBTyxHQUE0QjtZQUNqQyxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxlQUFlLEVBQUUsb0JBQW9CO1lBQ3JDLFNBQVMsRUFBRSxpQ0FBaUM7U0FDN0MsQ0FBQztJQUlGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDOzsrR0E1QlUsa0JBQWtCO21HQUFsQixrQkFBa0IsbUlBWmxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDakQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLFNBQVM7WUFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztTQUNsRDtLQUNGLHNFQTdCUzs7Ozs7Ozs7O0dBU1Q7MkZBc0JVLGtCQUFrQjtrQkFqQzlCLFNBQVM7K0JBQ0Usa0JBQWtCLFlBQ2xCOzs7Ozs7Ozs7R0FTVCxtQkFRZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSyxhQUNmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsU0FBUzs0QkFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7eUJBQ2xEO3FCQUNGOzBFQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7O0FBOEJSLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBcENkLGtCQUFrQixhQWtDbkIsWUFBWSxFQUFFLFNBQVMsYUFsQ3RCLGtCQUFrQjs0R0FvQ2xCLGNBQWMsWUFGZixZQUFZLEVBQUUsU0FBUzsyRkFFdEIsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBOZ01vZHVsZSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbG9yV3JhcCwgSHVlTW9kdWxlLCB0b1N0YXRlIH0gZnJvbSAnbmd4LWNvbG9yJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1odWUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cImh1ZS1waWNrZXIge3sgY2xhc3NOYW1lIH19XCJcbiAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gID5cbiAgICA8Y29sb3ItaHVlIFtoc2xdPVwiaHNsXCIgW3BvaW50ZXJdPVwicG9pbnRlclwiXG4gICAgICBbZGlyZWN0aW9uXT1cImRpcmVjdGlvblwiIFtyYWRpdXNdPVwicmFkaXVzXCJcbiAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvY29sb3ItaHVlPlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5odWUtcGlja2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBIdWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBIdWVQaWNrZXJDb21wb25lbnQpLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgSHVlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQ29sb3JXcmFwIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIFBpeGVsIHZhbHVlIGZvciBwaWNrZXIgd2lkdGggKi9cbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDMxNjtcbiAgLyoqIFBpeGVsIHZhbHVlIGZvciBwaWNrZXIgaGVpZ2h0ICovXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyID0gMTY7XG4gIEBJbnB1dCgpIHJhZGl1cyA9IDI7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgcG9pbnRlcjoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgd2lkdGg6ICcxOHB4JyxcbiAgICBoZWlnaHQ6ICcxOHB4JyxcbiAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSgtOXB4LCAtMnB4KScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiKDI0OCwgMjQ4LCAyNDgpJyxcbiAgICBib3hTaGFkb3c6ICcwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICB0aGlzLnBvaW50ZXIudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgtM3B4LCAtOXB4KSc7XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUodG9TdGF0ZSh0aGlzLmNvbG9yLCB0aGlzLm9sZEh1ZSkpO1xuICB9XG4gIGhhbmRsZVBpY2tlckNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoeyBhOiAxLCBoOiBkYXRhLmgsIGw6IDAuNSwgczogMSB9LCAkZXZlbnQpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0h1ZVBpY2tlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtIdWVQaWNrZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBIdWVNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvckh1ZU1vZHVsZSB7fVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLWh1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaHVlL25neC1jb2xvci1odWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { ColorHueModule, HuePickerComponent } from './hue-picker.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaHVlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29sb3JIdWVNb2R1bGUsIEh1ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vaHVlLXBpY2tlci5jb21wb25lbnQnO1xuIl19
@@ -1,124 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
3
- import { CoordinatesModule } from './coordinates.directive';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "./coordinates.directive";
7
- export class HueComponent {
8
- constructor() {
9
- this.hidePointer = false;
10
- this.direction = 'horizontal';
11
- this.onChange = new EventEmitter();
12
- this.left = '0px';
13
- this.top = '';
14
- }
15
- ngOnChanges() {
16
- if (this.direction === 'horizontal') {
17
- this.left = `${this.hsl.h * 100 / 360}%`;
18
- }
19
- else {
20
- this.top = `${-(this.hsl.h * 100 / 360) + 100}%`;
21
- }
22
- }
23
- handleChange({ top, left, containerHeight, containerWidth, $event }) {
24
- let data;
25
- if (this.direction === 'vertical') {
26
- let h;
27
- if (top < 0) {
28
- h = 359;
29
- }
30
- else if (top > containerHeight) {
31
- h = 0;
32
- }
33
- else {
34
- const percent = -(top * 100 / containerHeight) + 100;
35
- h = 360 * percent / 100;
36
- }
37
- if (this.hsl.h !== h) {
38
- data = {
39
- h,
40
- s: this.hsl.s,
41
- l: this.hsl.l,
42
- a: this.hsl.a,
43
- source: 'rgb',
44
- };
45
- }
46
- }
47
- else {
48
- let h;
49
- if (left < 0) {
50
- h = 0;
51
- }
52
- else if (left > containerWidth) {
53
- h = 359;
54
- }
55
- else {
56
- const percent = left * 100 / containerWidth;
57
- h = 360 * percent / 100;
58
- }
59
- if (this.hsl.h !== h) {
60
- data = {
61
- h,
62
- s: this.hsl.s,
63
- l: this.hsl.l,
64
- a: this.hsl.a,
65
- source: 'rgb',
66
- };
67
- }
68
- }
69
- if (!data) {
70
- return;
71
- }
72
- this.onChange.emit({ data, $event });
73
- }
74
- }
75
- HueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- HueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: HueComponent, selector: "color-hue", inputs: { hsl: "hsl", pointer: "pointer", radius: "radius", shadow: "shadow", hidePointer: "hidePointer", direction: "direction" }, outputs: { onChange: "onChange" }, usesOnChanges: true, ngImport: i0, template: `
77
- <div class="color-hue color-hue-{{direction}}" [style.border-radius.px]="radius" [style.box-shadow]="shadow">
78
- <div ngx-color-coordinates (coordinatesChange)="handleChange($event)" class="color-hue-container">
79
- <div class="color-hue-pointer" [style.left]="left" [style.top]="top" *ngIf="!hidePointer">
80
- <div class="color-hue-slider" [ngStyle]="pointer"></div>
81
- </div>
82
- </div>
83
- </div>
84
- `, isInline: true, styles: [".color-hue{position:absolute;top:0;bottom:0;left:0;right:0}.color-hue-container{margin:0 2px;position:relative;height:100%}.color-hue-pointer{position:absolute}.color-hue-slider{margin-top:1px;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;transform:translate(-2px)}.color-hue-horizontal{background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}.color-hue-vertical{background:linear-gradient(to top,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.CoordinatesDirective, selector: "[ngx-color-coordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HueComponent, decorators: [{
86
- type: Component,
87
- args: [{ selector: 'color-hue', template: `
88
- <div class="color-hue color-hue-{{direction}}" [style.border-radius.px]="radius" [style.box-shadow]="shadow">
89
- <div ngx-color-coordinates (coordinatesChange)="handleChange($event)" class="color-hue-container">
90
- <div class="color-hue-pointer" [style.left]="left" [style.top]="top" *ngIf="!hidePointer">
91
- <div class="color-hue-slider" [ngStyle]="pointer"></div>
92
- </div>
93
- </div>
94
- </div>
95
- `, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".color-hue{position:absolute;top:0;bottom:0;left:0;right:0}.color-hue-container{margin:0 2px;position:relative;height:100%}.color-hue-pointer{position:absolute}.color-hue-slider{margin-top:1px;width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;transform:translate(-2px)}.color-hue-horizontal{background:linear-gradient(to right,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}.color-hue-vertical{background:linear-gradient(to top,#f00 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00 100%)}\n"] }]
96
- }], propDecorators: { hsl: [{
97
- type: Input
98
- }], pointer: [{
99
- type: Input
100
- }], radius: [{
101
- type: Input
102
- }], shadow: [{
103
- type: Input
104
- }], hidePointer: [{
105
- type: Input
106
- }], direction: [{
107
- type: Input
108
- }], onChange: [{
109
- type: Output
110
- }] } });
111
- export class HueModule {
112
- }
113
- HueModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
114
- HueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: HueModule, declarations: [HueComponent], imports: [CommonModule, CoordinatesModule], exports: [HueComponent] });
115
- HueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HueModule, imports: [CommonModule, CoordinatesModule] });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HueModule, decorators: [{
117
- type: NgModule,
118
- args: [{
119
- declarations: [HueComponent],
120
- exports: [HueComponent],
121
- imports: [CommonModule, CoordinatesModule],
122
- }]
123
- }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaHVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBRVIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBcUQ1RCxNQUFNLE9BQU8sWUFBWTtJQWxEekI7UUF1RFcsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsY0FBUyxHQUE4QixZQUFZLENBQUM7UUFDbkQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QyxDQUFDO1FBQzdFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixRQUFHLEdBQUcsRUFBRSxDQUFDO0tBMkRWO0lBekRDLFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssWUFBWSxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7U0FDMUM7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUU7UUFDakUsSUFBSSxJQUE0QixDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakMsSUFBSSxDQUFTLENBQUM7WUFDZCxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUU7Z0JBQ1gsQ0FBQyxHQUFHLEdBQUcsQ0FBQzthQUNUO2lCQUFNLElBQUksR0FBRyxHQUFHLGVBQWUsRUFBRTtnQkFDaEMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNQO2lCQUFNO2dCQUNMLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDckQsQ0FBQyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BCLElBQUksR0FBRztvQkFDTCxDQUFDO29CQUNELENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNiLE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUM7YUFDSDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQVMsQ0FBQztZQUNkLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDWixDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ1A7aUJBQU0sSUFBSSxJQUFJLEdBQUcsY0FBYyxFQUFFO2dCQUNoQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ1Q7aUJBQU07Z0JBQ0wsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxjQUFjLENBQUM7Z0JBQzVDLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQzthQUN6QjtZQUVELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwQixJQUFJLEdBQUc7b0JBQ0wsQ0FBQztvQkFDRCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNiLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixNQUFNLEVBQUUsS0FBSztpQkFDZCxDQUFDO2FBQ0g7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3lHQW5FVSxZQUFZOzZGQUFaLFlBQVksNk9BaERiOzs7Ozs7OztHQVFUOzJGQXdDVSxZQUFZO2tCQWxEeEIsU0FBUzsrQkFDRSxXQUFXLFlBQ1g7Ozs7Ozs7O0dBUVQsdUJBcUNvQixLQUFLLG1CQUNULHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTs7QUFvRVQsTUFBTSxPQUFPLFNBQVM7O3NHQUFULFNBQVM7dUdBQVQsU0FBUyxpQkEzRVQsWUFBWSxhQXlFYixZQUFZLEVBQUUsaUJBQWlCLGFBekU5QixZQUFZO3VHQTJFWixTQUFTLFlBRlYsWUFBWSxFQUFFLGlCQUFpQjsyRkFFOUIsU0FBUztrQkFMckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ01vZHVsZSxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb29yZGluYXRlc01vZHVsZSB9IGZyb20gJy4vY29vcmRpbmF0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhTTEEsIEhTTEFzb3VyY2UgfSBmcm9tICcuL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLWh1ZScsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJjb2xvci1odWUgY29sb3ItaHVlLXt7ZGlyZWN0aW9ufX1cIiBbc3R5bGUuYm9yZGVyLXJhZGl1cy5weF09XCJyYWRpdXNcIiBbc3R5bGUuYm94LXNoYWRvd109XCJzaGFkb3dcIj5cbiAgICA8ZGl2IG5neC1jb2xvci1jb29yZGluYXRlcyAoY29vcmRpbmF0ZXNDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBjbGFzcz1cImNvbG9yLWh1ZS1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1odWUtcG9pbnRlclwiIFtzdHlsZS5sZWZ0XT1cImxlZnRcIiBbc3R5bGUudG9wXT1cInRvcFwiICpuZ0lmPVwiIWhpZGVQb2ludGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1odWUtc2xpZGVyXCIgW25nU3R5bGVdPVwicG9pbnRlclwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLmNvbG9yLWh1ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5jb2xvci1odWUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5jb2xvci1odWUtcG9pbnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5jb2xvci1odWUtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAuNik7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuICAgIH1cbiAgICAuY29sb3ItaHVlLWhvcml6b250YWwge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjAwIDAlLCAjZmYwIDE3JSwgIzBmMFxuICAgICAgICAzMyUsICMwZmYgNTAlLCAjMDBmIDY3JSwgI2YwZiA4MyUsICNmMDAgMTAwJSk7XG4gICAgfVxuICAgIC5jb2xvci1odWUtdmVydGljYWwge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2YwMCAwJSwgI2ZmMCAxNyUsICMwZjAgMzMlLFxuICAgICAgICAjMGZmIDUwJSwgIzAwZiA2NyUsICNmMGYgODMlLCAjZjAwIDEwMCUpO1xuICAgIH1cbiAgYCxcbiAgXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBIdWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBoc2whOiBIU0xBO1xuICBASW5wdXQoKSBwb2ludGVyITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgQElucHV0KCkgcmFkaXVzITogbnVtYmVyO1xuICBASW5wdXQoKSBzaGFkb3chOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZGVQb2ludGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJyA9ICdob3Jpem9udGFsJztcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGRhdGE6IEhTTEFzb3VyY2U7ICRldmVudDogRXZlbnQgfT4oKTtcbiAgbGVmdCA9ICcwcHgnO1xuICB0b3AgPSAnJztcblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgdGhpcy5sZWZ0ID0gYCR7dGhpcy5oc2wuaCAqIDEwMCAvIDM2MH0lYDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b3AgPSBgJHstKHRoaXMuaHNsLmggKiAxMDAgLyAzNjApICsgMTAwfSVgO1xuICAgIH1cbiAgfVxuICBoYW5kbGVDaGFuZ2UoeyB0b3AsIGxlZnQsIGNvbnRhaW5lckhlaWdodCwgY29udGFpbmVyV2lkdGgsICRldmVudCB9KTogdm9pZCB7XG4gICAgbGV0IGRhdGE6IEhTTEFzb3VyY2UgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAndmVydGljYWwnKSB7XG4gICAgICBsZXQgaDogbnVtYmVyO1xuICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgaCA9IDM1OTtcbiAgICAgIH0gZWxzZSBpZiAodG9wID4gY29udGFpbmVySGVpZ2h0KSB7XG4gICAgICAgIGggPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IC0odG9wICogMTAwIC8gY29udGFpbmVySGVpZ2h0KSArIDEwMDtcbiAgICAgICAgaCA9IDM2MCAqIHBlcmNlbnQgLyAxMDA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmhzbC5oICE9PSBoKSB7XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgaCxcbiAgICAgICAgICBzOiB0aGlzLmhzbC5zLFxuICAgICAgICAgIGw6IHRoaXMuaHNsLmwsXG4gICAgICAgICAgYTogdGhpcy5oc2wuYSxcbiAgICAgICAgICBzb3VyY2U6ICdyZ2InLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgaDogbnVtYmVyO1xuICAgICAgaWYgKGxlZnQgPCAwKSB7XG4gICAgICAgIGggPSAwO1xuICAgICAgfSBlbHNlIGlmIChsZWZ0ID4gY29udGFpbmVyV2lkdGgpIHtcbiAgICAgICAgaCA9IDM1OTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnQgPSBsZWZ0ICogMTAwIC8gY29udGFpbmVyV2lkdGg7XG4gICAgICAgIGggPSAzNjAgKiBwZXJjZW50IC8gMTAwO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5oc2wuaCAhPT0gaCkge1xuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIGgsXG4gICAgICAgICAgczogdGhpcy5oc2wucyxcbiAgICAgICAgICBsOiB0aGlzLmhzbC5sLFxuICAgICAgICAgIGE6IHRoaXMuaHNsLmEsXG4gICAgICAgICAgc291cmNlOiAncmdiJyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhLCAkZXZlbnQgfSk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbSHVlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0h1ZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvb3JkaW5hdGVzTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSHVlTW9kdWxlIHt9XG4iXX0=