ngx-color 8.0.2 → 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 (220) 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/{fesm2015 → 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 +96 -95
  77. package/fesm2022/ngx-color-sketch.mjs.map +1 -0
  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.map +0 -1
  155. package/fesm2015/ngx-color-circle.mjs.map +0 -1
  156. package/fesm2015/ngx-color-github.mjs.map +0 -1
  157. package/fesm2015/ngx-color-hue.mjs +0 -107
  158. package/fesm2015/ngx-color-hue.mjs.map +0 -1
  159. package/fesm2015/ngx-color-photoshop.mjs +0 -467
  160. package/fesm2015/ngx-color-shade.mjs.map +0 -1
  161. package/fesm2015/ngx-color-sketch.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-chrome.mjs +0 -499
  169. package/fesm2020/ngx-color-circle.mjs +0 -207
  170. package/fesm2020/ngx-color-circle.mjs.map +0 -1
  171. package/fesm2020/ngx-color-compact.mjs +0 -385
  172. package/fesm2020/ngx-color-compact.mjs.map +0 -1
  173. package/fesm2020/ngx-color-github.mjs +0 -169
  174. package/fesm2020/ngx-color-hue.mjs.map +0 -1
  175. package/fesm2020/ngx-color-material.mjs +0 -193
  176. package/fesm2020/ngx-color-material.mjs.map +0 -1
  177. package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
  178. package/fesm2020/ngx-color-shade.mjs +0 -99
  179. package/fesm2020/ngx-color-shade.mjs.map +0 -1
  180. package/fesm2020/ngx-color-sketch.mjs +0 -485
  181. package/fesm2020/ngx-color-sketch.mjs.map +0 -1
  182. package/fesm2020/ngx-color-slider.mjs.map +0 -1
  183. package/fesm2020/ngx-color-swatches.mjs +0 -391
  184. package/fesm2020/ngx-color-swatches.mjs.map +0 -1
  185. package/fesm2020/ngx-color-twitter.mjs +0 -166
  186. package/fesm2020/ngx-color-twitter.mjs.map +0 -1
  187. package/fesm2020/ngx-color.mjs.map +0 -1
  188. /package/{esm2020 → esm2022}/alpha/ngx-color-alpha.mjs +0 -0
  189. /package/{esm2020 → esm2022}/alpha/public_api.mjs +0 -0
  190. /package/{esm2020 → esm2022}/block/ngx-color-block.mjs +0 -0
  191. /package/{esm2020 → esm2022}/block/public_api.mjs +0 -0
  192. /package/{esm2020 → esm2022}/chrome/ngx-color-chrome.mjs +0 -0
  193. /package/{esm2020 → esm2022}/chrome/public_api.mjs +0 -0
  194. /package/{esm2020 → esm2022}/circle/ngx-color-circle.mjs +0 -0
  195. /package/{esm2020 → esm2022}/circle/public_api.mjs +0 -0
  196. /package/{esm2020 → esm2022}/compact/ngx-color-compact.mjs +0 -0
  197. /package/{esm2020 → esm2022}/compact/public_api.mjs +0 -0
  198. /package/{esm2020 → esm2022}/github/ngx-color-github.mjs +0 -0
  199. /package/{esm2020 → esm2022}/github/public_api.mjs +0 -0
  200. /package/{esm2020 → esm2022}/helpers/checkboard.mjs +0 -0
  201. /package/{esm2020 → esm2022}/helpers/color.interfaces.mjs +0 -0
  202. /package/{esm2020 → esm2022}/helpers/color.mjs +0 -0
  203. /package/{esm2020 → esm2022}/hue/ngx-color-hue.mjs +0 -0
  204. /package/{esm2020 → esm2022}/hue/public_api.mjs +0 -0
  205. /package/{esm2020 → esm2022}/material/ngx-color-material.mjs +0 -0
  206. /package/{esm2020 → esm2022}/material/public_api.mjs +0 -0
  207. /package/{esm2020 → esm2022}/ngx-color.mjs +0 -0
  208. /package/{esm2020 → esm2022}/photoshop/ngx-color-photoshop.mjs +0 -0
  209. /package/{esm2020 → esm2022}/photoshop/public_api.mjs +0 -0
  210. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  211. /package/{esm2020 → esm2022}/shade/ngx-color-shade.mjs +0 -0
  212. /package/{esm2020 → esm2022}/shade/public_api.mjs +0 -0
  213. /package/{esm2020 → esm2022}/sketch/ngx-color-sketch.mjs +0 -0
  214. /package/{esm2020 → esm2022}/sketch/public_api.mjs +0 -0
  215. /package/{esm2020 → esm2022}/slider/ngx-color-slider.mjs +0 -0
  216. /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
  217. /package/{esm2020 → esm2022}/swatches/ngx-color-swatches.mjs +0 -0
  218. /package/{esm2020 → esm2022}/swatches/public_api.mjs +0 -0
  219. /package/{esm2020 → esm2022}/twitter/ngx-color-twitter.mjs +0 -0
  220. /package/{esm2020 → esm2022}/twitter/public_api.mjs +0 -0
@@ -0,0 +1,212 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
3
+ import { fromEvent } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ let nextUniqueId = 0;
7
+ class EditableInputComponent {
8
+ style;
9
+ label;
10
+ value;
11
+ arrowOffset;
12
+ dragLabel;
13
+ dragMax;
14
+ placeholder = '';
15
+ onChange = new EventEmitter();
16
+ currentValue;
17
+ blurValue;
18
+ wrapStyle;
19
+ inputStyle;
20
+ labelStyle;
21
+ focus = false;
22
+ mousemove;
23
+ mouseup;
24
+ uniqueId = `editableInput-${++nextUniqueId}`;
25
+ ngOnInit() {
26
+ this.wrapStyle = this.style && this.style.wrap ? this.style.wrap : {};
27
+ this.inputStyle = this.style && this.style.input ? this.style.input : {};
28
+ this.labelStyle = this.style && this.style.label ? this.style.label : {};
29
+ if (this.dragLabel) {
30
+ this.labelStyle.cursor = 'ew-resize';
31
+ }
32
+ }
33
+ handleFocus($event) {
34
+ this.focus = true;
35
+ }
36
+ handleFocusOut($event) {
37
+ this.focus = false;
38
+ this.currentValue = this.blurValue;
39
+ }
40
+ handleKeydown($event) {
41
+ // In case `e.target.value` is a percentage remove the `%` character
42
+ // and update accordingly with a percentage
43
+ // https://github.com/casesandberg/react-color/issues/383
44
+ const stringValue = String($event.target.value);
45
+ const isPercentage = stringValue.indexOf('%') > -1;
46
+ const num = Number(stringValue.replace(/%/g, ''));
47
+ if (isNaN(num)) {
48
+ return;
49
+ }
50
+ const amount = this.arrowOffset || 1;
51
+ // Up
52
+ if ($event.keyCode === 38) {
53
+ if (this.label) {
54
+ this.onChange.emit({
55
+ data: { [this.label]: num + amount },
56
+ $event,
57
+ });
58
+ }
59
+ else {
60
+ this.onChange.emit({ data: num + amount, $event });
61
+ }
62
+ if (isPercentage) {
63
+ this.currentValue = `${num + amount}%`;
64
+ }
65
+ else {
66
+ this.currentValue = num + amount;
67
+ }
68
+ }
69
+ // Down
70
+ if ($event.keyCode === 40) {
71
+ if (this.label) {
72
+ this.onChange.emit({
73
+ data: { [this.label]: num - amount },
74
+ $event,
75
+ });
76
+ }
77
+ else {
78
+ this.onChange.emit({ data: num - amount, $event });
79
+ }
80
+ if (isPercentage) {
81
+ this.currentValue = `${num - amount}%`;
82
+ }
83
+ else {
84
+ this.currentValue = num - amount;
85
+ }
86
+ }
87
+ }
88
+ handleKeyup($event) {
89
+ if ($event.keyCode === 40 || $event.keyCode === 38) {
90
+ return;
91
+ }
92
+ if (`${this.currentValue}` === $event.target.value) {
93
+ return;
94
+ }
95
+ if (this.label) {
96
+ this.onChange.emit({
97
+ data: { [this.label]: $event.target.value },
98
+ $event,
99
+ });
100
+ }
101
+ else {
102
+ this.onChange.emit({ data: $event.target.value, $event });
103
+ }
104
+ }
105
+ ngOnChanges() {
106
+ if (!this.focus) {
107
+ this.currentValue = String(this.value).toUpperCase();
108
+ this.blurValue = String(this.value).toUpperCase();
109
+ }
110
+ else {
111
+ this.blurValue = String(this.value).toUpperCase();
112
+ }
113
+ }
114
+ ngOnDestroy() {
115
+ this.unsubscribe();
116
+ }
117
+ subscribe() {
118
+ this.mousemove = fromEvent(document, 'mousemove').subscribe((ev) => this.handleDrag(ev));
119
+ this.mouseup = fromEvent(document, 'mouseup').subscribe(() => this.unsubscribe());
120
+ }
121
+ unsubscribe() {
122
+ this.mousemove?.unsubscribe();
123
+ this.mouseup?.unsubscribe();
124
+ }
125
+ handleMousedown($event) {
126
+ if (this.dragLabel) {
127
+ $event.preventDefault();
128
+ this.handleDrag($event);
129
+ this.subscribe();
130
+ }
131
+ }
132
+ handleDrag($event) {
133
+ if (this.dragLabel) {
134
+ const newValue = Math.round(this.value + $event.movementX);
135
+ if (newValue >= 0 && newValue <= this.dragMax) {
136
+ this.onChange.emit({ data: { [this.label]: newValue }, $event });
137
+ }
138
+ }
139
+ }
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditableInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: EditableInputComponent, selector: "color-editable-input", inputs: { style: "style", label: "label", value: "value", arrowOffset: "arrowOffset", dragLabel: "dragLabel", dragMax: "dragMax", placeholder: "placeholder" }, outputs: { onChange: "onChange" }, usesOnChanges: true, ngImport: i0, template: `
142
+ <div class="wrap" [ngStyle]="wrapStyle">
143
+ <input
144
+ [ngStyle]="inputStyle"
145
+ spellCheck="false"
146
+ [value]="currentValue"
147
+ [placeholder]="placeholder"
148
+ (keydown)="handleKeydown($event)"
149
+ (keyup)="handleKeyup($event)"
150
+ (focus)="handleFocus($event)"
151
+ (focusout)="handleFocusOut($event)"
152
+ [attr.aria-labelledby]="uniqueId"
153
+ />
154
+ <span [id]="uniqueId" *ngIf="label" [ngStyle]="labelStyle" (mousedown)="handleMousedown($event)">
155
+ {{ label }}
156
+ </span>
157
+ </div>
158
+ `, isInline: true, styles: [":host{display:flex}.wrap{position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
159
+ }
160
+ export { EditableInputComponent };
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditableInputComponent, decorators: [{
162
+ type: Component,
163
+ args: [{ selector: 'color-editable-input', template: `
164
+ <div class="wrap" [ngStyle]="wrapStyle">
165
+ <input
166
+ [ngStyle]="inputStyle"
167
+ spellCheck="false"
168
+ [value]="currentValue"
169
+ [placeholder]="placeholder"
170
+ (keydown)="handleKeydown($event)"
171
+ (keyup)="handleKeyup($event)"
172
+ (focus)="handleFocus($event)"
173
+ (focusout)="handleFocusOut($event)"
174
+ [attr.aria-labelledby]="uniqueId"
175
+ />
176
+ <span [id]="uniqueId" *ngIf="label" [ngStyle]="labelStyle" (mousedown)="handleMousedown($event)">
177
+ {{ label }}
178
+ </span>
179
+ </div>
180
+ `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:flex}.wrap{position:relative}\n"] }]
181
+ }], propDecorators: { style: [{
182
+ type: Input
183
+ }], label: [{
184
+ type: Input
185
+ }], value: [{
186
+ type: Input
187
+ }], arrowOffset: [{
188
+ type: Input
189
+ }], dragLabel: [{
190
+ type: Input
191
+ }], dragMax: [{
192
+ type: Input
193
+ }], placeholder: [{
194
+ type: Input
195
+ }], onChange: [{
196
+ type: Output
197
+ }] } });
198
+ class EditableInputModule {
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditableInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
200
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: EditableInputModule, declarations: [EditableInputComponent], imports: [CommonModule], exports: [EditableInputComponent] });
201
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditableInputModule, imports: [CommonModule] });
202
+ }
203
+ export { EditableInputModule };
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EditableInputModule, decorators: [{
205
+ type: NgModule,
206
+ args: [{
207
+ declarations: [EditableInputComponent],
208
+ exports: [EditableInputComponent],
209
+ imports: [CommonModule],
210
+ }]
211
+ }] });
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9lZGl0YWJsZS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUlSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7O0FBRS9DLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQWdDYSxzQkFBc0I7SUFDeEIsS0FBSyxDQUlaO0lBQ08sS0FBSyxDQUFVO0lBQ2YsS0FBSyxDQUFtQjtJQUN4QixXQUFXLENBQVU7SUFDckIsU0FBUyxDQUFXO0lBQ3BCLE9BQU8sQ0FBVTtJQUNqQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hDLFlBQVksQ0FBbUI7SUFDL0IsU0FBUyxDQUFVO0lBQ25CLFNBQVMsQ0FBMEI7SUFDbkMsVUFBVSxDQUEwQjtJQUNwQyxVQUFVLENBQTBCO0lBQ3BDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxTQUFTLENBQWdCO0lBQ3pCLE9BQU8sQ0FBZ0I7SUFDdkIsUUFBUSxHQUFXLGlCQUFpQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBRXJELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMs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Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7O1NBYVUsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBaENsQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQsbUJBV2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNOztBQStIVCxNQUthLG1CQUFtQjt1R0FBbkIsbUJBQW1CO3dHQUFuQixtQkFBbUIsaUJBaEpuQixzQkFBc0IsYUE4SXZCLFlBQVksYUE5SVgsc0JBQXNCO3dHQWdKdEIsbUJBQW1CLFlBRnBCLFlBQVk7O1NBRVgsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItZWRpdGFibGUtaW5wdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwXCIgW25nU3R5bGVdPVwid3JhcFN0eWxlXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiXG4gICAgICAgIHNwZWxsQ2hlY2s9XCJmYWxzZVwiXG4gICAgICAgIFt2YWx1ZV09XCJjdXJyZW50VmFsdWVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlkb3duKCRldmVudClcIlxuICAgICAgICAoa2V5dXApPVwiaGFuZGxlS2V5dXAoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUZvY3VzT3V0KCRldmVudClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidW5pcXVlSWRcIlxuICAgICAgLz5cbiAgICAgIDxzcGFuIFtpZF09XCJ1bmlxdWVJZFwiICpuZ0lmPVwibGFiZWxcIiBbbmdTdHlsZV09XCJsYWJlbFN0eWxlXCIgKG1vdXNlZG93bik9XCJoYW5kbGVNb3VzZWRvd24oJGV2ZW50KVwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAud3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzdHlsZSE6IHtcbiAgICB3cmFwPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICBpbnB1dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgbGFiZWw/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9O1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWUhOiBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGFycm93T2Zmc2V0ITogbnVtYmVyO1xuICBASW5wdXQoKSBkcmFnTGFiZWwhOiBib29sZWFuO1xuICBASW5wdXQoKSBkcmFnTWF4ITogbnVtYmVyO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGN1cnJlbnRWYWx1ZSE6IHN0cmluZyB8IG51bWJlcjtcbiAgYmx1clZhbHVlITogc3RyaW5nO1xuICB3cmFwU3R5bGUhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBpbnB1dFN0eWxlITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgbGFiZWxTdHlsZSE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIGZvY3VzID0gZmFsc2U7XG4gIG1vdXNlbW92ZSE6IFN1YnNjcmlwdGlvbjtcbiAgbW91c2V1cCE6IFN1YnNjcmlwdGlvbjtcbiAgdW5pcXVlSWQ6IHN0cmluZyA9IGBlZGl0YWJsZUlucHV0LSR7KytuZXh0VW5pcXVlSWR9YDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndyYXBTdHlsZSA9IHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS53cmFwID8gdGhpcy5zdHlsZS53cmFwIDoge307XG4gICAgdGhpcy5pbnB1dFN0eWxlID0gdGhpcy5zdHlsZSAmJiB0aGlzLnN0eWxlLmlucHV0ID8gdGhpcy5zdHlsZS5pbnB1dCA6IHt9O1xuICAgIHRoaXMubGFiZWxTdHlsZSA9IHRoaXMuc3R5bGUgJiYgdGhpcy5zdHlsZS5sYWJlbCA/IHRoaXMuc3R5bGUubGFiZWwgOiB7fTtcbiAgICBpZiAodGhpcy5kcmFnTGFiZWwpIHtcbiAgICAgIHRoaXMubGFiZWxTdHlsZS5jdXJzb3IgPSAnZXctcmVzaXplJztcbiAgICB9XG4gIH1cbiAgaGFuZGxlRm9jdXMoJGV2ZW50KSB7XG4gICAgdGhpcy5mb2N1cyA9IHRydWU7XG4gIH1cbiAgaGFuZGxlRm9jdXNPdXQoJGV2ZW50KSB7XG4gICAgdGhpcy5mb2N1cyA9IGZhbHNlO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5ibHVyVmFsdWU7XG4gIH1cbiAgaGFuZGxlS2V5ZG93bigkZXZlbnQpIHtcbiAgICAvLyBJbiBjYXNlIGBlLnRhcmdldC52YWx1ZWAgaXMgYSBwZXJjZW50YWdlIHJlbW92ZSB0aGUgYCVgIGNoYXJhY3RlclxuICAgIC8vIGFuZCB1cGRhdGUgYWNjb3JkaW5nbHkgd2l0aCBhIHBlcmNlbnRhZ2VcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vY2FzZXNhbmRiZXJnL3JlYWN0LWNvbG9yL2lzc3Vlcy8zODNcbiAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IFN0cmluZygkZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICBjb25zdCBpc1BlcmNlbnRhZ2UgPSBzdHJpbmdWYWx1ZS5pbmRleE9mKCclJykgPiAtMTtcbiAgICBjb25zdCBudW0gPSBOdW1iZXIoc3RyaW5nVmFsdWUucmVwbGFjZSgvJS9nLCAnJykpO1xuICAgIGlmIChpc05hTihudW0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGFtb3VudCA9IHRoaXMuYXJyb3dPZmZzZXQgfHwgMTtcblxuICAgIC8vIFVwXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgaWYgKHRoaXMubGFiZWwpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogbnVtICsgYW1vdW50IH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7IGRhdGE6IG51bSArIGFtb3VudCwgJGV2ZW50IH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNQZXJjZW50YWdlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gYCR7bnVtICsgYW1vdW50fSVgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBudW0gKyBhbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRG93blxuICAgIGlmICgkZXZlbnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgZGF0YTogeyBbdGhpcy5sYWJlbF06IG51bSAtIGFtb3VudCB9LFxuICAgICAgICAgICRldmVudCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhOiBudW0gLSBhbW91bnQsICRldmVudCB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUGVyY2VudGFnZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGAke251bSAtIGFtb3VudH0lYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbnVtIC0gYW1vdW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoYW5kbGVLZXl1cCgkZXZlbnQpIHtcbiAgICBpZiAoJGV2ZW50LmtleUNvZGUgPT09IDQwIHx8ICRldmVudC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoYCR7dGhpcy5jdXJyZW50VmFsdWV9YCA9PT0gJGV2ZW50LnRhcmdldC52YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7IFt0aGlzLmxhYmVsXTogJGV2ZW50LnRhcmdldC52YWx1ZSB9LFxuICAgICAgICAkZXZlbnQsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgZGF0YTogJGV2ZW50LnRhcmdldC52YWx1ZSwgJGV2ZW50IH0pO1xuICAgIH1cbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICBpZiAoIXRoaXMuZm9jdXMpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gU3RyaW5nKHRoaXMudmFsdWUpLnRvVXBwZXJDYXNlKCk7XG4gICAgICB0aGlzLmJsdXJWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJsdXJWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgc3Vic2NyaWJlKCkge1xuICAgIHRoaXMubW91c2Vtb3ZlID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykuc3Vic2NyaWJlKChldjogRXZlbnQpID0+IHRoaXMuaGFuZGxlRHJhZyhldikpO1xuICAgIHRoaXMubW91c2V1cCA9IGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNldXAnKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuICB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLm1vdXNlbW92ZT8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm1vdXNldXA/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgaGFuZGxlTW91c2Vkb3duKCRldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kcmFnTGFiZWwpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5oYW5kbGVEcmFnKCRldmVudCk7XG4gICAgICB0aGlzLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVEcmFnKCRldmVudCkge1xuICAgIGlmICh0aGlzLmRyYWdMYWJlbCkge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBNYXRoLnJvdW5kKHRoaXMudmFsdWUgKyAkZXZlbnQubW92ZW1lbnRYKTtcbiAgICAgIGlmIChuZXdWYWx1ZSA+PSAwICYmIG5ld1ZhbHVlIDw9IHRoaXMuZHJhZ01heCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhOiB7IFt0aGlzLmxhYmVsXTogbmV3VmFsdWUgfSwgJGV2ZW50IH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtFZGl0YWJsZUlucHV0Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW0VkaXRhYmxlSW5wdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVJbnB1dE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,53 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "ngx-color";
4
+ class GithubSwatchComponent {
5
+ color;
6
+ onClick = new EventEmitter();
7
+ onSwatchHover = new EventEmitter();
8
+ focusStyle = {
9
+ position: 'relative',
10
+ 'z-index': '2',
11
+ outline: '2px solid #fff',
12
+ 'box-shadow': '0 0 5px 2px rgba(0,0,0,0.25)',
13
+ };
14
+ handleClick({ hex, $event }) {
15
+ this.onClick.emit({ hex, $event });
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GithubSwatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: GithubSwatchComponent, selector: "color-github-swatch", inputs: { color: "color" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
19
+ <div class="github-swatch">
20
+ <color-swatch
21
+ [color]="color"
22
+ [focusStyle]="focusStyle"
23
+ (onClick)="handleClick($event)"
24
+ (onHover)="onSwatchHover.emit($event)"
25
+ class="swatch"
26
+ ></color-swatch>
27
+ <div class="clear"></div>
28
+ </div>
29
+ `, isInline: true, styles: [".github-swatch{width:25px;height:25px;font-size:0}\n"], dependencies: [{ kind: "component", type: i1.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ }
31
+ export { GithubSwatchComponent };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GithubSwatchComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'color-github-swatch', template: `
35
+ <div class="github-swatch">
36
+ <color-swatch
37
+ [color]="color"
38
+ [focusStyle]="focusStyle"
39
+ (onClick)="handleClick($event)"
40
+ (onHover)="onSwatchHover.emit($event)"
41
+ class="swatch"
42
+ ></color-swatch>
43
+ <div class="clear"></div>
44
+ </div>
45
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".github-swatch{width:25px;height:25px;font-size:0}\n"] }]
46
+ }], propDecorators: { color: [{
47
+ type: Input
48
+ }], onClick: [{
49
+ type: Output
50
+ }], onSwatchHover: [{
51
+ type: Output
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXN3YXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2dpdGh1Yi9naXRodWItc3dhdGNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFaEcsTUEwQmEscUJBQXFCO0lBQ3ZCLEtBQUssQ0FBVTtJQUNkLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELFVBQVUsR0FBRztRQUNYLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFNBQVMsRUFBRSxHQUFHO1FBQ2QsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixZQUFZLEVBQUUsOEJBQThCO0tBQzdDLENBQUM7SUFFRixXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0FiVSxxQkFBcUI7MkZBQXJCLHFCQUFxQix3SkF4QnRCOzs7Ozs7Ozs7OztHQVdUOztTQWFVLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQTFCakMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7Ozs7O0dBV1QsbUJBVWdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItZ2l0aHViLXN3YXRjaCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImdpdGh1Yi1zd2F0Y2hcIj5cbiAgICAgIDxjb2xvci1zd2F0Y2hcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW2ZvY3VzU3R5bGVdPVwiZm9jdXNTdHlsZVwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgICAob25Ib3Zlcik9XCJvblN3YXRjaEhvdmVyLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwic3dhdGNoXCJcbiAgICAgID48L2NvbG9yLXN3YXRjaD5cbiAgICAgIDxkaXYgY2xhc3M9XCJjbGVhclwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuZ2l0aHViLXN3YXRjaCB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEdpdGh1YlN3YXRjaENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbG9yITogc3RyaW5nO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmb2N1c1N0eWxlID0ge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICd6LWluZGV4JzogJzInLFxuICAgIG91dGxpbmU6ICcycHggc29saWQgI2ZmZicsXG4gICAgJ2JveC1zaGFkb3cnOiAnMCAwIDVweCAycHggcmdiYSgwLDAsMCwwLjI1KScsXG4gIH07XG5cbiAgaGFuZGxlQ2xpY2soeyBoZXgsICRldmVudCB9KSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoeyBoZXgsICRldmVudCB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,114 @@
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
+ class GithubComponent extends ColorWrap {
9
+ /** Pixel value for picker width */
10
+ width = 212;
11
+ /** Color squares to display */
12
+ colors = [
13
+ '#B80000',
14
+ '#DB3E00',
15
+ '#FCCB00',
16
+ '#008B02',
17
+ '#006B76',
18
+ '#1273DE',
19
+ '#004DCF',
20
+ '#5300EB',
21
+ '#EB9694',
22
+ '#FAD0C3',
23
+ '#FEF3BD',
24
+ '#C1E1C5',
25
+ '#BEDADC',
26
+ '#C4DEF6',
27
+ '#BED3F3',
28
+ '#D4C4FB',
29
+ ];
30
+ triangle = 'top-left';
31
+ constructor() {
32
+ super();
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
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GithubComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: GithubComponent, selector: "color-github", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
44
+ {
45
+ provide: NG_VALUE_ACCESSOR,
46
+ useExisting: forwardRef(() => GithubComponent),
47
+ multi: true,
48
+ },
49
+ {
50
+ provide: ColorWrap,
51
+ useExisting: forwardRef(() => GithubComponent),
52
+ },
53
+ ], usesInheritance: true, ngImport: i0, template: `
54
+ <div class="github-picker {{ triangle }}-triangle {{ className }}"
55
+ [style.width.px]="width"
56
+ >
57
+ <div class="triangleShadow"></div>
58
+ <div class="triangle"></div>
59
+ <color-github-swatch *ngFor="let color of colors"
60
+ [color]="color"
61
+ (onClick)="handleBlockChange($event)"
62
+ (onSwatchHover)="onSwatchHover.emit($event)"
63
+ ></color-github-swatch>
64
+ </div>
65
+ `, 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 });
66
+ }
67
+ export { GithubComponent };
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: GithubComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'color-github', template: `
71
+ <div class="github-picker {{ triangle }}-triangle {{ className }}"
72
+ [style.width.px]="width"
73
+ >
74
+ <div class="triangleShadow"></div>
75
+ <div class="triangle"></div>
76
+ <color-github-swatch *ngFor="let color of colors"
77
+ [color]="color"
78
+ (onClick)="handleBlockChange($event)"
79
+ (onSwatchHover)="onSwatchHover.emit($event)"
80
+ ></color-github-swatch>
81
+ </div>
82
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
83
+ {
84
+ provide: NG_VALUE_ACCESSOR,
85
+ useExisting: forwardRef(() => GithubComponent),
86
+ multi: true,
87
+ },
88
+ {
89
+ provide: ColorWrap,
90
+ useExisting: forwardRef(() => GithubComponent),
91
+ },
92
+ ], 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"] }]
93
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
94
+ type: Input
95
+ }], colors: [{
96
+ type: Input
97
+ }], triangle: [{
98
+ type: Input
99
+ }] } });
100
+ class ColorGithubModule {
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorGithubModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
102
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorGithubModule, declarations: [GithubComponent, GithubSwatchComponent], imports: [CommonModule, SwatchModule], exports: [GithubComponent, GithubSwatchComponent] });
103
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorGithubModule, imports: [CommonModule, SwatchModule] });
104
+ }
105
+ export { ColorGithubModule };
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorGithubModule, decorators: [{
107
+ type: NgModule,
108
+ args: [{
109
+ declarations: [GithubComponent, GithubSwatchComponent],
110
+ exports: [GithubComponent, GithubSwatchComponent],
111
+ imports: [CommonModule, SwatchModule],
112
+ }]
113
+ }] });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvZ2l0aHViL2dpdGh1Yi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFbkQsTUEwRmEsZUFBZ0IsU0FBUSxTQUFTO0lBQzVDLG1DQUFtQztJQUMxQixLQUFLLEdBQW9CLEdBQUcsQ0FBQztJQUN0QywrQkFBK0I7SUFDdEIsTUFBTSxHQUFHO1FBQ2hCLFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7S0FDVixDQUFDO0lBQ08sUUFBUSxHQUF1RCxVQUFVLENBQUM7SUFFbkY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQWtDO1FBQy9ELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQW5DVSxlQUFlOzJGQUFmLGVBQWUsMkdBWmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQztTQUNGLGlEQXRGUzs7Ozs7Ozs7Ozs7O0dBWVQsZ3NDQW1IK0IscUJBQXFCOztTQXZDMUMsZUFBZTsyRkFBZixlQUFlO2tCQTFGM0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2Q7Ozs7Ozs7Ozs7OztHQVlULG1CQThEZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSyxhQUNmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsU0FBUzs0QkFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7eUJBQy9DO3FCQUNGOzBFQUlRLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBa0JHLFFBQVE7c0JBQWhCLEtBQUs7O0FBZ0JSLE1BS2EsaUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkEzQ2pCLGVBQWUsRUF1Q00scUJBQXFCLGFBRTNDLFlBQVksRUFBRSxZQUFZLGFBekN6QixlQUFlLEVBd0NDLHFCQUFxQjt3R0FHckMsaUJBQWlCLFlBRmxCLFlBQVksRUFBRSxZQUFZOztTQUV6QixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFMN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQztvQkFDakQsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbG9yV3JhcCwgaXNWYWxpZEhleCwgU3dhdGNoTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yJztcbmltcG9ydCB7IEdpdGh1YlN3YXRjaENvbXBvbmVudCB9IGZyb20gJy4vZ2l0aHViLXN3YXRjaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLWdpdGh1YicsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJnaXRodWItcGlja2VyIHt7IHRyaWFuZ2xlIH19LXRyaWFuZ2xlIHt7IGNsYXNzTmFtZSB9fVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ0cmlhbmdsZVNoYWRvd1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0cmlhbmdsZVwiPjwvZGl2PlxuICAgIDxjb2xvci1naXRodWItc3dhdGNoICpuZ0Zvcj1cImxldCBjb2xvciBvZiBjb2xvcnNcIlxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUJsb2NrQ2hhbmdlKCRldmVudClcIlxuICAgICAgKG9uU3dhdGNoSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgID48L2NvbG9yLWdpdGh1Yi1zd2F0Y2g+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gIC5naXRodWItcGlja2VyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNSkgMHB4IDNweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnRyaWFuZ2xlU2hhZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICB9XG4gIC50cmlhbmdsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci13aWR0aDogN3B4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICB9XG4gIC5oaWRlLXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oaWRlLXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50b3AtbGVmdC10cmlhbmdsZSA+IC50cmlhbmdsZSB7XG4gICAgdG9wOiAtMTRweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG4gIC50b3AtbGVmdC10cmlhbmdsZSA+IC50cmlhbmdsZVNoYWRvdyB7XG4gICAgdG9wOiAtMTZweDtcbiAgICBsZWZ0OiA5cHg7XG4gIH1cbiAgLnRvcC1yaWdodC10cmlhbmdsZSA+IC50cmlhbmdsZSB7XG4gICAgdG9wOiAtMTRweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxuICAudG9wLXJpZ2h0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICB0b3A6IC0xNnB4O1xuICAgIHJpZ2h0OiA5cHg7XG4gIH1cbiAgLmJvdHRvbS1yaWdodC10cmlhbmdsZSA+IC50cmlhbmdsZSB7XG4gICAgdG9wOiAzNXB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgLmJvdHRvbS1yaWdodC10cmlhbmdsZSA+IC50cmlhbmdsZVNoYWRvdyB7XG4gICAgdG9wOiAzN3B4O1xuICAgIHJpZ2h0OiA5cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2l0aHViQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29sb3JXcmFwLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gR2l0aHViQ29tcG9uZW50KSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEdpdGh1YkNvbXBvbmVudCBleHRlbmRzIENvbG9yV3JhcCB7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIHdpZHRoICovXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAyMTI7XG4gIC8qKiBDb2xvciBzcXVhcmVzIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgY29sb3JzID0gW1xuICAgICcjQjgwMDAwJyxcbiAgICAnI0RCM0UwMCcsXG4gICAgJyNGQ0NCMDAnLFxuICAgICcjMDA4QjAyJyxcbiAgICAnIzAwNkI3NicsXG4gICAgJyMxMjczREUnLFxuICAgICcjMDA0RENGJyxcbiAgICAnIzUzMDBFQicsXG4gICAgJyNFQjk2OTQnLFxuICAgICcjRkFEMEMzJyxcbiAgICAnI0ZFRjNCRCcsXG4gICAgJyNDMUUxQzUnLFxuICAgICcjQkVEQURDJyxcbiAgICAnI0M0REVGNicsXG4gICAgJyNCRUQzRjMnLFxuICAgICcjRDRDNEZCJyxcbiAgXTtcbiAgQElucHV0KCkgdHJpYW5nbGU6ICdoaWRlJyB8ICd0b3AtbGVmdCcgfCAndG9wLXJpZ2h0JyB8ICdib3R0b20tcmlnaHQnID0gJ3RvcC1sZWZ0JztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgaGFuZGxlQmxvY2tDaGFuZ2UoeyBoZXgsICRldmVudCB9OiB7IGhleDogc3RyaW5nLCAkZXZlbnQ6IEV2ZW50IH0pIHtcbiAgICBpZiAoaXNWYWxpZEhleChoZXgpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZSh7IGhleCwgc291cmNlOiAnaGV4JyB9LCAkZXZlbnQpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVWYWx1ZUNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtHaXRodWJDb21wb25lbnQsIEdpdGh1YlN3YXRjaENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtHaXRodWJDb21wb25lbnQsIEdpdGh1YlN3YXRjaENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFN3YXRjaE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yR2l0aHViTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,102 @@
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
+ class HuePickerComponent extends ColorWrap {
8
+ /** Pixel value for picker width */
9
+ width = 316;
10
+ /** Pixel value for picker height */
11
+ height = 16;
12
+ radius = 2;
13
+ direction = 'horizontal';
14
+ pointer = {
15
+ width: '18px',
16
+ height: '18px',
17
+ borderRadius: '50%',
18
+ transform: 'translate(-9px, -2px)',
19
+ backgroundColor: 'rgb(248, 248, 248)',
20
+ boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
21
+ };
22
+ constructor() {
23
+ super();
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
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HuePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: HuePickerComponent, selector: "color-hue-picker", inputs: { width: "width", height: "height", radius: "radius", direction: "direction" }, providers: [
36
+ {
37
+ provide: NG_VALUE_ACCESSOR,
38
+ useExisting: forwardRef(() => HuePickerComponent),
39
+ multi: true,
40
+ },
41
+ {
42
+ provide: ColorWrap,
43
+ useExisting: forwardRef(() => HuePickerComponent),
44
+ },
45
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
46
+ <div class="hue-picker {{ className }}"
47
+ [style.width.px]="width" [style.height.px]="height"
48
+ >
49
+ <color-hue [hsl]="hsl" [pointer]="pointer"
50
+ [direction]="direction" [radius]="radius"
51
+ (onChange)="handlePickerChange($event)"
52
+ ></color-hue>
53
+ </div>
54
+ `, 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 });
55
+ }
56
+ export { HuePickerComponent };
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HuePickerComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'color-hue-picker', template: `
60
+ <div class="hue-picker {{ className }}"
61
+ [style.width.px]="width" [style.height.px]="height"
62
+ >
63
+ <color-hue [hsl]="hsl" [pointer]="pointer"
64
+ [direction]="direction" [radius]="radius"
65
+ (onChange)="handlePickerChange($event)"
66
+ ></color-hue>
67
+ </div>
68
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
69
+ {
70
+ provide: NG_VALUE_ACCESSOR,
71
+ useExisting: forwardRef(() => HuePickerComponent),
72
+ multi: true,
73
+ },
74
+ {
75
+ provide: ColorWrap,
76
+ useExisting: forwardRef(() => HuePickerComponent),
77
+ },
78
+ ], styles: [".hue-picker{position:relative}\n"] }]
79
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
80
+ type: Input
81
+ }], height: [{
82
+ type: Input
83
+ }], radius: [{
84
+ type: Input
85
+ }], direction: [{
86
+ type: Input
87
+ }] } });
88
+ class ColorHueModule {
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorHueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
90
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorHueModule, declarations: [HuePickerComponent], imports: [CommonModule, HueModule], exports: [HuePickerComponent] });
91
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorHueModule, imports: [CommonModule, HueModule] });
92
+ }
93
+ export { ColorHueModule };
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorHueModule, decorators: [{
95
+ type: NgModule,
96
+ args: [{
97
+ declarations: [HuePickerComponent],
98
+ exports: [HuePickerComponent],
99
+ imports: [CommonModule, HueModule],
100
+ }]
101
+ }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2h1ZS9odWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUVuRCxNQWlDYSxrQkFBbUIsU0FBUSxTQUFTO0lBQy9DLG1DQUFtQztJQUMxQixLQUFLLEdBQW9CLEdBQUcsQ0FBQztJQUN0QyxvQ0FBb0M7SUFDM0IsTUFBTSxHQUFvQixFQUFFLENBQUM7SUFDN0IsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNYLFNBQVMsR0FBOEIsWUFBWSxDQUFDO0lBQzdELE9BQU8sR0FBNEI7UUFDakMsS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLFlBQVksRUFBRSxLQUFLO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7UUFDbEMsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxTQUFTLEVBQUUsaUNBQWlDO0tBQzdDLENBQUM7SUFFRjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLHVCQUF1QixDQUFDO1NBQ2xEO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELENBQUM7dUdBNUJVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLG1JQVpsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDRDtnQkFDRSxPQUFPLEVBQUUsU0FBUztnQkFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUNsRDtTQUNGLHNFQTdCUzs7Ozs7Ozs7O0dBU1Q7O1NBc0JVLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQWpDOUIsU0FBUzsrQkFDRSxrQkFBa0IsWUFDbEI7Ozs7Ozs7OztHQVNULG1CQVFnQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLLGFBQ2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzt5QkFDbEQ7cUJBQ0Y7MEVBSVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSzs7QUF5QlIsTUFLYSxjQUFjO3VHQUFkLGNBQWM7d0dBQWQsY0FBYyxpQkFwQ2Qsa0JBQWtCLGFBa0NuQixZQUFZLEVBQUUsU0FBUyxhQWxDdEIsa0JBQWtCO3dHQW9DbEIsY0FBYyxZQUZmLFlBQVksRUFBRSxTQUFTOztTQUV0QixjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb2xvcldyYXAsIEh1ZU1vZHVsZSwgdG9TdGF0ZSB9IGZyb20gJ25neC1jb2xvcic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItaHVlLXBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJodWUtcGlja2VyIHt7IGNsYXNzTmFtZSB9fVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIlxuICA+XG4gICAgPGNvbG9yLWh1ZSBbaHNsXT1cImhzbFwiIFtwb2ludGVyXT1cInBvaW50ZXJcIlxuICAgICAgW2RpcmVjdGlvbl09XCJkaXJlY3Rpb25cIiBbcmFkaXVzXT1cInJhZGl1c1wiXG4gICAgICAob25DaGFuZ2UpPVwiaGFuZGxlUGlja2VyQ2hhbmdlKCRldmVudClcIlxuICAgID48L2NvbG9yLWh1ZT5cbiAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAuaHVlLXBpY2tlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSHVlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29sb3JXcmFwLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSHVlUGlja2VyQ29tcG9uZW50KSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEh1ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIENvbG9yV3JhcCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIHdpZHRoICovXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAzMTY7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIGhlaWdodCAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDE2O1xuICBASW5wdXQoKSByYWRpdXMgPSAyO1xuICBASW5wdXQoKSBkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCcgPSAnaG9yaXpvbnRhbCc7XG4gIHBvaW50ZXI6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHdpZHRoOiAnMThweCcsXG4gICAgaGVpZ2h0OiAnMThweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNTAlJyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTlweCwgLTJweCknLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYigyNDgsIDI0OCwgMjQ4KScsXG4gICAgYm94U2hhZG93OiAnMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KScsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgdGhpcy5wb2ludGVyLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoLTNweCwgLTlweCknO1xuICAgIH1cbiAgICB0aGlzLnNldFN0YXRlKHRvU3RhdGUodGhpcy5jb2xvciwgdGhpcy5vbGRIdWUpKTtcbiAgfVxuICBoYW5kbGVQaWNrZXJDaGFuZ2UoeyBkYXRhLCAkZXZlbnQgfSkge1xuICAgIHRoaXMuaGFuZGxlQ2hhbmdlKHsgYTogMSwgaDogZGF0YS5oLCBsOiAwLjUsIHM6IDEgfSwgJGV2ZW50KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIdWVQaWNrZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbSHVlUGlja2VyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSHVlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JIdWVNb2R1bGUge31cbiJdfQ==