@provoly/dashboard 0.18.2 → 0.18.4
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.
- package/assets/svgs/clear_filter.svg +12 -0
- package/assets/svgs/refresh_data.svg +15 -0
- package/assets/svgs/refresh_filter.svg +13 -0
- package/assets/svgs/trash.svg +1 -0
- package/components/color-picker/color-picker.component.d.ts +58 -0
- package/components/color-picker/color-picker.module.d.ts +9 -0
- package/components/color-picker/index.d.ts +5 -0
- package/components/color-picker/public-api.d.ts +2 -0
- package/components/scheme-picker/index.d.ts +5 -0
- package/components/scheme-picker/public-api.d.ts +3 -0
- package/components/scheme-picker/scheme-picker.component.d.ts +34 -0
- package/components/scheme-picker/scheme-picker.module.d.ts +11 -0
- package/components/scheme-picker/scheme.service.d.ts +12 -0
- package/dataset/components/dataset-card/dataset-card.component.d.ts +11 -3
- package/dataset/i18n/en.translations.d.ts +1 -0
- package/dataset/i18n/fr.translations.d.ts +1 -0
- package/dataset/style/_o-pry-dataset-card.scss +16 -1
- package/dataset/style/_o-pry-dataset.scss +18 -3
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +7 -5
- package/esm2022/components/color-picker/color-picker.component.mjs +314 -0
- package/esm2022/components/color-picker/color-picker.module.mjs +20 -0
- package/esm2022/components/color-picker/provoly-dashboard-components-color-picker.mjs +5 -0
- package/esm2022/components/color-picker/public-api.mjs +3 -0
- package/esm2022/components/scheme-picker/provoly-dashboard-components-scheme-picker.mjs +5 -0
- package/esm2022/components/scheme-picker/public-api.mjs +4 -0
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +104 -0
- package/esm2022/components/scheme-picker/scheme-picker.module.mjs +22 -0
- package/esm2022/components/scheme-picker/scheme.service.mjs +47 -0
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +26 -9
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -3
- package/esm2022/dataset/components/dataset.component.mjs +3 -3
- package/esm2022/dataset/i18n/en.translations.mjs +2 -1
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -1
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/lib/core/i18n/en.translations.mjs +6 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +6 -2
- package/esm2022/lib/core/model/widget-aggregated-chart-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-chart-manifest.interface.mjs +2 -1
- package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +4 -1
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
- package/esm2022/lib/core/store/search/search.actions.mjs +3 -2
- package/esm2022/lib/core/store/search/search.reducer.mjs +6 -1
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +16 -11
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution/restitution.component.mjs +11 -20
- package/esm2022/restitution/model/restitution.model.mjs +1 -1
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +134 -26
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +19 -2
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +19 -2
- package/esm2022/widgets/widget-aggregated-chart/widget-aggregated-chart.module.mjs +16 -5
- package/esm2022/widgets/widget-chart/i18n/en.translations.mjs +3 -2
- package/esm2022/widgets/widget-chart/i18n/fr.translations.mjs +3 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs +6 -4
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-color-picker.mjs +337 -0
- package/fesm2022/provoly-dashboard-components-color-picker.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +171 -0
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +29 -14
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +4 -4
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +10 -19
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +183 -30
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +4 -2
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +37 -13
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/i18n/en.translations.d.ts +4 -0
- package/lib/core/i18n/fr.translations.d.ts +4 -0
- package/lib/core/model/widget-aggregated-chart-manifest.interface.d.ts +7 -0
- package/lib/core/model/widget-chart-manifest.interface.d.ts +1 -0
- package/lib/core/store/data-source/data-source.model.d.ts +0 -2
- package/lib/core/store/search/search.actions.d.ts +7 -0
- package/lib/dashboard/components/dashboard.component.d.ts +2 -0
- package/package.json +19 -7
- package/presentation/style/_o-pry-new-presentation.scss +2 -1
- package/restitution/components/restitution/restitution.component.d.ts +0 -2
- package/restitution/model/restitution.model.d.ts +1 -1
- package/styles/components/_a-color-picker.scss +62 -0
- package/styles/components/_a-page-loader.scss +14 -0
- package/styles/components/_m-color-scheme.scss +20 -0
- package/styles/main.scss +3 -0
- package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +4 -0
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +17 -5
- package/widgets/widget-aggregated-chart/i18n/en.translations.d.ts +17 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +17 -0
- package/widgets/widget-aggregated-chart/widget-aggregated-chart.module.d.ts +3 -1
- package/widgets/widget-chart/i18n/en.translations.d.ts +1 -0
- package/widgets/widget-chart/i18n/fr.translations.d.ts +1 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { Component, forwardRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
export class PryColorPickerComponent {
|
|
6
|
+
constructor(_cd) {
|
|
7
|
+
this._cd = _cd;
|
|
8
|
+
this.onChange = () => { };
|
|
9
|
+
this.onTouch = () => { };
|
|
10
|
+
this.color = '#000000';
|
|
11
|
+
this.barColor = '#0000ff';
|
|
12
|
+
this.disabled = false;
|
|
13
|
+
this.inhibate = true;
|
|
14
|
+
this.picking = false;
|
|
15
|
+
this.markerSelectorPosition = [0, 0];
|
|
16
|
+
this.markerBarPosition = 0;
|
|
17
|
+
this.innerRadius = 3;
|
|
18
|
+
this.outerRadius = 8;
|
|
19
|
+
}
|
|
20
|
+
registerOnChange(fn) {
|
|
21
|
+
this.onChange = fn;
|
|
22
|
+
}
|
|
23
|
+
registerOnTouched(fn) {
|
|
24
|
+
this.onTouch = fn;
|
|
25
|
+
}
|
|
26
|
+
// Define what should happen in this component, if something changes outside
|
|
27
|
+
writeValue(color) {
|
|
28
|
+
if (this.color !== color && !this.inhibate) {
|
|
29
|
+
this.color = color;
|
|
30
|
+
this.onChange(this.color);
|
|
31
|
+
this.onTouch();
|
|
32
|
+
this._cd.markForCheck();
|
|
33
|
+
this.inputColor(color);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
setDisabledState(isDisabled) {
|
|
37
|
+
this.disabled = isDisabled;
|
|
38
|
+
this._cd.markForCheck();
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewInit() {
|
|
41
|
+
this.inhibate = false;
|
|
42
|
+
this.selectorContext = this.selector.nativeElement.getContext('2d', { willReadFrequently: true });
|
|
43
|
+
this.barContext = this.bar.nativeElement.getContext('2d', { willReadFrequently: true });
|
|
44
|
+
}
|
|
45
|
+
togglePicker($event) {
|
|
46
|
+
this.picking = !this.disabled && !this.picking;
|
|
47
|
+
if (!this.picking && this.temporaryColor) {
|
|
48
|
+
this.writeValue(this.temporaryColor);
|
|
49
|
+
}
|
|
50
|
+
if (this.picking) {
|
|
51
|
+
this.redrawSelector();
|
|
52
|
+
this.redrawBar();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
redrawSelector() {
|
|
56
|
+
this.selectorContext.clearRect(0, 0, this.selectorContext.canvas.width, this.selectorContext.canvas.height);
|
|
57
|
+
this.drawColorGradient(this.selectorContext, false, ['#ffffff', this.barColor]);
|
|
58
|
+
this.drawColorGradient(this.selectorContext, true, ['rgba(0,0,0,0)', '#000']);
|
|
59
|
+
this.drawSelectorMarker();
|
|
60
|
+
}
|
|
61
|
+
redrawBar() {
|
|
62
|
+
this.barContext.clearRect(0, 0, this.barContext.canvas.width, this.barContext.canvas.height);
|
|
63
|
+
this.drawColorGradient(this.barContext, true, [
|
|
64
|
+
'#FF0000',
|
|
65
|
+
'#ffff00',
|
|
66
|
+
'#00FF00',
|
|
67
|
+
'#00FFFF',
|
|
68
|
+
'#0000FF',
|
|
69
|
+
'#FF00FF',
|
|
70
|
+
'#FF0000'
|
|
71
|
+
]);
|
|
72
|
+
this.drawBarMarker();
|
|
73
|
+
}
|
|
74
|
+
drawColorGradient(ctxt, vertical = true, colors) {
|
|
75
|
+
const gradientArgs = vertical
|
|
76
|
+
? [0, 0, 0, ctxt.canvas.height]
|
|
77
|
+
: [0, 0, ctxt.canvas.width, 0];
|
|
78
|
+
let gradient = ctxt.createLinearGradient(...gradientArgs);
|
|
79
|
+
colors.forEach((color, idx) => {
|
|
80
|
+
gradient.addColorStop(idx / (colors.length - 1), color);
|
|
81
|
+
});
|
|
82
|
+
ctxt.fillStyle = gradient;
|
|
83
|
+
ctxt.fillRect(0, 0, ctxt.canvas.width, ctxt.canvas.height);
|
|
84
|
+
}
|
|
85
|
+
drawSelectorMarker() {
|
|
86
|
+
const gradient = this.selectorContext.createRadialGradient(this.markerSelectorPosition[0], this.markerSelectorPosition[1], this.innerRadius, this.markerSelectorPosition[0], this.markerSelectorPosition[1], this.outerRadius);
|
|
87
|
+
gradient.addColorStop(0, 'rgba(0,0,0,0)');
|
|
88
|
+
gradient.addColorStop(1, '#ffffff');
|
|
89
|
+
this.selectorContext.beginPath();
|
|
90
|
+
this.selectorContext.arc(this.markerSelectorPosition[0], this.markerSelectorPosition[1], this.outerRadius, 0, 2 * Math.PI);
|
|
91
|
+
this.selectorContext.fillStyle = gradient;
|
|
92
|
+
this.selectorContext.fill();
|
|
93
|
+
this.selectorContext.stroke();
|
|
94
|
+
}
|
|
95
|
+
drawBarMarker() {
|
|
96
|
+
this.barContext.strokeStyle = '2px solid black';
|
|
97
|
+
this.barContext.beginPath();
|
|
98
|
+
this.barContext.moveTo(0, this.markerBarPosition - this.innerRadius);
|
|
99
|
+
this.barContext.lineTo(this.barContext.canvas.width, this.markerBarPosition - this.innerRadius);
|
|
100
|
+
this.barContext.stroke();
|
|
101
|
+
this.barContext.beginPath();
|
|
102
|
+
this.barContext.moveTo(0, this.markerBarPosition + this.innerRadius);
|
|
103
|
+
this.barContext.lineTo(this.barContext.canvas.width, this.markerBarPosition + this.innerRadius);
|
|
104
|
+
this.barContext.stroke();
|
|
105
|
+
}
|
|
106
|
+
selectColor($event, temporary = false) {
|
|
107
|
+
// Read pixel Color
|
|
108
|
+
const pixelColor = this.rgbToHex(...this.selectorContext.getImageData($event.offsetX, $event.offsetY, 1, 1)['data']);
|
|
109
|
+
if (!temporary) {
|
|
110
|
+
this.writeValue(pixelColor);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
this.temporaryColor = pixelColor;
|
|
114
|
+
}
|
|
115
|
+
this.markerSelectorPosition = [$event.offsetX, $event.offsetY];
|
|
116
|
+
this.redrawSelector();
|
|
117
|
+
$event.stopPropagation();
|
|
118
|
+
}
|
|
119
|
+
selectColorFromBar($event) {
|
|
120
|
+
this.markerBarPosition = $event.offsetY;
|
|
121
|
+
this.barColor = this.rgbToHex(...this.barContext.getImageData(20, $event.offsetY, 1, 1)['data']);
|
|
122
|
+
this.redrawBar();
|
|
123
|
+
this.redrawSelector();
|
|
124
|
+
this.selectColor({
|
|
125
|
+
offsetX: this.markerSelectorPosition[0],
|
|
126
|
+
offsetY: this.markerSelectorPosition[1],
|
|
127
|
+
stopPropagation: () => $event.stopPropagation()
|
|
128
|
+
}, true);
|
|
129
|
+
$event.stopPropagation();
|
|
130
|
+
}
|
|
131
|
+
componentToHex(c) {
|
|
132
|
+
return c.toString(16).padStart(2, '0');
|
|
133
|
+
}
|
|
134
|
+
rgbToHex(r, g, b) {
|
|
135
|
+
return '#' + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b);
|
|
136
|
+
}
|
|
137
|
+
clickInput($event) {
|
|
138
|
+
this.input.nativeElement.focus();
|
|
139
|
+
$event.stopPropagation();
|
|
140
|
+
}
|
|
141
|
+
inputColor($event) {
|
|
142
|
+
const possibleColor = !!$event ? ($event.indexOf('#') === -1 ? '#' + $event : $event) : '#FFFFFF';
|
|
143
|
+
if (/^#[0-9A-F]{6}$/i.test(possibleColor)) {
|
|
144
|
+
this.writeValue(possibleColor);
|
|
145
|
+
const rgba = this.strToRGBA(this.color);
|
|
146
|
+
const hsva = this.RGBAtoHSVA(rgba);
|
|
147
|
+
this.markerBarPosition = (this.barContext.canvas.height * hsva.h) / 360;
|
|
148
|
+
this.markerSelectorPosition = [
|
|
149
|
+
(this.selectorContext.canvas.width * hsva.s) / 100,
|
|
150
|
+
this.selectorContext.canvas.height * (1 - hsva.v / 100)
|
|
151
|
+
];
|
|
152
|
+
this.barColor = this.hslToHex(hsva.h, 100, 50);
|
|
153
|
+
this.redrawBar();
|
|
154
|
+
this.redrawSelector();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
strToRGBA(str) {
|
|
158
|
+
const regex = /^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i;
|
|
159
|
+
let match, rgba;
|
|
160
|
+
// Default to black for invalid color strings
|
|
161
|
+
this.selectorContext.fillStyle = '#000';
|
|
162
|
+
// Use canvas to convert the string to a valid color string
|
|
163
|
+
this.selectorContext.fillStyle = str;
|
|
164
|
+
match = regex.exec(this.selectorContext.fillStyle);
|
|
165
|
+
if (match) {
|
|
166
|
+
rgba = {
|
|
167
|
+
// @ts-ignore
|
|
168
|
+
r: match[3] * 1,
|
|
169
|
+
// @ts-ignore
|
|
170
|
+
g: match[4] * 1,
|
|
171
|
+
// @ts-ignore
|
|
172
|
+
b: match[5] * 1,
|
|
173
|
+
// @ts-ignore
|
|
174
|
+
a: match[6] * 1
|
|
175
|
+
};
|
|
176
|
+
// Workaround to mitigate a Chromium bug where the alpha value is rounded incorrectly
|
|
177
|
+
rgba.a = +rgba.a.toFixed(2);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
match = this.selectorContext.fillStyle
|
|
181
|
+
.replace('#', '')
|
|
182
|
+
.match(/.{2}/g)
|
|
183
|
+
.map((h) => parseInt(h, 16));
|
|
184
|
+
rgba = {
|
|
185
|
+
r: match[0],
|
|
186
|
+
g: match[1],
|
|
187
|
+
b: match[2],
|
|
188
|
+
a: 1
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return rgba;
|
|
192
|
+
}
|
|
193
|
+
RGBAtoHSVA(rgba) {
|
|
194
|
+
const red = rgba.r / 255;
|
|
195
|
+
const green = rgba.g / 255;
|
|
196
|
+
const blue = rgba.b / 255;
|
|
197
|
+
const xmax = Math.max(red, green, blue);
|
|
198
|
+
const xmin = Math.min(red, green, blue);
|
|
199
|
+
const chroma = xmax - xmin;
|
|
200
|
+
const value = xmax;
|
|
201
|
+
let hue = 0;
|
|
202
|
+
let saturation = 0;
|
|
203
|
+
if (chroma) {
|
|
204
|
+
if (xmax === red) {
|
|
205
|
+
hue = (green - blue) / chroma;
|
|
206
|
+
}
|
|
207
|
+
if (xmax === green) {
|
|
208
|
+
hue = 2 + (blue - red) / chroma;
|
|
209
|
+
}
|
|
210
|
+
if (xmax === blue) {
|
|
211
|
+
hue = 4 + (red - green) / chroma;
|
|
212
|
+
}
|
|
213
|
+
if (xmax) {
|
|
214
|
+
saturation = chroma / xmax;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
hue = Math.floor(hue * 60);
|
|
218
|
+
return {
|
|
219
|
+
h: hue < 0 ? hue + 360 : hue,
|
|
220
|
+
s: Math.round(saturation * 100),
|
|
221
|
+
v: Math.round(value * 100),
|
|
222
|
+
a: rgba.a
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
hslToHex(h, s, l) {
|
|
226
|
+
s /= 100;
|
|
227
|
+
l /= 100;
|
|
228
|
+
let c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs(((h / 60) % 2) - 1)), m = l - c / 2, r = 0, g = 0, b = 0;
|
|
229
|
+
if (0 <= h && h < 60) {
|
|
230
|
+
r = c;
|
|
231
|
+
g = x;
|
|
232
|
+
b = 0;
|
|
233
|
+
}
|
|
234
|
+
else if (60 <= h && h < 120) {
|
|
235
|
+
r = x;
|
|
236
|
+
g = c;
|
|
237
|
+
b = 0;
|
|
238
|
+
}
|
|
239
|
+
else if (120 <= h && h < 180) {
|
|
240
|
+
r = 0;
|
|
241
|
+
g = c;
|
|
242
|
+
b = x;
|
|
243
|
+
}
|
|
244
|
+
else if (180 <= h && h < 240) {
|
|
245
|
+
r = 0;
|
|
246
|
+
g = x;
|
|
247
|
+
b = c;
|
|
248
|
+
}
|
|
249
|
+
else if (240 <= h && h < 300) {
|
|
250
|
+
r = x;
|
|
251
|
+
g = 0;
|
|
252
|
+
b = c;
|
|
253
|
+
}
|
|
254
|
+
else if (300 <= h && h < 360) {
|
|
255
|
+
r = c;
|
|
256
|
+
g = 0;
|
|
257
|
+
b = x;
|
|
258
|
+
}
|
|
259
|
+
// Having obtained RGB, convert channels to hex
|
|
260
|
+
// @ts-ignore
|
|
261
|
+
r = Math.round((r + m) * 255).toString(16);
|
|
262
|
+
// @ts-ignore
|
|
263
|
+
g = Math.round((g + m) * 255).toString(16);
|
|
264
|
+
// @ts-ignore
|
|
265
|
+
b = Math.round((b + m) * 255).toString(16);
|
|
266
|
+
// Prepend 0s, if necessary
|
|
267
|
+
// @ts-ignore
|
|
268
|
+
if (r.length == 1)
|
|
269
|
+
r = '0' + r;
|
|
270
|
+
// @ts-ignore
|
|
271
|
+
if (g.length == 1)
|
|
272
|
+
g = '0' + g;
|
|
273
|
+
// @ts-ignore
|
|
274
|
+
if (b.length == 1)
|
|
275
|
+
b = '0' + b;
|
|
276
|
+
return '#' + r + g + b;
|
|
277
|
+
}
|
|
278
|
+
mouseMove($event) {
|
|
279
|
+
if ($event.buttons > 0) {
|
|
280
|
+
this.selectColor($event, true);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
mouseUp($event) {
|
|
284
|
+
this.selectColor($event, false);
|
|
285
|
+
}
|
|
286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryColorPickerComponent, selector: "pry-color-picker", providers: [
|
|
288
|
+
{
|
|
289
|
+
provide: NG_VALUE_ACCESSOR,
|
|
290
|
+
useExisting: forwardRef(() => PryColorPickerComponent),
|
|
291
|
+
multi: true
|
|
292
|
+
}
|
|
293
|
+
], viewQueries: [{ propertyName: "selector", first: true, predicate: ["selector"], descendants: true }, { propertyName: "bar", first: true, predicate: ["bar"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div\n class=\"a-color-picker\"\n (click)=\"togglePicker($event)\"\n [style.background-color]=\"temporaryColor ?? color\"\n [title]=\"color\"\n role=\"button\"\n>\n <div class=\"a-color-picker__modal\" [style.display]=\"picking ? 'flex' : 'none'\">\n <div class=\"a-color-picker__modal__backdrop\">\n <canvas\n #selector\n class=\"a-color-picker__modal__selector\"\n (mousemove)=\"mouseMove($event)\"\n (mouseup)=\"mouseUp($event)\"\n height=\"300\"\n width=\"300\"\n ></canvas>\n <canvas\n #bar\n class=\"a-color-picker__modal__bar\"\n (click)=\"selectColorFromBar($event)\"\n height=\"300\"\n width=\"40\"\n ></canvas>\n <div class=\"a-color-picker__modal__input\" (click)=\"clickInput($event)\">\n #<input [ngModel]=\"(color ?? '#').substring(1)\" (ngModelChange)=\"inputColor($event)\" #input />\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
294
|
+
}
|
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerComponent, decorators: [{
|
|
296
|
+
type: Component,
|
|
297
|
+
args: [{ selector: 'pry-color-picker', providers: [
|
|
298
|
+
{
|
|
299
|
+
provide: NG_VALUE_ACCESSOR,
|
|
300
|
+
useExisting: forwardRef(() => PryColorPickerComponent),
|
|
301
|
+
multi: true
|
|
302
|
+
}
|
|
303
|
+
], template: "<div\n class=\"a-color-picker\"\n (click)=\"togglePicker($event)\"\n [style.background-color]=\"temporaryColor ?? color\"\n [title]=\"color\"\n role=\"button\"\n>\n <div class=\"a-color-picker__modal\" [style.display]=\"picking ? 'flex' : 'none'\">\n <div class=\"a-color-picker__modal__backdrop\">\n <canvas\n #selector\n class=\"a-color-picker__modal__selector\"\n (mousemove)=\"mouseMove($event)\"\n (mouseup)=\"mouseUp($event)\"\n height=\"300\"\n width=\"300\"\n ></canvas>\n <canvas\n #bar\n class=\"a-color-picker__modal__bar\"\n (click)=\"selectColorFromBar($event)\"\n height=\"300\"\n width=\"40\"\n ></canvas>\n <div class=\"a-color-picker__modal__input\" (click)=\"clickInput($event)\">\n #<input [ngModel]=\"(color ?? '#').substring(1)\" (ngModelChange)=\"inputColor($event)\" #input />\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
304
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selector: [{
|
|
305
|
+
type: ViewChild,
|
|
306
|
+
args: ['selector']
|
|
307
|
+
}], bar: [{
|
|
308
|
+
type: ViewChild,
|
|
309
|
+
args: ['bar']
|
|
310
|
+
}], input: [{
|
|
311
|
+
type: ViewChild,
|
|
312
|
+
args: ['input']
|
|
313
|
+
}] } });
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWN6RSxNQUFNLE9BQU8sdUJBQXVCO0lBcUJsQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXBCMUMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBSSxTQUFTLENBQUM7UUFDbkIsYUFBUSxHQUFXLFNBQVMsQ0FBQztRQUM3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQU16QiwyQkFBc0IsR0FBcUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEQsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBR3RCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO0lBRzZCLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lB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LEdBQUc7c0JBQXBCLFNBQVM7dUJBQUMsS0FBSztnQkFLSSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWNvbG9yLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5Q29sb3JQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5Q29sb3JQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4ge307XG4gIGNvbG9yPyA9ICcjMDAwMDAwJztcbiAgYmFyQ29sb3I6IHN0cmluZyA9ICcjMDAwMGZmJztcbiAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgaW5oaWJhdGUgPSB0cnVlO1xuICBwaWNraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0b3InKSBzZWxlY3RvciE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuICBzZWxlY3RvckNvbnRleHQhOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIEBWaWV3Q2hpbGQoJ2JhcicpIGJhciE6IEVsZW1lbnRSZWY8SFRNTENhbnZhc0VsZW1lbnQ+O1xuICBiYXJDb250ZXh0ITogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEO1xuICBtYXJrZXJTZWxlY3RvclBvc2l0aW9uOiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIDBdO1xuICBtYXJrZXJCYXJQb3NpdGlvbiA9IDA7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIGlubmVyUmFkaXVzID0gMztcbiAgb3V0ZXJSYWRpdXMgPSA4O1xuICB0ZW1wb3JhcnlDb2xvcj86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgLy8gRGVmaW5lIHdoYXQgc2hvdWxkIGhhcHBlbiBpbiB0aGlzIGNvbXBvbmVudCwgaWYgc29tZXRoaW5nIGNoYW5nZXMgb3V0c2lkZVxuICB3cml0ZVZhbHVlKGNvbG9yOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5jb2xvciAhPT0gY29sb3IgJiYgIXRoaXMuaW5oaWJhdGUpIHtcbiAgICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5jb2xvcik7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5pbnB1dENvbG9yKGNvbG9yKTtcbiAgICB9XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaGliYXRlID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RvckNvbnRleHQgPSB0aGlzLnNlbGVjdG9yLm5hdGl2ZUVsZW1lbnQuZ2V0Q29udGV4dCgnMmQnLCB7IHdpbGxSZWFkRnJlcXVlbnRseTogdHJ1ZSB9KSE7XG4gICAgdGhpcy5iYXJDb250ZXh0ID0gdGhpcy5iYXIubmF0aXZlRWxlbWVudC5nZXRDb250ZXh0KCcyZCcsIHsgd2lsbFJlYWRGcmVxdWVudGx5OiB0cnVlIH0pITtcbiAgfVxuXG4gIHRvZ2dsZVBpY2tlcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnBpY2tpbmcgPSAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5waWNraW5nO1xuICAgIGlmICghdGhpcy5waWNraW5nICYmIHRoaXMudGVtcG9yYXJ5Q29sb3IpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnRlbXBvcmFyeUNvbG9yKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucGlja2luZykge1xuICAgICAgdGhpcy5yZWRyYXdTZWxlY3RvcigpO1xuICAgICAgdGhpcy5yZWRyYXdCYXIoKTtcbiAgICB9XG4gIH1cblxuICByZWRyYXdTZWxlY3RvcigpIHtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5jbGVhclJlY3QoMCwgMCwgdGhpcy5zZWxlY3RvckNvbnRleHQuY2FudmFzLndpZHRoLCB0aGlzLnNlbGVjdG9yQ29udGV4dC5jYW52YXMuaGVpZ2h0KTtcbiAgICB0aGlzLmRyYXdDb2xvckdyYWRpZW50KHRoaXMuc2VsZWN0b3JDb250ZXh0LCBmYWxzZSwgWycjZmZmZmZmJywgdGhpcy5iYXJDb2xvcl0pO1xuICAgIHRoaXMuZHJhd0NvbG9yR3JhZGllbnQodGhpcy5zZWxlY3RvckNvbnRleHQsIHRydWUsIFsncmdiYSgwLDAsMCwwKScsICcjMDAwJ10pO1xuICAgIHRoaXMuZHJhd1NlbGVjdG9yTWFya2VyKCk7XG4gIH1cblxuICByZWRyYXdCYXIoKSB7XG4gICAgdGhpcy5iYXJDb250ZXh0LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmJhckNvbnRleHQuY2FudmFzLndpZHRoLCB0aGlzLmJhckNvbnRleHQuY2FudmFzLmhlaWdodCk7XG4gICAgdGhpcy5kcmF3Q29sb3JHcmFkaWVudCh0aGlzLmJhckNvbnRleHQsIHRydWUsIFtcbiAgICAgICcjRkYwMDAwJyxcbiAgICAgICcjZmZmZjAwJyxcbiAgICAgICcjMDBGRjAwJyxcbiAgICAgICcjMDBGRkZGJyxcbiAgICAgICcjMDAwMEZGJyxcbiAgICAgICcjRkYwMEZGJyxcbiAgICAgICcjRkYwMDAwJ1xuICAgIF0pO1xuICAgIHRoaXMuZHJhd0Jhck1hcmtlcigpO1xuICB9XG5cbiAgZHJhd0NvbG9yR3JhZGllbnQoY3R4dDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELCB2ZXJ0aWNhbCA9IHRydWUsIGNvbG9yczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBncmFkaWVudEFyZ3M6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdID0gdmVydGljYWxcbiAgICAgID8gWzAsIDAsIDAsIGN0eHQuY2FudmFzLmhlaWdodF1cbiAgICAgIDogWzAsIDAsIGN0eHQuY2FudmFzLndpZHRoLCAwXTtcbiAgICBsZXQgZ3JhZGllbnQgPSBjdHh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KC4uLmdyYWRpZW50QXJncyk7XG4gICAgY29sb3JzLmZvckVhY2goKGNvbG9yLCBpZHgpID0+IHtcbiAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcChpZHggLyAoY29sb3JzLmxlbmd0aCAtIDEpLCBjb2xvcik7XG4gICAgfSk7XG4gICAgY3R4dC5maWxsU3R5bGUgPSBncmFkaWVudDtcbiAgICBjdHh0LmZpbGxSZWN0KDAsIDAsIGN0eHQuY2FudmFzLndpZHRoLCBjdHh0LmNhbnZhcy5oZWlnaHQpO1xuICB9XG5cbiAgZHJhd1NlbGVjdG9yTWFya2VyKCkge1xuICAgIGNvbnN0IGdyYWRpZW50ID0gdGhpcy5zZWxlY3RvckNvbnRleHQuY3JlYXRlUmFkaWFsR3JhZGllbnQoXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMV0sXG4gICAgICB0aGlzLmlubmVyUmFkaXVzLFxuICAgICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uWzBdLFxuICAgICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uWzFdLFxuICAgICAgdGhpcy5vdXRlclJhZGl1c1xuICAgICk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICdyZ2JhKDAsMCwwLDApJyk7XG4gICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICcjZmZmZmZmJyk7XG5cbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5iZWdpblBhdGgoKTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5hcmMoXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMF0sXG4gICAgICB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMV0sXG4gICAgICB0aGlzLm91dGVyUmFkaXVzLFxuICAgICAgMCxcbiAgICAgIDIgKiBNYXRoLlBJXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGUgPSBncmFkaWVudDtcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsKCk7XG4gICAgdGhpcy5zZWxlY3RvckNvbnRleHQuc3Ryb2tlKCk7XG4gIH1cblxuICBkcmF3QmFyTWFya2VyKCkge1xuICAgIHRoaXMuYmFyQ29udGV4dC5zdHJva2VTdHlsZSA9ICcycHggc29saWQgYmxhY2snO1xuICAgIHRoaXMuYmFyQ29udGV4dC5iZWdpblBhdGgoKTtcbiAgICB0aGlzLmJhckNvbnRleHQubW92ZVRvKDAsIHRoaXMubWFya2VyQmFyUG9zaXRpb24gLSB0aGlzLmlubmVyUmFkaXVzKTtcbiAgICB0aGlzLmJhckNvbnRleHQubGluZVRvKHRoaXMuYmFyQ29udGV4dC5jYW52YXMud2lkdGgsIHRoaXMubWFya2VyQmFyUG9zaXRpb24gLSB0aGlzLmlubmVyUmFkaXVzKTtcbiAgICB0aGlzLmJhckNvbnRleHQuc3Ryb2tlKCk7XG4gICAgdGhpcy5iYXJDb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5tb3ZlVG8oMCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiArIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5saW5lVG8odGhpcy5iYXJDb250ZXh0LmNhbnZhcy53aWR0aCwgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiArIHRoaXMuaW5uZXJSYWRpdXMpO1xuICAgIHRoaXMuYmFyQ29udGV4dC5zdHJva2UoKTtcbiAgfVxuXG4gIHNlbGVjdENvbG9yKCRldmVudDogTW91c2VFdmVudCwgdGVtcG9yYXJ5ID0gZmFsc2UpIHtcbiAgICAvLyBSZWFkIHBpeGVsIENvbG9yXG4gICAgY29uc3QgcGl4ZWxDb2xvciA9IHRoaXMucmdiVG9IZXgoXG4gICAgICAuLi4odGhpcy5zZWxlY3RvckNvbnRleHQuZ2V0SW1hZ2VEYXRhKCRldmVudC5vZmZzZXRYLCAkZXZlbnQub2Zmc2V0WSwgMSwgMSlbJ2RhdGEnXSBhcyB1bmtub3duIGFzIFtcbiAgICAgICAgbnVtYmVyLFxuICAgICAgICBudW1iZXIsXG4gICAgICAgIG51bWJlclxuICAgICAgXSlcbiAgICApO1xuICAgIGlmICghdGVtcG9yYXJ5KSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUocGl4ZWxDb2xvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGVtcG9yYXJ5Q29sb3IgPSBwaXhlbENvbG9yO1xuICAgIH1cblxuICAgIHRoaXMubWFya2VyU2VsZWN0b3JQb3NpdGlvbiA9IFskZXZlbnQub2Zmc2V0WCwgJGV2ZW50Lm9mZnNldFldO1xuICAgIHRoaXMucmVkcmF3U2VsZWN0b3IoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBzZWxlY3RDb2xvckZyb21CYXIoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5tYXJrZXJCYXJQb3NpdGlvbiA9ICRldmVudC5vZmZzZXRZO1xuICAgIHRoaXMuYmFyQ29sb3IgPSB0aGlzLnJnYlRvSGV4KFxuICAgICAgLi4uKHRoaXMuYmFyQ29udGV4dC5nZXRJbWFnZURhdGEoMjAsICRldmVudC5vZmZzZXRZLCAxLCAxKVsnZGF0YSddIGFzIHVua25vd24gYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXJdKVxuICAgICk7XG4gICAgdGhpcy5yZWRyYXdCYXIoKTtcbiAgICB0aGlzLnJlZHJhd1NlbGVjdG9yKCk7XG4gICAgdGhpcy5zZWxlY3RDb2xvcihcbiAgICAgIHtcbiAgICAgICAgb2Zmc2V0WDogdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uWzBdLFxuICAgICAgICBvZmZzZXRZOiB0aGlzLm1hcmtlclNlbGVjdG9yUG9zaXRpb25bMV0sXG4gICAgICAgIHN0b3BQcm9wYWdhdGlvbjogKCkgPT4gJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICB9IGFzIHVua25vd24gYXMgTW91c2VFdmVudCxcbiAgICAgIHRydWVcbiAgICApO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGNvbXBvbmVudFRvSGV4KGM6IG51bWJlcikge1xuICAgIHJldHVybiBjLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCAnMCcpO1xuICB9XG5cbiAgcmdiVG9IZXgocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlcikge1xuICAgIHJldHVybiAnIycgKyB0aGlzLmNvbXBvbmVudFRvSGV4KHIpICsgdGhpcy5jb21wb25lbnRUb0hleChnKSArIHRoaXMuY29tcG9uZW50VG9IZXgoYik7XG4gIH1cblxuICBjbGlja0lucHV0KCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGlucHV0Q29sb3IoJGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBwb3NzaWJsZUNvbG9yID0gISEkZXZlbnQgPyAoJGV2ZW50LmluZGV4T2YoJyMnKSA9PT0gLTEgPyAnIycgKyAkZXZlbnQgOiAkZXZlbnQpIDogJyNGRkZGRkYnO1xuICAgIGlmICgvXiNbMC05QS1GXXs2fSQvaS50ZXN0KHBvc3NpYmxlQ29sb3IpKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUocG9zc2libGVDb2xvcik7XG4gICAgICBjb25zdCByZ2JhID0gdGhpcy5zdHJUb1JHQkEodGhpcy5jb2xvciEpO1xuICAgICAgY29uc3QgaHN2YSA9IHRoaXMuUkdCQXRvSFNWQShyZ2JhKTtcbiAgICAgIHRoaXMubWFya2VyQmFyUG9zaXRpb24gPSAodGhpcy5iYXJDb250ZXh0LmNhbnZhcy5oZWlnaHQgKiBoc3ZhLmgpIC8gMzYwO1xuICAgICAgdGhpcy5tYXJrZXJTZWxlY3RvclBvc2l0aW9uID0gW1xuICAgICAgICAodGhpcy5zZWxlY3RvckNvbnRleHQuY2FudmFzLndpZHRoICogaHN2YS5zKSAvIDEwMCxcbiAgICAgICAgdGhpcy5zZWxlY3RvckNvbnRleHQuY2FudmFzLmhlaWdodCAqICgxIC0gaHN2YS52IC8gMTAwKVxuICAgICAgXTtcbiAgICAgIHRoaXMuYmFyQ29sb3IgPSB0aGlzLmhzbFRvSGV4KGhzdmEuaCwgMTAwLCA1MCk7XG4gICAgICB0aGlzLnJlZHJhd0JhcigpO1xuICAgICAgdGhpcy5yZWRyYXdTZWxlY3RvcigpO1xuICAgIH1cbiAgfVxuXG4gIHN0clRvUkdCQShzdHI6IHN0cmluZykge1xuICAgIGNvbnN0IHJlZ2V4ID0gL14oKHJnYmEpfHJnYilbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSsoW1xcZC5dKylbXFxEXSo/KFtcXGQuXSt8JCkvaTtcbiAgICBsZXQgbWF0Y2gsIHJnYmE7XG5cbiAgICAvLyBEZWZhdWx0IHRvIGJsYWNrIGZvciBpbnZhbGlkIGNvbG9yIHN0cmluZ3NcbiAgICB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGUgPSAnIzAwMCc7XG5cbiAgICAvLyBVc2UgY2FudmFzIHRvIGNvbnZlcnQgdGhlIHN0cmluZyB0byBhIHZhbGlkIGNvbG9yIHN0cmluZ1xuICAgIHRoaXMuc2VsZWN0b3JDb250ZXh0LmZpbGxTdHlsZSA9IHN0cjtcbiAgICBtYXRjaCA9IHJlZ2V4LmV4ZWModGhpcy5zZWxlY3RvckNvbnRleHQuZmlsbFN0eWxlKTtcblxuICAgIGlmIChtYXRjaCkge1xuICAgICAgcmdiYSA9IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByOiBtYXRjaFszXSAqIDEsXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgZzogbWF0Y2hbNF0gKiAxLFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGI6IG1hdGNoWzVdICogMSxcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBhOiBtYXRjaFs2XSAqIDFcbiAgICAgIH07XG5cbiAgICAgIC8vIFdvcmthcm91bmQgdG8gbWl0aWdhdGUgYSBDaHJvbWl1bSBidWcgd2hlcmUgdGhlIGFscGhhIHZhbHVlIGlzIHJvdW5kZWQgaW5jb3JyZWN0bHlcbiAgICAgIHJnYmEuYSA9ICtyZ2JhLmEudG9GaXhlZCgyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWF0Y2ggPSB0aGlzLnNlbGVjdG9yQ29udGV4dC5maWxsU3R5bGVcbiAgICAgICAgLnJlcGxhY2UoJyMnLCAnJylcbiAgICAgICAgLm1hdGNoKC8uezJ9L2cpIVxuICAgICAgICAubWFwKChoKSA9PiBwYXJzZUludChoLCAxNikpO1xuICAgICAgcmdiYSA9IHtcbiAgICAgICAgcjogbWF0Y2hbMF0sXG4gICAgICAgIGc6IG1hdGNoWzFdLFxuICAgICAgICBiOiBtYXRjaFsyXSxcbiAgICAgICAgYTogMVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmdiYTtcbiAgfVxuXG4gIFJHQkF0b0hTVkEocmdiYTogYW55KSB7XG4gICAgY29uc3QgcmVkID0gcmdiYS5yIC8gMjU1O1xuICAgIGNvbnN0IGdyZWVuID0gcmdiYS5nIC8gMjU1O1xuICAgIGNvbnN0IGJsdWUgPSByZ2JhLmIgLyAyNTU7XG4gICAgY29uc3QgeG1heCA9IE1hdGgubWF4KHJlZCwgZ3JlZW4sIGJsdWUpO1xuICAgIGNvbnN0IHhtaW4gPSBNYXRoLm1pbihyZWQsIGdyZWVuLCBibHVlKTtcbiAgICBjb25zdCBjaHJvbWEgPSB4bWF4IC0geG1pbjtcbiAgICBjb25zdCB2YWx1ZSA9IHhtYXg7XG4gICAgbGV0IGh1ZSA9IDA7XG4gICAgbGV0IHNhdHVyYXRpb24gPSAwO1xuXG4gICAgaWYgKGNocm9tYSkge1xuICAgICAgaWYgKHhtYXggPT09IHJlZCkge1xuICAgICAgICBodWUgPSAoZ3JlZW4gLSBibHVlKSAvIGNocm9tYTtcbiAgICAgIH1cbiAgICAgIGlmICh4bWF4ID09PSBncmVlbikge1xuICAgICAgICBodWUgPSAyICsgKGJsdWUgLSByZWQpIC8gY2hyb21hO1xuICAgICAgfVxuICAgICAgaWYgKHhtYXggPT09IGJsdWUpIHtcbiAgICAgICAgaHVlID0gNCArIChyZWQgLSBncmVlbikgLyBjaHJvbWE7XG4gICAgICB9XG4gICAgICBpZiAoeG1heCkge1xuICAgICAgICBzYXR1cmF0aW9uID0gY2hyb21hIC8geG1heDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBodWUgPSBNYXRoLmZsb29yKGh1ZSAqIDYwKTtcblxuICAgIHJldHVybiB7XG4gICAgICBoOiBodWUgPCAwID8gaHVlICsgMzYwIDogaHVlLFxuICAgICAgczogTWF0aC5yb3VuZChzYXR1cmF0aW9uICogMTAwKSxcbiAgICAgIHY6IE1hdGgucm91bmQodmFsdWUgKiAxMDApLFxuICAgICAgYTogcmdiYS5hXG4gICAgfTtcbiAgfVxuXG4gIGhzbFRvSGV4KGg6IG51bWJlciwgczogbnVtYmVyLCBsOiBudW1iZXIpIHtcbiAgICBzIC89IDEwMDtcbiAgICBsIC89IDEwMDtcblxuICAgIGxldCBjID0gKDEgLSBNYXRoLmFicygyICogbCAtIDEpKSAqIHMsXG4gICAgICB4ID0gYyAqICgxIC0gTWF0aC5hYnMoKChoIC8gNjApICUgMikgLSAxKSksXG4gICAgICBtID0gbCAtIGMgLyAyLFxuICAgICAgciA9IDAsXG4gICAgICBnID0gMCxcbiAgICAgIGIgPSAwO1xuXG4gICAgaWYgKDAgPD0gaCAmJiBoIDwgNjApIHtcbiAgICAgIHIgPSBjO1xuICAgICAgZyA9IHg7XG4gICAgICBiID0gMDtcbiAgICB9IGVsc2UgaWYgKDYwIDw9IGggJiYgaCA8IDEyMCkge1xuICAgICAgciA9IHg7XG4gICAgICBnID0gYztcbiAgICAgIGIgPSAwO1xuICAgIH0gZWxzZSBpZiAoMTIwIDw9IGggJiYgaCA8IDE4MCkge1xuICAgICAgciA9IDA7XG4gICAgICBnID0gYztcbiAgICAgIGIgPSB4O1xuICAgIH0gZWxzZSBpZiAoMTgwIDw9IGggJiYgaCA8IDI0MCkge1xuICAgICAgciA9IDA7XG4gICAgICBnID0geDtcbiAgICAgIGIgPSBjO1xuICAgIH0gZWxzZSBpZiAoMjQwIDw9IGggJiYgaCA8IDMwMCkge1xuICAgICAgciA9IHg7XG4gICAgICBnID0gMDtcbiAgICAgIGIgPSBjO1xuICAgIH0gZWxzZSBpZiAoMzAwIDw9IGggJiYgaCA8IDM2MCkge1xuICAgICAgciA9IGM7XG4gICAgICBnID0gMDtcbiAgICAgIGIgPSB4O1xuICAgIH1cbiAgICAvLyBIYXZpbmcgb2J0YWluZWQgUkdCLCBjb252ZXJ0IGNoYW5uZWxzIHRvIGhleFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByID0gTWF0aC5yb3VuZCgociArIG0pICogMjU1KS50b1N0cmluZygxNik7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGcgPSBNYXRoLnJvdW5kKChnICsgbSkgKiAyNTUpLnRvU3RyaW5nKDE2KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgYiA9IE1hdGgucm91bmQoKGIgKyBtKSAqIDI1NSkudG9TdHJpbmcoMTYpO1xuXG4gICAgLy8gUHJlcGVuZCAwcywgaWYgbmVjZXNzYXJ5XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmIChyLmxlbmd0aCA9PSAxKSByID0gJzAnICsgcjtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKGcubGVuZ3RoID09IDEpIGcgPSAnMCcgKyBnO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoYi5sZW5ndGggPT0gMSkgYiA9ICcwJyArIGI7XG5cbiAgICByZXR1cm4gJyMnICsgciArIGcgKyBiO1xuICB9XG5cbiAgbW91c2VNb3ZlKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICgkZXZlbnQuYnV0dG9ucyA+IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0Q29sb3IoJGV2ZW50LCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBtb3VzZVVwKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0Q29sb3IoJGV2ZW50LCBmYWxzZSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhLWNvbG9yLXBpY2tlclwiXG4gIChjbGljayk9XCJ0b2dnbGVQaWNrZXIoJGV2ZW50KVwiXG4gIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cInRlbXBvcmFyeUNvbG9yID8/IGNvbG9yXCJcbiAgW3RpdGxlXT1cImNvbG9yXCJcbiAgcm9sZT1cImJ1dHRvblwiXG4+XG4gIDxkaXYgY2xhc3M9XCJhLWNvbG9yLXBpY2tlcl9fbW9kYWxcIiBbc3R5bGUuZGlzcGxheV09XCJwaWNraW5nID8gJ2ZsZXgnIDogJ25vbmUnXCI+XG4gICAgPGRpdiBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbF9fYmFja2Ryb3BcIj5cbiAgICAgIDxjYW52YXNcbiAgICAgICAgI3NlbGVjdG9yXG4gICAgICAgIGNsYXNzPVwiYS1jb2xvci1waWNrZXJfX21vZGFsX19zZWxlY3RvclwiXG4gICAgICAgIChtb3VzZW1vdmUpPVwibW91c2VNb3ZlKCRldmVudClcIlxuICAgICAgICAobW91c2V1cCk9XCJtb3VzZVVwKCRldmVudClcIlxuICAgICAgICBoZWlnaHQ9XCIzMDBcIlxuICAgICAgICB3aWR0aD1cIjMwMFwiXG4gICAgICA+PC9jYW52YXM+XG4gICAgICA8Y2FudmFzXG4gICAgICAgICNiYXJcbiAgICAgICAgY2xhc3M9XCJhLWNvbG9yLXBpY2tlcl9fbW9kYWxfX2JhclwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RDb2xvckZyb21CYXIoJGV2ZW50KVwiXG4gICAgICAgIGhlaWdodD1cIjMwMFwiXG4gICAgICAgIHdpZHRoPVwiNDBcIlxuICAgICAgPjwvY2FudmFzPlxuICAgICAgPGRpdiBjbGFzcz1cImEtY29sb3ItcGlja2VyX19tb2RhbF9faW5wdXRcIiAoY2xpY2spPVwiY2xpY2tJbnB1dCgkZXZlbnQpXCI+XG4gICAgICAgICM8aW5wdXQgW25nTW9kZWxdPVwiKGNvbG9yID8/ICcjJykuc3Vic3RyaW5nKDEpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiaW5wdXRDb2xvcigkZXZlbnQpXCIgI2lucHV0IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { PryColorPickerComponent } from './color-picker.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
const PRY_COLORPICKER_COMPONENTS = [PryColorPickerComponent];
|
|
7
|
+
export class PryColorPickerModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerModule, declarations: [PryColorPickerComponent], imports: [CommonModule, FormsModule], exports: [PryColorPickerComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerModule, imports: [CommonModule, FormsModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryColorPickerModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [CommonModule, FormsModule],
|
|
16
|
+
declarations: [...PRY_COLORPICKER_COMPONENTS],
|
|
17
|
+
exports: [...PRY_COLORPICKER_COMPONENTS]
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVuRSxNQUFNLDBCQUEwQixHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQU83RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixpQkFQRyx1QkFBdUIsYUFHL0MsWUFBWSxFQUFFLFdBQVcsYUFIRCx1QkFBdUI7K0dBTzlDLG9CQUFvQixZQUpyQixZQUFZLEVBQUUsV0FBVzs7MkZBSXhCLG9CQUFvQjtrQkFMaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDO29CQUM3QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLDBCQUEwQixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQcnlDb2xvclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5cbmNvbnN0IFBSWV9DT0xPUlBJQ0tFUl9DT01QT05FTlRTID0gW1ByeUNvbG9yUGlja2VyQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5QUllfQ09MT1JQSUNLRVJfQ09NUE9ORU5UU10sXG4gIGV4cG9ydHM6IFsuLi5QUllfQ09MT1JQSUNLRVJfQ09NUE9ORU5UU11cbn0pXG5leHBvcnQgY2xhc3MgUHJ5Q29sb3JQaWNrZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdm9seS1kYXNoYm9hcmQtY29tcG9uZW50cy1jb2xvci1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9wcm92b2x5LWRhc2hib2FyZC1jb21wb25lbnRzLWNvbG9yLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './color-picker.module';
|
|
2
|
+
export * from './color-picker.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2xvci1waWNrZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdm9seS1kYXNoYm9hcmQtY29tcG9uZW50cy1zY2hlbWUtcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9zY2hlbWUtcGlja2VyL3Byb3ZvbHktZGFzaGJvYXJkLWNvbXBvbmVudHMtc2NoZW1lLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './scheme-picker.module';
|
|
2
|
+
export * from './scheme-picker.component';
|
|
3
|
+
export * from './scheme.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc2NoZW1lLXBpY2tlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zY2hlbWUtcGlja2VyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1lLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { BehaviorSubject, map } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./scheme.service";
|
|
6
|
+
import * as i2 from "@provoly/dashboard";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
import * as i5 from "@provoly/dashboard/components/color-picker";
|
|
10
|
+
export class PrySchemePickerComponent {
|
|
11
|
+
constructor(_cd, schemeService, i18nService) {
|
|
12
|
+
this._cd = _cd;
|
|
13
|
+
this.schemeService = schemeService;
|
|
14
|
+
this.i18nService = i18nService;
|
|
15
|
+
this.onChange = () => { };
|
|
16
|
+
this.onTouch = () => { };
|
|
17
|
+
this.scheme$ = new BehaviorSubject('Provoly');
|
|
18
|
+
this.inhibate = true;
|
|
19
|
+
this.disabled = false;
|
|
20
|
+
this.schemes$ = this.schemeService.schemeIds$.pipe(map((schemes) => {
|
|
21
|
+
let customNumber = 1;
|
|
22
|
+
return schemes.map((scheme, idx) => ({
|
|
23
|
+
id: scheme,
|
|
24
|
+
label: scheme.indexOf('#') === 0 ? this.i18nService.instant('@pry.widget.custom', { id: customNumber++ }) : scheme
|
|
25
|
+
}));
|
|
26
|
+
}));
|
|
27
|
+
this.schemeColors$ = this.scheme$.pipe(map((scheme) => this.schemeService.getSchemeColors(scheme)));
|
|
28
|
+
}
|
|
29
|
+
registerOnChange(fn) {
|
|
30
|
+
this.onChange = fn;
|
|
31
|
+
}
|
|
32
|
+
registerOnTouched(fn) {
|
|
33
|
+
this.onTouch = fn;
|
|
34
|
+
}
|
|
35
|
+
// Define what should happen in this component, if something changes outside
|
|
36
|
+
writeValue(scheme) {
|
|
37
|
+
if (this.scheme$.getValue() !== scheme && !this.inhibate) {
|
|
38
|
+
this.scheme$.next(scheme);
|
|
39
|
+
this.onChange(this.scheme$.getValue());
|
|
40
|
+
this.onTouch();
|
|
41
|
+
this._cd.markForCheck();
|
|
42
|
+
this.schemeService.assertScheme(this.scheme$.getValue());
|
|
43
|
+
this.temporaryDisable();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
setDisabledState(isDisabled) {
|
|
47
|
+
this.disabled = isDisabled;
|
|
48
|
+
this._cd.markForCheck();
|
|
49
|
+
}
|
|
50
|
+
temporaryDisable() {
|
|
51
|
+
this.inhibate = true;
|
|
52
|
+
setTimeout(() => {
|
|
53
|
+
this.inhibate = false;
|
|
54
|
+
}, 100);
|
|
55
|
+
}
|
|
56
|
+
ngAfterViewInit() {
|
|
57
|
+
this.temporaryDisable();
|
|
58
|
+
}
|
|
59
|
+
changeColorScheme($event) {
|
|
60
|
+
if ($event === '#') {
|
|
61
|
+
this.writeValue(this.schemeService.getSchemeColors(this.schemeService.getDefaultScheme()).join(','));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.writeValue($event);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
modifyColorScheme($event, index) {
|
|
68
|
+
if (!this.inhibate) {
|
|
69
|
+
const newScheme = [...this.schemeService.getSchemeColors(this.scheme$.getValue())];
|
|
70
|
+
newScheme[index] = $event;
|
|
71
|
+
this.writeValue(newScheme.join(','));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
addColorToScheme() {
|
|
75
|
+
this.writeValue(this.schemeService
|
|
76
|
+
.getSchemeColors(this.scheme$.getValue())
|
|
77
|
+
.concat('#' + this.schemeService.randomColor())
|
|
78
|
+
.join(','));
|
|
79
|
+
}
|
|
80
|
+
removeColorFromScheme(index) {
|
|
81
|
+
const newScheme = [...this.schemeService.getSchemeColors(this.scheme$.getValue())];
|
|
82
|
+
newScheme.splice(index, 1);
|
|
83
|
+
this.writeValue(newScheme.join(','));
|
|
84
|
+
}
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PrySchemeService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PrySchemePickerComponent, selector: "pry-scheme-picker", providers: [
|
|
87
|
+
{
|
|
88
|
+
provide: NG_VALUE_ACCESSOR,
|
|
89
|
+
useExisting: forwardRef(() => PrySchemePickerComponent),
|
|
90
|
+
multi: true
|
|
91
|
+
}
|
|
92
|
+
], ngImport: i0, template: "<div class=\"m-color-scheme\">\n <label class=\"a-label\" for=\"scheme\">{{ '@pry.widget.colorScheme' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"scheme$ | async\"\n [itemsAsOption]=\"true\"\n [items]=\"schemes$ | async\"\n id=\"scheme\"\n bindValue=\"id\"\n bindLabel=\"label\"\n ></pry-select>\n</div>\n\n<div class=\"m-color-scheme__display\">\n <div class=\"m-color-scheme__display__item\" *ngFor=\"let colorScheme of schemeColors$ | async; let i = index\">\n <pry-color-picker [ngModel]=\"colorScheme\" (ngModelChange)=\"modifyColorScheme($event, i)\"></pry-color-picker>\n <button\n (click)=\"removeColorFromScheme(i)\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.widget.removeColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.removeColor' | i18n }}</span>\n <pry-icon iconSvg=\"trash\"></pry-icon>\n </button>\n </div>\n <button\n (click)=\"addColorToScheme()\"\n class=\"a-btn a-btn--primary a-btn--icon-only\"\n title=\"{{ '@pry.widget.addColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.addColor' | i18n }}</span>\n <pry-icon iconSvg=\"add\"></pry-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i5.PryColorPickerComponent, selector: "pry-color-picker" }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
|
|
93
|
+
}
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ selector: 'pry-scheme-picker', providers: [
|
|
97
|
+
{
|
|
98
|
+
provide: NG_VALUE_ACCESSOR,
|
|
99
|
+
useExisting: forwardRef(() => PrySchemePickerComponent),
|
|
100
|
+
multi: true
|
|
101
|
+
}
|
|
102
|
+
], template: "<div class=\"m-color-scheme\">\n <label class=\"a-label\" for=\"scheme\">{{ '@pry.widget.colorScheme' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"changeColorScheme($event)\"\n [ngModel]=\"scheme$ | async\"\n [itemsAsOption]=\"true\"\n [items]=\"schemes$ | async\"\n id=\"scheme\"\n bindValue=\"id\"\n bindLabel=\"label\"\n ></pry-select>\n</div>\n\n<div class=\"m-color-scheme__display\">\n <div class=\"m-color-scheme__display__item\" *ngFor=\"let colorScheme of schemeColors$ | async; let i = index\">\n <pry-color-picker [ngModel]=\"colorScheme\" (ngModelChange)=\"modifyColorScheme($event, i)\"></pry-color-picker>\n <button\n (click)=\"removeColorFromScheme(i)\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.widget.removeColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.removeColor' | i18n }}</span>\n <pry-icon iconSvg=\"trash\"></pry-icon>\n </button>\n </div>\n <button\n (click)=\"addColorToScheme()\"\n class=\"a-btn a-btn--primary a-btn--icon-only\"\n title=\"{{ '@pry.widget.addColor' | i18n }}\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.widget.addColor' | i18n }}</span>\n <pry-icon iconSvg=\"add\"></pry-icon>\n </button>\n</div>\n" }]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.PrySchemeService }, { type: i2.PryI18nService }]; } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBZXhELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFDVSxHQUFzQixFQUN0QixhQUErQixFQUMvQixXQUEyQjtRQUYzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBWHJDLGFBQVEsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDekIsWUFBTyxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVMsU0FBUyxDQUFDLENBQUM7UUFFakQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBUWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2QsSUFBSSxZQUFZLEdBQUcsQ0FB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aW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJ5U2NoZW1lU2VydmljZSB9IGZyb20gJy4vc2NoZW1lLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNjaGVtZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NoZW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlTY2hlbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2NoZW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuICBvbkNoYW5nZTogYW55ID0gKCkgPT4ge307XG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuICBzY2hlbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdQcm92b2x5Jyk7XG4gIHNjaGVtZXMkOiBPYnNlcnZhYmxlPHsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W10+O1xuICBpbmhpYmF0ZSA9IHRydWU7XG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIHNjaGVtZUNvbG9ycyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNjaGVtZVNlcnZpY2U6IFByeVNjaGVtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zY2hlbWVzJCA9IHRoaXMuc2NoZW1lU2VydmljZS5zY2hlbWVJZHMkLnBpcGUoXG4gICAgICBtYXAoKHNjaGVtZXMpID0+IHtcbiAgICAgICAgbGV0IGN1c3RvbU51bWJlciA9IDE7XG4gICAgICAgIHJldHVybiBzY2hlbWVzLm1hcCgoc2NoZW1lLCBpZHgpID0+ICh7XG4gICAgICAgICAgaWQ6IHNjaGVtZSxcbiAgICAgICAgICBsYWJlbDpcbiAgICAgICAgICAgIHNjaGVtZS5pbmRleE9mKCcjJykgPT09IDAgPyB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0Bwcnkud2lkZ2V0LmN1c3RvbScsIHsgaWQ6IGN1c3RvbU51bWJlcisrIH0pIDogc2NoZW1lXG4gICAgICAgIH0pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNjaGVtZUNvbG9ycyQgPSB0aGlzLnNjaGVtZSQucGlwZShtYXAoKHNjaGVtZSkgPT4gdGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyhzY2hlbWUpKSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICAvLyBEZWZpbmUgd2hhdCBzaG91bGQgaGFwcGVuIGluIHRoaXMgY29tcG9uZW50LCBpZiBzb21ldGhpbmcgY2hhbmdlcyBvdXRzaWRlXG4gIHdyaXRlVmFsdWUoc2NoZW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkgIT09IHNjaGVtZSAmJiAhdGhpcy5pbmhpYmF0ZSkge1xuICAgICAgdGhpcy5zY2hlbWUkLm5leHQoc2NoZW1lKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuc2NoZW1lU2VydmljZS5hc3NlcnRTY2hlbWUodGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpO1xuICAgICAgdGhpcy50ZW1wb3JhcnlEaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB0ZW1wb3JhcnlEaXNhYmxlKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pbmhpYmF0ZSA9IGZhbHNlO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50ZW1wb3JhcnlEaXNhYmxlKCk7XG4gIH1cblxuICBjaGFuZ2VDb2xvclNjaGVtZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQgPT09ICcjJykge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc2NoZW1lU2VydmljZS5nZXRTY2hlbWVDb2xvcnModGhpcy5zY2hlbWVTZXJ2aWNlLmdldERlZmF1bHRTY2hlbWUoKSkuam9pbignLCcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKCRldmVudCk7XG4gICAgfVxuICB9XG5cbiAgbW9kaWZ5Q29sb3JTY2hlbWUoJGV2ZW50OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUpIHtcbiAgICAgIGNvbnN0IG5ld1NjaGVtZSA9IFsuLi50aGlzLnNjaGVtZVNlcnZpY2UuZ2V0U2NoZW1lQ29sb3JzKHRoaXMuc2NoZW1lJC5nZXRWYWx1ZSgpKV07XG4gICAgICBuZXdTY2hlbWVbaW5kZXhdID0gJGV2ZW50O1xuICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1NjaGVtZS5qb2luKCcsJykpO1xuICAgIH1cbiAgfVxuXG4gIGFkZENvbG9yVG9TY2hlbWUoKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKFxuICAgICAgdGhpcy5zY2hlbWVTZXJ2aWNlXG4gICAgICAgIC5nZXRTY2hlbWVDb2xvcnModGhpcy5zY2hlbWUkLmdldFZhbHVlKCkpXG4gICAgICAgIC5jb25jYXQoJyMnICsgdGhpcy5zY2hlbWVTZXJ2aWNlLnJhbmRvbUNvbG9yKCkpXG4gICAgICAgIC5qb2luKCcsJylcbiAgICApO1xuICB9XG5cbiAgcmVtb3ZlQ29sb3JGcm9tU2NoZW1lKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXdTY2hlbWUgPSBbLi4udGhpcy5zY2hlbWVTZXJ2aWNlLmdldFNjaGVtZUNvbG9ycyh0aGlzLnNjaGVtZSQuZ2V0VmFsdWUoKSldO1xuICAgIG5ld1NjaGVtZS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMud3JpdGVWYWx1ZShuZXdTY2hlbWUuam9pbignLCcpKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lXCI+XG4gIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJzY2hlbWVcIj57eyAnQHByeS53aWRnZXQuY29sb3JTY2hlbWUnIHwgaTE4biB9fTwvbGFiZWw+XG4gIDxwcnktc2VsZWN0XG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlQ29sb3JTY2hlbWUoJGV2ZW50KVwiXG4gICAgW25nTW9kZWxdPVwic2NoZW1lJCB8IGFzeW5jXCJcbiAgICBbaXRlbXNBc09wdGlvbl09XCJ0cnVlXCJcbiAgICBbaXRlbXNdPVwic2NoZW1lcyQgfCBhc3luY1wiXG4gICAgaWQ9XCJzY2hlbWVcIlxuICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gID48L3ByeS1zZWxlY3Q+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm0tY29sb3Itc2NoZW1lX19kaXNwbGF5XCI+XG4gIDxkaXYgY2xhc3M9XCJtLWNvbG9yLXNjaGVtZV9fZGlzcGxheV9faXRlbVwiICpuZ0Zvcj1cImxldCBjb2xvclNjaGVtZSBvZiBzY2hlbWVDb2xvcnMkIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIj5cbiAgICA8cHJ5LWNvbG9yLXBpY2tlciBbbmdNb2RlbF09XCJjb2xvclNjaGVtZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm1vZGlmeUNvbG9yU2NoZW1lKCRldmVudCwgaSlcIj48L3ByeS1jb2xvci1waWNrZXI+XG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cInJlbW92ZUNvbG9yRnJvbVNjaGVtZShpKVwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgdGl0bGU9XCJ7eyAnQHByeS53aWRnZXQucmVtb3ZlQ29sb3InIHwgaTE4biB9fVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LndpZGdldC5yZW1vdmVDb2xvcicgfCBpMThuIH19PC9zcGFuPlxuICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ0cmFzaFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgKGNsaWNrKT1cImFkZENvbG9yVG9TY2hlbWUoKVwiXG4gICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeSBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICB0aXRsZT1cInt7ICdAcHJ5LndpZGdldC5hZGRDb2xvcicgfCBpMThuIH19XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS53aWRnZXQuYWRkQ29sb3InIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFkZFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { PrySchemePickerComponent } from './scheme-picker.component';
|
|
5
|
+
import { PryI18nModule, PryIconModule, PrySelectModule } from '@provoly/dashboard';
|
|
6
|
+
import { PryColorPickerModule } from '@provoly/dashboard/components/color-picker';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
const PRY_SCHEMEPICKER_COMPONENTS = [PrySchemePickerComponent];
|
|
9
|
+
export class PrySchemePickerModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerModule, declarations: [PrySchemePickerComponent], imports: [CommonModule, FormsModule, PryI18nModule, PrySelectModule, PryColorPickerModule, PryIconModule], exports: [PrySchemePickerComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerModule, imports: [CommonModule, FormsModule, PryI18nModule, PrySelectModule, PryColorPickerModule, PryIconModule] }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySchemePickerModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
imports: [CommonModule, FormsModule, PryI18nModule, PrySelectModule, PryColorPickerModule, PryIconModule],
|
|
18
|
+
declarations: [...PRY_SCHEMEPICKER_COMPONENTS],
|
|
19
|
+
exports: [...PRY_SCHEMEPICKER_COMPONENTS]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NjaGVtZS1waWNrZXIvc2NoZW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQUVsRixNQUFNLDJCQUEyQixHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQU8vRCxNQUFNLE9BQU8scUJBQXFCOzhHQUFyQixxQkFBcUI7K0dBQXJCLHFCQUFxQixpQkFQRyx3QkFBd0IsYUFHakQsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsYUFIckUsd0JBQXdCOytHQU9oRCxxQkFBcUIsWUFKdEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGFBQWE7OzJGQUk3RixxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQztvQkFDekcsWUFBWSxFQUFFLENBQUMsR0FBRywyQkFBMkIsQ0FBQztvQkFDOUMsT0FBTyxFQUFFLENBQUMsR0FBRywyQkFBMkIsQ0FBQztpQkFDMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUHJ5U2NoZW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9zY2hlbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcnlJMThuTW9kdWxlLCBQcnlJY29uTW9kdWxlLCBQcnlTZWxlY3RNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5Q29sb3JQaWNrZXJNb2R1bGUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9jb2xvci1waWNrZXInO1xuXG5jb25zdCBQUllfU0NIRU1FUElDS0VSX0NPTVBPTkVOVFMgPSBbUHJ5U2NoZW1lUGlja2VyQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFByeUkxOG5Nb2R1bGUsIFByeVNlbGVjdE1vZHVsZSwgUHJ5Q29sb3JQaWNrZXJNb2R1bGUsIFByeUljb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFsuLi5QUllfU0NIRU1FUElDS0VSX0NPTVBPTkVOVFNdLFxuICBleHBvcnRzOiBbLi4uUFJZX1NDSEVNRVBJQ0tFUl9DT01QT05FTlRTXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlTY2hlbWVQaWNrZXJNb2R1bGUge31cbiJdfQ==
|