ngx-color 8.0.3 → 9.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 (219) 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 +1 -1
  16. package/editable-input.component.d.ts +1 -1
  17. package/esm2022/alpha/alpha-picker.component.mjs +102 -0
  18. package/esm2022/alpha.component.mjs +146 -0
  19. package/esm2022/block/block-swatches.component.mjs +63 -0
  20. package/esm2022/block/block.component.mjs +160 -0
  21. package/esm2022/checkboard.component.mjs +53 -0
  22. package/esm2022/chrome/chrome-fields.component.mjs +317 -0
  23. package/esm2022/chrome/chrome.component.mjs +187 -0
  24. package/esm2022/circle/circle-swatch.component.mjs +69 -0
  25. package/esm2022/circle/circle.component.mjs +136 -0
  26. package/esm2022/color-wrap.component.mjs +173 -0
  27. package/esm2022/compact/compact-color.component.mjs +71 -0
  28. package/esm2022/compact/compact-fields.component.mjs +165 -0
  29. package/esm2022/compact/compact.component.mjs +156 -0
  30. package/esm2022/coordinates.directive.mjs +108 -0
  31. package/esm2022/editable-input.component.mjs +212 -0
  32. package/esm2022/github/github-swatch.component.mjs +53 -0
  33. package/esm2022/github/github.component.mjs +114 -0
  34. package/esm2022/hue/hue-picker.component.mjs +102 -0
  35. package/esm2022/hue.component.mjs +128 -0
  36. package/esm2022/material/material.component.mjs +188 -0
  37. package/esm2022/photoshop/photoshop-button.component.mjs +33 -0
  38. package/esm2022/photoshop/photoshop-fields.component.mjs +214 -0
  39. package/esm2022/photoshop/photoshop-previews.component.mjs +40 -0
  40. package/esm2022/photoshop/photoshop.component.mjs +187 -0
  41. package/esm2022/raised.component.mjs +50 -0
  42. package/esm2022/saturation.component.mjs +100 -0
  43. package/esm2022/shade/shade-picker.component.mjs +94 -0
  44. package/esm2022/shade.component.mjs +133 -0
  45. package/esm2022/sketch/sketch-fields.component.mjs +211 -0
  46. package/esm2022/sketch/sketch-preset-colors.component.mjs +68 -0
  47. package/esm2022/sketch/sketch.component.mjs +215 -0
  48. package/esm2022/slider/slider-swatch.component.mjs +55 -0
  49. package/esm2022/slider/slider-swatches.component.mjs +119 -0
  50. package/esm2022/slider/slider.component.mjs +104 -0
  51. package/esm2022/swatch.component.mjs +112 -0
  52. package/esm2022/swatches/swatches-color.component.mjs +105 -0
  53. package/esm2022/swatches/swatches-group.component.mjs +50 -0
  54. package/esm2022/swatches/swatches.component.mjs +244 -0
  55. package/esm2022/twitter/twitter.component.mjs +161 -0
  56. package/{fesm2020 → fesm2022}/ngx-color-alpha.mjs +30 -30
  57. package/fesm2022/ngx-color-alpha.mjs.map +1 -0
  58. package/{fesm2020 → fesm2022}/ngx-color-block.mjs +65 -66
  59. package/fesm2022/ngx-color-block.mjs.map +1 -0
  60. package/{fesm2020 → fesm2022}/ngx-color-chrome.mjs +77 -74
  61. package/{fesm2020 → fesm2022}/ngx-color-chrome.mjs.map +1 -1
  62. package/{fesm2015 → fesm2022}/ngx-color-circle.mjs +61 -62
  63. package/fesm2022/ngx-color-circle.mjs.map +1 -0
  64. package/{fesm2015 → fesm2022}/ngx-color-compact.mjs +136 -136
  65. package/{fesm2015 → fesm2022}/ngx-color-compact.mjs.map +1 -1
  66. package/{fesm2015 → fesm2022}/ngx-color-github.mjs +53 -54
  67. package/{fesm2020 → fesm2022}/ngx-color-github.mjs.map +1 -1
  68. package/{fesm2020 → fesm2022}/ngx-color-hue.mjs +32 -32
  69. package/fesm2022/ngx-color-hue.mjs.map +1 -0
  70. package/{fesm2015 → fesm2022}/ngx-color-material.mjs +59 -59
  71. package/{fesm2015 → fesm2022}/ngx-color-material.mjs.map +1 -1
  72. package/{fesm2020 → fesm2022}/ngx-color-photoshop.mjs +111 -113
  73. package/{fesm2015 → fesm2022}/ngx-color-photoshop.mjs.map +1 -1
  74. package/{fesm2015 → fesm2022}/ngx-color-shade.mjs +29 -29
  75. package/fesm2022/ngx-color-shade.mjs.map +1 -0
  76. package/{fesm2015 → fesm2022}/ngx-color-sketch.mjs +94 -93
  77. package/{fesm2015 → fesm2022}/ngx-color-sketch.mjs.map +1 -1
  78. package/{fesm2020 → fesm2022}/ngx-color-slider.mjs +46 -45
  79. package/{fesm2015 → fesm2022}/ngx-color-slider.mjs.map +1 -1
  80. package/{fesm2015 → fesm2022}/ngx-color-swatches.mjs +182 -182
  81. package/fesm2022/ngx-color-swatches.mjs.map +1 -0
  82. package/{fesm2015 → fesm2022}/ngx-color-twitter.mjs +55 -55
  83. package/{fesm2015 → fesm2022}/ngx-color-twitter.mjs.map +1 -1
  84. package/{fesm2020 → fesm2022}/ngx-color.mjs +200 -160
  85. package/fesm2022/ngx-color.mjs.map +1 -0
  86. package/github/github-swatch.component.d.ts +1 -1
  87. package/github/github.component.d.ts +1 -1
  88. package/hue/hue-picker.component.d.ts +1 -1
  89. package/hue.component.d.ts +1 -1
  90. package/material/material.component.d.ts +1 -1
  91. package/package.json +59 -84
  92. package/photoshop/photoshop-button.component.d.ts +1 -1
  93. package/photoshop/photoshop-fields.component.d.ts +1 -1
  94. package/photoshop/photoshop-previews.component.d.ts +1 -1
  95. package/photoshop/photoshop.component.d.ts +1 -1
  96. package/raised.component.d.ts +2 -2
  97. package/saturation.component.d.ts +1 -1
  98. package/shade/shade-picker.component.d.ts +1 -1
  99. package/shade.component.d.ts +1 -1
  100. package/sketch/sketch-fields.component.d.ts +1 -1
  101. package/sketch/sketch-preset-colors.component.d.ts +1 -1
  102. package/sketch/sketch.component.d.ts +1 -1
  103. package/slider/slider-swatch.component.d.ts +1 -1
  104. package/slider/slider-swatches.component.d.ts +1 -1
  105. package/slider/slider.component.d.ts +1 -1
  106. package/swatch.component.d.ts +1 -1
  107. package/swatches/swatches-color.component.d.ts +1 -1
  108. package/swatches/swatches-group.component.d.ts +1 -1
  109. package/swatches/swatches.component.d.ts +1 -1
  110. package/twitter/twitter.component.d.ts +1 -1
  111. package/esm2020/alpha/alpha-picker.component.mjs +0 -100
  112. package/esm2020/alpha.component.mjs +0 -138
  113. package/esm2020/block/block-swatches.component.mjs +0 -63
  114. package/esm2020/block/block.component.mjs +0 -158
  115. package/esm2020/checkboard.component.mjs +0 -50
  116. package/esm2020/chrome/chrome-fields.component.mjs +0 -314
  117. package/esm2020/chrome/chrome.component.mjs +0 -184
  118. package/esm2020/circle/circle-swatch.component.mjs +0 -69
  119. package/esm2020/circle/circle.component.mjs +0 -134
  120. package/esm2020/color-wrap.component.mjs +0 -163
  121. package/esm2020/compact/compact-color.component.mjs +0 -70
  122. package/esm2020/compact/compact-fields.component.mjs +0 -164
  123. package/esm2020/compact/compact.component.mjs +0 -154
  124. package/esm2020/coordinates.directive.mjs +0 -104
  125. package/esm2020/editable-input.component.mjs +0 -199
  126. package/esm2020/github/github-swatch.component.mjs +0 -53
  127. package/esm2020/github/github.component.mjs +0 -112
  128. package/esm2020/hue/hue-picker.component.mjs +0 -100
  129. package/esm2020/hue.component.mjs +0 -124
  130. package/esm2020/material/material.component.mjs +0 -186
  131. package/esm2020/photoshop/photoshop-button.component.mjs +0 -34
  132. package/esm2020/photoshop/photoshop-fields.component.mjs +0 -212
  133. package/esm2020/photoshop/photoshop-previews.component.mjs +0 -40
  134. package/esm2020/photoshop/photoshop.component.mjs +0 -185
  135. package/esm2020/raised.component.mjs +0 -50
  136. package/esm2020/saturation.component.mjs +0 -92
  137. package/esm2020/shade/shade-picker.component.mjs +0 -92
  138. package/esm2020/shade.component.mjs +0 -125
  139. package/esm2020/sketch/sketch-fields.component.mjs +0 -209
  140. package/esm2020/sketch/sketch-preset-colors.component.mjs +0 -68
  141. package/esm2020/sketch/sketch.component.mjs +0 -212
  142. package/esm2020/slider/slider-swatch.component.mjs +0 -52
  143. package/esm2020/slider/slider-swatches.component.mjs +0 -119
  144. package/esm2020/slider/slider.component.mjs +0 -102
  145. package/esm2020/swatch.component.mjs +0 -110
  146. package/esm2020/swatches/swatches-color.component.mjs +0 -104
  147. package/esm2020/swatches/swatches-group.component.mjs +0 -49
  148. package/esm2020/swatches/swatches.component.mjs +0 -242
  149. package/esm2020/twitter/twitter.component.mjs +0 -159
  150. package/fesm2015/ngx-color-alpha.mjs +0 -107
  151. package/fesm2015/ngx-color-alpha.mjs.map +0 -1
  152. package/fesm2015/ngx-color-block.mjs +0 -223
  153. package/fesm2015/ngx-color-block.mjs.map +0 -1
  154. package/fesm2015/ngx-color-chrome.mjs +0 -499
  155. package/fesm2015/ngx-color-chrome.mjs.map +0 -1
  156. package/fesm2015/ngx-color-circle.mjs.map +0 -1
  157. package/fesm2015/ngx-color-github.mjs.map +0 -1
  158. package/fesm2015/ngx-color-hue.mjs +0 -107
  159. package/fesm2015/ngx-color-hue.mjs.map +0 -1
  160. package/fesm2015/ngx-color-photoshop.mjs +0 -467
  161. package/fesm2015/ngx-color-shade.mjs.map +0 -1
  162. package/fesm2015/ngx-color-slider.mjs +0 -273
  163. package/fesm2015/ngx-color-swatches.mjs.map +0 -1
  164. package/fesm2015/ngx-color.mjs +0 -1202
  165. package/fesm2015/ngx-color.mjs.map +0 -1
  166. package/fesm2020/ngx-color-alpha.mjs.map +0 -1
  167. package/fesm2020/ngx-color-block.mjs.map +0 -1
  168. package/fesm2020/ngx-color-circle.mjs +0 -207
  169. package/fesm2020/ngx-color-circle.mjs.map +0 -1
  170. package/fesm2020/ngx-color-compact.mjs +0 -385
  171. package/fesm2020/ngx-color-compact.mjs.map +0 -1
  172. package/fesm2020/ngx-color-github.mjs +0 -169
  173. package/fesm2020/ngx-color-hue.mjs.map +0 -1
  174. package/fesm2020/ngx-color-material.mjs +0 -193
  175. package/fesm2020/ngx-color-material.mjs.map +0 -1
  176. package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
  177. package/fesm2020/ngx-color-shade.mjs +0 -99
  178. package/fesm2020/ngx-color-shade.mjs.map +0 -1
  179. package/fesm2020/ngx-color-sketch.mjs +0 -485
  180. package/fesm2020/ngx-color-sketch.mjs.map +0 -1
  181. package/fesm2020/ngx-color-slider.mjs.map +0 -1
  182. package/fesm2020/ngx-color-swatches.mjs +0 -391
  183. package/fesm2020/ngx-color-swatches.mjs.map +0 -1
  184. package/fesm2020/ngx-color-twitter.mjs +0 -166
  185. package/fesm2020/ngx-color-twitter.mjs.map +0 -1
  186. package/fesm2020/ngx-color.mjs.map +0 -1
  187. /package/{esm2020 → esm2022}/alpha/ngx-color-alpha.mjs +0 -0
  188. /package/{esm2020 → esm2022}/alpha/public_api.mjs +0 -0
  189. /package/{esm2020 → esm2022}/block/ngx-color-block.mjs +0 -0
  190. /package/{esm2020 → esm2022}/block/public_api.mjs +0 -0
  191. /package/{esm2020 → esm2022}/chrome/ngx-color-chrome.mjs +0 -0
  192. /package/{esm2020 → esm2022}/chrome/public_api.mjs +0 -0
  193. /package/{esm2020 → esm2022}/circle/ngx-color-circle.mjs +0 -0
  194. /package/{esm2020 → esm2022}/circle/public_api.mjs +0 -0
  195. /package/{esm2020 → esm2022}/compact/ngx-color-compact.mjs +0 -0
  196. /package/{esm2020 → esm2022}/compact/public_api.mjs +0 -0
  197. /package/{esm2020 → esm2022}/github/ngx-color-github.mjs +0 -0
  198. /package/{esm2020 → esm2022}/github/public_api.mjs +0 -0
  199. /package/{esm2020 → esm2022}/helpers/checkboard.mjs +0 -0
  200. /package/{esm2020 → esm2022}/helpers/color.interfaces.mjs +0 -0
  201. /package/{esm2020 → esm2022}/helpers/color.mjs +0 -0
  202. /package/{esm2020 → esm2022}/hue/ngx-color-hue.mjs +0 -0
  203. /package/{esm2020 → esm2022}/hue/public_api.mjs +0 -0
  204. /package/{esm2020 → esm2022}/material/ngx-color-material.mjs +0 -0
  205. /package/{esm2020 → esm2022}/material/public_api.mjs +0 -0
  206. /package/{esm2020 → esm2022}/ngx-color.mjs +0 -0
  207. /package/{esm2020 → esm2022}/photoshop/ngx-color-photoshop.mjs +0 -0
  208. /package/{esm2020 → esm2022}/photoshop/public_api.mjs +0 -0
  209. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  210. /package/{esm2020 → esm2022}/shade/ngx-color-shade.mjs +0 -0
  211. /package/{esm2020 → esm2022}/shade/public_api.mjs +0 -0
  212. /package/{esm2020 → esm2022}/sketch/ngx-color-sketch.mjs +0 -0
  213. /package/{esm2020 → esm2022}/sketch/public_api.mjs +0 -0
  214. /package/{esm2020 → esm2022}/slider/ngx-color-slider.mjs +0 -0
  215. /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
  216. /package/{esm2020 → esm2022}/swatches/ngx-color-swatches.mjs +0 -0
  217. /package/{esm2020 → esm2022}/swatches/public_api.mjs +0 -0
  218. /package/{esm2020 → esm2022}/twitter/ngx-color-twitter.mjs +0 -0
  219. /package/{esm2020 → esm2022}/twitter/public_api.mjs +0 -0
@@ -0,0 +1,112 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
3
+ import { CheckboardModule } from './checkboard.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "./checkboard.component";
7
+ class SwatchComponent {
8
+ color;
9
+ style = {};
10
+ focusStyle = {};
11
+ focus;
12
+ onClick = new EventEmitter();
13
+ onHover = new EventEmitter();
14
+ divStyles = {};
15
+ focusStyles = {};
16
+ inFocus = false;
17
+ ngOnInit() {
18
+ this.divStyles = {
19
+ background: this.color,
20
+ ...this.style,
21
+ };
22
+ }
23
+ currentStyles() {
24
+ this.focusStyles = {
25
+ ...this.divStyles,
26
+ ...this.focusStyle,
27
+ };
28
+ return this.focus || this.inFocus ? this.focusStyles : this.divStyles;
29
+ }
30
+ handleFocusOut() {
31
+ this.inFocus = false;
32
+ }
33
+ handleFocus() {
34
+ this.inFocus = true;
35
+ }
36
+ handleHover(hex, $event) {
37
+ this.onHover.emit({ hex, $event });
38
+ }
39
+ handleClick(hex, $event) {
40
+ this.onClick.emit({ hex, $event });
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SwatchComponent, selector: "color-swatch", inputs: { color: "color", style: "style", focusStyle: "focusStyle", focus: "focus" }, outputs: { onClick: "onClick", onHover: "onHover" }, ngImport: i0, template: `
44
+ <div
45
+ class="swatch"
46
+ [ngStyle]="currentStyles()"
47
+ [attr.title]="color"
48
+ (click)="handleClick(color, $event)"
49
+ (keydown.enter)="handleClick(color, $event)"
50
+ (focus)="handleFocus()"
51
+ (blur)="handleFocusOut()"
52
+ (mouseover)="handleHover(color, $event)"
53
+ tabindex="0"
54
+ >
55
+ <ng-content></ng-content>
56
+ <color-checkboard
57
+ *ngIf="color === 'transparent'"
58
+ boxShadow="inset 0 0 0 1px rgba(0,0,0,0.1)"
59
+ ></color-checkboard>
60
+ </div>
61
+ `, isInline: true, styles: [".swatch{outline:none;height:100%;width:100%;cursor:pointer;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.CheckboardComponent, selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
+ }
63
+ export { SwatchComponent };
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchComponent, decorators: [{
65
+ type: Component,
66
+ args: [{ selector: 'color-swatch', template: `
67
+ <div
68
+ class="swatch"
69
+ [ngStyle]="currentStyles()"
70
+ [attr.title]="color"
71
+ (click)="handleClick(color, $event)"
72
+ (keydown.enter)="handleClick(color, $event)"
73
+ (focus)="handleFocus()"
74
+ (blur)="handleFocusOut()"
75
+ (mouseover)="handleHover(color, $event)"
76
+ tabindex="0"
77
+ >
78
+ <ng-content></ng-content>
79
+ <color-checkboard
80
+ *ngIf="color === 'transparent'"
81
+ boxShadow="inset 0 0 0 1px rgba(0,0,0,0.1)"
82
+ ></color-checkboard>
83
+ </div>
84
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".swatch{outline:none;height:100%;width:100%;cursor:pointer;position:relative}\n"] }]
85
+ }], propDecorators: { color: [{
86
+ type: Input
87
+ }], style: [{
88
+ type: Input
89
+ }], focusStyle: [{
90
+ type: Input
91
+ }], focus: [{
92
+ type: Input
93
+ }], onClick: [{
94
+ type: Output
95
+ }], onHover: [{
96
+ type: Output
97
+ }] } });
98
+ class SwatchModule {
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
100
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: SwatchModule, declarations: [SwatchComponent], imports: [CommonModule, CheckboardModule], exports: [SwatchComponent] });
101
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchModule, imports: [CommonModule, CheckboardModule] });
102
+ }
103
+ export { SwatchModule };
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchModule, decorators: [{
105
+ type: NgModule,
106
+ args: [{
107
+ declarations: [SwatchComponent],
108
+ exports: [SwatchComponent],
109
+ imports: [CommonModule, CheckboardModule],
110
+ }]
111
+ }] });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvc3dhdGNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBRVIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBRTFELE1Ba0NhLGVBQWU7SUFDakIsS0FBSyxDQUFVO0lBQ2YsS0FBSyxHQUEyQixFQUFFLENBQUM7SUFDbkMsVUFBVSxHQUEyQixFQUFFLENBQUM7SUFDeEMsS0FBSyxDQUFXO0lBQ2YsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEMsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDNUMsU0FBUyxHQUEyQixFQUFFLENBQUM7SUFDdkMsV0FBVyxHQUEyQixFQUFFLENBQUM7SUFDekMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBZTtZQUNoQyxHQUFHLElBQUksQ0FBQyxLQUFLO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFDRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNqQixHQUFHLElBQUksQ0FBQyxTQUFTO1lBQ2pCLEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDbkIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBQ0QsV0FBVyxDQUFDLEdBQVcsRUFBRSxNQUFNO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELFdBQVcsQ0FBQyxHQUFXLEVBQUUsTUFBTTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7dUdBbkNVLGVBQWU7MkZBQWYsZUFBZSwrTEFoQ2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7O1NBY1UsZUFBZTsyRkFBZixlQUFlO2tCQWxDM0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVCxtQkFZZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07O0FBZ0NULE1BS2EsWUFBWTt1R0FBWixZQUFZO3dHQUFaLFlBQVksaUJBM0NaLGVBQWUsYUF5Q2hCLFlBQVksRUFBRSxnQkFBZ0IsYUF6QzdCLGVBQWU7d0dBMkNmLFlBQVksWUFGYixZQUFZLEVBQUUsZ0JBQWdCOztTQUU3QixZQUFZOzJGQUFaLFlBQVk7a0JBTHhCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgTmdNb2R1bGUsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2hlY2tib2FyZE1vZHVsZSB9IGZyb20gJy4vY2hlY2tib2FyZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1zd2F0Y2gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3dhdGNoXCJcbiAgICAgIFtuZ1N0eWxlXT1cImN1cnJlbnRTdHlsZXMoKVwiXG4gICAgICBbYXR0ci50aXRsZV09XCJjb2xvclwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soY29sb3IsICRldmVudClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlQ2xpY2soY29sb3IsICRldmVudClcIlxuICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzKClcIlxuICAgICAgKGJsdXIpPVwiaGFuZGxlRm9jdXNPdXQoKVwiXG4gICAgICAobW91c2VvdmVyKT1cImhhbmRsZUhvdmVyKGNvbG9yLCAkZXZlbnQpXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGNvbG9yLWNoZWNrYm9hcmRcbiAgICAgICAgKm5nSWY9XCJjb2xvciA9PT0gJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIGJveFNoYWRvdz1cImluc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMSlcIlxuICAgICAgPjwvY29sb3ItY2hlY2tib2FyZD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLnN3YXRjaCB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTd2F0Y2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgc3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgQElucHV0KCkgZm9jdXNTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBASW5wdXQoKSBmb2N1cyE6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvbkhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGRpdlN0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBmb2N1c1N0eWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBpbkZvY3VzID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXZTdHlsZXMgPSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0aGlzLmNvbG9yIGFzIHN0cmluZyxcbiAgICAgIC4uLnRoaXMuc3R5bGUsXG4gICAgfTtcbiAgfVxuICBjdXJyZW50U3R5bGVzKCkge1xuICAgIHRoaXMuZm9jdXNTdHlsZXMgPSB7XG4gICAgICAuLi50aGlzLmRpdlN0eWxlcyxcbiAgICAgIC4uLnRoaXMuZm9jdXNTdHlsZSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmZvY3VzIHx8IHRoaXMuaW5Gb2N1cyA/IHRoaXMuZm9jdXNTdHlsZXMgOiB0aGlzLmRpdlN0eWxlcztcbiAgfVxuICBoYW5kbGVGb2N1c091dCgpIHtcbiAgICB0aGlzLmluRm9jdXMgPSBmYWxzZTtcbiAgfVxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLmluRm9jdXMgPSB0cnVlO1xuICB9XG4gIGhhbmRsZUhvdmVyKGhleDogc3RyaW5nLCAkZXZlbnQpIHtcbiAgICB0aGlzLm9uSG92ZXIuZW1pdCh7IGhleCwgJGV2ZW50IH0pO1xuICB9XG4gIGhhbmRsZUNsaWNrKGhleDogc3RyaW5nLCAkZXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7IGhleCwgJGV2ZW50IH0pO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1N3YXRjaENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTd2F0Y2hDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDaGVja2JvYXJkTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3dhdGNoTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,105 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { getContrastingColor } from 'ngx-color';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "ngx-color";
6
+ class SwatchesColorComponent {
7
+ color;
8
+ first = false;
9
+ last = false;
10
+ active;
11
+ onClick = new EventEmitter();
12
+ onSwatchHover = new EventEmitter();
13
+ getContrastingColor = getContrastingColor;
14
+ colorStyle = {
15
+ width: '40px',
16
+ height: '24px',
17
+ cursor: 'pointer',
18
+ marginBottom: '1px',
19
+ };
20
+ focusStyle = {};
21
+ ngOnInit() {
22
+ this.colorStyle.background = this.color;
23
+ this.focusStyle.boxShadow = `0 0 4px ${this.color}`;
24
+ if (this.first) {
25
+ this.colorStyle.borderRadius = '2px 2px 0 0';
26
+ }
27
+ if (this.last) {
28
+ this.colorStyle.borderRadius = '0 0 2px 2px';
29
+ }
30
+ if (this.color === '#FFFFFF') {
31
+ this.colorStyle.boxShadow = 'inset 0 0 0 1px #ddd';
32
+ }
33
+ }
34
+ handleClick($event) {
35
+ this.onClick.emit({
36
+ data: {
37
+ hex: this.color,
38
+ source: 'hex',
39
+ },
40
+ $event,
41
+ });
42
+ }
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesColorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SwatchesColorComponent, selector: "color-swatches-color", inputs: { color: "color", first: "first", last: "last", active: "active" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
45
+ <color-swatch
46
+ [color]="color"
47
+ [style]="colorStyle"
48
+ [focusStyle]="focusStyle"
49
+ [class.first]="first"
50
+ [class.last]="last"
51
+ (click)="handleClick($event)"
52
+ (keydown.enter)="handleClick($event)"
53
+ (onHover)="onSwatchHover.emit($event)"
54
+ >
55
+ <div class="swatch-check" *ngIf="active" [class.first]="first" [class.last]="last">
56
+ <svg
57
+ style="width: 24px; height: 24px;"
58
+ viewBox="0 0 24 24"
59
+ [style.fill]="getContrastingColor(color)"
60
+ >
61
+ <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
62
+ </svg>
63
+ </div>
64
+ </color-swatch>
65
+ `, isInline: true, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}.swatch-check{display:flex;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
66
+ }
67
+ export { SwatchesColorComponent };
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesColorComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'color-swatches-color', template: `
71
+ <color-swatch
72
+ [color]="color"
73
+ [style]="colorStyle"
74
+ [focusStyle]="focusStyle"
75
+ [class.first]="first"
76
+ [class.last]="last"
77
+ (click)="handleClick($event)"
78
+ (keydown.enter)="handleClick($event)"
79
+ (onHover)="onSwatchHover.emit($event)"
80
+ >
81
+ <div class="swatch-check" *ngIf="active" [class.first]="first" [class.last]="last">
82
+ <svg
83
+ style="width: 24px; height: 24px;"
84
+ viewBox="0 0 24 24"
85
+ [style.fill]="getContrastingColor(color)"
86
+ >
87
+ <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
88
+ </svg>
89
+ </div>
90
+ </color-swatch>
91
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}.swatch-check{display:flex;margin-left:8px}\n"] }]
92
+ }], propDecorators: { color: [{
93
+ type: Input
94
+ }], first: [{
95
+ type: Input
96
+ }], last: [{
97
+ type: Input
98
+ }], active: [{
99
+ type: Input
100
+ }], onClick: [{
101
+ type: Output
102
+ }], onSwatchHover: [{
103
+ type: Output
104
+ }] } });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMtY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy1jb2xvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBRWhELE1BeUNhLHNCQUFzQjtJQUN4QixLQUFLLENBQVU7SUFDZixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNiLE1BQU0sQ0FBVztJQUNoQixPQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsQyxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUNsRCxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUMxQyxVQUFVLEdBQTJCO1FBQ25DLEtBQUssRUFBRSxNQUFNO1FBQ2IsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsU0FBUztRQUNqQixZQUFZLEVBQUUsS0FBSztLQUNwQixDQUFDO0lBQ0YsVUFBVSxHQUEyQixFQUFFLENBQUM7SUFFeEMsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsV0FBVyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxzQkFBc0IsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsTUFBTTtRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNmLE1BQU0sRUFBRSxLQUFLO2FBQ2Q7WUFDRCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt1R0FyQ1Usc0JBQXNCOzJGQUF0QixzQkFBc0IseU1BdkN2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUOztTQWtCVSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkF6Q2xDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQsbUJBZWdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldENvbnRyYXN0aW5nQ29sb3IgfSBmcm9tICduZ3gtY29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1zd2F0Y2hlcy1jb2xvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGNvbG9yLXN3YXRjaFxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIFtzdHlsZV09XCJjb2xvclN0eWxlXCJcbiAgICAgIFtmb2N1c1N0eWxlXT1cImZvY3VzU3R5bGVcIlxuICAgICAgW2NsYXNzLmZpcnN0XT1cImZpcnN0XCJcbiAgICAgIFtjbGFzcy5sYXN0XT1cImxhc3RcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAob25Ib3Zlcik9XCJvblN3YXRjaEhvdmVyLmVtaXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInN3YXRjaC1jaGVja1wiICpuZ0lmPVwiYWN0aXZlXCIgW2NsYXNzLmZpcnN0XT1cImZpcnN0XCIgW2NsYXNzLmxhc3RdPVwibGFzdFwiPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1wiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgW3N0eWxlLmZpbGxdPVwiZ2V0Q29udHJhc3RpbmdDb2xvcihjb2xvcilcIlxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGggZD1cIk0yMSw3TDksMTlMMy41LDEzLjVMNC45MSwxMi4wOUw5LDE2LjE3TDE5LjU5LDUuNTlMMjEsN1pcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgIDwvY29sb3Itc3dhdGNoPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc3dhdGNoZXMtZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgICAuc3dhdGNoLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFN3YXRjaGVzQ29sb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgZmlyc3QgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFzdCA9IGZhbHNlO1xuICBASW5wdXQoKSBhY3RpdmUhOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBnZXRDb250cmFzdGluZ0NvbG9yID0gZ2V0Q29udHJhc3RpbmdDb2xvcjtcbiAgY29sb3JTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICB3aWR0aDogJzQwcHgnLFxuICAgIGhlaWdodDogJzI0cHgnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIG1hcmdpbkJvdHRvbTogJzFweCcsXG4gIH07XG4gIGZvY3VzU3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbG9yU3R5bGUuYmFja2dyb3VuZCA9IHRoaXMuY29sb3I7XG4gICAgdGhpcy5mb2N1c1N0eWxlLmJveFNoYWRvdyA9IGAwIDAgNHB4ICR7dGhpcy5jb2xvcn1gO1xuICAgIGlmICh0aGlzLmZpcnN0KSB7XG4gICAgICB0aGlzLmNvbG9yU3R5bGUuYm9yZGVyUmFkaXVzID0gJzJweCAycHggMCAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMubGFzdCkge1xuICAgICAgdGhpcy5jb2xvclN0eWxlLmJvcmRlclJhZGl1cyA9ICcwIDAgMnB4IDJweCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbG9yID09PSAnI0ZGRkZGRicpIHtcbiAgICAgIHRoaXMuY29sb3JTdHlsZS5ib3hTaGFkb3cgPSAnaW5zZXQgMCAwIDAgMXB4ICNkZGQnO1xuICAgIH1cbiAgfVxuICBoYW5kbGVDbGljaygkZXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGhleDogdGhpcy5jb2xvcixcbiAgICAgICAgc291cmNlOiAnaGV4JyxcbiAgICAgIH0sXG4gICAgICAkZXZlbnQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,50 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "./swatches-color.component";
5
+ class SwatchesGroupComponent {
6
+ group;
7
+ active;
8
+ onClick = new EventEmitter();
9
+ onSwatchHover = new EventEmitter();
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SwatchesGroupComponent, selector: "color-swatches-group", inputs: { group: "group", active: "active" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
12
+ <div class="swatches-group">
13
+ <color-swatches-color
14
+ *ngFor="let color of group; let idx = index"
15
+ [active]="color.toLowerCase() === active"
16
+ [color]="color"
17
+ [first]="idx === 0"
18
+ [last]="idx === group.length - 1"
19
+ (onClick)="onClick.emit($event)"
20
+ >
21
+ </color-swatches-color>
22
+ </div>
23
+ `, isInline: true, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SwatchesColorComponent, selector: "color-swatches-color", inputs: ["color", "first", "last", "active"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ }
25
+ export { SwatchesGroupComponent };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesGroupComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'color-swatches-group', template: `
29
+ <div class="swatches-group">
30
+ <color-swatches-color
31
+ *ngFor="let color of group; let idx = index"
32
+ [active]="color.toLowerCase() === active"
33
+ [color]="color"
34
+ [first]="idx === 0"
35
+ [last]="idx === group.length - 1"
36
+ (onClick)="onClick.emit($event)"
37
+ >
38
+ </color-swatches-color>
39
+ </div>
40
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}\n"] }]
41
+ }], propDecorators: { group: [{
42
+ type: Input
43
+ }], active: [{
44
+ type: Input
45
+ }], onClick: [{
46
+ type: Output
47
+ }], onSwatchHover: [{
48
+ type: Output
49
+ }] } });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVoRyxNQTRCYSxzQkFBc0I7SUFDeEIsS0FBSyxDQUFZO0lBQ2pCLE1BQU0sQ0FBVTtJQUNmLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO3VHQUp2QyxzQkFBc0I7MkZBQXRCLHNCQUFzQiwyS0ExQnZCOzs7Ozs7Ozs7Ozs7R0FZVDs7U0FjVSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkE1QmxDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCOzs7Ozs7Ozs7Ozs7R0FZVCxtQkFXZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSzs4QkFHakIsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc3dhdGNoZXMtZ3JvdXAnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJzd2F0Y2hlcy1ncm91cFwiPlxuICAgICAgPGNvbG9yLXN3YXRjaGVzLWNvbG9yXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2xvciBvZiBncm91cDsgbGV0IGlkeCA9IGluZGV4XCJcbiAgICAgICAgW2FjdGl2ZV09XCJjb2xvci50b0xvd2VyQ2FzZSgpID09PSBhY3RpdmVcIlxuICAgICAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgICAgICBbZmlyc3RdPVwiaWR4ID09PSAwXCJcbiAgICAgICAgW2xhc3RdPVwiaWR4ID09PSBncm91cC5sZW5ndGggLSAxXCJcbiAgICAgICAgKG9uQ2xpY2spPVwib25DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9jb2xvci1zd2F0Y2hlcy1jb2xvcj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLnN3YXRjaGVzLWdyb3VwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU3dhdGNoZXNHcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGdyb3VwITogc3RyaW5nW107XG4gIEBJbnB1dCgpIGFjdGl2ZSE6IHN0cmluZztcbiAgQE91dHB1dCgpIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9uU3dhdGNoSG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,244 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
+ import { amber, blue, blueGrey, brown, cyan, deepOrange, deepPurple, green, indigo, lightBlue, lightGreen, lime, orange, pink, purple, red, teal, yellow, } from 'material-colors';
4
+ import { ColorWrap, RaisedModule, SwatchModule } from 'ngx-color';
5
+ import { SwatchesColorComponent } from './swatches-color.component';
6
+ import { SwatchesGroupComponent } from './swatches-group.component';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "ngx-color";
11
+ class SwatchesComponent extends ColorWrap {
12
+ /** Pixel value for picker width */
13
+ width = 320;
14
+ /** Color squares to display */
15
+ height = 240;
16
+ /** An array of color groups, each with an array of colors */
17
+ colors = [
18
+ [
19
+ red['900'],
20
+ red['700'],
21
+ red['500'],
22
+ red['300'],
23
+ red['100'],
24
+ ],
25
+ [
26
+ pink['900'],
27
+ pink['700'],
28
+ pink['500'],
29
+ pink['300'],
30
+ pink['100'],
31
+ ],
32
+ [
33
+ purple['900'],
34
+ purple['700'],
35
+ purple['500'],
36
+ purple['300'],
37
+ purple['100'],
38
+ ],
39
+ [
40
+ deepPurple['900'],
41
+ deepPurple['700'],
42
+ deepPurple['500'],
43
+ deepPurple['300'],
44
+ deepPurple['100'],
45
+ ],
46
+ [
47
+ indigo['900'],
48
+ indigo['700'],
49
+ indigo['500'],
50
+ indigo['300'],
51
+ indigo['100'],
52
+ ],
53
+ [
54
+ blue['900'],
55
+ blue['700'],
56
+ blue['500'],
57
+ blue['300'],
58
+ blue['100'],
59
+ ],
60
+ [
61
+ lightBlue['900'],
62
+ lightBlue['700'],
63
+ lightBlue['500'],
64
+ lightBlue['300'],
65
+ lightBlue['100'],
66
+ ],
67
+ [
68
+ cyan['900'],
69
+ cyan['700'],
70
+ cyan['500'],
71
+ cyan['300'],
72
+ cyan['100'],
73
+ ],
74
+ [
75
+ teal['900'],
76
+ teal['700'],
77
+ teal['500'],
78
+ teal['300'],
79
+ teal['100'],
80
+ ],
81
+ [
82
+ '#194D33',
83
+ green['700'],
84
+ green['500'],
85
+ green['300'],
86
+ green['100'],
87
+ ],
88
+ [
89
+ lightGreen['900'],
90
+ lightGreen['700'],
91
+ lightGreen['500'],
92
+ lightGreen['300'],
93
+ lightGreen['100'],
94
+ ],
95
+ [
96
+ lime['900'],
97
+ lime['700'],
98
+ lime['500'],
99
+ lime['300'],
100
+ lime['100'],
101
+ ],
102
+ [
103
+ yellow['900'],
104
+ yellow['700'],
105
+ yellow['500'],
106
+ yellow['300'],
107
+ yellow['100'],
108
+ ],
109
+ [
110
+ amber['900'],
111
+ amber['700'],
112
+ amber['500'],
113
+ amber['300'],
114
+ amber['100'],
115
+ ],
116
+ [
117
+ orange['900'],
118
+ orange['700'],
119
+ orange['500'],
120
+ orange['300'],
121
+ orange['100'],
122
+ ],
123
+ [
124
+ deepOrange['900'],
125
+ deepOrange['700'],
126
+ deepOrange['500'],
127
+ deepOrange['300'],
128
+ deepOrange['100'],
129
+ ],
130
+ [
131
+ brown['900'],
132
+ brown['700'],
133
+ brown['500'],
134
+ brown['300'],
135
+ brown['100'],
136
+ ],
137
+ [
138
+ blueGrey['900'],
139
+ blueGrey['700'],
140
+ blueGrey['500'],
141
+ blueGrey['300'],
142
+ blueGrey['100'],
143
+ ],
144
+ ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF'],
145
+ ];
146
+ zDepth = 1;
147
+ radius = 1;
148
+ background = '#fff';
149
+ constructor() {
150
+ super();
151
+ }
152
+ handlePickerChange({ data, $event }) {
153
+ this.handleChange(data, $event);
154
+ }
155
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SwatchesComponent, selector: "color-swatches", inputs: { width: "width", height: "height", colors: "colors", zDepth: "zDepth", radius: "radius", background: "background" }, providers: [
157
+ {
158
+ provide: NG_VALUE_ACCESSOR,
159
+ useExisting: forwardRef(() => SwatchesComponent),
160
+ multi: true,
161
+ },
162
+ {
163
+ provide: ColorWrap,
164
+ useExisting: forwardRef(() => SwatchesComponent),
165
+ },
166
+ ], usesInheritance: true, ngImport: i0, template: `
167
+ <div class="swatches-picker {{ className }}"
168
+ [style.width.px]="width" [style.height.px]="height">
169
+ <color-raised [zDepth]="zDepth" [background]="background" [radius]="radius">
170
+ <div class="swatches-overflow" [style.height.px]="height">
171
+ <div class="swatches-body">
172
+ <color-swatches-group
173
+ *ngFor="let group of colors"
174
+ [group]="group" [active]="hex"
175
+ (onClick)="handlePickerChange($event)"
176
+ ></color-swatches-group>
177
+ </div>
178
+ </div>
179
+ </color-raised>
180
+ </div>
181
+ `, isInline: true, styles: [".swatches-overflow{overflow-y:scroll}.swatches-overflow{padding:16px 0 6px 16px}\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 i2.RaisedComponent; }), selector: "color-raised", inputs: ["zDepth", "radius", "background"] }, { kind: "component", type: i0.forwardRef(function () { return SwatchesGroupComponent; }), selector: "color-swatches-group", inputs: ["group", "active"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
182
+ }
183
+ export { SwatchesComponent };
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SwatchesComponent, decorators: [{
185
+ type: Component,
186
+ args: [{ selector: 'color-swatches', template: `
187
+ <div class="swatches-picker {{ className }}"
188
+ [style.width.px]="width" [style.height.px]="height">
189
+ <color-raised [zDepth]="zDepth" [background]="background" [radius]="radius">
190
+ <div class="swatches-overflow" [style.height.px]="height">
191
+ <div class="swatches-body">
192
+ <color-swatches-group
193
+ *ngFor="let group of colors"
194
+ [group]="group" [active]="hex"
195
+ (onClick)="handlePickerChange($event)"
196
+ ></color-swatches-group>
197
+ </div>
198
+ </div>
199
+ </color-raised>
200
+ </div>
201
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
202
+ {
203
+ provide: NG_VALUE_ACCESSOR,
204
+ useExisting: forwardRef(() => SwatchesComponent),
205
+ multi: true,
206
+ },
207
+ {
208
+ provide: ColorWrap,
209
+ useExisting: forwardRef(() => SwatchesComponent),
210
+ },
211
+ ], styles: [".swatches-overflow{overflow-y:scroll}.swatches-overflow{padding:16px 0 6px 16px}\n"] }]
212
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
213
+ type: Input
214
+ }], height: [{
215
+ type: Input
216
+ }], colors: [{
217
+ type: Input
218
+ }], zDepth: [{
219
+ type: Input
220
+ }], radius: [{
221
+ type: Input
222
+ }], background: [{
223
+ type: Input
224
+ }] } });
225
+ class ColorSwatchesModule {
226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorSwatchesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
227
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorSwatchesModule, declarations: [SwatchesComponent, SwatchesGroupComponent,
228
+ SwatchesColorComponent], imports: [CommonModule, SwatchModule, RaisedModule], exports: [SwatchesComponent, SwatchesGroupComponent, SwatchesColorComponent] });
229
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorSwatchesModule, imports: [CommonModule, SwatchModule, RaisedModule] });
230
+ }
231
+ export { ColorSwatchesModule };
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorSwatchesModule, decorators: [{
233
+ type: NgModule,
234
+ args: [{
235
+ declarations: [
236
+ SwatchesComponent,
237
+ SwatchesGroupComponent,
238
+ SwatchesColorComponent,
239
+ ],
240
+ exports: [SwatchesComponent, SwatchesGroupComponent, SwatchesColorComponent],
241
+ imports: [CommonModule, SwatchModule, RaisedModule],
242
+ }]
243
+ }] });
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLEdBQUcsRUFDSCxJQUFJLEVBQ0osTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFVLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRW5ELE1BMENhLGlCQUFrQixTQUFRLFNBQVM7SUFDOUMsbUNBQW1DO0lBQzFCLEtBQUssR0FBb0IsR0FBRyxDQUFDO0lBQ3RDLCtCQUErQjtJQUN0QixNQUFNLEdBQW9CLEdBQUcsQ0FBQztJQUN2Qyw2REFBNkQ7SUFFN0QsTUFBTSxHQUFlO1FBQ25CO1lBQ0UsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDVixHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ1YsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNWLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDWDtRQUNEO1lBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDWjtRQUNEO1lBQ0UsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDZDtRQUNEO1lBQ0UsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2pCLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakIsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2xCO1FBQ0Q7WUFDRSxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNkO1FBQ0Q7WUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNaO1FBQ0Q7WUFDRSxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDaEIsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNoQixTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFNBQVMsQ0FBQyxLQUFLLENBQUM7U0FDakI7UUFDRDtZQUNFLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ1o7UUFDRDtZQUNFLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ1o7UUFDRDtZQUNFLFNBQVM7WUFDVCxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNaLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDWixLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ2I7UUFDRDtZQUNFLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakIsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNqQixVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ2pCLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakIsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNsQjtRQUNEO1lBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDWjtRQUNEO1lBQ0UsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDYixNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDZDtRQUNEO1lBQ0UsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNaLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDWixLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ1osS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNaLEtBQUssQ0FBQyxLQUFL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QkFUL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzVFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFtYmVyLFxuICBibHVlLFxuICBibHVlR3JleSxcbiAgYnJvd24sXG4gIGN5YW4sXG4gIGRlZXBPcmFuZ2UsXG4gIGRlZXBQdXJwbGUsXG4gIGdyZWVuLFxuICBpbmRpZ28sXG4gIGxpZ2h0Qmx1ZSxcbiAgbGlnaHRHcmVlbixcbiAgbGltZSxcbiAgb3JhbmdlLFxuICBwaW5rLFxuICBwdXJwbGUsXG4gIHJlZCxcbiAgdGVhbCxcbiAgeWVsbG93LFxufSBmcm9tICdtYXRlcmlhbC1jb2xvcnMnO1xuXG5pbXBvcnQgeyBDb2xvcldyYXAsIFJhaXNlZE1vZHVsZSwgU3dhdGNoTW9kdWxlLCB6RGVwdGggfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgU3dhdGNoZXNDb2xvckNvbXBvbmVudCB9IGZyb20gJy4vc3dhdGNoZXMtY29sb3IuY29tcG9uZW50JztcbmltcG9ydCB7IFN3YXRjaGVzR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3N3YXRjaGVzLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc3dhdGNoZXMnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtcGlja2VyIHt7IGNsYXNzTmFtZSB9fVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIj5cbiAgICA8Y29sb3ItcmFpc2VkIFt6RGVwdGhdPVwiekRlcHRoXCIgW2JhY2tncm91bmRdPVwiYmFja2dyb3VuZFwiIFtyYWRpdXNdPVwicmFkaXVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtb3ZlcmZsb3dcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtYm9keVwiPlxuICAgICAgICAgIDxjb2xvci1zd2F0Y2hlcy1ncm91cFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGNvbG9yc1wiXG4gICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIiBbYWN0aXZlXT1cImhleFwiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvY29sb3Itc3dhdGNoZXMtZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9jb2xvci1yYWlzZWQ+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc3dhdGNoZXMtb3ZlcmZsb3cge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICB9XG4gICAgICAuc3dhdGNoZXMtb3ZlcmZsb3cge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgNnB4IDE2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3YXRjaGVzQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29sb3JXcmFwLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dhdGNoZXNDb21wb25lbnQpLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3dhdGNoZXNDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogUGl4ZWwgdmFsdWUgZm9yIHBpY2tlciB3aWR0aCAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gMzIwO1xuICAvKiogQ29sb3Igc3F1YXJlcyB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyID0gMjQwO1xuICAvKiogQW4gYXJyYXkgb2YgY29sb3IgZ3JvdXBzLCBlYWNoIHdpdGggYW4gYXJyYXkgb2YgY29sb3JzICovXG4gIEBJbnB1dCgpXG4gIGNvbG9yczogc3RyaW5nW11bXSA9IFtcbiAgICBbXG4gICAgICByZWRbJzkwMCddLFxuICAgICAgcmVkWyc3MDAnXSxcbiAgICAgIHJlZFsnNTAwJ10sXG4gICAgICByZWRbJzMwMCddLFxuICAgICAgcmVkWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHBpbmtbJzkwMCddLFxuICAgICAgcGlua1snNzAwJ10sXG4gICAgICBwaW5rWyc1MDAnXSxcbiAgICAgIHBpbmtbJzMwMCddLFxuICAgICAgcGlua1snMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBwdXJwbGVbJzkwMCddLFxuICAgICAgcHVycGxlWyc3MDAnXSxcbiAgICAgIHB1cnBsZVsnNTAwJ10sXG4gICAgICBwdXJwbGVbJzMwMCddLFxuICAgICAgcHVycGxlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGRlZXBQdXJwbGVbJzkwMCddLFxuICAgICAgZGVlcFB1cnBsZVsnNzAwJ10sXG4gICAgICBkZWVwUHVycGxlWyc1MDAnXSxcbiAgICAgIGRlZXBQdXJwbGVbJzMwMCddLFxuICAgICAgZGVlcFB1cnBsZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBpbmRpZ29bJzkwMCddLFxuICAgICAgaW5kaWdvWyc3MDAnXSxcbiAgICAgIGluZGlnb1snNTAwJ10sXG4gICAgICBpbmRpZ29bJzMwMCddLFxuICAgICAgaW5kaWdvWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJsdWVbJzkwMCddLFxuICAgICAgYmx1ZVsnNzAwJ10sXG4gICAgICBibHVlWyc1MDAnXSxcbiAgICAgIGJsdWVbJzMwMCddLFxuICAgICAgYmx1ZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBsaWdodEJsdWVbJzkwMCddLFxuICAgICAgbGlnaHRCbHVlWyc3MDAnXSxcbiAgICAgIGxpZ2h0Qmx1ZVsnNTAwJ10sXG4gICAgICBsaWdodEJsdWVbJzMwMCddLFxuICAgICAgbGlnaHRCbHVlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGN5YW5bJzkwMCddLFxuICAgICAgY3lhblsnNzAwJ10sXG4gICAgICBjeWFuWyc1MDAnXSxcbiAgICAgIGN5YW5bJzMwMCddLFxuICAgICAgY3lhblsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICB0ZWFsWyc5MDAnXSxcbiAgICAgIHRlYWxbJzcwMCddLFxuICAgICAgdGVhbFsnNTAwJ10sXG4gICAgICB0ZWFsWyczMDAnXSxcbiAgICAgIHRlYWxbJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgJyMxOTREMzMnLFxuICAgICAgZ3JlZW5bJzcwMCddLFxuICAgICAgZ3JlZW5bJzUwMCddLFxuICAgICAgZ3JlZW5bJzMwMCddLFxuICAgICAgZ3JlZW5bJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgbGlnaHRHcmVlblsnOTAwJ10sXG4gICAgICBsaWdodEdyZWVuWyc3MDAnXSxcbiAgICAgIGxpZ2h0R3JlZW5bJzUwMCddLFxuICAgICAgbGlnaHRHcmVlblsnMzAwJ10sXG4gICAgICBsaWdodEdyZWVuWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGxpbWVbJzkwMCddLFxuICAgICAgbGltZVsnNzAwJ10sXG4gICAgICBsaW1lWyc1MDAnXSxcbiAgICAgIGxpbWVbJzMwMCddLFxuICAgICAgbGltZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICB5ZWxsb3dbJzkwMCddLFxuICAgICAgeWVsbG93Wyc3MDAnXSxcbiAgICAgIHllbGxvd1snNTAwJ10sXG4gICAgICB5ZWxsb3dbJzMwMCddLFxuICAgICAgeWVsbG93WycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGFtYmVyWyc5MDAnXSxcbiAgICAgIGFtYmVyWyc3MDAnXSxcbiAgICAgIGFtYmVyWyc1MDAnXSxcbiAgICAgIGFtYmVyWyczMDAnXSxcbiAgICAgIGFtYmVyWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG9yYW5nZVsnOTAwJ10sXG4gICAgICBvcmFuZ2VbJzcwMCddLFxuICAgICAgb3JhbmdlWyc1MDAnXSxcbiAgICAgIG9yYW5nZVsnMzAwJ10sXG4gICAgICBvcmFuZ2VbJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgZGVlcE9yYW5nZVsnOTAwJ10sXG4gICAgICBkZWVwT3JhbmdlWyc3MDAnXSxcbiAgICAgIGRlZXBPcmFuZ2VbJzUwMCddLFxuICAgICAgZGVlcE9yYW5nZVsnMzAwJ10sXG4gICAgICBkZWVwT3JhbmdlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJyb3duWyc5MDAnXSxcbiAgICAgIGJyb3duWyc3MDAnXSxcbiAgICAgIGJyb3duWyc1MDAnXSxcbiAgICAgIGJyb3duWyczMDAnXSxcbiAgICAgIGJyb3duWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJsdWVHcmV5Wyc5MDAnXSxcbiAgICAgIGJsdWVHcmV5Wyc3MDAnXSxcbiAgICAgIGJsdWVHcmV5Wyc1MDAnXSxcbiAgICAgIGJsdWVHcmV5WyczMDAnXSxcbiAgICAgIGJsdWVHcmV5WycxMDAnXSxcbiAgICBdLFxuICAgIFsnIzAwMDAwMCcsICcjNTI1MjUyJywgJyM5Njk2OTYnLCAnI0Q5RDlEOScsICcjRkZGRkZGJ10sXG4gIF07XG4gIEBJbnB1dCgpIHpEZXB0aDogekRlcHRoID0gMTtcbiAgQElucHV0KCkgcmFkaXVzID0gMTtcbiAgQElucHV0KCkgYmFja2dyb3VuZCA9ICcjZmZmJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgaGFuZGxlUGlja2VyQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN3YXRjaGVzQ29tcG9uZW50LFxuICAgIFN3YXRjaGVzR3JvdXBDb21wb25lbnQsXG4gICAgU3dhdGNoZXNDb2xvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1N3YXRjaGVzQ29tcG9uZW50LCBTd2F0Y2hlc0dyb3VwQ29tcG9uZW50LCBTd2F0Y2hlc0NvbG9yQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3dhdGNoTW9kdWxlLCBSYWlzZWRNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvclN3YXRjaGVzTW9kdWxlIHt9XG4iXX0=