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,133 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, NgModule, Output, } from '@angular/core';
3
+ import { CoordinatesModule } from './coordinates.directive';
4
+ import { TinyColor } from '@ctrl/tinycolor';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "./coordinates.directive";
8
+ class ShadeComponent {
9
+ hsl;
10
+ rgb;
11
+ pointer;
12
+ shadow;
13
+ radius;
14
+ onChange = new EventEmitter();
15
+ gradient;
16
+ pointerLeft;
17
+ pointerTop;
18
+ ngOnChanges() {
19
+ this.gradient = {
20
+ background: `linear-gradient(to right,
21
+ hsl(${this.hsl.h}, 90%, 55%),
22
+ #000)`,
23
+ };
24
+ const hsv = new TinyColor(this.hsl).toHsv();
25
+ this.pointerLeft = 100 - (hsv.v * 100);
26
+ }
27
+ handleChange({ left, containerWidth, $event }) {
28
+ let data;
29
+ let v;
30
+ if (left < 0) {
31
+ v = 0;
32
+ }
33
+ else if (left > containerWidth) {
34
+ v = 1;
35
+ }
36
+ else {
37
+ v = Math.round((left * 100) / containerWidth) / 100;
38
+ }
39
+ const hsv = new TinyColor(this.hsl).toHsv();
40
+ if (hsv.v !== v) {
41
+ data = {
42
+ h: this.hsl.h,
43
+ s: 100,
44
+ v: 1 - v,
45
+ l: this.hsl.l,
46
+ a: this.hsl.a,
47
+ source: 'rgb',
48
+ };
49
+ }
50
+ if (!data) {
51
+ return;
52
+ }
53
+ this.onChange.emit({ data, $event });
54
+ }
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ShadeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ShadeComponent, selector: "color-shade", inputs: { hsl: "hsl", rgb: "rgb", pointer: "pointer", shadow: "shadow", radius: "radius" }, outputs: { onChange: "onChange" }, usesOnChanges: true, ngImport: i0, template: `
57
+ <div class="shade" [style.border-radius]="radius">
58
+ <div
59
+ class="shade-gradient"
60
+ [ngStyle]="gradient"
61
+ [style.box-shadow]="shadow"
62
+ [style.border-radius]="radius"
63
+ ></div>
64
+ <div
65
+ ngx-color-coordinates
66
+ (coordinatesChange)="handleChange($event)"
67
+ class="shade-container"
68
+ >
69
+ <div
70
+ class="shade-pointer"
71
+ [style.left.%]="pointerLeft"
72
+ [style.top.%]="pointerTop"
73
+ >
74
+ <div class="shade-slider" [ngStyle]="pointer"></div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ `, isInline: true, styles: [".shade,.shade-gradient{position:absolute;inset:0}.shade-container{position:relative;height:100%;margin:0 3px}.shade-pointer{position:absolute}.shade-slider{width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;margin-top:1px;transform:translate(-2px)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.CoordinatesDirective, selector: "[ngx-color-coordinates]", outputs: ["coordinatesChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ }
80
+ export { ShadeComponent };
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ShadeComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'color-shade', template: `
84
+ <div class="shade" [style.border-radius]="radius">
85
+ <div
86
+ class="shade-gradient"
87
+ [ngStyle]="gradient"
88
+ [style.box-shadow]="shadow"
89
+ [style.border-radius]="radius"
90
+ ></div>
91
+ <div
92
+ ngx-color-coordinates
93
+ (coordinatesChange)="handleChange($event)"
94
+ class="shade-container"
95
+ >
96
+ <div
97
+ class="shade-pointer"
98
+ [style.left.%]="pointerLeft"
99
+ [style.top.%]="pointerTop"
100
+ >
101
+ <div class="shade-slider" [ngStyle]="pointer"></div>
102
+ </div>
103
+ </div>
104
+ </div>
105
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".shade,.shade-gradient{position:absolute;inset:0}.shade-container{position:relative;height:100%;margin:0 3px}.shade-pointer{position:absolute}.shade-slider{width:4px;border-radius:1px;height:8px;box-shadow:0 0 2px #0009;background:#fff;margin-top:1px;transform:translate(-2px)}\n"] }]
106
+ }], propDecorators: { hsl: [{
107
+ type: Input
108
+ }], rgb: [{
109
+ type: Input
110
+ }], pointer: [{
111
+ type: Input
112
+ }], shadow: [{
113
+ type: Input
114
+ }], radius: [{
115
+ type: Input
116
+ }], onChange: [{
117
+ type: Output
118
+ }] } });
119
+ class ShadeModule {
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ShadeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
121
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ShadeModule, declarations: [ShadeComponent], imports: [CommonModule, CoordinatesModule], exports: [ShadeComponent] });
122
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ShadeModule, imports: [CommonModule, CoordinatesModule] });
123
+ }
124
+ export { ShadeModule };
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ShadeModule, decorators: [{
126
+ type: NgModule,
127
+ args: [{
128
+ declarations: [ShadeComponent],
129
+ exports: [ShadeComponent],
130
+ imports: [CommonModule, CoordinatesModule],
131
+ }]
132
+ }] });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9zaGFkZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUVSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHNUMsTUErRGEsY0FBYztJQUNoQixHQUFHLENBQVE7SUFDWCxHQUFHLENBQVE7SUFDWCxPQUFPLENBQTBCO0lBQ2pDLE1BQU0sQ0FBVTtJQUNoQixNQUFNLENBQVU7SUFDZixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUM3QyxRQUFRLENBQTBCO0lBQ2xDLFdBQVcsQ0FBVTtJQUNyQixVQUFVLENBQVU7SUFFcEIsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxVQUFVLEVBQUU7Z0JBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNWO1NBQ1gsQ0FBQztRQUNGLE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFO1FBQzNDLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxDQUFTLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDWixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1A7YUFBTSxJQUFJLElBQUksR0FBRyxjQUFjLEVBQUU7WUFDaEMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNQO2FBQU07WUFDTCxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDckQ7UUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksR0FBRztnQkFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLENBQUMsRUFBRSxHQUFHO2dCQUNOLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDUixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLEtBQUs7YUFDZCxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO3VHQWpEVSxjQUFjOzJGQUFkLGNBQWMsdU1BN0RmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUOztTQXVDVSxjQUFjOzJGQUFkLGNBQWM7a0JBL0QxQixTQUFTOytCQUNFLGFBQWEsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVCxtQkFvQ2dCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTs7QUE4Q1QsTUFLYSxXQUFXO3VHQUFYLFdBQVc7d0dBQVgsV0FBVyxpQkF6RFgsY0FBYyxhQXVEZixZQUFZLEVBQUUsaUJBQWlCLGFBdkQ5QixjQUFjO3dHQXlEZCxXQUFXLFlBRlosWUFBWSxFQUFFLGlCQUFpQjs7U0FFOUIsV0FBVzsyRkFBWCxXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE5nTW9kdWxlLFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb29yZGluYXRlc01vZHVsZSB9IGZyb20gJy4vY29vcmRpbmF0ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhTTEEsIFJHQkEgfSBmcm9tICcuL2hlbHBlcnMvY29sb3IuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaW55Q29sb3IgfSBmcm9tICdAY3RybC90aW55Y29sb3InO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLXNoYWRlJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2hhZGVcIiBbc3R5bGUuYm9yZGVyLXJhZGl1c109XCJyYWRpdXNcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJzaGFkZS1ncmFkaWVudFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cImdyYWRpZW50XCJcbiAgICAgICAgW3N0eWxlLmJveC1zaGFkb3ddPVwic2hhZG93XCJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwicmFkaXVzXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgbmd4LWNvbG9yLWNvb3JkaW5hdGVzXG4gICAgICAgIChjb29yZGluYXRlc0NoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwic2hhZGUtY29udGFpbmVyXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwic2hhZGUtcG9pbnRlclwiXG4gICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJwb2ludGVyTGVmdFwiXG4gICAgICAgICAgW3N0eWxlLnRvcC4lXT1cInBvaW50ZXJUb3BcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNoYWRlLXNsaWRlclwiIFtuZ1N0eWxlXT1cInBvaW50ZXJcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5zaGFkZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5zaGFkZS1ncmFkaWVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgIC5zaGFkZS1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICB9XG4gICAgLnNoYWRlLXBvaW50ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuc2hhZGUtc2xpZGVyIHtcbiAgICAgIHdpZHRoOiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAuNik7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuICAgIH1cbiAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFkZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGhzbCE6IEhTTEE7XG4gIEBJbnB1dCgpIHJnYiE6IFJHQkE7XG4gIEBJbnB1dCgpIHBvaW50ZXIhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBASW5wdXQoKSBzaGFkb3chOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJhZGl1cyE6IHN0cmluZztcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGdyYWRpZW50ITogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcG9pbnRlckxlZnQhOiBudW1iZXI7XG4gIHBvaW50ZXJUb3A/OiBudW1iZXI7XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5ncmFkaWVudCA9IHtcbiAgICAgIGJhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgICAgaHNsKCR7dGhpcy5oc2wuaH0sIDkwJSwgNTUlKSxcbiAgICAgICAgICAjMDAwKWAsXG4gICAgfTtcbiAgICBjb25zdCBoc3YgPSBuZXcgVGlueUNvbG9yKHRoaXMuaHNsKS50b0hzdigpO1xuICAgIHRoaXMucG9pbnRlckxlZnQgPSAxMDAgLSAoaHN2LnYgKiAxMDApO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKHsgbGVmdCwgY29udGFpbmVyV2lkdGgsICRldmVudCB9KTogdm9pZCB7XG4gICAgbGV0IGRhdGE7XG4gICAgbGV0IHY6IG51bWJlcjtcbiAgICBpZiAobGVmdCA8IDApIHtcbiAgICAgIHYgPSAwO1xuICAgIH0gZWxzZSBpZiAobGVmdCA+IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgICB2ID0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgdiA9IE1hdGgucm91bmQoKGxlZnQgKiAxMDApIC8gY29udGFpbmVyV2lkdGgpIC8gMTAwO1xuICAgIH1cblxuICAgIGNvbnN0IGhzdiA9IG5ldyBUaW55Q29sb3IodGhpcy5oc2wpLnRvSHN2KCk7XG4gICAgaWYgKGhzdi52ICE9PSB2KSB7XG4gICAgICBkYXRhID0ge1xuICAgICAgICBoOiB0aGlzLmhzbC5oLFxuICAgICAgICBzOiAxMDAsXG4gICAgICAgIHY6IDEgLSB2LFxuICAgICAgICBsOiB0aGlzLmhzbC5sLFxuICAgICAgICBhOiB0aGlzLmhzbC5hLFxuICAgICAgICBzb3VyY2U6ICdyZ2InLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoeyBkYXRhLCAkZXZlbnQgfSk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2hhZGVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2hhZGVDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDb29yZGluYXRlc01vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNoYWRlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,211 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { isValidHex } from 'ngx-color';
3
+ import { TinyColor } from '@ctrl/tinycolor';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "ngx-color";
7
+ class SketchFieldsComponent {
8
+ hsl;
9
+ rgb;
10
+ hex;
11
+ disableAlpha = false;
12
+ onChange = new EventEmitter();
13
+ input = {
14
+ width: '100%',
15
+ padding: '4px 10% 3px',
16
+ border: 'none',
17
+ boxSizing: 'border-box',
18
+ boxShadow: 'inset 0 0 0 1px #ccc',
19
+ fontSize: '11px',
20
+ };
21
+ label = {
22
+ display: 'block',
23
+ textAlign: 'center',
24
+ fontSize: '11px',
25
+ color: '#222',
26
+ paddingTop: '3px',
27
+ paddingBottom: '4px',
28
+ textTransform: 'capitalize',
29
+ };
30
+ round(value) {
31
+ return Math.round(value);
32
+ }
33
+ handleChange({ data, $event }) {
34
+ if (data.hex) {
35
+ if (isValidHex(data.hex)) {
36
+ const color = new TinyColor(data.hex);
37
+ this.onChange.emit({
38
+ data: {
39
+ hex: this.disableAlpha || data.hex.length <= 6 ? color.toHex() : color.toHex8(),
40
+ source: 'hex',
41
+ },
42
+ $event,
43
+ });
44
+ }
45
+ }
46
+ else if (data.r || data.g || data.b) {
47
+ this.onChange.emit({
48
+ data: {
49
+ r: data.r || this.rgb.r,
50
+ g: data.g || this.rgb.g,
51
+ b: data.b || this.rgb.b,
52
+ source: 'rgb',
53
+ },
54
+ $event,
55
+ });
56
+ }
57
+ else if (data.a) {
58
+ if (data.a < 0) {
59
+ data.a = 0;
60
+ }
61
+ else if (data.a > 100) {
62
+ data.a = 100;
63
+ }
64
+ data.a /= 100;
65
+ if (this.disableAlpha) {
66
+ data.a = 1;
67
+ }
68
+ this.onChange.emit({
69
+ data: {
70
+ h: this.hsl.h,
71
+ s: this.hsl.s,
72
+ l: this.hsl.l,
73
+ a: Math.round(data.a * 100) / 100,
74
+ source: 'rgb',
75
+ },
76
+ $event,
77
+ });
78
+ }
79
+ else if (data.h || data.s || data.l) {
80
+ this.onChange.emit({
81
+ data: {
82
+ h: data.h || this.hsl.h,
83
+ s: Number((data.s && data.s) || this.hsl.s),
84
+ l: Number((data.l && data.l) || this.hsl.l),
85
+ source: 'hsl',
86
+ },
87
+ $event,
88
+ });
89
+ }
90
+ }
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SketchFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SketchFieldsComponent, selector: "color-sketch-fields", inputs: { hsl: "hsl", rgb: "rgb", hex: "hex", disableAlpha: "disableAlpha" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
93
+ <div class="sketch-fields">
94
+ <div class="sketch-double">
95
+ <color-editable-input
96
+ [style]="{ input: input, label: label }"
97
+ label="hex"
98
+ [value]="hex.replace('#', '')"
99
+ (onChange)="handleChange($event)"
100
+ ></color-editable-input>
101
+ </div>
102
+ <div class="sketch-single">
103
+ <color-editable-input
104
+ [style]="{ input: input, label: label }"
105
+ label="r"
106
+ [value]="rgb.r"
107
+ (onChange)="handleChange($event)"
108
+ [dragLabel]="true"
109
+ [dragMax]="255"
110
+ ></color-editable-input>
111
+ </div>
112
+ <div class="sketch-single">
113
+ <color-editable-input
114
+ [style]="{ input: input, label: label }"
115
+ label="g"
116
+ [value]="rgb.g"
117
+ (onChange)="handleChange($event)"
118
+ [dragLabel]="true"
119
+ [dragMax]="255"
120
+ ></color-editable-input>
121
+ </div>
122
+ <div class="sketch-single">
123
+ <color-editable-input
124
+ [style]="{ input: input, label: label }"
125
+ label="b"
126
+ [value]="rgb.b"
127
+ (onChange)="handleChange($event)"
128
+ [dragLabel]="true"
129
+ [dragMax]="255"
130
+ ></color-editable-input>
131
+ </div>
132
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
133
+ <color-editable-input
134
+ [style]="{ input: input, label: label }"
135
+ label="a"
136
+ [value]="round(rgb.a * 100)"
137
+ (onChange)="handleChange($event)"
138
+ [dragLabel]="true"
139
+ [dragMax]="100"
140
+ ></color-editable-input>
141
+ </div>
142
+ </div>
143
+ `, isInline: true, styles: [".sketch-fields{display:flex;padding-top:4px}.sketch-double{flex:2 1 0%}.sketch-single,.sketch-alpha{flex:1 1 0%;padding-left:6px}:host-context([dir=rtl]) .sketch-single{padding-right:6px;padding-left:0}:host-context([dir=rtl]) .sketch-alpha{padding-right:6px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ }
145
+ export { SketchFieldsComponent };
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SketchFieldsComponent, decorators: [{
147
+ type: Component,
148
+ args: [{ selector: 'color-sketch-fields', template: `
149
+ <div class="sketch-fields">
150
+ <div class="sketch-double">
151
+ <color-editable-input
152
+ [style]="{ input: input, label: label }"
153
+ label="hex"
154
+ [value]="hex.replace('#', '')"
155
+ (onChange)="handleChange($event)"
156
+ ></color-editable-input>
157
+ </div>
158
+ <div class="sketch-single">
159
+ <color-editable-input
160
+ [style]="{ input: input, label: label }"
161
+ label="r"
162
+ [value]="rgb.r"
163
+ (onChange)="handleChange($event)"
164
+ [dragLabel]="true"
165
+ [dragMax]="255"
166
+ ></color-editable-input>
167
+ </div>
168
+ <div class="sketch-single">
169
+ <color-editable-input
170
+ [style]="{ input: input, label: label }"
171
+ label="g"
172
+ [value]="rgb.g"
173
+ (onChange)="handleChange($event)"
174
+ [dragLabel]="true"
175
+ [dragMax]="255"
176
+ ></color-editable-input>
177
+ </div>
178
+ <div class="sketch-single">
179
+ <color-editable-input
180
+ [style]="{ input: input, label: label }"
181
+ label="b"
182
+ [value]="rgb.b"
183
+ (onChange)="handleChange($event)"
184
+ [dragLabel]="true"
185
+ [dragMax]="255"
186
+ ></color-editable-input>
187
+ </div>
188
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
189
+ <color-editable-input
190
+ [style]="{ input: input, label: label }"
191
+ label="a"
192
+ [value]="round(rgb.a * 100)"
193
+ (onChange)="handleChange($event)"
194
+ [dragLabel]="true"
195
+ [dragMax]="100"
196
+ ></color-editable-input>
197
+ </div>
198
+ </div>
199
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".sketch-fields{display:flex;padding-top:4px}.sketch-double{flex:2 1 0%}.sketch-single,.sketch-alpha{flex:1 1 0%;padding-left:6px}:host-context([dir=rtl]) .sketch-single{padding-right:6px;padding-left:0}:host-context([dir=rtl]) .sketch-alpha{padding-right:6px;padding-left:0}\n"] }]
200
+ }], propDecorators: { hsl: [{
201
+ type: Input
202
+ }], rgb: [{
203
+ type: Input
204
+ }], hex: [{
205
+ type: Input
206
+ }], disableAlpha: [{
207
+ type: Input
208
+ }], onChange: [{
209
+ type: Output
210
+ }] } });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NrZXRjaC9za2V0Y2gtZmllbGRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUU1QyxNQXNGYSxxQkFBcUI7SUFDdkIsR0FBRyxDQUFRO0lBQ1gsR0FBRyxDQUFRO0lBQ1gsR0FBRyxDQUFVO0lBQ2IsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUNwQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUM3QyxLQUFLLEdBQTRCO1FBQy9CLEtBQUssRUFBRSxNQUFNO1FBQ2IsT0FBTyxFQUFFLGFBQWE7UUFDdEIsTUFBTSxFQUFFLE1BQU07UUFDZCxTQUFTLEVBQUUsWUFBWTtRQUN2QixTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLFFBQVEsRUFBRSxNQUFNO0tBQ2pCLENBQUM7SUFDRixLQUFLLEdBQTRCO1FBQy9CLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFNBQVMsRUFBRSxRQUFRO1FBQ25CLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLEtBQUssRUFBRSxNQUFNO1FBQ2IsVUFBVSxFQUFFLEtBQUs7UUFDakIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLFlBQVk7S0FDNUIsQ0FBQztJQUVGLEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDRCxZQUFZLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1FBQzNCLElB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LE1BQU07YUFDUCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7dUdBbEZVLHFCQUFxQjsyRkFBckIscUJBQXFCLDRLQXBGdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDs7U0FpQ1UscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBdEZqQyxTQUFTOytCQUNFLHFCQUFxQixZQUNyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbURULG1CQThCZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSzs4QkFHakIsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgaXNWYWxpZEhleCwgSFNMQSwgUkdCQSB9IGZyb20gJ25neC1jb2xvcic7XG5pbXBvcnQgeyBUaW55Q29sb3IgfSBmcm9tICdAY3RybC90aW55Y29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1za2V0Y2gtZmllbGRzJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cInNrZXRjaC1maWVsZHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2tldGNoLWRvdWJsZVwiPlxuICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICBsYWJlbD1cImhleFwiXG4gICAgICAgIFt2YWx1ZV09XCJoZXgucmVwbGFjZSgnIycsICcnKVwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2tldGNoLXNpbmdsZVwiPlxuICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICBsYWJlbD1cInJcIlxuICAgICAgICBbdmFsdWVdPVwicmdiLnJcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZHJhZ0xhYmVsXT1cInRydWVcIlxuICAgICAgICBbZHJhZ01heF09XCIyNTVcIlxuICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1zaW5nbGVcIj5cbiAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgbGFiZWw9XCJnXCJcbiAgICAgICAgW3ZhbHVlXT1cInJnYi5nXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2RyYWdMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgW2RyYWdNYXhdPVwiMjU1XCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtc2luZ2xlXCI+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgIGxhYmVsPVwiYlwiXG4gICAgICAgIFt2YWx1ZV09XCJyZ2IuYlwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkcmFnTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgIFtkcmFnTWF4XT1cIjI1NVwiXG4gICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2tldGNoLWFscGhhXCIgKm5nSWY9XCJkaXNhYmxlQWxwaGEgPT09IGZhbHNlXCI+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgIGxhYmVsPVwiYVwiXG4gICAgICAgIFt2YWx1ZV09XCJyb3VuZChyZ2IuYSAqIDEwMClcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZHJhZ0xhYmVsXT1cInRydWVcIlxuICAgICAgICBbZHJhZ01heF09XCIxMDBcIlxuICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnNrZXRjaC1maWVsZHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgfVxuICAgIC5za2V0Y2gtZG91YmxlIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDI7XG4gICAgICBmbGV4OiAyIDEgMCU7XG4gICAgfVxuICAgIC5za2V0Y2gtc2luZ2xlIHtcbiAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIH1cbiAgICAuc2tldGNoLWFscGhhIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICB9XG4gICAgOmhvc3QtY29udGV4dChbZGlyPXJ0bF0pIC5za2V0Y2gtc2luZ2xlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgOmhvc3QtY29udGV4dChbZGlyPXJ0bF0pIC5za2V0Y2gtYWxwaGEge1xuICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa2V0Y2hGaWVsZHNDb21wb25lbnQge1xuICBASW5wdXQoKSBoc2whOiBIU0xBO1xuICBASW5wdXQoKSByZ2IhOiBSR0JBO1xuICBASW5wdXQoKSBoZXghOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVBbHBoYSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW5wdXQ6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgcGFkZGluZzogJzRweCAxMCUgM3B4JyxcbiAgICBib3JkZXI6ICdub25lJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBib3hTaGFkb3c6ICdpbnNldCAwIDAgMCAxcHggI2NjYycsXG4gICAgZm9udFNpemU6ICcxMXB4JyxcbiAgfTtcbiAgbGFiZWw6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICBmb250U2l6ZTogJzExcHgnLFxuICAgIGNvbG9yOiAnIzIyMicsXG4gICAgcGFkZGluZ1RvcDogJzNweCcsXG4gICAgcGFkZGluZ0JvdHRvbTogJzRweCcsXG4gICAgdGV4dFRyYW5zZm9ybTogJ2NhcGl0YWxpemUnLFxuICB9O1xuXG4gIHJvdW5kKHZhbHVlKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xuICB9XG4gIGhhbmRsZUNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgaWYgKGRhdGEuaGV4KSB7XG4gICAgICBpZiAoaXNWYWxpZEhleChkYXRhLmhleCkpIHtcbiAgICAgICAgY29uc3QgY29sb3IgPSBuZXcgVGlueUNvbG9yKGRhdGEuaGV4KTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBoZXg6IHRoaXMuZGlzYWJsZUFscGhhIHx8IGRhdGEuaGV4Lmxlbmd0aCA8PSA2ID8gY29sb3IudG9IZXgoKSA6IGNvbG9yLnRvSGV4OCgpLFxuICAgICAgICAgICAgc291cmNlOiAnaGV4JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgICRldmVudCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkYXRhLnIgfHwgZGF0YS5nIHx8IGRhdGEuYikge1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHI6IGRhdGEuciB8fCB0aGlzLnJnYi5yLFxuICAgICAgICAgIGc6IGRhdGEuZyB8fCB0aGlzLnJnYi5nLFxuICAgICAgICAgIGI6IGRhdGEuYiB8fCB0aGlzLnJnYi5iLFxuICAgICAgICAgIHNvdXJjZTogJ3JnYicsXG4gICAgICAgIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5hKSB7XG4gICAgICBpZiAoZGF0YS5hIDwgMCkge1xuICAgICAgICBkYXRhLmEgPSAwO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLmEgPiAxMDApIHtcbiAgICAgICAgZGF0YS5hID0gMTAwO1xuICAgICAgfVxuICAgICAgZGF0YS5hIC89IDEwMDtcblxuICAgICAgaWYgKHRoaXMuZGlzYWJsZUFscGhhKSB7XG4gICAgICAgIGRhdGEuYSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBoOiB0aGlzLmhzbC5oLFxuICAgICAgICAgIHM6IHRoaXMuaHNsLnMsXG4gICAgICAgICAgbDogdGhpcy5oc2wubCxcbiAgICAgICAgICBhOiBNYXRoLnJvdW5kKGRhdGEuYSAqIDEwMCkgLyAxMDAsXG4gICAgICAgICAgc291cmNlOiAncmdiJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLmggfHwgZGF0YS5zIHx8IGRhdGEubCkge1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGg6IGRhdGEuaCB8fCB0aGlzLmhzbC5oLFxuICAgICAgICAgIHM6IE51bWJlcigoZGF0YS5zICYmIGRhdGEucykgfHwgdGhpcy5oc2wucyksXG4gICAgICAgICAgbDogTnVtYmVyKChkYXRhLmwgJiYgZGF0YS5sKSB8fCB0aGlzLmhzbC5sKSxcbiAgICAgICAgICBzb3VyY2U6ICdoc2wnLFxuICAgICAgICB9LFxuICAgICAgICAkZXZlbnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,68 @@
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 "ngx-color";
5
+ class SketchPresetColorsComponent {
6
+ colors;
7
+ onClick = new EventEmitter();
8
+ onSwatchHover = new EventEmitter();
9
+ swatchStyle = {
10
+ borderRadius: '3px',
11
+ boxShadow: 'inset 0 0 0 1px rgba(0,0,0,.15)',
12
+ };
13
+ handleClick({ hex, $event }) {
14
+ this.onClick.emit({ hex, $event });
15
+ }
16
+ normalizeValue(val) {
17
+ if (typeof val === 'string') {
18
+ return { color: val };
19
+ }
20
+ return val;
21
+ }
22
+ focusStyle(val) {
23
+ const c = this.normalizeValue(val);
24
+ return {
25
+ boxShadow: `inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ${c.color}`,
26
+ };
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SketchPresetColorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SketchPresetColorsComponent, selector: "color-sketch-preset-colors", inputs: { colors: "colors" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
30
+ <div class="sketch-swatches">
31
+ <div class="sketch-wrap" *ngFor="let c of colors">
32
+ <color-swatch
33
+ [color]="normalizeValue(c).color"
34
+ [style]="swatchStyle"
35
+ [focusStyle]="focusStyle(c)"
36
+ (onClick)="handleClick($event)"
37
+ (onHover)="onSwatchHover.emit($event)"
38
+ class="swatch"
39
+ ></color-swatch>
40
+ </div>
41
+ </div>
42
+ `, isInline: true, styles: [".sketch-swatches{position:relative;display:flex;flex-wrap:wrap;margin:0 -10px;padding:10px 0 0 10px;border-top:1px solid rgb(238,238,238)}.sketch-wrap{width:16px;height:16px;margin:0 10px 10px 0}:host-context([dir=rtl]) .sketch-swatches{padding-right:10px;padding-left:0}:host-context([dir=rtl]) .sketch-wrap{margin-left:10px;margin-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ }
44
+ export { SketchPresetColorsComponent };
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SketchPresetColorsComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'color-sketch-preset-colors', template: `
48
+ <div class="sketch-swatches">
49
+ <div class="sketch-wrap" *ngFor="let c of colors">
50
+ <color-swatch
51
+ [color]="normalizeValue(c).color"
52
+ [style]="swatchStyle"
53
+ [focusStyle]="focusStyle(c)"
54
+ (onClick)="handleClick($event)"
55
+ (onHover)="onSwatchHover.emit($event)"
56
+ class="swatch"
57
+ ></color-swatch>
58
+ </div>
59
+ </div>
60
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".sketch-swatches{position:relative;display:flex;flex-wrap:wrap;margin:0 -10px;padding:10px 0 0 10px;border-top:1px solid rgb(238,238,238)}.sketch-wrap{width:16px;height:16px;margin:0 10px 10px 0}:host-context([dir=rtl]) .sketch-swatches{padding-right:10px;padding-left:0}:host-context([dir=rtl]) .sketch-wrap{margin-left:10px;margin-right:0}\n"] }]
61
+ }], propDecorators: { colors: [{
62
+ type: Input
63
+ }], onClick: [{
64
+ type: Output
65
+ }], onSwatchHover: [{
66
+ type: Output
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLXByZXNldC1jb2xvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9za2V0Y2gvc2tldGNoLXByZXNldC1jb2xvcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7O0FBSXZCLE1BNENhLDJCQUEyQjtJQUM3QixNQUFNLENBQVk7SUFDakIsT0FBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEQsV0FBVyxHQUFHO1FBQ1osWUFBWSxFQUFFLEtBQUs7UUFDbkIsU0FBUyxFQUFFLGlDQUFpQztLQUM3QyxDQUFDO0lBRUYsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRTtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxjQUFjLENBQUMsR0FBbUI7UUFDaEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUN2QjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFtQjtRQUM1QixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxTQUFTLEVBQUUsNENBQTRDLENBQUMsQ0FBQyxLQUFLLEVBQUU7U0FDakUsQ0FBQztJQUNKLENBQUM7dUdBdkJVLDJCQUEyQjsyRkFBM0IsMkJBQTJCLGlLQTFDNUI7Ozs7Ozs7Ozs7Ozs7R0FhVDs7U0E2QlUsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBNUN2QyxTQUFTOytCQUNFLDRCQUE0QixZQUM1Qjs7Ozs7Ozs7Ozs7OztHQWFULG1CQTBCZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSzs4QkFHakIsTUFBTTtzQkFBZCxLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNoYXBlIH0gZnJvbSAnbmd4LWNvbG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc2tldGNoLXByZXNldC1jb2xvcnMnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwic2tldGNoLXN3YXRjaGVzXCI+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC13cmFwXCIgKm5nRm9yPVwibGV0IGMgb2YgY29sb3JzXCI+XG4gICAgICA8Y29sb3Itc3dhdGNoXG4gICAgICAgIFtjb2xvcl09XCJub3JtYWxpemVWYWx1ZShjKS5jb2xvclwiXG4gICAgICAgIFtzdHlsZV09XCJzd2F0Y2hTdHlsZVwiXG4gICAgICAgIFtmb2N1c1N0eWxlXT1cImZvY3VzU3R5bGUoYylcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKG9uSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgICBjbGFzcz1cInN3YXRjaFwiXG4gICAgICA+PC9jb2xvci1zd2F0Y2g+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnNrZXRjaC1zd2F0Y2hlcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwcHggLTEwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDBweCAwcHggMTBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMjM4LCAyMzgsIDIzOCk7XG4gICAgfVxuICAgIC5za2V0Y2gtd3JhcCB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHggMTBweCAwcHg7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLXN3YXRjaGVzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLXdyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNrZXRjaFByZXNldENvbG9yc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNvbG9ycyE6IHN0cmluZ1tdO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBzd2F0Y2hTdHlsZSA9IHtcbiAgICBib3JkZXJSYWRpdXM6ICczcHgnLFxuICAgIGJveFNoYWRvdzogJ2luc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4xNSknLFxuICB9O1xuXG4gIGhhbmRsZUNsaWNrKHsgaGV4LCAkZXZlbnQgfSkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgaGV4LCAkZXZlbnQgfSk7XG4gIH1cbiAgbm9ybWFsaXplVmFsdWUodmFsOiBzdHJpbmcgfCBTaGFwZSkge1xuICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHsgY29sb3I6IHZhbCB9O1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG4gIGZvY3VzU3R5bGUodmFsOiBzdHJpbmcgfCBTaGFwZSkge1xuICAgIGNvbnN0IGMgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJveFNoYWRvdzogYGluc2V0IDAgMCAwIDFweCByZ2JhKDAsMCwwLC4xNSksIDAgMCA0cHggJHtjLmNvbG9yfWAsXG4gICAgfTtcbiAgfVxufVxuIl19