ngx-color 7.3.3 → 8.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 (211) hide show
  1. package/README.md +2 -1
  2. package/alpha.component.d.ts +1 -1
  3. package/checkboard.component.d.ts +1 -1
  4. package/color-wrap.component.d.ts +1 -1
  5. package/coordinates.directive.d.ts +1 -1
  6. package/editable-input.component.d.ts +1 -1
  7. package/esm2020/alpha.component.mjs +13 -61
  8. package/esm2020/checkboard.component.mjs +9 -25
  9. package/esm2020/color-wrap.component.mjs +8 -8
  10. package/esm2020/coordinates.directive.mjs +7 -7
  11. package/esm2020/editable-input.component.mjs +11 -25
  12. package/esm2020/hue.component.mjs +13 -54
  13. package/esm2020/raised.component.mjs +10 -49
  14. package/esm2020/saturation.component.mjs +13 -57
  15. package/esm2020/shade.component.mjs +11 -51
  16. package/esm2020/swatch.component.mjs +13 -28
  17. package/fesm2015/ngx-color.mjs +92 -349
  18. package/fesm2015/ngx-color.mjs.map +1 -1
  19. package/fesm2020/ngx-color.mjs +92 -349
  20. package/fesm2020/ngx-color.mjs.map +1 -1
  21. package/hue.component.d.ts +1 -1
  22. package/{ngx-color.d.ts → index.d.ts} +0 -0
  23. package/package.json +6 -119
  24. package/raised.component.d.ts +1 -1
  25. package/saturation.component.d.ts +1 -1
  26. package/shade.component.d.ts +1 -1
  27. package/swatch.component.d.ts +1 -1
  28. package/alpha/alpha-picker.component.d.ts +0 -28
  29. package/alpha/ngx-color-alpha.d.ts +0 -5
  30. package/alpha/package.json +0 -17
  31. package/alpha/public_api.d.ts +0 -1
  32. package/block/block-swatches.component.d.ts +0 -24
  33. package/block/block.component.d.ts +0 -36
  34. package/block/ngx-color-block.d.ts +0 -5
  35. package/block/package.json +0 -16
  36. package/block/public_api.d.ts +0 -2
  37. package/chrome/chrome-fields.component.d.ts +0 -22
  38. package/chrome/chrome.component.d.ts +0 -25
  39. package/chrome/ngx-color-chrome.d.ts +0 -5
  40. package/chrome/package.json +0 -16
  41. package/chrome/public_api.d.ts +0 -2
  42. package/circle/circle-swatch.component.d.ts +0 -19
  43. package/circle/circle.component.d.ts +0 -32
  44. package/circle/ngx-color-circle.d.ts +0 -5
  45. package/circle/package.json +0 -19
  46. package/circle/public_api.d.ts +0 -2
  47. package/compact/compact-color.component.d.ts +0 -19
  48. package/compact/compact-fields.component.d.ts +0 -32
  49. package/compact/compact.component.d.ts +0 -30
  50. package/compact/ngx-color-compact.d.ts +0 -5
  51. package/compact/package.json +0 -16
  52. package/compact/public_api.d.ts +0 -3
  53. package/esm2020/alpha/alpha-picker.component.mjs +0 -116
  54. package/esm2020/alpha/ngx-color-alpha.mjs +0 -5
  55. package/esm2020/alpha/public_api.mjs +0 -2
  56. package/esm2020/block/block-swatches.component.mjs +0 -74
  57. package/esm2020/block/block.component.mjs +0 -199
  58. package/esm2020/block/ngx-color-block.mjs +0 -5
  59. package/esm2020/block/public_api.mjs +0 -3
  60. package/esm2020/chrome/chrome-fields.component.mjs +0 -356
  61. package/esm2020/chrome/chrome.component.mjs +0 -249
  62. package/esm2020/chrome/ngx-color-chrome.mjs +0 -5
  63. package/esm2020/chrome/public_api.mjs +0 -3
  64. package/esm2020/circle/circle-swatch.component.mjs +0 -85
  65. package/esm2020/circle/circle.component.mjs +0 -148
  66. package/esm2020/circle/ngx-color-circle.mjs +0 -5
  67. package/esm2020/circle/public_api.mjs +0 -3
  68. package/esm2020/compact/compact-color.component.mjs +0 -91
  69. package/esm2020/compact/compact-fields.component.mjs +0 -186
  70. package/esm2020/compact/compact.component.mjs +0 -177
  71. package/esm2020/compact/ngx-color-compact.mjs +0 -5
  72. package/esm2020/compact/public_api.mjs +0 -4
  73. package/esm2020/github/github-swatch.component.mjs +0 -67
  74. package/esm2020/github/github.component.mjs +0 -179
  75. package/esm2020/github/ngx-color-github.mjs +0 -5
  76. package/esm2020/github/public_api.mjs +0 -3
  77. package/esm2020/hue/hue-picker.component.mjs +0 -113
  78. package/esm2020/hue/ngx-color-hue.mjs +0 -5
  79. package/esm2020/hue/public_api.mjs +0 -2
  80. package/esm2020/material/material.component.mjs +0 -211
  81. package/esm2020/material/ngx-color-material.mjs +0 -5
  82. package/esm2020/material/public_api.mjs +0 -2
  83. package/esm2020/photoshop/ngx-color-photoshop.mjs +0 -5
  84. package/esm2020/photoshop/photoshop-button.component.mjs +0 -63
  85. package/esm2020/photoshop/photoshop-fields.component.mjs +0 -241
  86. package/esm2020/photoshop/photoshop-previews.component.mjs +0 -68
  87. package/esm2020/photoshop/photoshop.component.mjs +0 -258
  88. package/esm2020/photoshop/public_api.mjs +0 -5
  89. package/esm2020/shade/ngx-color-shade.mjs +0 -5
  90. package/esm2020/shade/public_api.mjs +0 -2
  91. package/esm2020/shade/shade-picker.component.mjs +0 -105
  92. package/esm2020/sketch/ngx-color-sketch.mjs +0 -5
  93. package/esm2020/sketch/public_api.mjs +0 -4
  94. package/esm2020/sketch/sketch-fields.component.mjs +0 -243
  95. package/esm2020/sketch/sketch-preset-colors.component.mjs +0 -98
  96. package/esm2020/sketch/sketch.component.mjs +0 -283
  97. package/esm2020/slider/ngx-color-slider.mjs +0 -5
  98. package/esm2020/slider/public_api.mjs +0 -4
  99. package/esm2020/slider/slider-swatch.component.mjs +0 -80
  100. package/esm2020/slider/slider-swatches.component.mjs +0 -135
  101. package/esm2020/slider/slider.component.mjs +0 -116
  102. package/esm2020/swatches/ngx-color-swatches.mjs +0 -5
  103. package/esm2020/swatches/public_api.mjs +0 -4
  104. package/esm2020/swatches/swatches-color.component.mjs +0 -123
  105. package/esm2020/swatches/swatches-group.component.mjs +0 -64
  106. package/esm2020/swatches/swatches.component.mjs +0 -258
  107. package/esm2020/twitter/ngx-color-twitter.mjs +0 -5
  108. package/esm2020/twitter/public_api.mjs +0 -2
  109. package/esm2020/twitter/twitter.component.mjs +0 -255
  110. package/fesm2015/ngx-color-alpha.mjs +0 -123
  111. package/fesm2015/ngx-color-alpha.mjs.map +0 -1
  112. package/fesm2015/ngx-color-block.mjs +0 -275
  113. package/fesm2015/ngx-color-block.mjs.map +0 -1
  114. package/fesm2015/ngx-color-chrome.mjs +0 -606
  115. package/fesm2015/ngx-color-chrome.mjs.map +0 -1
  116. package/fesm2015/ngx-color-circle.mjs +0 -237
  117. package/fesm2015/ngx-color-circle.mjs.map +0 -1
  118. package/fesm2015/ngx-color-compact.mjs +0 -451
  119. package/fesm2015/ngx-color-compact.mjs.map +0 -1
  120. package/fesm2015/ngx-color-github.mjs +0 -250
  121. package/fesm2015/ngx-color-github.mjs.map +0 -1
  122. package/fesm2015/ngx-color-hue.mjs +0 -120
  123. package/fesm2015/ngx-color-hue.mjs.map +0 -1
  124. package/fesm2015/ngx-color-material.mjs +0 -218
  125. package/fesm2015/ngx-color-material.mjs.map +0 -1
  126. package/fesm2015/ngx-color-photoshop.mjs +0 -626
  127. package/fesm2015/ngx-color-photoshop.mjs.map +0 -1
  128. package/fesm2015/ngx-color-shade.mjs +0 -112
  129. package/fesm2015/ngx-color-shade.mjs.map +0 -1
  130. package/fesm2015/ngx-color-sketch.mjs +0 -620
  131. package/fesm2015/ngx-color-sketch.mjs.map +0 -1
  132. package/fesm2015/ngx-color-slider.mjs +0 -331
  133. package/fesm2015/ngx-color-slider.mjs.map +0 -1
  134. package/fesm2015/ngx-color-swatches.mjs +0 -441
  135. package/fesm2015/ngx-color-swatches.mjs.map +0 -1
  136. package/fesm2015/ngx-color-twitter.mjs +0 -262
  137. package/fesm2015/ngx-color-twitter.mjs.map +0 -1
  138. package/fesm2020/ngx-color-alpha.mjs +0 -123
  139. package/fesm2020/ngx-color-alpha.mjs.map +0 -1
  140. package/fesm2020/ngx-color-block.mjs +0 -275
  141. package/fesm2020/ngx-color-block.mjs.map +0 -1
  142. package/fesm2020/ngx-color-chrome.mjs +0 -606
  143. package/fesm2020/ngx-color-chrome.mjs.map +0 -1
  144. package/fesm2020/ngx-color-circle.mjs +0 -237
  145. package/fesm2020/ngx-color-circle.mjs.map +0 -1
  146. package/fesm2020/ngx-color-compact.mjs +0 -451
  147. package/fesm2020/ngx-color-compact.mjs.map +0 -1
  148. package/fesm2020/ngx-color-github.mjs +0 -250
  149. package/fesm2020/ngx-color-github.mjs.map +0 -1
  150. package/fesm2020/ngx-color-hue.mjs +0 -120
  151. package/fesm2020/ngx-color-hue.mjs.map +0 -1
  152. package/fesm2020/ngx-color-material.mjs +0 -218
  153. package/fesm2020/ngx-color-material.mjs.map +0 -1
  154. package/fesm2020/ngx-color-photoshop.mjs +0 -626
  155. package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
  156. package/fesm2020/ngx-color-shade.mjs +0 -112
  157. package/fesm2020/ngx-color-shade.mjs.map +0 -1
  158. package/fesm2020/ngx-color-sketch.mjs +0 -620
  159. package/fesm2020/ngx-color-sketch.mjs.map +0 -1
  160. package/fesm2020/ngx-color-slider.mjs +0 -331
  161. package/fesm2020/ngx-color-slider.mjs.map +0 -1
  162. package/fesm2020/ngx-color-swatches.mjs +0 -441
  163. package/fesm2020/ngx-color-swatches.mjs.map +0 -1
  164. package/fesm2020/ngx-color-twitter.mjs +0 -262
  165. package/fesm2020/ngx-color-twitter.mjs.map +0 -1
  166. package/github/github-swatch.component.d.ts +0 -19
  167. package/github/github.component.d.ts +0 -28
  168. package/github/ngx-color-github.d.ts +0 -5
  169. package/github/package.json +0 -16
  170. package/github/public_api.d.ts +0 -2
  171. package/hue/hue-picker.component.d.ts +0 -29
  172. package/hue/ngx-color-hue.d.ts +0 -5
  173. package/hue/package.json +0 -15
  174. package/hue/public_api.d.ts +0 -1
  175. package/material/material.component.d.ts +0 -39
  176. package/material/ngx-color-material.d.ts +0 -5
  177. package/material/package.json +0 -15
  178. package/material/public_api.d.ts +0 -1
  179. package/photoshop/ngx-color-photoshop.d.ts +0 -5
  180. package/photoshop/package.json +0 -15
  181. package/photoshop/photoshop-button.component.d.ts +0 -9
  182. package/photoshop/photoshop-fields.component.d.ts +0 -22
  183. package/photoshop/photoshop-previews.component.d.ts +0 -11
  184. package/photoshop/photoshop.component.d.ts +0 -33
  185. package/photoshop/public_api.d.ts +0 -4
  186. package/shade/ngx-color-shade.d.ts +0 -5
  187. package/shade/package.json +0 -17
  188. package/shade/public_api.d.ts +0 -1
  189. package/shade/shade-picker.component.d.ts +0 -27
  190. package/sketch/ngx-color-sketch.d.ts +0 -5
  191. package/sketch/package.json +0 -15
  192. package/sketch/public_api.d.ts +0 -3
  193. package/sketch/sketch-fields.component.d.ts +0 -23
  194. package/sketch/sketch-preset-colors.component.d.ts +0 -24
  195. package/sketch/sketch.component.d.ts +0 -32
  196. package/slider/ngx-color-slider.d.ts +0 -5
  197. package/slider/package.json +0 -15
  198. package/slider/public_api.d.ts +0 -3
  199. package/slider/slider-swatch.component.d.ts +0 -16
  200. package/slider/slider-swatches.component.d.ts +0 -15
  201. package/slider/slider.component.d.ts +0 -22
  202. package/swatches/ngx-color-swatches.d.ts +0 -5
  203. package/swatches/package.json +0 -18
  204. package/swatches/public_api.d.ts +0 -3
  205. package/swatches/swatches-color.component.d.ts +0 -18
  206. package/swatches/swatches-group.component.d.ts +0 -10
  207. package/swatches/swatches.component.d.ts +0 -29
  208. package/twitter/ngx-color-twitter.d.ts +0 -5
  209. package/twitter/package.json +0 -15
  210. package/twitter/public_api.d.ts +0 -1
  211. package/twitter/twitter.component.d.ts +0 -31
@@ -1,199 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
- import { CheckboardModule, ColorWrap, EditableInputModule, getContrastingColor, isValidHex, SwatchModule, } from 'ngx-color';
4
- import { BlockSwatchesComponent } from './block-swatches.component';
5
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "ngx-color";
8
- import * as i2 from "@angular/common";
9
- export class BlockComponent extends ColorWrap {
10
- constructor() {
11
- super();
12
- /** Pixel value for picker width */
13
- this.width = 170;
14
- /** Color squares to display */
15
- this.colors = [
16
- '#D9E3F0',
17
- '#F47373',
18
- '#697689',
19
- '#37D67A',
20
- '#2CCCE4',
21
- '#555555',
22
- '#dce775',
23
- '#ff8a65',
24
- '#ba68c8',
25
- ];
26
- this.triangle = 'top';
27
- this.input = {
28
- width: '100%',
29
- fontSize: '12px',
30
- color: '#666',
31
- border: '0px',
32
- outline: 'none',
33
- height: '22px',
34
- boxShadow: 'inset 0 0 0 1px #ddd',
35
- borderRadius: '4px',
36
- padding: '0 7px',
37
- boxSizing: 'border-box',
38
- };
39
- this.wrap = {
40
- position: 'relative',
41
- width: '100%',
42
- };
43
- this.disableAlpha = true;
44
- }
45
- handleValueChange({ data, $event }) {
46
- this.handleBlockChange({ hex: data, $event });
47
- }
48
- getContrastingColor(hex) {
49
- return getContrastingColor(hex);
50
- }
51
- handleBlockChange({ hex, $event }) {
52
- if (isValidHex(hex)) {
53
- // this.hex = hex;
54
- this.handleChange({
55
- hex,
56
- source: 'hex',
57
- }, $event);
58
- }
59
- }
60
- }
61
- BlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- BlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: BlockComponent, selector: "color-block", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
63
- {
64
- provide: NG_VALUE_ACCESSOR,
65
- useExisting: forwardRef(() => BlockComponent),
66
- multi: true,
67
- },
68
- {
69
- provide: ColorWrap,
70
- useExisting: forwardRef(() => BlockComponent),
71
- },
72
- ], usesInheritance: true, ngImport: i0, template: `
73
- <div class="block-card block-picker {{ className }}">
74
- <div class="block-triangle" *ngIf="triangle !== 'hide'"
75
- [style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
76
- ></div>
77
-
78
- <div class="block-head" [style.background]="hex">
79
- <color-checkboard *ngIf="hex === 'transparent'"
80
- borderRadius="6px 6px 0 0"
81
- ></color-checkboard>
82
- <div class="block-label" [style.color]="getContrastingColor(hex)">
83
- {{ hex }}
84
- </div>
85
- </div>
86
-
87
- <div class="block-body">
88
- <color-block-swatches [colors]="colors"
89
- (onClick)="handleBlockChange($event)"
90
- (onSwatchHover)="onSwatchHover.emit($event)"
91
- ></color-block-swatches>
92
- <color-editable-input [value]="hex"
93
- (onChange)="handleValueChange($event)"
94
- [style]="{input: input, wrap: wrap}"
95
- ></color-editable-input>
96
- </div>
97
- </div>
98
- `, isInline: true, styles: [".block-card{background:#fff;border-radius:6px;box-shadow:0 1px #0000001a;position:relative}.block-head{align-items:center;border-radius:6px 6px 0 0;display:flex;height:110px;justify-content:center;position:relative}.block-body{padding:10px}.block-label{font-size:18px;position:relative}.block-triangle{border-style:solid;border-width:0 10px 10px 10px;height:0;left:50%;margin-left:-10px;position:absolute;top:-10px;width:0}\n"], components: [{ type: i0.forwardRef(function () { return i1.CheckboardComponent; }), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { type: i0.forwardRef(function () { return BlockSwatchesComponent; }), selector: "color-block-swatches", inputs: ["colors"], outputs: ["onClick", "onSwatchHover"] }, { type: i0.forwardRef(function () { return i1.EditableInputComponent; }), selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], directives: [{ type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: BlockComponent, decorators: [{
100
- type: Component,
101
- args: [{
102
- selector: 'color-block',
103
- template: `
104
- <div class="block-card block-picker {{ className }}">
105
- <div class="block-triangle" *ngIf="triangle !== 'hide'"
106
- [style.border-color]="'transparent transparent ' + this.hex + ' transparent'"
107
- ></div>
108
-
109
- <div class="block-head" [style.background]="hex">
110
- <color-checkboard *ngIf="hex === 'transparent'"
111
- borderRadius="6px 6px 0 0"
112
- ></color-checkboard>
113
- <div class="block-label" [style.color]="getContrastingColor(hex)">
114
- {{ hex }}
115
- </div>
116
- </div>
117
-
118
- <div class="block-body">
119
- <color-block-swatches [colors]="colors"
120
- (onClick)="handleBlockChange($event)"
121
- (onSwatchHover)="onSwatchHover.emit($event)"
122
- ></color-block-swatches>
123
- <color-editable-input [value]="hex"
124
- (onChange)="handleValueChange($event)"
125
- [style]="{input: input, wrap: wrap}"
126
- ></color-editable-input>
127
- </div>
128
- </div>
129
- `,
130
- styles: [
131
- `
132
- .block-card {
133
- background: #fff;
134
- border-radius: 6px;
135
- box-shadow: 0 1px rgba(0, 0, 0, .1);
136
- position: relative;
137
- }
138
- .block-head {
139
- align-items: center;
140
- border-radius: 6px 6px 0 0;
141
- display: flex;
142
- height: 110px;
143
- justify-content: center;
144
- position: relative;
145
- }
146
- .block-body {
147
- padding: 10px;
148
- }
149
- .block-label {
150
- font-size: 18px;
151
- position: relative;
152
- }
153
- .block-triangle {
154
- border-style: solid;
155
- border-width: 0 10px 10px 10px;
156
- height: 0;
157
- left: 50%;
158
- margin-left: -10px;
159
- position: absolute;
160
- top: -10px;
161
- width: 0;
162
- }
163
- `,
164
- ],
165
- preserveWhitespaces: false,
166
- changeDetection: ChangeDetectionStrategy.OnPush,
167
- providers: [
168
- {
169
- provide: NG_VALUE_ACCESSOR,
170
- useExisting: forwardRef(() => BlockComponent),
171
- multi: true,
172
- },
173
- {
174
- provide: ColorWrap,
175
- useExisting: forwardRef(() => BlockComponent),
176
- },
177
- ]
178
- }]
179
- }], ctorParameters: function () { return []; }, propDecorators: { width: [{
180
- type: Input
181
- }], colors: [{
182
- type: Input
183
- }], triangle: [{
184
- type: Input
185
- }] } });
186
- export class ColorBlockModule {
187
- }
188
- ColorBlockModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
189
- ColorBlockModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, declarations: [BlockComponent, BlockSwatchesComponent], imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule], exports: [BlockComponent, BlockSwatchesComponent] });
190
- ColorBlockModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, imports: [[CommonModule, CheckboardModule, SwatchModule, EditableInputModule]] });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ColorBlockModule, decorators: [{
192
- type: NgModule,
193
- args: [{
194
- declarations: [BlockComponent, BlockSwatchesComponent],
195
- exports: [BlockComponent, BlockSwatchesComponent],
196
- imports: [CommonModule, CheckboardModule, SwatchModule, EditableInputModule],
197
- }]
198
- }] });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ibG9jay9ibG9jay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0ZuRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFNBQVM7SUFrQzNDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFsQ1YsbUNBQW1DO1FBQzFCLFVBQUssR0FBb0IsR0FBRyxDQUFDO1FBQ3RDLCtCQUErQjtRQUN0QixXQUFNLEdBQUc7WUFDaEIsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1YsQ0FBQztRQUNPLGFBQVEsR0FBbUIsS0FBSyxDQUFDO1FBQzFDLFVBQUssR0FBNEI7WUFDL0IsS0FBSyxFQUFFLE1BQU07WUFDYixRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFLE1BQU07WUFDZixNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxzQkFBc0I7WUFDakMsWUFBWSxFQUFFLEtBQUs7WUFDbkIsT0FBTyxFQUFFLE9BQU87WUFDaEIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztRQUNGLFNBQUksR0FBNEI7WUFDOUIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsS0FBSyxFQUFFLE1BQU07U0FDZCxDQUFDO1FBQ0YsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFJcEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELG1CQUFtQixDQUFDLEdBQUc7UUFDckIsT0FBTyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1FBQy9CLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLGtCQUFrQjtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUNmO2dCQUNFLEdBQUc7Z0JBQ0gsTUFBTSxFQUFFLEtBQUs7YUFDZCxFQUNELE1BQU0sQ0FDUCxDQUFDO1NBQ0g7SUFDSCxDQUFDOzsyR0F2RFUsY0FBYzsrRkFBZCxjQUFjLDBHQVpkO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQzdDLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO1NBQzlDO0tBQ0YsaURBMUVTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVCx3cUJBNkc4QixzQkFBc0I7MkZBM0QxQyxjQUFjO2tCQTlFMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDtvQkFDRCxNQUFNLEVBQUU7d0JBQ047Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NEO3FCQUNBO29CQUNELG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDOzRCQUM3QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsU0FBUzs0QkFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3lCQUM5QztxQkFDRjtpQkFDRjswRUFHVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQVdHLFFBQVE7c0JBQWhCLEtBQUs7O0FBZ0RSLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkEvRGhCLGNBQWMsRUEyRE0sc0JBQXNCLGFBRTNDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLGFBN0RoRSxjQUFjLEVBNERDLHNCQUFzQjs4R0FHckMsZ0JBQWdCLFlBRmxCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzsyRkFFakUsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixDQUFDO2lCQUM3RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQ2hlY2tib2FyZE1vZHVsZSxcbiAgQ29sb3JXcmFwLFxuICBFZGl0YWJsZUlucHV0TW9kdWxlLFxuICBnZXRDb250cmFzdGluZ0NvbG9yLFxuICBpc1ZhbGlkSGV4LFxuICBTd2F0Y2hNb2R1bGUsXG59IGZyb20gJ25neC1jb2xvcic7XG5pbXBvcnQgeyBCbG9ja1N3YXRjaGVzQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9jay1zd2F0Y2hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLWJsb2NrJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cImJsb2NrLWNhcmQgYmxvY2stcGlja2VyIHt7IGNsYXNzTmFtZSB9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJibG9jay10cmlhbmdsZVwiICpuZ0lmPVwidHJpYW5nbGUgIT09ICdoaWRlJ1wiXG4gICAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cIid0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAnICsgdGhpcy5oZXggKyAnIHRyYW5zcGFyZW50J1wiXG4gICAgPjwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImJsb2NrLWhlYWRcIiBbc3R5bGUuYmFja2dyb3VuZF09XCJoZXhcIj5cbiAgICAgIDxjb2xvci1jaGVja2JvYXJkICpuZ0lmPVwiaGV4ID09PSAndHJhbnNwYXJlbnQnXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiNnB4IDZweCAwIDBcIlxuICAgICAgPjwvY29sb3ItY2hlY2tib2FyZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJibG9jay1sYWJlbFwiIFtzdHlsZS5jb2xvcl09XCJnZXRDb250cmFzdGluZ0NvbG9yKGhleClcIj5cbiAgICAgICAge3sgaGV4IH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJibG9jay1ib2R5XCI+XG4gICAgICA8Y29sb3ItYmxvY2stc3dhdGNoZXMgW2NvbG9yc109XCJjb2xvcnNcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVCbG9ja0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU3dhdGNoSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgPjwvY29sb3ItYmxvY2stc3dhdGNoZXM+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXQgW3ZhbHVlXT1cImhleFwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3N0eWxlXT1cIntpbnB1dDogaW5wdXQsIHdyYXA6IHdyYXB9XCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5ibG9jay1jYXJkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmJsb2NrLWhlYWQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmJsb2NrLWJvZHkge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gICAgLmJsb2NrLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmJsb2NrLXRyaWFuZ2xlIHtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICBgLFxuICBdLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmxvY2tDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCbG9ja0NvbXBvbmVudCksXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCbG9ja0NvbXBvbmVudCBleHRlbmRzIENvbG9yV3JhcCB7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIHdpZHRoICovXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAxNzA7XG4gIC8qKiBDb2xvciBzcXVhcmVzIHRvIGRpc3BsYXkgKi9cbiAgQElucHV0KCkgY29sb3JzID0gW1xuICAgICcjRDlFM0YwJyxcbiAgICAnI0Y0NzM3MycsXG4gICAgJyM2OTc2ODknLFxuICAgICcjMzdENjdBJyxcbiAgICAnIzJDQ0NFNCcsXG4gICAgJyM1NTU1NTUnLFxuICAgICcjZGNlNzc1JyxcbiAgICAnI2ZmOGE2NScsXG4gICAgJyNiYTY4YzgnLFxuICBdO1xuICBASW5wdXQoKSB0cmlhbmdsZTogJ3RvcCcgfCAnaGlkZScgPSAndG9wJztcbiAgaW5wdXQ6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICBjb2xvcjogJyM2NjYnLFxuICAgIGJvcmRlcjogJzBweCcsXG4gICAgb3V0bGluZTogJ25vbmUnLFxuICAgIGhlaWdodDogJzIycHgnLFxuICAgIGJveFNoYWRvdzogJ2luc2V0IDAgMCAwIDFweCAjZGRkJyxcbiAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgIHBhZGRpbmc6ICcwIDdweCcsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gIH07XG4gIHdyYXA6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gIH07XG4gIGRpc2FibGVBbHBoYSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICB0aGlzLmhhbmRsZUJsb2NrQ2hhbmdlKHsgaGV4OiBkYXRhLCAkZXZlbnQgfSk7XG4gIH1cbiAgZ2V0Q29udHJhc3RpbmdDb2xvcihoZXgpIHtcbiAgICByZXR1cm4gZ2V0Q29udHJhc3RpbmdDb2xvcihoZXgpO1xuICB9XG4gIGhhbmRsZUJsb2NrQ2hhbmdlKHsgaGV4LCAkZXZlbnQgfSkge1xuICAgIGlmIChpc1ZhbGlkSGV4KGhleCkpIHtcbiAgICAgIC8vIHRoaXMuaGV4ID0gaGV4O1xuICAgICAgdGhpcy5oYW5kbGVDaGFuZ2UoXG4gICAgICAgIHtcbiAgICAgICAgICBoZXgsXG4gICAgICAgICAgc291cmNlOiAnaGV4JyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQmxvY2tDb21wb25lbnQsIEJsb2NrU3dhdGNoZXNDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQmxvY2tDb21wb25lbnQsIEJsb2NrU3dhdGNoZXNDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDaGVja2JvYXJkTW9kdWxlLCBTd2F0Y2hNb2R1bGUsIEVkaXRhYmxlSW5wdXRNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvckJsb2NrTW9kdWxlIHt9XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLWJsb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ibG9jay9uZ3gtY29sb3ItYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export { BlockSwatchesComponent } from './block-swatches.component';
2
- export { BlockComponent, ColorBlockModule } from './block.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYmxvY2svcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCbG9ja1N3YXRjaGVzQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9jay1zd2F0Y2hlcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgQmxvY2tDb21wb25lbnQsIENvbG9yQmxvY2tNb2R1bGUgfSBmcm9tICcuL2Jsb2NrLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,356 +0,0 @@
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 "ngx-color";
6
- import * as i2 from "@angular/common";
7
- export class ChromeFieldsComponent {
8
- constructor() {
9
- this.onChange = new EventEmitter();
10
- this.view = '';
11
- this.input = {
12
- fontSize: '11px',
13
- color: '#333',
14
- width: '100%',
15
- borderRadius: '2px',
16
- border: 'none',
17
- boxShadow: 'inset 0 0 0 1px #dadada',
18
- height: '21px',
19
- 'text-align': 'center',
20
- };
21
- this.label = {
22
- 'text-transform': 'uppercase',
23
- fontSize: '11px',
24
- 'line-height': '11px',
25
- color: '#969696',
26
- 'text-align': 'center',
27
- display: 'block',
28
- marginTop: '12px',
29
- };
30
- }
31
- ngOnInit() {
32
- if (this.hsl.a === 1 && this.view !== 'hex') {
33
- this.view = 'hex';
34
- }
35
- else if (this.view !== 'rgb' && this.view !== 'hsl') {
36
- this.view = 'rgb';
37
- }
38
- }
39
- toggleViews() {
40
- if (this.view === 'hex') {
41
- this.view = 'rgb';
42
- }
43
- else if (this.view === 'rgb') {
44
- this.view = 'hsl';
45
- }
46
- else if (this.view === 'hsl') {
47
- if (this.hsl.a === 1) {
48
- this.view = 'hex';
49
- }
50
- else {
51
- this.view = 'rgb';
52
- }
53
- }
54
- }
55
- round(value) {
56
- return Math.round(value);
57
- }
58
- handleChange({ data, $event }) {
59
- if (data.hex) {
60
- if (isValidHex(data.hex)) {
61
- const color = new TinyColor(data.hex);
62
- this.onChange.emit({
63
- data: {
64
- hex: this.disableAlpha ? color.toHex() : color.toHex8(),
65
- source: 'hex',
66
- },
67
- $event,
68
- });
69
- }
70
- }
71
- else if (data.r || data.g || data.b) {
72
- this.onChange.emit({
73
- data: {
74
- r: data.r || this.rgb.r,
75
- g: data.g || this.rgb.g,
76
- b: data.b || this.rgb.b,
77
- source: 'rgb',
78
- },
79
- $event,
80
- });
81
- }
82
- else if (data.a) {
83
- if (data.a < 0) {
84
- data.a = 0;
85
- }
86
- else if (data.a > 1) {
87
- data.a = 1;
88
- }
89
- if (this.disableAlpha) {
90
- data.a = 1;
91
- }
92
- this.onChange.emit({
93
- data: {
94
- h: this.hsl.h,
95
- s: this.hsl.s,
96
- l: this.hsl.l,
97
- a: Math.round(data.a * 100) / 100,
98
- source: 'rgb',
99
- },
100
- $event,
101
- });
102
- }
103
- else if (data.h || data.s || data.l) {
104
- const s = data.s && data.s.replace('%', '');
105
- const l = data.l && data.l.replace('%', '');
106
- this.onChange.emit({
107
- data: {
108
- h: data.h || this.hsl.h,
109
- s: Number(s || this.hsl.s),
110
- l: Number(l || this.hsl.l),
111
- source: 'hsl',
112
- },
113
- $event,
114
- });
115
- }
116
- }
117
- }
118
- ChromeFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ChromeFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
- ChromeFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: ChromeFieldsComponent, selector: "color-chrome-fields", inputs: { disableAlpha: "disableAlpha", hsl: "hsl", rgb: "rgb", hex: "hex" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
120
- <div class="chrome-wrap">
121
- <div class="chrome-fields">
122
- <ng-template [ngIf]="view === 'hex'">
123
- <div class="chrome-field">
124
- <color-editable-input
125
- [style]="{ input: input, label: label }"
126
- label="hex" [value]="hex"
127
- (onChange)="handleChange($event)"
128
- ></color-editable-input>
129
- </div>
130
- </ng-template>
131
- <ng-template [ngIf]="view === 'rgb'">
132
- <div class="chrome-field">
133
- <color-editable-input
134
- [style]="{ input: input, label: label }"
135
- label="r" [value]="rgb.r"
136
- (onChange)="handleChange($event)"
137
- ></color-editable-input>
138
- </div>
139
- <div class="chrome-field">
140
- <color-editable-input
141
- [style]="{ input: input, label: label }"
142
- label="g" [value]="rgb.g"
143
- (onChange)="handleChange($event)"
144
- ></color-editable-input>
145
- </div>
146
- <div class="chrome-field">
147
- <color-editable-input
148
- [style]="{ input: input, label: label }"
149
- label="b" [value]="rgb.b"
150
- (onChange)="handleChange($event)"
151
- ></color-editable-input>
152
- </div>
153
- <div class="chrome-field">
154
- <color-editable-input *ngIf="!disableAlpha"
155
- [style]="{ input: input, label: label }"
156
- label="a" [value]="rgb.a"
157
- [arrowOffset]="0.01"
158
- (onChange)="handleChange($event)"
159
- ></color-editable-input>
160
- </div>
161
- </ng-template>
162
- <ng-template [ngIf]="view === 'hsl'">
163
- <div class="chrome-field">
164
- <color-editable-input
165
- [style]="{ input: input, label: label }"
166
- label="h"
167
- [value]="round(hsl.h)"
168
- (onChange)="handleChange($event)"
169
- ></color-editable-input>
170
- </div>
171
- <div class="chrome-field">
172
- <color-editable-input
173
- [style]="{ input: input, label: label }"
174
- label="s" [value]="round(hsl.s * 100) + '%'"
175
- (onChange)="handleChange($event)"
176
- ></color-editable-input>
177
- </div>
178
- <div class="chrome-field">
179
- <color-editable-input
180
- [style]="{ input: input, label: label }"
181
- label="l" [value]="round(hsl.l * 100) + '%'"
182
- (onChange)="handleChange($event)"
183
- ></color-editable-input>
184
- </div>
185
- <div class="chrome-field">
186
- <color-editable-input *ngIf="!disableAlpha"
187
- [style]="{ input: input, label: label }"
188
- label="a" [value]="hsl.a"
189
- [arrowOffset]="0.01"
190
- (onChange)="handleChange($event)"
191
- ></color-editable-input>
192
- </div>
193
- </ng-template>
194
- </div>
195
-
196
- <div class="chrome-toggle">
197
- <div class="chrome-icon" (click)="toggleViews()" #icon>
198
- <svg class="chrome-toggle-svg" viewBox="0 0 24 24">
199
- <path #iconUp fill="#333"
200
- d="M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"
201
- />
202
- <path #iconDown fill="#333"
203
- d="M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z"
204
- />
205
- </svg>
206
- </div>
207
- </div>
208
- </div>
209
- `, isInline: true, styles: [".chrome-wrap{padding-top:16px;display:flex}.chrome-fields{flex:1;display:flex;margin-left:-6px}.chrome-field{padding-left:6px;width:100%}.chrome-toggle{width:32px;text-align:right;position:relative}.chrome-icon{margin-right:-4px;margin-top:12px;cursor:pointer;position:relative}.chrome-toggle-svg{width:24px;height:24px;border:1px transparent solid;border-radius:5px}.chrome-toggle-svg:hover{background:#eee}\n"], components: [{ type: i1.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ChromeFieldsComponent, decorators: [{
211
- type: Component,
212
- args: [{
213
- selector: 'color-chrome-fields',
214
- template: `
215
- <div class="chrome-wrap">
216
- <div class="chrome-fields">
217
- <ng-template [ngIf]="view === 'hex'">
218
- <div class="chrome-field">
219
- <color-editable-input
220
- [style]="{ input: input, label: label }"
221
- label="hex" [value]="hex"
222
- (onChange)="handleChange($event)"
223
- ></color-editable-input>
224
- </div>
225
- </ng-template>
226
- <ng-template [ngIf]="view === 'rgb'">
227
- <div class="chrome-field">
228
- <color-editable-input
229
- [style]="{ input: input, label: label }"
230
- label="r" [value]="rgb.r"
231
- (onChange)="handleChange($event)"
232
- ></color-editable-input>
233
- </div>
234
- <div class="chrome-field">
235
- <color-editable-input
236
- [style]="{ input: input, label: label }"
237
- label="g" [value]="rgb.g"
238
- (onChange)="handleChange($event)"
239
- ></color-editable-input>
240
- </div>
241
- <div class="chrome-field">
242
- <color-editable-input
243
- [style]="{ input: input, label: label }"
244
- label="b" [value]="rgb.b"
245
- (onChange)="handleChange($event)"
246
- ></color-editable-input>
247
- </div>
248
- <div class="chrome-field">
249
- <color-editable-input *ngIf="!disableAlpha"
250
- [style]="{ input: input, label: label }"
251
- label="a" [value]="rgb.a"
252
- [arrowOffset]="0.01"
253
- (onChange)="handleChange($event)"
254
- ></color-editable-input>
255
- </div>
256
- </ng-template>
257
- <ng-template [ngIf]="view === 'hsl'">
258
- <div class="chrome-field">
259
- <color-editable-input
260
- [style]="{ input: input, label: label }"
261
- label="h"
262
- [value]="round(hsl.h)"
263
- (onChange)="handleChange($event)"
264
- ></color-editable-input>
265
- </div>
266
- <div class="chrome-field">
267
- <color-editable-input
268
- [style]="{ input: input, label: label }"
269
- label="s" [value]="round(hsl.s * 100) + '%'"
270
- (onChange)="handleChange($event)"
271
- ></color-editable-input>
272
- </div>
273
- <div class="chrome-field">
274
- <color-editable-input
275
- [style]="{ input: input, label: label }"
276
- label="l" [value]="round(hsl.l * 100) + '%'"
277
- (onChange)="handleChange($event)"
278
- ></color-editable-input>
279
- </div>
280
- <div class="chrome-field">
281
- <color-editable-input *ngIf="!disableAlpha"
282
- [style]="{ input: input, label: label }"
283
- label="a" [value]="hsl.a"
284
- [arrowOffset]="0.01"
285
- (onChange)="handleChange($event)"
286
- ></color-editable-input>
287
- </div>
288
- </ng-template>
289
- </div>
290
-
291
- <div class="chrome-toggle">
292
- <div class="chrome-icon" (click)="toggleViews()" #icon>
293
- <svg class="chrome-toggle-svg" viewBox="0 0 24 24">
294
- <path #iconUp fill="#333"
295
- d="M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"
296
- />
297
- <path #iconDown fill="#333"
298
- d="M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z"
299
- />
300
- </svg>
301
- </div>
302
- </div>
303
- </div>
304
- `,
305
- styles: [
306
- `
307
- .chrome-wrap {
308
- padding-top: 16px;
309
- display: flex;
310
- }
311
- .chrome-fields {
312
- flex: 1;
313
- display: flex;
314
- margin-left: -6px;
315
- }
316
- .chrome-field {
317
- padding-left: 6px;
318
- width: 100%;
319
- }
320
- .chrome-toggle {
321
- width: 32px;
322
- text-align: right;
323
- position: relative;
324
- }
325
- .chrome-icon {
326
- margin-right: -4px;
327
- margin-top: 12px;
328
- cursor: pointer;
329
- position: relative;
330
- }
331
- .chrome-toggle-svg {
332
- width: 24px;
333
- height: 24px;
334
- border: 1px transparent solid;
335
- border-radius: 5px;
336
- }
337
- .chrome-toggle-svg:hover {
338
- background: #eee;
339
- }
340
- `,
341
- ],
342
- changeDetection: ChangeDetectionStrategy.OnPush,
343
- preserveWhitespaces: false,
344
- }]
345
- }], propDecorators: { disableAlpha: [{
346
- type: Input
347
- }], hsl: [{
348
- type: Input
349
- }], rgb: [{
350
- type: Input
351
- }], hex: [{
352
- type: Input
353
- }], onChange: [{
354
- type: Output
355
- }] } });
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyb21lLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2Nocm9tZS9jaHJvbWUtZmllbGRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQXVJNUMsTUFBTSxPQUFPLHFCQUFxQjtJQXJJbEM7UUEwSVksYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVBQUssR0FBMkI7WUFDOUIsUUFBUSxFQUFFLE1BQU07WUFDaEIsS0FBSyxFQUFFLE1BQU07WUFDYixLQUFLLEVBQUUsTUFBTTtZQUNiLFlBQVksRUFBRSxLQUFLO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLHlCQUF5QjtZQUNwQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFlBQVksRUFBRSxRQUFRO1NBQ3ZCLENBQUM7UUFDRixVQUFLLEdBQTJCO1lBQzlCLGdCQUFnQixFQUFFLFdBQVc7WUFDN0IsUUFBUSxFQUFFLE1BQU07WUFDaEIsYUFBYSxFQUFFLE1BQU07WUFDckIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsU0FBUyxFQUFFLE1BQU07U0FDbEIsQ0FBQztLQWtGSDtJQWhGQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDM0MsSUFBSSxDQUFDLElB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QjtvQkFDL0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRlQ7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBa0NDO3FCQUNGO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxtQkFBbUIsRUFBRSxLQUFLO2lCQUMzQjs4QkFFVSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGlzVmFsaWRIZXgsIEhTTEEsIFJHQkEgfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3ItY2hyb21lLWZpZWxkcycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNocm9tZS13cmFwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWZpZWxkc1wiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwidmlldyA9PT0gJ2hleCdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWZpZWxkXCI+XG4gICAgICAgICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiaGV4XCIgW3ZhbHVlXT1cImhleFwiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInZpZXcgPT09ICdyZ2InXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cInJcIiBbdmFsdWVdPVwicmdiLnJcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cImdcIiBbdmFsdWVdPVwicmdiLmdcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cImJcIiBbdmFsdWVdPVwicmdiLmJcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0ICpuZ0lmPVwiIWRpc2FibGVBbHBoYVwiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cImFcIiBbdmFsdWVdPVwicmdiLmFcIlxuICAgICAgICAgICAgICBbYXJyb3dPZmZzZXRdPVwiMC4wMVwiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInZpZXcgPT09ICdoc2wnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cImhcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwicm91bmQoaHNsLmgpXCJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaHJvbWUtZmllbGRcIj5cbiAgICAgICAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJzXCIgW3ZhbHVlXT1cInJvdW5kKGhzbC5zICogMTAwKSArICclJ1wiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWZpZWxkXCI+XG4gICAgICAgICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgICAgICAgIGxhYmVsPVwibFwiIFt2YWx1ZV09XCJyb3VuZChoc2wubCAqIDEwMCkgKyAnJSdcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1maWVsZFwiPlxuICAgICAgICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0ICpuZ0lmPVwiIWRpc2FibGVBbHBoYVwiXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICAgICAgICBsYWJlbD1cImFcIiBbdmFsdWVdPVwiaHNsLmFcIlxuICAgICAgICAgICAgICBbYXJyb3dPZmZzZXRdPVwiMC4wMVwiXG4gICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLXRvZ2dsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWljb25cIiAoY2xpY2spPVwidG9nZ2xlVmlld3MoKVwiICNpY29uPlxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJjaHJvbWUtdG9nZ2xlLXN2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICAgICAgICAgIDxwYXRoICNpY29uVXAgZmlsbD1cIiMzMzNcIlxuICAgICAgICAgICAgICBkPVwiTTEyLDUuODNMMTUuMTcsOUwxNi41OCw3LjU5TDEyLDNMNy40MSw3LjU5TDguODMsOUwxMiw1LjgzWlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHBhdGggI2ljb25Eb3duIGZpbGw9XCIjMzMzXCJcbiAgICAgICAgICAgICAgZD1cIk0xMiwxOC4xN0w4LjgzLDE1TDcuNDIsMTYuNDFMMTIsMjFMMTYuNTksMTYuNDFMMTUuMTcsMTVaXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5jaHJvbWUtd3JhcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgLmNocm9tZS1maWVsZHMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtZmllbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY2hyb21lLXRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLmNocm9tZS1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtdG9nZ2xlLXN2ZyB7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB9XG4gICAgICAuY2hyb21lLXRvZ2dsZS1zdmc6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hyb21lRmllbGRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGlzYWJsZUFscGhhITogYm9vbGVhbjtcbiAgQElucHV0KCkgaHNsITogSFNMQTtcbiAgQElucHV0KCkgcmdiITogUkdCQTtcbiAgQElucHV0KCkgaGV4ITogc3RyaW5nO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgdmlldyA9ICcnO1xuICBpbnB1dDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBmb250U2l6ZTogJzExcHgnLFxuICAgIGNvbG9yOiAnIzMzMycsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBib3JkZXJSYWRpdXM6ICcycHgnLFxuICAgIGJvcmRlcjogJ25vbmUnLFxuICAgIGJveFNoYWRvdzogJ2luc2V0IDAgMCAwIDFweCAjZGFkYWRhJyxcbiAgICBoZWlnaHQ6ICcyMXB4JyxcbiAgICAndGV4dC1hbGlnbic6ICdjZW50ZXInLFxuICB9O1xuICBsYWJlbDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAndGV4dC10cmFuc2Zvcm0nOiAndXBwZXJjYXNlJyxcbiAgICBmb250U2l6ZTogJzExcHgnLFxuICAgICdsaW5lLWhlaWdodCc6ICcxMXB4JyxcbiAgICBjb2xvcjogJyM5Njk2OTYnLFxuICAgICd0ZXh0LWFsaWduJzogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICBtYXJnaW5Ub3A6ICcxMnB4JyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5oc2wuYSA9PT0gMSAmJiB0aGlzLnZpZXcgIT09ICdoZXgnKSB7XG4gICAgICB0aGlzLnZpZXcgPSAnaGV4JztcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyAhPT0gJ3JnYicgJiYgdGhpcy52aWV3ICE9PSAnaHNsJykge1xuICAgICAgdGhpcy52aWV3ID0gJ3JnYic7XG4gICAgfVxuICB9XG4gIHRvZ2dsZVZpZXdzKCkge1xuICAgIGlmICh0aGlzLnZpZXcgPT09ICdoZXgnKSB7XG4gICAgICB0aGlzLnZpZXcgPSAncmdiJztcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlldyA9PT0gJ3JnYicpIHtcbiAgICAgIHRoaXMudmlldyA9ICdoc2wnO1xuICAgIH0gZWxzZSBpZiAodGhpcy52aWV3ID09PSAnaHNsJykge1xuICAgICAgaWYgKHRoaXMuaHNsLmEgPT09IDEpIHtcbiAgICAgICAgdGhpcy52aWV3ID0gJ2hleCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZpZXcgPSAncmdiJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcm91bmQodmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSk7XG4gIH1cbiAgaGFuZGxlQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICBpZiAoZGF0YS5oZXgpIHtcbiAgICAgIGlmIChpc1ZhbGlkSGV4KGRhdGEuaGV4KSkge1xuICAgICAgICBjb25zdCBjb2xvciA9IG5ldyBUaW55Q29sb3IoZGF0YS5oZXgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGhleDogdGhpcy5kaXNhYmxlQWxwaGEgPyBjb2xvci50b0hleCgpIDogY29sb3IudG9IZXg4KCksXG4gICAgICAgICAgICBzb3VyY2U6ICdoZXgnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRhdGEuciB8fCBkYXRhLmcgfHwgZGF0YS5iKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgcjogZGF0YS5yIHx8IHRoaXMucmdiLnIsXG4gICAgICAgICAgZzogZGF0YS5nIHx8IHRoaXMucmdiLmcsXG4gICAgICAgICAgYjogZGF0YS5iIHx8IHRoaXMucmdiLmIsXG4gICAgICAgICAgc291cmNlOiAncmdiJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLmEpIHtcbiAgICAgIGlmIChkYXRhLmEgPCAwKSB7XG4gICAgICAgIGRhdGEuYSA9IDA7XG4gICAgICB9IGVsc2UgaWYgKGRhdGEuYSA+IDEpIHtcbiAgICAgICAgZGF0YS5hID0gMTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGlzYWJsZUFscGhhKSB7XG4gICAgICAgIGRhdGEuYSA9IDE7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBoOiB0aGlzLmhzbC5oLFxuICAgICAgICAgIHM6IHRoaXMuaHNsLnMsXG4gICAgICAgICAgbDogdGhpcy5oc2wubCxcbiAgICAgICAgICBhOiBNYXRoLnJvdW5kKGRhdGEuYSAqIDEwMCkgLyAxMDAsXG4gICAgICAgICAgc291cmNlOiAncmdiJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChkYXRhLmggfHwgZGF0YS5zIHx8IGRhdGEubCkge1xuICAgICAgY29uc3QgcyA9IGRhdGEucyAmJiBkYXRhLnMucmVwbGFjZSgnJScsICcnKTtcbiAgICAgIGNvbnN0IGwgPSBkYXRhLmwgJiYgZGF0YS5sLnJlcGxhY2UoJyUnLCAnJyk7XG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaDogZGF0YS5oIHx8IHRoaXMuaHNsLmgsXG4gICAgICAgICAgczogTnVtYmVyKHMgfHwgdGhpcy5oc2wucyksXG4gICAgICAgICAgbDogTnVtYmVyKGwgfHwgdGhpcy5oc2wubCksXG4gICAgICAgICAgc291cmNlOiAnaHNsJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=