ngx-color 8.0.3 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +2 -3
  2. package/alpha/alpha-picker.component.d.ts +1 -1
  3. package/alpha.component.d.ts +1 -1
  4. package/block/block-swatches.component.d.ts +1 -1
  5. package/block/block.component.d.ts +1 -1
  6. package/checkboard.component.d.ts +1 -1
  7. package/chrome/chrome-fields.component.d.ts +1 -1
  8. package/chrome/chrome.component.d.ts +1 -1
  9. package/circle/circle-swatch.component.d.ts +1 -1
  10. package/circle/circle.component.d.ts +1 -1
  11. package/color-wrap.component.d.ts +1 -1
  12. package/compact/compact-color.component.d.ts +1 -1
  13. package/compact/compact-fields.component.d.ts +1 -1
  14. package/compact/compact.component.d.ts +1 -1
  15. package/coordinates.directive.d.ts +2 -3
  16. package/editable-input.component.d.ts +1 -1
  17. package/{fesm2020 → fesm2022}/ngx-color-alpha.mjs +36 -38
  18. package/fesm2022/ngx-color-alpha.mjs.map +1 -0
  19. package/fesm2022/ngx-color-block.mjs +233 -0
  20. package/fesm2022/ngx-color-block.mjs.map +1 -0
  21. package/fesm2022/ngx-color-chrome.mjs +543 -0
  22. package/fesm2022/ngx-color-chrome.mjs.map +1 -0
  23. package/fesm2022/ngx-color-circle.mjs +223 -0
  24. package/fesm2022/ngx-color-circle.mjs.map +1 -0
  25. package/fesm2022/ngx-color-compact.mjs +403 -0
  26. package/fesm2022/ngx-color-compact.mjs.map +1 -0
  27. package/fesm2022/ngx-color-github.mjs +167 -0
  28. package/fesm2022/ngx-color-github.mjs.map +1 -0
  29. package/fesm2022/ngx-color-hue.mjs +109 -0
  30. package/fesm2022/ngx-color-hue.mjs.map +1 -0
  31. package/fesm2022/ngx-color-material.mjs +209 -0
  32. package/fesm2022/ngx-color-material.mjs.map +1 -0
  33. package/fesm2022/ngx-color-photoshop.mjs +475 -0
  34. package/fesm2022/ngx-color-photoshop.mjs.map +1 -0
  35. package/{fesm2015 → fesm2022}/ngx-color-shade.mjs +41 -35
  36. package/fesm2022/ngx-color-shade.mjs.map +1 -0
  37. package/fesm2022/ngx-color-sketch.mjs +491 -0
  38. package/fesm2022/ngx-color-sketch.mjs.map +1 -0
  39. package/fesm2022/ngx-color-slider.mjs +282 -0
  40. package/fesm2022/ngx-color-slider.mjs.map +1 -0
  41. package/fesm2022/ngx-color-swatches.mjs +293 -0
  42. package/fesm2022/ngx-color-swatches.mjs.map +1 -0
  43. package/fesm2022/ngx-color-twitter.mjs +169 -0
  44. package/fesm2022/ngx-color-twitter.mjs.map +1 -0
  45. package/{fesm2020 → fesm2022}/ngx-color.mjs +348 -264
  46. package/fesm2022/ngx-color.mjs.map +1 -0
  47. package/github/github-swatch.component.d.ts +1 -1
  48. package/github/github.component.d.ts +1 -1
  49. package/hue/hue-picker.component.d.ts +1 -1
  50. package/hue.component.d.ts +1 -1
  51. package/material/material.component.d.ts +1 -1
  52. package/package.json +29 -84
  53. package/photoshop/photoshop-button.component.d.ts +1 -1
  54. package/photoshop/photoshop-fields.component.d.ts +1 -1
  55. package/photoshop/photoshop-previews.component.d.ts +1 -1
  56. package/photoshop/photoshop.component.d.ts +1 -1
  57. package/raised.component.d.ts +2 -2
  58. package/saturation.component.d.ts +1 -1
  59. package/shade/shade-picker.component.d.ts +1 -1
  60. package/shade.component.d.ts +1 -1
  61. package/sketch/sketch-fields.component.d.ts +1 -1
  62. package/sketch/sketch-preset-colors.component.d.ts +1 -1
  63. package/sketch/sketch.component.d.ts +1 -1
  64. package/slider/slider-swatch.component.d.ts +1 -1
  65. package/slider/slider-swatches.component.d.ts +1 -1
  66. package/slider/slider.component.d.ts +1 -1
  67. package/swatch.component.d.ts +1 -1
  68. package/swatches/swatches-color.component.d.ts +1 -1
  69. package/swatches/swatches-group.component.d.ts +1 -1
  70. package/swatches/swatches.component.d.ts +1 -1
  71. package/twitter/twitter.component.d.ts +1 -1
  72. package/esm2020/alpha/alpha-picker.component.mjs +0 -100
  73. package/esm2020/alpha/ngx-color-alpha.mjs +0 -5
  74. package/esm2020/alpha/public_api.mjs +0 -2
  75. package/esm2020/alpha.component.mjs +0 -138
  76. package/esm2020/block/block-swatches.component.mjs +0 -63
  77. package/esm2020/block/block.component.mjs +0 -158
  78. package/esm2020/block/ngx-color-block.mjs +0 -5
  79. package/esm2020/block/public_api.mjs +0 -3
  80. package/esm2020/checkboard.component.mjs +0 -50
  81. package/esm2020/chrome/chrome-fields.component.mjs +0 -314
  82. package/esm2020/chrome/chrome.component.mjs +0 -184
  83. package/esm2020/chrome/ngx-color-chrome.mjs +0 -5
  84. package/esm2020/chrome/public_api.mjs +0 -3
  85. package/esm2020/circle/circle-swatch.component.mjs +0 -69
  86. package/esm2020/circle/circle.component.mjs +0 -134
  87. package/esm2020/circle/ngx-color-circle.mjs +0 -5
  88. package/esm2020/circle/public_api.mjs +0 -3
  89. package/esm2020/color-wrap.component.mjs +0 -163
  90. package/esm2020/compact/compact-color.component.mjs +0 -70
  91. package/esm2020/compact/compact-fields.component.mjs +0 -164
  92. package/esm2020/compact/compact.component.mjs +0 -154
  93. package/esm2020/compact/ngx-color-compact.mjs +0 -5
  94. package/esm2020/compact/public_api.mjs +0 -4
  95. package/esm2020/coordinates.directive.mjs +0 -104
  96. package/esm2020/editable-input.component.mjs +0 -199
  97. package/esm2020/github/github-swatch.component.mjs +0 -53
  98. package/esm2020/github/github.component.mjs +0 -112
  99. package/esm2020/github/ngx-color-github.mjs +0 -5
  100. package/esm2020/github/public_api.mjs +0 -3
  101. package/esm2020/helpers/checkboard.mjs +0 -33
  102. package/esm2020/helpers/color.interfaces.mjs +0 -2
  103. package/esm2020/helpers/color.mjs +0 -60
  104. package/esm2020/hue/hue-picker.component.mjs +0 -100
  105. package/esm2020/hue/ngx-color-hue.mjs +0 -5
  106. package/esm2020/hue/public_api.mjs +0 -2
  107. package/esm2020/hue.component.mjs +0 -124
  108. package/esm2020/material/material.component.mjs +0 -186
  109. package/esm2020/material/ngx-color-material.mjs +0 -5
  110. package/esm2020/material/public_api.mjs +0 -2
  111. package/esm2020/ngx-color.mjs +0 -5
  112. package/esm2020/photoshop/ngx-color-photoshop.mjs +0 -5
  113. package/esm2020/photoshop/photoshop-button.component.mjs +0 -34
  114. package/esm2020/photoshop/photoshop-fields.component.mjs +0 -212
  115. package/esm2020/photoshop/photoshop-previews.component.mjs +0 -40
  116. package/esm2020/photoshop/photoshop.component.mjs +0 -185
  117. package/esm2020/photoshop/public_api.mjs +0 -5
  118. package/esm2020/public_api.mjs +0 -14
  119. package/esm2020/raised.component.mjs +0 -50
  120. package/esm2020/saturation.component.mjs +0 -92
  121. package/esm2020/shade/ngx-color-shade.mjs +0 -5
  122. package/esm2020/shade/public_api.mjs +0 -2
  123. package/esm2020/shade/shade-picker.component.mjs +0 -92
  124. package/esm2020/shade.component.mjs +0 -125
  125. package/esm2020/sketch/ngx-color-sketch.mjs +0 -5
  126. package/esm2020/sketch/public_api.mjs +0 -4
  127. package/esm2020/sketch/sketch-fields.component.mjs +0 -209
  128. package/esm2020/sketch/sketch-preset-colors.component.mjs +0 -68
  129. package/esm2020/sketch/sketch.component.mjs +0 -212
  130. package/esm2020/slider/ngx-color-slider.mjs +0 -5
  131. package/esm2020/slider/public_api.mjs +0 -4
  132. package/esm2020/slider/slider-swatch.component.mjs +0 -52
  133. package/esm2020/slider/slider-swatches.component.mjs +0 -119
  134. package/esm2020/slider/slider.component.mjs +0 -102
  135. package/esm2020/swatch.component.mjs +0 -110
  136. package/esm2020/swatches/ngx-color-swatches.mjs +0 -5
  137. package/esm2020/swatches/public_api.mjs +0 -4
  138. package/esm2020/swatches/swatches-color.component.mjs +0 -104
  139. package/esm2020/swatches/swatches-group.component.mjs +0 -49
  140. package/esm2020/swatches/swatches.component.mjs +0 -242
  141. package/esm2020/twitter/ngx-color-twitter.mjs +0 -5
  142. package/esm2020/twitter/public_api.mjs +0 -2
  143. package/esm2020/twitter/twitter.component.mjs +0 -159
  144. package/fesm2015/ngx-color-alpha.mjs +0 -107
  145. package/fesm2015/ngx-color-alpha.mjs.map +0 -1
  146. package/fesm2015/ngx-color-block.mjs +0 -223
  147. package/fesm2015/ngx-color-block.mjs.map +0 -1
  148. package/fesm2015/ngx-color-chrome.mjs +0 -499
  149. package/fesm2015/ngx-color-chrome.mjs.map +0 -1
  150. package/fesm2015/ngx-color-circle.mjs +0 -207
  151. package/fesm2015/ngx-color-circle.mjs.map +0 -1
  152. package/fesm2015/ngx-color-compact.mjs +0 -385
  153. package/fesm2015/ngx-color-compact.mjs.map +0 -1
  154. package/fesm2015/ngx-color-github.mjs +0 -169
  155. package/fesm2015/ngx-color-github.mjs.map +0 -1
  156. package/fesm2015/ngx-color-hue.mjs +0 -107
  157. package/fesm2015/ngx-color-hue.mjs.map +0 -1
  158. package/fesm2015/ngx-color-material.mjs +0 -193
  159. package/fesm2015/ngx-color-material.mjs.map +0 -1
  160. package/fesm2015/ngx-color-photoshop.mjs +0 -467
  161. package/fesm2015/ngx-color-photoshop.mjs.map +0 -1
  162. package/fesm2015/ngx-color-shade.mjs.map +0 -1
  163. package/fesm2015/ngx-color-sketch.mjs +0 -485
  164. package/fesm2015/ngx-color-sketch.mjs.map +0 -1
  165. package/fesm2015/ngx-color-slider.mjs +0 -273
  166. package/fesm2015/ngx-color-slider.mjs.map +0 -1
  167. package/fesm2015/ngx-color-swatches.mjs +0 -391
  168. package/fesm2015/ngx-color-swatches.mjs.map +0 -1
  169. package/fesm2015/ngx-color-twitter.mjs +0 -166
  170. package/fesm2015/ngx-color-twitter.mjs.map +0 -1
  171. package/fesm2015/ngx-color.mjs +0 -1202
  172. package/fesm2015/ngx-color.mjs.map +0 -1
  173. package/fesm2020/ngx-color-alpha.mjs.map +0 -1
  174. package/fesm2020/ngx-color-block.mjs +0 -223
  175. package/fesm2020/ngx-color-block.mjs.map +0 -1
  176. package/fesm2020/ngx-color-chrome.mjs +0 -499
  177. package/fesm2020/ngx-color-chrome.mjs.map +0 -1
  178. package/fesm2020/ngx-color-circle.mjs +0 -207
  179. package/fesm2020/ngx-color-circle.mjs.map +0 -1
  180. package/fesm2020/ngx-color-compact.mjs +0 -385
  181. package/fesm2020/ngx-color-compact.mjs.map +0 -1
  182. package/fesm2020/ngx-color-github.mjs +0 -169
  183. package/fesm2020/ngx-color-github.mjs.map +0 -1
  184. package/fesm2020/ngx-color-hue.mjs +0 -107
  185. package/fesm2020/ngx-color-hue.mjs.map +0 -1
  186. package/fesm2020/ngx-color-material.mjs +0 -193
  187. package/fesm2020/ngx-color-material.mjs.map +0 -1
  188. package/fesm2020/ngx-color-photoshop.mjs +0 -467
  189. package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
  190. package/fesm2020/ngx-color-shade.mjs +0 -99
  191. package/fesm2020/ngx-color-shade.mjs.map +0 -1
  192. package/fesm2020/ngx-color-sketch.mjs +0 -485
  193. package/fesm2020/ngx-color-sketch.mjs.map +0 -1
  194. package/fesm2020/ngx-color-slider.mjs +0 -273
  195. package/fesm2020/ngx-color-slider.mjs.map +0 -1
  196. package/fesm2020/ngx-color-swatches.mjs +0 -391
  197. package/fesm2020/ngx-color-swatches.mjs.map +0 -1
  198. package/fesm2020/ngx-color-twitter.mjs +0 -166
  199. package/fesm2020/ngx-color-twitter.mjs.map +0 -1
  200. package/fesm2020/ngx-color.mjs.map +0 -1
@@ -0,0 +1,543 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, forwardRef, NgModule } from '@angular/core';
3
+ import * as i1 from 'ngx-color';
4
+ import { isValidHex, ColorWrap, AlphaModule, CheckboardModule, EditableInputModule, HueModule, SaturationModule } from 'ngx-color';
5
+ import { TinyColor } from '@ctrl/tinycolor';
6
+ import { CommonModule } from '@angular/common';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+
9
+ class ChromeFieldsComponent {
10
+ disableAlpha;
11
+ hsl;
12
+ rgb;
13
+ hex;
14
+ onChange = new EventEmitter();
15
+ view = '';
16
+ input = {
17
+ fontSize: '11px',
18
+ color: '#333',
19
+ width: '100%',
20
+ borderRadius: '2px',
21
+ border: 'none',
22
+ boxShadow: 'inset 0 0 0 1px #dadada',
23
+ height: '21px',
24
+ 'text-align': 'center',
25
+ };
26
+ label = {
27
+ 'text-transform': 'uppercase',
28
+ fontSize: '11px',
29
+ 'line-height': '11px',
30
+ color: '#969696',
31
+ 'text-align': 'center',
32
+ display: 'block',
33
+ marginTop: '12px',
34
+ };
35
+ ngOnInit() {
36
+ if (this.hsl.a === 1 && this.view !== 'hex') {
37
+ this.view = 'hex';
38
+ }
39
+ else if (this.view !== 'rgb' && this.view !== 'hsl') {
40
+ this.view = 'rgb';
41
+ }
42
+ }
43
+ toggleViews() {
44
+ if (this.view === 'hex') {
45
+ this.view = 'rgb';
46
+ }
47
+ else if (this.view === 'rgb') {
48
+ this.view = 'hsl';
49
+ }
50
+ else if (this.view === 'hsl') {
51
+ if (this.hsl.a === 1) {
52
+ this.view = 'hex';
53
+ }
54
+ else {
55
+ this.view = 'rgb';
56
+ }
57
+ }
58
+ }
59
+ round(value) {
60
+ return Math.round(value);
61
+ }
62
+ handleChange({ data, $event }) {
63
+ if (data.hex) {
64
+ if (isValidHex(data.hex)) {
65
+ const color = new TinyColor(data.hex);
66
+ this.onChange.emit({
67
+ data: {
68
+ hex: this.disableAlpha ? color.toHex() : color.toHex8(),
69
+ source: 'hex',
70
+ },
71
+ $event,
72
+ });
73
+ }
74
+ }
75
+ else if (data.r || data.g || data.b) {
76
+ this.onChange.emit({
77
+ data: {
78
+ r: data.r || this.rgb.r,
79
+ g: data.g || this.rgb.g,
80
+ b: data.b || this.rgb.b,
81
+ source: 'rgb',
82
+ },
83
+ $event,
84
+ });
85
+ }
86
+ else if (data.a) {
87
+ if (data.a < 0) {
88
+ data.a = 0;
89
+ }
90
+ else if (data.a > 1) {
91
+ data.a = 1;
92
+ }
93
+ if (this.disableAlpha) {
94
+ data.a = 1;
95
+ }
96
+ this.onChange.emit({
97
+ data: {
98
+ h: this.hsl.h,
99
+ s: this.hsl.s,
100
+ l: this.hsl.l,
101
+ a: Math.round(data.a * 100) / 100,
102
+ source: 'rgb',
103
+ },
104
+ $event,
105
+ });
106
+ }
107
+ else if (data.h || data.s || data.l) {
108
+ const s = data.s && data.s.replace('%', '');
109
+ const l = data.l && data.l.replace('%', '');
110
+ this.onChange.emit({
111
+ data: {
112
+ h: data.h || this.hsl.h,
113
+ s: Number(s || this.hsl.s),
114
+ l: Number(l || this.hsl.l),
115
+ source: 'hsl',
116
+ },
117
+ $event,
118
+ });
119
+ }
120
+ }
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ChromeFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: ChromeFieldsComponent, isStandalone: false, selector: "color-chrome-fields", inputs: { disableAlpha: "disableAlpha", hsl: "hsl", rgb: "rgb", hex: "hex" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
123
+ <div class="chrome-wrap">
124
+ <div class="chrome-fields">
125
+ @if (view === 'hex') {
126
+ <div class="chrome-field">
127
+ <color-editable-input
128
+ [style]="{ input: input, label: label }"
129
+ label="hex"
130
+ [value]="hex"
131
+ (onChange)="handleChange($event)"
132
+ ></color-editable-input>
133
+ </div>
134
+ }
135
+ @if (view === 'rgb') {
136
+ <div class="chrome-field">
137
+ <color-editable-input
138
+ [style]="{ input: input, label: label }"
139
+ label="r"
140
+ [value]="rgb.r"
141
+ (onChange)="handleChange($event)"
142
+ ></color-editable-input>
143
+ </div>
144
+ <div class="chrome-field">
145
+ <color-editable-input
146
+ [style]="{ input: input, label: label }"
147
+ label="g"
148
+ [value]="rgb.g"
149
+ (onChange)="handleChange($event)"
150
+ ></color-editable-input>
151
+ </div>
152
+ <div class="chrome-field">
153
+ <color-editable-input
154
+ [style]="{ input: input, label: label }"
155
+ label="b"
156
+ [value]="rgb.b"
157
+ (onChange)="handleChange($event)"
158
+ ></color-editable-input>
159
+ </div>
160
+ <div class="chrome-field">
161
+ @if (!disableAlpha) {
162
+ <color-editable-input
163
+ [style]="{ input: input, label: label }"
164
+ label="a"
165
+ [value]="rgb.a"
166
+ [arrowOffset]="0.01"
167
+ (onChange)="handleChange($event)"
168
+ ></color-editable-input>
169
+ }
170
+ </div>
171
+ }
172
+ @if (view === 'hsl') {
173
+ <div class="chrome-field">
174
+ <color-editable-input
175
+ [style]="{ input: input, label: label }"
176
+ label="h"
177
+ [value]="round(hsl.h)"
178
+ (onChange)="handleChange($event)"
179
+ ></color-editable-input>
180
+ </div>
181
+ <div class="chrome-field">
182
+ <color-editable-input
183
+ [style]="{ input: input, label: label }"
184
+ label="s"
185
+ [value]="round(hsl.s * 100) + '%'"
186
+ (onChange)="handleChange($event)"
187
+ ></color-editable-input>
188
+ </div>
189
+ <div class="chrome-field">
190
+ <color-editable-input
191
+ [style]="{ input: input, label: label }"
192
+ label="l"
193
+ [value]="round(hsl.l * 100) + '%'"
194
+ (onChange)="handleChange($event)"
195
+ ></color-editable-input>
196
+ </div>
197
+ <div class="chrome-field">
198
+ @if (!disableAlpha) {
199
+ <color-editable-input
200
+ [style]="{ input: input, label: label }"
201
+ label="a"
202
+ [value]="hsl.a"
203
+ [arrowOffset]="0.01"
204
+ (onChange)="handleChange($event)"
205
+ ></color-editable-input>
206
+ }
207
+ </div>
208
+ }
209
+ </div>
210
+
211
+ <div class="chrome-toggle">
212
+ <div class="chrome-icon" (click)="toggleViews()" #icon>
213
+ <svg class="chrome-toggle-svg" viewBox="0 0 24 24">
214
+ <path
215
+ #iconUp
216
+ fill="#333"
217
+ d="M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"
218
+ />
219
+ <path
220
+ #iconDown
221
+ fill="#333"
222
+ d="M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z"
223
+ />
224
+ </svg>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ `, 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"], dependencies: [{ kind: "component", type: i1.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
229
+ }
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ChromeFieldsComponent, decorators: [{
231
+ type: Component,
232
+ args: [{ selector: 'color-chrome-fields', template: `
233
+ <div class="chrome-wrap">
234
+ <div class="chrome-fields">
235
+ @if (view === 'hex') {
236
+ <div class="chrome-field">
237
+ <color-editable-input
238
+ [style]="{ input: input, label: label }"
239
+ label="hex"
240
+ [value]="hex"
241
+ (onChange)="handleChange($event)"
242
+ ></color-editable-input>
243
+ </div>
244
+ }
245
+ @if (view === 'rgb') {
246
+ <div class="chrome-field">
247
+ <color-editable-input
248
+ [style]="{ input: input, label: label }"
249
+ label="r"
250
+ [value]="rgb.r"
251
+ (onChange)="handleChange($event)"
252
+ ></color-editable-input>
253
+ </div>
254
+ <div class="chrome-field">
255
+ <color-editable-input
256
+ [style]="{ input: input, label: label }"
257
+ label="g"
258
+ [value]="rgb.g"
259
+ (onChange)="handleChange($event)"
260
+ ></color-editable-input>
261
+ </div>
262
+ <div class="chrome-field">
263
+ <color-editable-input
264
+ [style]="{ input: input, label: label }"
265
+ label="b"
266
+ [value]="rgb.b"
267
+ (onChange)="handleChange($event)"
268
+ ></color-editable-input>
269
+ </div>
270
+ <div class="chrome-field">
271
+ @if (!disableAlpha) {
272
+ <color-editable-input
273
+ [style]="{ input: input, label: label }"
274
+ label="a"
275
+ [value]="rgb.a"
276
+ [arrowOffset]="0.01"
277
+ (onChange)="handleChange($event)"
278
+ ></color-editable-input>
279
+ }
280
+ </div>
281
+ }
282
+ @if (view === 'hsl') {
283
+ <div class="chrome-field">
284
+ <color-editable-input
285
+ [style]="{ input: input, label: label }"
286
+ label="h"
287
+ [value]="round(hsl.h)"
288
+ (onChange)="handleChange($event)"
289
+ ></color-editable-input>
290
+ </div>
291
+ <div class="chrome-field">
292
+ <color-editable-input
293
+ [style]="{ input: input, label: label }"
294
+ label="s"
295
+ [value]="round(hsl.s * 100) + '%'"
296
+ (onChange)="handleChange($event)"
297
+ ></color-editable-input>
298
+ </div>
299
+ <div class="chrome-field">
300
+ <color-editable-input
301
+ [style]="{ input: input, label: label }"
302
+ label="l"
303
+ [value]="round(hsl.l * 100) + '%'"
304
+ (onChange)="handleChange($event)"
305
+ ></color-editable-input>
306
+ </div>
307
+ <div class="chrome-field">
308
+ @if (!disableAlpha) {
309
+ <color-editable-input
310
+ [style]="{ input: input, label: label }"
311
+ label="a"
312
+ [value]="hsl.a"
313
+ [arrowOffset]="0.01"
314
+ (onChange)="handleChange($event)"
315
+ ></color-editable-input>
316
+ }
317
+ </div>
318
+ }
319
+ </div>
320
+
321
+ <div class="chrome-toggle">
322
+ <div class="chrome-icon" (click)="toggleViews()" #icon>
323
+ <svg class="chrome-toggle-svg" viewBox="0 0 24 24">
324
+ <path
325
+ #iconUp
326
+ fill="#333"
327
+ d="M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"
328
+ />
329
+ <path
330
+ #iconDown
331
+ fill="#333"
332
+ d="M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z"
333
+ />
334
+ </svg>
335
+ </div>
336
+ </div>
337
+ </div>
338
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, standalone: false, 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"] }]
339
+ }], propDecorators: { disableAlpha: [{
340
+ type: Input
341
+ }], hsl: [{
342
+ type: Input
343
+ }], rgb: [{
344
+ type: Input
345
+ }], hex: [{
346
+ type: Input
347
+ }], onChange: [{
348
+ type: Output
349
+ }] } });
350
+
351
+ class ChromeComponent extends ColorWrap {
352
+ /** Remove alpha slider and options from picker */
353
+ disableAlpha = false;
354
+ circle = {
355
+ width: '12px',
356
+ height: '12px',
357
+ borderRadius: '6px',
358
+ boxShadow: 'rgb(255, 255, 255) 0px 0px 0px 1px inset',
359
+ transform: 'translate(-6px, -8px)',
360
+ };
361
+ pointer = {
362
+ width: '12px',
363
+ height: '12px',
364
+ borderRadius: '6px',
365
+ transform: 'translate(-6px, -2px)',
366
+ backgroundColor: 'rgb(248, 248, 248)',
367
+ boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
368
+ };
369
+ activeBackground;
370
+ constructor() {
371
+ super();
372
+ }
373
+ afterValidChange() {
374
+ const alpha = this.disableAlpha ? 1 : this.rgb.a;
375
+ this.activeBackground = `rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${alpha})`;
376
+ }
377
+ handleValueChange({ data, $event }) {
378
+ this.handleChange(data, $event);
379
+ }
380
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ChromeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
381
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.3", type: ChromeComponent, isStandalone: false, selector: "color-chrome", inputs: { disableAlpha: "disableAlpha" }, providers: [
382
+ {
383
+ provide: NG_VALUE_ACCESSOR,
384
+ useExisting: forwardRef(() => ChromeComponent),
385
+ multi: true,
386
+ },
387
+ {
388
+ provide: ColorWrap,
389
+ useExisting: forwardRef(() => ChromeComponent),
390
+ },
391
+ ], usesInheritance: true, ngImport: i0, template: `
392
+ <div class="chrome-picker {{ className }}">
393
+ <div class="saturation">
394
+ <color-saturation
395
+ [hsl]="hsl"
396
+ [hsv]="hsv"
397
+ [circle]="circle"
398
+ (onChange)="handleValueChange($event)"
399
+ ></color-saturation>
400
+ </div>
401
+ <div class="chrome-body">
402
+ <div class="chrome-controls">
403
+ <div class="chrome-color">
404
+ <div class="chrome-swatch">
405
+ <div class="chrome-active" [style.background]="activeBackground"></div>
406
+ <color-checkboard></color-checkboard>
407
+ </div>
408
+ </div>
409
+ <div class="chrome-toggles">
410
+ <div class="chrome-hue">
411
+ <color-hue
412
+ [radius]="2"
413
+ [hsl]="hsl"
414
+ [pointer]="pointer"
415
+ (onChange)="handleValueChange($event)"
416
+ ></color-hue>
417
+ </div>
418
+ @if (!disableAlpha) {
419
+ <div class="chrome-alpha">
420
+ <color-alpha
421
+ [radius]="2"
422
+ [rgb]="rgb"
423
+ [hsl]="hsl"
424
+ [pointer]="pointer"
425
+ (onChange)="handleValueChange($event)"
426
+ ></color-alpha>
427
+ </div>
428
+ }
429
+ </div>
430
+ </div>
431
+ <color-chrome-fields
432
+ [rgb]="rgb"
433
+ [hsl]="hsl"
434
+ [hex]="hex"
435
+ [disableAlpha]="disableAlpha"
436
+ (onChange)="handleValueChange($event)"
437
+ ></color-chrome-fields>
438
+ </div>
439
+ </div>
440
+ `, isInline: true, styles: [".chrome-picker{background:#fff;border-radius:2px;box-shadow:0 0 2px #0000004d,0 4px 8px #0000004d;box-sizing:initial;width:225px;font-family:Menlo}.chrome-controls{display:flex}.chrome-color{width:42px}.chrome-body{padding:14px 14px 12px}.chrome-active{position:absolute;inset:0;border-radius:20px;box-shadow:inset 0 0 0 1px #0000001a;z-index:2}.chrome-swatch{width:28px;height:28px;border-radius:15px;position:relative;overflow:hidden}.saturation{width:100%;padding-bottom:55%;position:relative;border-radius:2px 2px 0 0;overflow:hidden}.chrome-toggles{flex:1}.chrome-hue{height:10px;position:relative;margin-bottom:8px}.chrome-alpha{height:10px;position:relative}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(() => i1.AlphaComponent), selector: "color-alpha", inputs: ["hsl", "rgb", "pointer", "shadow", "radius", "direction"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(() => i1.CheckboardComponent), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { kind: "component", type: i0.forwardRef(() => i1.HueComponent), selector: "color-hue", inputs: ["hsl", "pointer", "radius", "shadow", "hidePointer", "direction"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(() => i1.SaturationComponent), selector: "color-saturation", inputs: ["hsl", "hsv", "radius", "pointer", "circle"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(() => ChromeFieldsComponent), selector: "color-chrome-fields", inputs: ["disableAlpha", "hsl", "rgb", "hex"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
441
+ }
442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ChromeComponent, decorators: [{
443
+ type: Component,
444
+ args: [{ selector: 'color-chrome', template: `
445
+ <div class="chrome-picker {{ className }}">
446
+ <div class="saturation">
447
+ <color-saturation
448
+ [hsl]="hsl"
449
+ [hsv]="hsv"
450
+ [circle]="circle"
451
+ (onChange)="handleValueChange($event)"
452
+ ></color-saturation>
453
+ </div>
454
+ <div class="chrome-body">
455
+ <div class="chrome-controls">
456
+ <div class="chrome-color">
457
+ <div class="chrome-swatch">
458
+ <div class="chrome-active" [style.background]="activeBackground"></div>
459
+ <color-checkboard></color-checkboard>
460
+ </div>
461
+ </div>
462
+ <div class="chrome-toggles">
463
+ <div class="chrome-hue">
464
+ <color-hue
465
+ [radius]="2"
466
+ [hsl]="hsl"
467
+ [pointer]="pointer"
468
+ (onChange)="handleValueChange($event)"
469
+ ></color-hue>
470
+ </div>
471
+ @if (!disableAlpha) {
472
+ <div class="chrome-alpha">
473
+ <color-alpha
474
+ [radius]="2"
475
+ [rgb]="rgb"
476
+ [hsl]="hsl"
477
+ [pointer]="pointer"
478
+ (onChange)="handleValueChange($event)"
479
+ ></color-alpha>
480
+ </div>
481
+ }
482
+ </div>
483
+ </div>
484
+ <color-chrome-fields
485
+ [rgb]="rgb"
486
+ [hsl]="hsl"
487
+ [hex]="hex"
488
+ [disableAlpha]="disableAlpha"
489
+ (onChange)="handleValueChange($event)"
490
+ ></color-chrome-fields>
491
+ </div>
492
+ </div>
493
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
494
+ {
495
+ provide: NG_VALUE_ACCESSOR,
496
+ useExisting: forwardRef(() => ChromeComponent),
497
+ multi: true,
498
+ },
499
+ {
500
+ provide: ColorWrap,
501
+ useExisting: forwardRef(() => ChromeComponent),
502
+ },
503
+ ], standalone: false, styles: [".chrome-picker{background:#fff;border-radius:2px;box-shadow:0 0 2px #0000004d,0 4px 8px #0000004d;box-sizing:initial;width:225px;font-family:Menlo}.chrome-controls{display:flex}.chrome-color{width:42px}.chrome-body{padding:14px 14px 12px}.chrome-active{position:absolute;inset:0;border-radius:20px;box-shadow:inset 0 0 0 1px #0000001a;z-index:2}.chrome-swatch{width:28px;height:28px;border-radius:15px;position:relative;overflow:hidden}.saturation{width:100%;padding-bottom:55%;position:relative;border-radius:2px 2px 0 0;overflow:hidden}.chrome-toggles{flex:1}.chrome-hue{height:10px;position:relative;margin-bottom:8px}.chrome-alpha{height:10px;position:relative}\n"] }]
504
+ }], ctorParameters: () => [], propDecorators: { disableAlpha: [{
505
+ type: Input
506
+ }] } });
507
+ class ColorChromeModule {
508
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ColorChromeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
509
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.3", ngImport: i0, type: ColorChromeModule, declarations: [ChromeComponent, ChromeFieldsComponent], imports: [CommonModule,
510
+ AlphaModule,
511
+ CheckboardModule,
512
+ EditableInputModule,
513
+ HueModule,
514
+ SaturationModule], exports: [ChromeComponent, ChromeFieldsComponent] });
515
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ColorChromeModule, imports: [CommonModule,
516
+ AlphaModule,
517
+ CheckboardModule,
518
+ EditableInputModule,
519
+ HueModule,
520
+ SaturationModule] });
521
+ }
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: ColorChromeModule, decorators: [{
523
+ type: NgModule,
524
+ args: [{
525
+ declarations: [ChromeComponent, ChromeFieldsComponent],
526
+ exports: [ChromeComponent, ChromeFieldsComponent],
527
+ imports: [
528
+ CommonModule,
529
+ AlphaModule,
530
+ CheckboardModule,
531
+ EditableInputModule,
532
+ HueModule,
533
+ SaturationModule,
534
+ ],
535
+ }]
536
+ }] });
537
+
538
+ /**
539
+ * Generated bundle index. Do not edit.
540
+ */
541
+
542
+ export { ChromeComponent, ChromeFieldsComponent, ColorChromeModule };
543
+ //# sourceMappingURL=ngx-color-chrome.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-color-chrome.mjs","sources":["../../src/lib/chrome/chrome-fields.component.ts","../../src/lib/chrome/chrome.component.ts","../../src/lib/chrome/ngx-color-chrome.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { isValidHex, HSLA, RGBA } from 'ngx-color';\nimport { TinyColor } from '@ctrl/tinycolor';\n\n@Component({\n selector: 'color-chrome-fields',\n template: `\n <div class=\"chrome-wrap\">\n <div class=\"chrome-fields\">\n @if (view === 'hex') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"hex\"\n [value]=\"hex\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n }\n @if (view === 'rgb') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"r\"\n [value]=\"rgb.r\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"g\"\n [value]=\"rgb.g\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"b\"\n [value]=\"rgb.b\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n @if (!disableAlpha) {\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"a\"\n [value]=\"rgb.a\"\n [arrowOffset]=\"0.01\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n }\n </div>\n }\n @if (view === 'hsl') {\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"h\"\n [value]=\"round(hsl.h)\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"s\"\n [value]=\"round(hsl.s * 100) + '%'\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"l\"\n [value]=\"round(hsl.l * 100) + '%'\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n </div>\n <div class=\"chrome-field\">\n @if (!disableAlpha) {\n <color-editable-input\n [style]=\"{ input: input, label: label }\"\n label=\"a\"\n [value]=\"hsl.a\"\n [arrowOffset]=\"0.01\"\n (onChange)=\"handleChange($event)\"\n ></color-editable-input>\n }\n </div>\n }\n </div>\n\n <div class=\"chrome-toggle\">\n <div class=\"chrome-icon\" (click)=\"toggleViews()\" #icon>\n <svg class=\"chrome-toggle-svg\" viewBox=\"0 0 24 24\">\n <path\n #iconUp\n fill=\"#333\"\n d=\"M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\"\n />\n <path\n #iconDown\n fill=\"#333\"\n d=\"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15Z\"\n />\n </svg>\n </div>\n </div>\n </div>\n `,\n styles: [\n `\n .chrome-wrap {\n padding-top: 16px;\n display: flex;\n }\n .chrome-fields {\n flex: 1;\n display: flex;\n margin-left: -6px;\n }\n .chrome-field {\n padding-left: 6px;\n width: 100%;\n }\n .chrome-toggle {\n width: 32px;\n text-align: right;\n position: relative;\n }\n .chrome-icon {\n margin-right: -4px;\n margin-top: 12px;\n cursor: pointer;\n position: relative;\n }\n .chrome-toggle-svg {\n width: 24px;\n height: 24px;\n border: 1px transparent solid;\n border-radius: 5px;\n }\n .chrome-toggle-svg:hover {\n background: #eee;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n standalone: false,\n})\nexport class ChromeFieldsComponent implements OnInit {\n @Input() disableAlpha!: boolean;\n @Input() hsl!: HSLA;\n @Input() rgb!: RGBA;\n @Input() hex!: string;\n @Output() onChange = new EventEmitter<any>();\n view = '';\n input: Record<string, string> = {\n fontSize: '11px',\n color: '#333',\n width: '100%',\n borderRadius: '2px',\n border: 'none',\n boxShadow: 'inset 0 0 0 1px #dadada',\n height: '21px',\n 'text-align': 'center',\n };\n label: Record<string, string> = {\n 'text-transform': 'uppercase',\n fontSize: '11px',\n 'line-height': '11px',\n color: '#969696',\n 'text-align': 'center',\n display: 'block',\n marginTop: '12px',\n };\n\n ngOnInit() {\n if (this.hsl.a === 1 && this.view !== 'hex') {\n this.view = 'hex';\n } else if (this.view !== 'rgb' && this.view !== 'hsl') {\n this.view = 'rgb';\n }\n }\n toggleViews() {\n if (this.view === 'hex') {\n this.view = 'rgb';\n } else if (this.view === 'rgb') {\n this.view = 'hsl';\n } else if (this.view === 'hsl') {\n if (this.hsl.a === 1) {\n this.view = 'hex';\n } else {\n this.view = 'rgb';\n }\n }\n }\n round(value) {\n return Math.round(value);\n }\n handleChange({ data, $event }) {\n if (data.hex) {\n if (isValidHex(data.hex)) {\n const color = new TinyColor(data.hex);\n this.onChange.emit({\n data: {\n hex: this.disableAlpha ? color.toHex() : color.toHex8(),\n source: 'hex',\n },\n $event,\n });\n }\n } else if (data.r || data.g || data.b) {\n this.onChange.emit({\n data: {\n r: data.r || this.rgb.r,\n g: data.g || this.rgb.g,\n b: data.b || this.rgb.b,\n source: 'rgb',\n },\n $event,\n });\n } else if (data.a) {\n if (data.a < 0) {\n data.a = 0;\n } else if (data.a > 1) {\n data.a = 1;\n }\n\n if (this.disableAlpha) {\n data.a = 1;\n }\n\n this.onChange.emit({\n data: {\n h: this.hsl.h,\n s: this.hsl.s,\n l: this.hsl.l,\n a: Math.round(data.a * 100) / 100,\n source: 'rgb',\n },\n $event,\n });\n } else if (data.h || data.s || data.l) {\n const s = data.s && data.s.replace('%', '');\n const l = data.l && data.l.replace('%', '');\n this.onChange.emit({\n data: {\n h: data.h || this.hsl.h,\n s: Number(s || this.hsl.s),\n l: Number(l || this.hsl.l),\n source: 'hsl',\n },\n $event,\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';\n\nimport {\n AlphaModule,\n CheckboardModule,\n ColorWrap,\n EditableInputModule,\n HueModule,\n SaturationModule,\n} from 'ngx-color';\nimport { ChromeFieldsComponent } from './chrome-fields.component';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'color-chrome',\n template: `\n <div class=\"chrome-picker {{ className }}\">\n <div class=\"saturation\">\n <color-saturation\n [hsl]=\"hsl\"\n [hsv]=\"hsv\"\n [circle]=\"circle\"\n (onChange)=\"handleValueChange($event)\"\n ></color-saturation>\n </div>\n <div class=\"chrome-body\">\n <div class=\"chrome-controls\">\n <div class=\"chrome-color\">\n <div class=\"chrome-swatch\">\n <div class=\"chrome-active\" [style.background]=\"activeBackground\"></div>\n <color-checkboard></color-checkboard>\n </div>\n </div>\n <div class=\"chrome-toggles\">\n <div class=\"chrome-hue\">\n <color-hue\n [radius]=\"2\"\n [hsl]=\"hsl\"\n [pointer]=\"pointer\"\n (onChange)=\"handleValueChange($event)\"\n ></color-hue>\n </div>\n @if (!disableAlpha) {\n <div class=\"chrome-alpha\">\n <color-alpha\n [radius]=\"2\"\n [rgb]=\"rgb\"\n [hsl]=\"hsl\"\n [pointer]=\"pointer\"\n (onChange)=\"handleValueChange($event)\"\n ></color-alpha>\n </div>\n }\n </div>\n </div>\n <color-chrome-fields\n [rgb]=\"rgb\"\n [hsl]=\"hsl\"\n [hex]=\"hex\"\n [disableAlpha]=\"disableAlpha\"\n (onChange)=\"handleValueChange($event)\"\n ></color-chrome-fields>\n </div>\n </div>\n `,\n styles: [\n `\n .chrome-picker {\n background: #fff;\n border-radius: 2px;\n box-shadow:\n 0 0 2px rgba(0, 0, 0, 0.3),\n 0 4px 8px rgba(0, 0, 0, 0.3);\n box-sizing: initial;\n width: 225px;\n font-family: 'Menlo';\n }\n .chrome-controls {\n display: flex;\n }\n .chrome-color {\n width: 42px;\n }\n .chrome-body {\n padding: 14px 14px 12px;\n }\n .chrome-active {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: 20px;\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n z-index: 2;\n }\n .chrome-swatch {\n width: 28px;\n height: 28px;\n border-radius: 15px;\n position: relative;\n overflow: hidden;\n }\n .saturation {\n width: 100%;\n padding-bottom: 55%;\n position: relative;\n border-radius: 2px 2px 0 0;\n overflow: hidden;\n }\n .chrome-toggles {\n flex: 1;\n }\n .chrome-hue {\n height: 10px;\n position: relative;\n margin-bottom: 8px;\n }\n .chrome-alpha {\n height: 10px;\n position: relative;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChromeComponent),\n multi: true,\n },\n {\n provide: ColorWrap,\n useExisting: forwardRef(() => ChromeComponent),\n },\n ],\n standalone: false,\n})\nexport class ChromeComponent extends ColorWrap {\n /** Remove alpha slider and options from picker */\n @Input() disableAlpha = false;\n circle: Record<string, string> = {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n boxShadow: 'rgb(255, 255, 255) 0px 0px 0px 1px inset',\n transform: 'translate(-6px, -8px)',\n };\n pointer: Record<string, string> = {\n width: '12px',\n height: '12px',\n borderRadius: '6px',\n transform: 'translate(-6px, -2px)',\n backgroundColor: 'rgb(248, 248, 248)',\n boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',\n };\n activeBackground!: string;\n\n constructor() {\n super();\n }\n\n afterValidChange() {\n const alpha = this.disableAlpha ? 1 : this.rgb.a;\n this.activeBackground = `rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${alpha})`;\n }\n handleValueChange({ data, $event }) {\n this.handleChange(data, $event);\n }\n}\n\n@NgModule({\n declarations: [ChromeComponent, ChromeFieldsComponent],\n exports: [ChromeComponent, ChromeFieldsComponent],\n imports: [\n CommonModule,\n AlphaModule,\n CheckboardModule,\n EditableInputModule,\n HueModule,\n SaturationModule,\n ],\n})\nexport class ColorChromeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}