ngx-color 8.0.2 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/alpha/alpha-picker.component.d.ts +1 -1
- package/alpha.component.d.ts +1 -1
- package/block/block-swatches.component.d.ts +1 -1
- package/block/block.component.d.ts +1 -1
- package/checkboard.component.d.ts +1 -1
- package/chrome/chrome-fields.component.d.ts +1 -1
- package/chrome/chrome.component.d.ts +1 -1
- package/circle/circle-swatch.component.d.ts +1 -1
- package/circle/circle.component.d.ts +1 -1
- package/color-wrap.component.d.ts +1 -1
- package/compact/compact-color.component.d.ts +1 -1
- package/compact/compact-fields.component.d.ts +1 -1
- package/compact/compact.component.d.ts +1 -1
- package/coordinates.directive.d.ts +1 -1
- package/editable-input.component.d.ts +1 -1
- package/esm2022/alpha/alpha-picker.component.mjs +102 -0
- package/esm2022/alpha.component.mjs +146 -0
- package/esm2022/block/block-swatches.component.mjs +63 -0
- package/esm2022/block/block.component.mjs +160 -0
- package/esm2022/checkboard.component.mjs +53 -0
- package/esm2022/chrome/chrome-fields.component.mjs +317 -0
- package/esm2022/chrome/chrome.component.mjs +187 -0
- package/esm2022/circle/circle-swatch.component.mjs +69 -0
- package/esm2022/circle/circle.component.mjs +136 -0
- package/esm2022/color-wrap.component.mjs +173 -0
- package/esm2022/compact/compact-color.component.mjs +71 -0
- package/esm2022/compact/compact-fields.component.mjs +165 -0
- package/esm2022/compact/compact.component.mjs +156 -0
- package/esm2022/coordinates.directive.mjs +108 -0
- package/esm2022/editable-input.component.mjs +212 -0
- package/esm2022/github/github-swatch.component.mjs +53 -0
- package/esm2022/github/github.component.mjs +114 -0
- package/esm2022/hue/hue-picker.component.mjs +102 -0
- package/esm2022/hue.component.mjs +128 -0
- package/esm2022/material/material.component.mjs +188 -0
- package/esm2022/photoshop/photoshop-button.component.mjs +33 -0
- package/esm2022/photoshop/photoshop-fields.component.mjs +214 -0
- package/esm2022/photoshop/photoshop-previews.component.mjs +40 -0
- package/esm2022/photoshop/photoshop.component.mjs +187 -0
- package/esm2022/raised.component.mjs +50 -0
- package/esm2022/saturation.component.mjs +100 -0
- package/esm2022/shade/shade-picker.component.mjs +94 -0
- package/esm2022/shade.component.mjs +133 -0
- package/esm2022/sketch/sketch-fields.component.mjs +211 -0
- package/esm2022/sketch/sketch-preset-colors.component.mjs +68 -0
- package/esm2022/sketch/sketch.component.mjs +215 -0
- package/esm2022/slider/slider-swatch.component.mjs +55 -0
- package/esm2022/slider/slider-swatches.component.mjs +119 -0
- package/esm2022/slider/slider.component.mjs +104 -0
- package/esm2022/swatch.component.mjs +112 -0
- package/esm2022/swatches/swatches-color.component.mjs +105 -0
- package/esm2022/swatches/swatches-group.component.mjs +50 -0
- package/esm2022/swatches/swatches.component.mjs +244 -0
- package/esm2022/twitter/twitter.component.mjs +161 -0
- package/{fesm2020 → fesm2022}/ngx-color-alpha.mjs +30 -30
- package/fesm2022/ngx-color-alpha.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngx-color-block.mjs +65 -66
- package/fesm2022/ngx-color-block.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ngx-color-chrome.mjs +77 -74
- package/{fesm2020 → fesm2022}/ngx-color-chrome.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ngx-color-circle.mjs +61 -62
- package/fesm2022/ngx-color-circle.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ngx-color-compact.mjs +136 -136
- package/{fesm2015 → fesm2022}/ngx-color-compact.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ngx-color-github.mjs +53 -54
- package/{fesm2020 → fesm2022}/ngx-color-github.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngx-color-hue.mjs +32 -32
- package/fesm2022/ngx-color-hue.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ngx-color-material.mjs +59 -59
- package/{fesm2015 → fesm2022}/ngx-color-material.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngx-color-photoshop.mjs +111 -113
- package/{fesm2015 → fesm2022}/ngx-color-photoshop.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ngx-color-shade.mjs +29 -29
- package/fesm2022/ngx-color-shade.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ngx-color-sketch.mjs +96 -95
- package/fesm2022/ngx-color-sketch.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/ngx-color-slider.mjs +46 -45
- package/{fesm2015 → fesm2022}/ngx-color-slider.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/ngx-color-swatches.mjs +182 -182
- package/fesm2022/ngx-color-swatches.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/ngx-color-twitter.mjs +55 -55
- package/{fesm2015 → fesm2022}/ngx-color-twitter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/ngx-color.mjs +200 -160
- package/fesm2022/ngx-color.mjs.map +1 -0
- package/github/github-swatch.component.d.ts +1 -1
- package/github/github.component.d.ts +1 -1
- package/hue/hue-picker.component.d.ts +1 -1
- package/hue.component.d.ts +1 -1
- package/material/material.component.d.ts +1 -1
- package/package.json +59 -84
- package/photoshop/photoshop-button.component.d.ts +1 -1
- package/photoshop/photoshop-fields.component.d.ts +1 -1
- package/photoshop/photoshop-previews.component.d.ts +1 -1
- package/photoshop/photoshop.component.d.ts +1 -1
- package/raised.component.d.ts +2 -2
- package/saturation.component.d.ts +1 -1
- package/shade/shade-picker.component.d.ts +1 -1
- package/shade.component.d.ts +1 -1
- package/sketch/sketch-fields.component.d.ts +1 -1
- package/sketch/sketch-preset-colors.component.d.ts +1 -1
- package/sketch/sketch.component.d.ts +1 -1
- package/slider/slider-swatch.component.d.ts +1 -1
- package/slider/slider-swatches.component.d.ts +1 -1
- package/slider/slider.component.d.ts +1 -1
- package/swatch.component.d.ts +1 -1
- package/swatches/swatches-color.component.d.ts +1 -1
- package/swatches/swatches-group.component.d.ts +1 -1
- package/swatches/swatches.component.d.ts +1 -1
- package/twitter/twitter.component.d.ts +1 -1
- package/esm2020/alpha/alpha-picker.component.mjs +0 -100
- package/esm2020/alpha.component.mjs +0 -138
- package/esm2020/block/block-swatches.component.mjs +0 -63
- package/esm2020/block/block.component.mjs +0 -158
- package/esm2020/checkboard.component.mjs +0 -50
- package/esm2020/chrome/chrome-fields.component.mjs +0 -314
- package/esm2020/chrome/chrome.component.mjs +0 -184
- package/esm2020/circle/circle-swatch.component.mjs +0 -69
- package/esm2020/circle/circle.component.mjs +0 -134
- package/esm2020/color-wrap.component.mjs +0 -163
- package/esm2020/compact/compact-color.component.mjs +0 -70
- package/esm2020/compact/compact-fields.component.mjs +0 -164
- package/esm2020/compact/compact.component.mjs +0 -154
- package/esm2020/coordinates.directive.mjs +0 -104
- package/esm2020/editable-input.component.mjs +0 -199
- package/esm2020/github/github-swatch.component.mjs +0 -53
- package/esm2020/github/github.component.mjs +0 -112
- package/esm2020/hue/hue-picker.component.mjs +0 -100
- package/esm2020/hue.component.mjs +0 -124
- package/esm2020/material/material.component.mjs +0 -186
- package/esm2020/photoshop/photoshop-button.component.mjs +0 -34
- package/esm2020/photoshop/photoshop-fields.component.mjs +0 -212
- package/esm2020/photoshop/photoshop-previews.component.mjs +0 -40
- package/esm2020/photoshop/photoshop.component.mjs +0 -185
- package/esm2020/raised.component.mjs +0 -50
- package/esm2020/saturation.component.mjs +0 -92
- package/esm2020/shade/shade-picker.component.mjs +0 -92
- package/esm2020/shade.component.mjs +0 -125
- package/esm2020/sketch/sketch-fields.component.mjs +0 -209
- package/esm2020/sketch/sketch-preset-colors.component.mjs +0 -68
- package/esm2020/sketch/sketch.component.mjs +0 -212
- package/esm2020/slider/slider-swatch.component.mjs +0 -52
- package/esm2020/slider/slider-swatches.component.mjs +0 -119
- package/esm2020/slider/slider.component.mjs +0 -102
- package/esm2020/swatch.component.mjs +0 -110
- package/esm2020/swatches/swatches-color.component.mjs +0 -104
- package/esm2020/swatches/swatches-group.component.mjs +0 -49
- package/esm2020/swatches/swatches.component.mjs +0 -242
- package/esm2020/twitter/twitter.component.mjs +0 -159
- package/fesm2015/ngx-color-alpha.mjs +0 -107
- package/fesm2015/ngx-color-alpha.mjs.map +0 -1
- package/fesm2015/ngx-color-block.mjs +0 -223
- package/fesm2015/ngx-color-block.mjs.map +0 -1
- package/fesm2015/ngx-color-chrome.mjs.map +0 -1
- package/fesm2015/ngx-color-circle.mjs.map +0 -1
- package/fesm2015/ngx-color-github.mjs.map +0 -1
- package/fesm2015/ngx-color-hue.mjs +0 -107
- package/fesm2015/ngx-color-hue.mjs.map +0 -1
- package/fesm2015/ngx-color-photoshop.mjs +0 -467
- package/fesm2015/ngx-color-shade.mjs.map +0 -1
- package/fesm2015/ngx-color-sketch.mjs.map +0 -1
- package/fesm2015/ngx-color-slider.mjs +0 -273
- package/fesm2015/ngx-color-swatches.mjs.map +0 -1
- package/fesm2015/ngx-color.mjs +0 -1202
- package/fesm2015/ngx-color.mjs.map +0 -1
- package/fesm2020/ngx-color-alpha.mjs.map +0 -1
- package/fesm2020/ngx-color-block.mjs.map +0 -1
- package/fesm2020/ngx-color-chrome.mjs +0 -499
- package/fesm2020/ngx-color-circle.mjs +0 -207
- package/fesm2020/ngx-color-circle.mjs.map +0 -1
- package/fesm2020/ngx-color-compact.mjs +0 -385
- package/fesm2020/ngx-color-compact.mjs.map +0 -1
- package/fesm2020/ngx-color-github.mjs +0 -169
- package/fesm2020/ngx-color-hue.mjs.map +0 -1
- package/fesm2020/ngx-color-material.mjs +0 -193
- package/fesm2020/ngx-color-material.mjs.map +0 -1
- package/fesm2020/ngx-color-photoshop.mjs.map +0 -1
- package/fesm2020/ngx-color-shade.mjs +0 -99
- package/fesm2020/ngx-color-shade.mjs.map +0 -1
- package/fesm2020/ngx-color-sketch.mjs +0 -485
- package/fesm2020/ngx-color-sketch.mjs.map +0 -1
- package/fesm2020/ngx-color-slider.mjs.map +0 -1
- package/fesm2020/ngx-color-swatches.mjs +0 -391
- package/fesm2020/ngx-color-swatches.mjs.map +0 -1
- package/fesm2020/ngx-color-twitter.mjs +0 -166
- package/fesm2020/ngx-color-twitter.mjs.map +0 -1
- package/fesm2020/ngx-color.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alpha/ngx-color-alpha.mjs +0 -0
- /package/{esm2020 → esm2022}/alpha/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/block/ngx-color-block.mjs +0 -0
- /package/{esm2020 → esm2022}/block/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/chrome/ngx-color-chrome.mjs +0 -0
- /package/{esm2020 → esm2022}/chrome/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/circle/ngx-color-circle.mjs +0 -0
- /package/{esm2020 → esm2022}/circle/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/compact/ngx-color-compact.mjs +0 -0
- /package/{esm2020 → esm2022}/compact/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/github/ngx-color-github.mjs +0 -0
- /package/{esm2020 → esm2022}/github/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/checkboard.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/color.interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/color.mjs +0 -0
- /package/{esm2020 → esm2022}/hue/ngx-color-hue.mjs +0 -0
- /package/{esm2020 → esm2022}/hue/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/material/ngx-color-material.mjs +0 -0
- /package/{esm2020 → esm2022}/material/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-color.mjs +0 -0
- /package/{esm2020 → esm2022}/photoshop/ngx-color-photoshop.mjs +0 -0
- /package/{esm2020 → esm2022}/photoshop/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/shade/ngx-color-shade.mjs +0 -0
- /package/{esm2020 → esm2022}/shade/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/sketch/ngx-color-sketch.mjs +0 -0
- /package/{esm2020 → esm2022}/sketch/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/ngx-color-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/swatches/ngx-color-swatches.mjs +0 -0
- /package/{esm2020 → esm2022}/swatches/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/twitter/ngx-color-twitter.mjs +0 -0
- /package/{esm2020 → esm2022}/twitter/public_api.mjs +0 -0
@@ -0,0 +1,187 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
|
3
|
+
import { AlphaModule, CheckboardModule, ColorWrap, EditableInputModule, HueModule, SaturationModule } from 'ngx-color';
|
4
|
+
import { ChromeFieldsComponent } from './chrome-fields.component';
|
5
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
import * as i1 from "@angular/common";
|
8
|
+
import * as i2 from "ngx-color";
|
9
|
+
class ChromeComponent extends ColorWrap {
|
10
|
+
/** Remove alpha slider and options from picker */
|
11
|
+
disableAlpha = false;
|
12
|
+
circle = {
|
13
|
+
width: '12px',
|
14
|
+
height: '12px',
|
15
|
+
borderRadius: '6px',
|
16
|
+
boxShadow: 'rgb(255, 255, 255) 0px 0px 0px 1px inset',
|
17
|
+
transform: 'translate(-6px, -8px)',
|
18
|
+
};
|
19
|
+
pointer = {
|
20
|
+
width: '12px',
|
21
|
+
height: '12px',
|
22
|
+
borderRadius: '6px',
|
23
|
+
transform: 'translate(-6px, -2px)',
|
24
|
+
backgroundColor: 'rgb(248, 248, 248)',
|
25
|
+
boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
|
26
|
+
};
|
27
|
+
activeBackground;
|
28
|
+
constructor() {
|
29
|
+
super();
|
30
|
+
}
|
31
|
+
afterValidChange() {
|
32
|
+
const alpha = this.disableAlpha ? 1 : this.rgb.a;
|
33
|
+
this.activeBackground = `rgba(${this.rgb.r}, ${this.rgb.g}, ${this.rgb.b}, ${alpha})`;
|
34
|
+
}
|
35
|
+
handleValueChange({ data, $event }) {
|
36
|
+
this.handleChange(data, $event);
|
37
|
+
}
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChromeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ChromeComponent, selector: "color-chrome", inputs: { disableAlpha: "disableAlpha" }, providers: [
|
40
|
+
{
|
41
|
+
provide: NG_VALUE_ACCESSOR,
|
42
|
+
useExisting: forwardRef(() => ChromeComponent),
|
43
|
+
multi: true,
|
44
|
+
},
|
45
|
+
{
|
46
|
+
provide: ColorWrap,
|
47
|
+
useExisting: forwardRef(() => ChromeComponent),
|
48
|
+
},
|
49
|
+
], usesInheritance: true, ngImport: i0, template: `
|
50
|
+
<div class="chrome-picker {{ className }}">
|
51
|
+
<div class="saturation">
|
52
|
+
<color-saturation
|
53
|
+
[hsl]="hsl"
|
54
|
+
[hsv]="hsv"
|
55
|
+
[circle]="circle"
|
56
|
+
(onChange)="handleValueChange($event)"
|
57
|
+
></color-saturation>
|
58
|
+
</div>
|
59
|
+
<div class="chrome-body">
|
60
|
+
<div class="chrome-controls">
|
61
|
+
<div class="chrome-color">
|
62
|
+
<div class="chrome-swatch">
|
63
|
+
<div class="chrome-active"
|
64
|
+
[style.background]="activeBackground"
|
65
|
+
></div>
|
66
|
+
<color-checkboard></color-checkboard>
|
67
|
+
</div>
|
68
|
+
</div>
|
69
|
+
<div class="chrome-toggles">
|
70
|
+
<div class="chrome-hue">
|
71
|
+
<color-hue
|
72
|
+
[radius]="2"
|
73
|
+
[hsl]="hsl"
|
74
|
+
[pointer]="pointer"
|
75
|
+
(onChange)="handleValueChange($event)"
|
76
|
+
></color-hue>
|
77
|
+
</div>
|
78
|
+
<div class="chrome-alpha" *ngIf="!disableAlpha">
|
79
|
+
<color-alpha
|
80
|
+
[radius]="2" [rgb]="rgb" [hsl]="hsl"
|
81
|
+
[pointer]="pointer" (onChange)="handleValueChange($event)"
|
82
|
+
></color-alpha>
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
</div>
|
86
|
+
<color-chrome-fields
|
87
|
+
[rgb]="rgb" [hsl]="hsl" [hex]="hex"
|
88
|
+
[disableAlpha]="disableAlpha"
|
89
|
+
(onChange)="handleValueChange($event)"
|
90
|
+
></color-chrome-fields>
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
`, 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: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i2.AlphaComponent; }), selector: "color-alpha", inputs: ["hsl", "rgb", "pointer", "shadow", "radius", "direction"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(function () { return i2.CheckboardComponent; }), selector: "color-checkboard", inputs: ["white", "size", "grey", "boxShadow", "borderRadius"] }, { kind: "component", type: i0.forwardRef(function () { return i2.HueComponent; }), selector: "color-hue", inputs: ["hsl", "pointer", "radius", "shadow", "hidePointer", "direction"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(function () { return i2.SaturationComponent; }), selector: "color-saturation", inputs: ["hsl", "hsv", "radius", "pointer", "circle"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(function () { return ChromeFieldsComponent; }), selector: "color-chrome-fields", inputs: ["disableAlpha", "hsl", "rgb", "hex"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
94
|
+
}
|
95
|
+
export { ChromeComponent };
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChromeComponent, decorators: [{
|
97
|
+
type: Component,
|
98
|
+
args: [{ selector: 'color-chrome', template: `
|
99
|
+
<div class="chrome-picker {{ className }}">
|
100
|
+
<div class="saturation">
|
101
|
+
<color-saturation
|
102
|
+
[hsl]="hsl"
|
103
|
+
[hsv]="hsv"
|
104
|
+
[circle]="circle"
|
105
|
+
(onChange)="handleValueChange($event)"
|
106
|
+
></color-saturation>
|
107
|
+
</div>
|
108
|
+
<div class="chrome-body">
|
109
|
+
<div class="chrome-controls">
|
110
|
+
<div class="chrome-color">
|
111
|
+
<div class="chrome-swatch">
|
112
|
+
<div class="chrome-active"
|
113
|
+
[style.background]="activeBackground"
|
114
|
+
></div>
|
115
|
+
<color-checkboard></color-checkboard>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
<div class="chrome-toggles">
|
119
|
+
<div class="chrome-hue">
|
120
|
+
<color-hue
|
121
|
+
[radius]="2"
|
122
|
+
[hsl]="hsl"
|
123
|
+
[pointer]="pointer"
|
124
|
+
(onChange)="handleValueChange($event)"
|
125
|
+
></color-hue>
|
126
|
+
</div>
|
127
|
+
<div class="chrome-alpha" *ngIf="!disableAlpha">
|
128
|
+
<color-alpha
|
129
|
+
[radius]="2" [rgb]="rgb" [hsl]="hsl"
|
130
|
+
[pointer]="pointer" (onChange)="handleValueChange($event)"
|
131
|
+
></color-alpha>
|
132
|
+
</div>
|
133
|
+
</div>
|
134
|
+
</div>
|
135
|
+
<color-chrome-fields
|
136
|
+
[rgb]="rgb" [hsl]="hsl" [hex]="hex"
|
137
|
+
[disableAlpha]="disableAlpha"
|
138
|
+
(onChange)="handleValueChange($event)"
|
139
|
+
></color-chrome-fields>
|
140
|
+
</div>
|
141
|
+
</div>
|
142
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
|
143
|
+
{
|
144
|
+
provide: NG_VALUE_ACCESSOR,
|
145
|
+
useExisting: forwardRef(() => ChromeComponent),
|
146
|
+
multi: true,
|
147
|
+
},
|
148
|
+
{
|
149
|
+
provide: ColorWrap,
|
150
|
+
useExisting: forwardRef(() => ChromeComponent),
|
151
|
+
},
|
152
|
+
], 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"] }]
|
153
|
+
}], ctorParameters: function () { return []; }, propDecorators: { disableAlpha: [{
|
154
|
+
type: Input
|
155
|
+
}] } });
|
156
|
+
class ColorChromeModule {
|
157
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorChromeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
158
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorChromeModule, declarations: [ChromeComponent, ChromeFieldsComponent], imports: [CommonModule,
|
159
|
+
AlphaModule,
|
160
|
+
CheckboardModule,
|
161
|
+
EditableInputModule,
|
162
|
+
HueModule,
|
163
|
+
SaturationModule], exports: [ChromeComponent, ChromeFieldsComponent] });
|
164
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorChromeModule, imports: [CommonModule,
|
165
|
+
AlphaModule,
|
166
|
+
CheckboardModule,
|
167
|
+
EditableInputModule,
|
168
|
+
HueModule,
|
169
|
+
SaturationModule] });
|
170
|
+
}
|
171
|
+
export { ColorChromeModule };
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorChromeModule, decorators: [{
|
173
|
+
type: NgModule,
|
174
|
+
args: [{
|
175
|
+
declarations: [ChromeComponent, ChromeFieldsComponent],
|
176
|
+
exports: [ChromeComponent, ChromeFieldsComponent],
|
177
|
+
imports: [
|
178
|
+
CommonModule,
|
179
|
+
AlphaModule,
|
180
|
+
CheckboardModule,
|
181
|
+
EditableInputModule,
|
182
|
+
HueModule,
|
183
|
+
SaturationModule,
|
184
|
+
],
|
185
|
+
}]
|
186
|
+
}] });
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hyb21lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY2hyb21lL2Nocm9tZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRW5ELE1Bc0hhLGVBQWdCLFNBQVEsU0FBUztJQUM1QyxrREFBa0Q7SUFDekMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixNQUFNLEdBQTJCO1FBQy9CLEtBQUssRUFBRSxNQUFNO1FBQ2IsTUFBTSxFQUFFLE1BQU07UUFDZCxZQUFZLEVBQUUsS0FBSztRQUNuQixTQUFTLEVBQUUsMENBQTBDO1FBQ3JELFNBQVMsRUFBRSx1QkFBdUI7S0FDbkMsQ0FBQztJQUNGLE9BQU8sR0FBMkI7UUFDaEMsS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLFlBQVksRUFBRSxLQUFLO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7UUFDbEMsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxTQUFTLEVBQUUsaUNBQWlDO0tBQzdDLENBQUM7SUFDRixnQkFBZ0IsQ0FBVTtJQUUxQjtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7SUFDeEYsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQTlCVSxlQUFlOzJGQUFmLGVBQWUsaUZBWmY7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDOUMsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQztTQUNGLGlEQWxIUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q1QsK3FEQTBHK0IscUJBQXFCOztTQWxDMUMsZUFBZTsyRkFBZixlQUFlO2tCQXRIM0IsU0FBUzsrQkFDRSxjQUFjLFlBQ2Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNENULG1CQTBEZ0IsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSyxhQUNmO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsU0FBUzs0QkFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7eUJBQy9DO3FCQUNGOzBFQUlRLFlBQVk7c0JBQXBCLEtBQUs7O0FBK0JSLE1BWWEsaUJBQWlCO3VHQUFqQixpQkFBaUI7d0dBQWpCLGlCQUFpQixpQkE3Q2pCLGVBQWUsRUFrQ00scUJBQXFCLGFBR25ELFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixTQUFTO1lBQ1QsZ0JBQWdCLGFBMUNQLGVBQWUsRUFtQ0MscUJBQXFCO3dHQVVyQyxpQkFBaUIsWUFSMUIsWUFBWTtZQUNaLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFNBQVM7WUFDVCxnQkFBZ0I7O1NBR1AsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBWjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLENBQUM7b0JBQ2pELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLFNBQVM7d0JBQ1QsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWxwaGFNb2R1bGUsIENoZWNrYm9hcmRNb2R1bGUsIENvbG9yV3JhcCwgRWRpdGFibGVJbnB1dE1vZHVsZSwgSHVlTW9kdWxlLCBTYXR1cmF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yJztcbmltcG9ydCB7IENocm9tZUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vY2hyb21lLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLWNocm9tZScsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJjaHJvbWUtcGlja2VyIHt7IGNsYXNzTmFtZSB9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzYXR1cmF0aW9uXCI+XG4gICAgICA8Y29sb3Itc2F0dXJhdGlvblxuICAgICAgICBbaHNsXT1cImhzbFwiXG4gICAgICAgIFtoc3ZdPVwiaHN2XCJcbiAgICAgICAgW2NpcmNsZV09XCJjaXJjbGVcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9jb2xvci1zYXR1cmF0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjaHJvbWUtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1jb250cm9sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWNvbG9yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1zd2F0Y2hcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaHJvbWUtYWN0aXZlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiYWN0aXZlQmFja2dyb3VuZFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICA8Y29sb3ItY2hlY2tib2FyZD48L2NvbG9yLWNoZWNrYm9hcmQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLXRvZ2dsZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hyb21lLWh1ZVwiPlxuICAgICAgICAgICAgPGNvbG9yLWh1ZVxuICAgICAgICAgICAgICBbcmFkaXVzXT1cIjJcIlxuICAgICAgICAgICAgICBbaHNsXT1cImhzbFwiXG4gICAgICAgICAgICAgIFtwb2ludGVyXT1cInBvaW50ZXJcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1odWU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNocm9tZS1hbHBoYVwiICpuZ0lmPVwiIWRpc2FibGVBbHBoYVwiPlxuICAgICAgICAgICAgPGNvbG9yLWFscGhhXG4gICAgICAgICAgICAgIFtyYWRpdXNdPVwiMlwiIFtyZ2JdPVwicmdiXCIgW2hzbF09XCJoc2xcIlxuICAgICAgICAgICAgICBbcG9pbnRlcl09XCJwb2ludGVyXCIgKG9uQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgPjwvY29sb3ItYWxwaGE+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8Y29sb3ItY2hyb21lLWZpZWxkc1xuICAgICAgICBbcmdiXT1cInJnYlwiIFtoc2xdPVwiaHNsXCIgW2hleF09XCJoZXhcIlxuICAgICAgICBbZGlzYWJsZUFscGhhXT1cImRpc2FibGVBbHBoYVwiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2NvbG9yLWNocm9tZS1maWVsZHM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuY2hyb21lLXBpY2tlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNZW5sbyc7XG4gICAgICB9XG4gICAgICAuY2hyb21lLWNvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtY29sb3Ige1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAxMnB4O1xuICAgICAgfVxuICAgICAgLmNocm9tZS1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtc3dhdGNoIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgICAgLnNhdHVyYXRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU1JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC5jaHJvbWUtdG9nZ2xlcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICAuY2hyb21lLWh1ZSB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG4gICAgICAuY2hyb21lLWFscGhhIHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENocm9tZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbG9yV3JhcCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENocm9tZUNvbXBvbmVudCksXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaHJvbWVDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogUmVtb3ZlIGFscGhhIHNsaWRlciBhbmQgb3B0aW9ucyBmcm9tIHBpY2tlciAqL1xuICBASW5wdXQoKSBkaXNhYmxlQWxwaGEgPSBmYWxzZTtcbiAgY2lyY2xlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHdpZHRoOiAnMTJweCcsXG4gICAgaGVpZ2h0OiAnMTJweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICBib3hTaGFkb3c6ICdyZ2IoMjU1LCAyNTUsIDI1NSkgMHB4IDBweCAwcHggMXB4IGluc2V0JyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTZweCwgLThweCknLFxuICB9O1xuICBwb2ludGVyOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHdpZHRoOiAnMTJweCcsXG4gICAgaGVpZ2h0OiAnMTJweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTZweCwgLTJweCknLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYigyNDgsIDI0OCwgMjQ4KScsXG4gICAgYm94U2hhZG93OiAnMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjM3KScsXG4gIH07XG4gIGFjdGl2ZUJhY2tncm91bmQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGFmdGVyVmFsaWRDaGFuZ2UoKSB7XG4gICAgY29uc3QgYWxwaGEgPSB0aGlzLmRpc2FibGVBbHBoYSA/IDEgOiB0aGlzLnJnYi5hO1xuICAgIHRoaXMuYWN0aXZlQmFja2dyb3VuZCA9IGByZ2JhKCR7dGhpcy5yZ2Iucn0sICR7dGhpcy5yZ2IuZ30sICR7dGhpcy5yZ2IuYn0sICR7YWxwaGF9KWA7XG4gIH1cbiAgaGFuZGxlVmFsdWVDaGFuZ2UoeyBkYXRhLCAkZXZlbnQgfSkge1xuICAgIHRoaXMuaGFuZGxlQ2hhbmdlKGRhdGEsICRldmVudCk7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ2hyb21lQ29tcG9uZW50LCBDaHJvbWVGaWVsZHNDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQ2hyb21lQ29tcG9uZW50LCBDaHJvbWVGaWVsZHNDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFscGhhTW9kdWxlLFxuICAgIENoZWNrYm9hcmRNb2R1bGUsXG4gICAgRWRpdGFibGVJbnB1dE1vZHVsZSxcbiAgICBIdWVNb2R1bGUsXG4gICAgU2F0dXJhdGlvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JDaHJvbWVNb2R1bGUge31cbiJdfQ==
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
import * as i1 from "ngx-color";
|
4
|
+
class CircleSwatchComponent {
|
5
|
+
color;
|
6
|
+
circleSize = 28;
|
7
|
+
circleSpacing = 14;
|
8
|
+
focus = false;
|
9
|
+
onClick = new EventEmitter();
|
10
|
+
onSwatchHover = new EventEmitter();
|
11
|
+
focusStyle = {};
|
12
|
+
swatchStyle = {
|
13
|
+
borderRadius: '50%',
|
14
|
+
background: 'transparent',
|
15
|
+
transition: '100ms box-shadow ease 0s',
|
16
|
+
};
|
17
|
+
ngOnChanges() {
|
18
|
+
this.swatchStyle.boxShadow = `inset 0 0 0 ${this.circleSize / 2}px ${this.color}`;
|
19
|
+
this.focusStyle.boxShadow = `inset 0 0 0 ${this.circleSize / 2}px ${this.color}, 0 0 5px ${this.color}`;
|
20
|
+
if (this.focus) {
|
21
|
+
this.focusStyle.boxShadow = `inset 0 0 0 3px ${this.color}, 0 0 5px ${this.color}`;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
handleClick({ hex, $event }) {
|
25
|
+
this.onClick.emit({ hex, $event });
|
26
|
+
}
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CircleSwatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: CircleSwatchComponent, selector: "color-circle-swatch", inputs: { color: "color", circleSize: "circleSize", circleSpacing: "circleSpacing", focus: "focus" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, usesOnChanges: true, ngImport: i0, template: `
|
29
|
+
<div class="circle-swatch"
|
30
|
+
[style.width.px]="circleSize" [style.height.px]="circleSize"
|
31
|
+
[style.margin-right.px]="circleSpacing" [style.margin-bottom.px]="circleSpacing"
|
32
|
+
>
|
33
|
+
<color-swatch
|
34
|
+
[color]="color" [style]="swatchStyle" [focus]="focus" [focusStyle]="focusStyle"
|
35
|
+
(onClick)="handleClick($event)" (onHover)="onSwatchHover.emit($event)">
|
36
|
+
</color-swatch>
|
37
|
+
<div class="clear"></div>
|
38
|
+
</div>
|
39
|
+
`, isInline: true, styles: [".circle-swatch{transform:scale(1);transition:transform .1s ease}.circle-swatch:hover{transform:scale(1.2)}\n"], dependencies: [{ kind: "component", type: i1.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
40
|
+
}
|
41
|
+
export { CircleSwatchComponent };
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CircleSwatchComponent, decorators: [{
|
43
|
+
type: Component,
|
44
|
+
args: [{ selector: 'color-circle-swatch', template: `
|
45
|
+
<div class="circle-swatch"
|
46
|
+
[style.width.px]="circleSize" [style.height.px]="circleSize"
|
47
|
+
[style.margin-right.px]="circleSpacing" [style.margin-bottom.px]="circleSpacing"
|
48
|
+
>
|
49
|
+
<color-swatch
|
50
|
+
[color]="color" [style]="swatchStyle" [focus]="focus" [focusStyle]="focusStyle"
|
51
|
+
(onClick)="handleClick($event)" (onHover)="onSwatchHover.emit($event)">
|
52
|
+
</color-swatch>
|
53
|
+
<div class="clear"></div>
|
54
|
+
</div>
|
55
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".circle-swatch{transform:scale(1);transition:transform .1s ease}.circle-swatch:hover{transform:scale(1.2)}\n"] }]
|
56
|
+
}], propDecorators: { color: [{
|
57
|
+
type: Input
|
58
|
+
}], circleSize: [{
|
59
|
+
type: Input
|
60
|
+
}], circleSpacing: [{
|
61
|
+
type: Input
|
62
|
+
}], focus: [{
|
63
|
+
type: Input
|
64
|
+
}], onClick: [{
|
65
|
+
type: Output
|
66
|
+
}], onSwatchHover: [{
|
67
|
+
type: Output
|
68
|
+
}] } });
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLXN3YXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NpcmNsZS9jaXJjbGUtc3dhdGNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCLE1BNEJhLHFCQUFxQjtJQUN2QixLQUFLLENBQVU7SUFDZixVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNiLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xELFVBQVUsR0FBMkIsRUFBRSxDQUFDO0lBQ3hDLFdBQVcsR0FBMkI7UUFDcEMsWUFBWSxFQUFFLEtBQUs7UUFDbkIsVUFBVSxFQUFFLGFBQWE7UUFDekIsVUFBVSxFQUFFLDBCQUEwQjtLQUN2QyxDQUFDO0lBRUYsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLGVBQWUsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLGVBQWdCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBRSxNQUFPLElBQUksQ0FBQyxLQUFNLGFBQWMsSUFBSSxDQUFDLEtBQU0sRUFBRSxDQUFDO1FBQzlHLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLG1CQUFvQixJQUFJLENBQUMsS0FBTSxhQUFjLElBQUksQ0FBQyxLQUFNLEVBQUUsQ0FBQztTQUN4RjtJQUNILENBQUM7SUFDRCxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFO1FBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0F2QlUscUJBQXFCOzJGQUFyQixxQkFBcUIsdVBBMUJ0Qjs7Ozs7Ozs7Ozs7R0FXVDs7U0FlVSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkE1QmpDLFNBQVM7K0JBQ0UscUJBQXFCLFlBQ3JCOzs7Ozs7Ozs7OztHQVdULG1CQVlnQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLOzhCQUdqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLWNpcmNsZS1zd2F0Y2gnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwiY2lyY2xlLXN3YXRjaFwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cImNpcmNsZVNpemVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImNpcmNsZVNpemVcIlxuICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiY2lyY2xlU3BhY2luZ1wiIFtzdHlsZS5tYXJnaW4tYm90dG9tLnB4XT1cImNpcmNsZVNwYWNpbmdcIlxuICAgID5cbiAgICA8Y29sb3Itc3dhdGNoXG4gICAgICBbY29sb3JdPVwiY29sb3JcIiBbc3R5bGVdPVwic3dhdGNoU3R5bGVcIiBbZm9jdXNdPVwiZm9jdXNcIiBbZm9jdXNTdHlsZV09XCJmb2N1c1N0eWxlXCJcbiAgICAgIChvbkNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAob25Ib3Zlcik9XCJvblN3YXRjaEhvdmVyLmVtaXQoJGV2ZW50KVwiPlxuICAgIDwvY29sb3Itc3dhdGNoPlxuICAgIDxkaXYgY2xhc3M9XCJjbGVhclwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAuY2lyY2xlLXN3YXRjaCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcbiAgfVxuICAuY2lyY2xlLXN3YXRjaDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2lyY2xlU3dhdGNoQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29sb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNpcmNsZVNpemUgPSAyODtcbiAgQElucHV0KCkgY2lyY2xlU3BhY2luZyA9IDE0O1xuICBASW5wdXQoKSBmb2N1cyA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBmb2N1c1N0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIHN3YXRjaFN0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICB0cmFuc2l0aW9uOiAnMTAwbXMgYm94LXNoYWRvdyBlYXNlIDBzJyxcbiAgfTtcblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN3YXRjaFN0eWxlLmJveFNoYWRvdyA9IGBpbnNldCAwIDAgMCAke3RoaXMuY2lyY2xlU2l6ZSAvIDJ9cHggJHt0aGlzLmNvbG9yfWA7XG4gICAgdGhpcy5mb2N1c1N0eWxlLmJveFNoYWRvdyA9IGBpbnNldCAwIDAgMCAkeyB0aGlzLmNpcmNsZVNpemUgLyAyIH1weCAkeyB0aGlzLmNvbG9yIH0sIDAgMCA1cHggJHsgdGhpcy5jb2xvciB9YDtcbiAgICBpZiAodGhpcy5mb2N1cykge1xuICAgICAgdGhpcy5mb2N1c1N0eWxlLmJveFNoYWRvdyA9IGBpbnNldCAwIDAgMCAzcHggJHsgdGhpcy5jb2xvciB9LCAwIDAgNXB4ICR7IHRoaXMuY29sb3IgfWA7XG4gICAgfVxuICB9XG4gIGhhbmRsZUNsaWNrKHsgaGV4LCAkZXZlbnQgfSkge1xuICAgIHRoaXMub25DbGljay5lbWl0KHsgaGV4LCAkZXZlbnQgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,136 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
|
3
|
+
import { amber, blue, blueGrey, brown, cyan, deepOrange, deepPurple, green, indigo, lightBlue, lightGreen, lime, orange, pink, purple, red, teal, yellow, } from 'material-colors';
|
4
|
+
import { TinyColor } from '@ctrl/tinycolor';
|
5
|
+
import { ColorWrap, isValidHex, SwatchModule } from 'ngx-color';
|
6
|
+
import { CircleSwatchComponent } from './circle-swatch.component';
|
7
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@angular/common";
|
10
|
+
class CircleComponent extends ColorWrap {
|
11
|
+
/** Pixel value for picker width */
|
12
|
+
width = 252;
|
13
|
+
/** Color squares to display */
|
14
|
+
colors = [
|
15
|
+
red['500'],
|
16
|
+
pink['500'],
|
17
|
+
purple['500'],
|
18
|
+
deepPurple['500'],
|
19
|
+
indigo['500'],
|
20
|
+
blue['500'],
|
21
|
+
lightBlue['500'],
|
22
|
+
cyan['500'],
|
23
|
+
teal['500'],
|
24
|
+
green['500'],
|
25
|
+
lightGreen['500'],
|
26
|
+
lime['500'],
|
27
|
+
yellow['500'],
|
28
|
+
amber['500'],
|
29
|
+
orange['500'],
|
30
|
+
deepOrange['500'],
|
31
|
+
brown['500'],
|
32
|
+
blueGrey['500'],
|
33
|
+
];
|
34
|
+
/** Value for circle size */
|
35
|
+
circleSize = 28;
|
36
|
+
/** Value for spacing between circles */
|
37
|
+
circleSpacing = 14;
|
38
|
+
constructor() {
|
39
|
+
super();
|
40
|
+
}
|
41
|
+
isActive(color) {
|
42
|
+
return new TinyColor(this.hex).equals(color);
|
43
|
+
}
|
44
|
+
handleBlockChange({ hex, $event }) {
|
45
|
+
if (isValidHex(hex)) {
|
46
|
+
this.handleChange({ hex, source: 'hex' }, $event);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
handleValueChange({ data, $event }) {
|
50
|
+
this.handleChange(data, $event);
|
51
|
+
}
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: CircleComponent, selector: "color-circle", inputs: { width: "width", colors: "colors", circleSize: "circleSize", circleSpacing: "circleSpacing" }, providers: [
|
54
|
+
{
|
55
|
+
provide: NG_VALUE_ACCESSOR,
|
56
|
+
useExisting: forwardRef(() => CircleComponent),
|
57
|
+
multi: true,
|
58
|
+
},
|
59
|
+
{
|
60
|
+
provide: ColorWrap,
|
61
|
+
useExisting: forwardRef(() => CircleComponent),
|
62
|
+
},
|
63
|
+
], usesInheritance: true, ngImport: i0, template: `
|
64
|
+
<div
|
65
|
+
class="circle-picker {{ className }}"
|
66
|
+
[style.width.px]="width"
|
67
|
+
[style.margin-right.px]="-circleSpacing"
|
68
|
+
[style.margin-bottom.px]="-circleSpacing"
|
69
|
+
>
|
70
|
+
<color-circle-swatch
|
71
|
+
*ngFor="let color of colors"
|
72
|
+
[circleSize]="circleSize"
|
73
|
+
[circleSpacing]="circleSpacing"
|
74
|
+
[color]="color"
|
75
|
+
[focus]="isActive(color)"
|
76
|
+
(onClick)="handleBlockChange($event)"
|
77
|
+
(onSwatchHover)="onSwatchHover.emit($event)"
|
78
|
+
></color-circle-swatch>
|
79
|
+
</div>
|
80
|
+
`, isInline: true, styles: [".circle-picker{display:flex;flex-wrap:wrap}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i0.forwardRef(function () { return CircleSwatchComponent; }), selector: "color-circle-swatch", inputs: ["color", "circleSize", "circleSpacing", "focus"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
81
|
+
}
|
82
|
+
export { CircleComponent };
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: CircleComponent, decorators: [{
|
84
|
+
type: Component,
|
85
|
+
args: [{ selector: 'color-circle', template: `
|
86
|
+
<div
|
87
|
+
class="circle-picker {{ className }}"
|
88
|
+
[style.width.px]="width"
|
89
|
+
[style.margin-right.px]="-circleSpacing"
|
90
|
+
[style.margin-bottom.px]="-circleSpacing"
|
91
|
+
>
|
92
|
+
<color-circle-swatch
|
93
|
+
*ngFor="let color of colors"
|
94
|
+
[circleSize]="circleSize"
|
95
|
+
[circleSpacing]="circleSpacing"
|
96
|
+
[color]="color"
|
97
|
+
[focus]="isActive(color)"
|
98
|
+
(onClick)="handleBlockChange($event)"
|
99
|
+
(onSwatchHover)="onSwatchHover.emit($event)"
|
100
|
+
></color-circle-swatch>
|
101
|
+
</div>
|
102
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
|
103
|
+
{
|
104
|
+
provide: NG_VALUE_ACCESSOR,
|
105
|
+
useExisting: forwardRef(() => CircleComponent),
|
106
|
+
multi: true,
|
107
|
+
},
|
108
|
+
{
|
109
|
+
provide: ColorWrap,
|
110
|
+
useExisting: forwardRef(() => CircleComponent),
|
111
|
+
},
|
112
|
+
], styles: [".circle-picker{display:flex;flex-wrap:wrap}\n"] }]
|
113
|
+
}], ctorParameters: function () { return []; }, propDecorators: { width: [{
|
114
|
+
type: Input
|
115
|
+
}], colors: [{
|
116
|
+
type: Input
|
117
|
+
}], circleSize: [{
|
118
|
+
type: Input
|
119
|
+
}], circleSpacing: [{
|
120
|
+
type: Input
|
121
|
+
}] } });
|
122
|
+
class ColorCircleModule {
|
123
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorCircleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
124
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorCircleModule, declarations: [CircleComponent, CircleSwatchComponent], imports: [CommonModule, SwatchModule], exports: [CircleComponent, CircleSwatchComponent] });
|
125
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorCircleModule, imports: [CommonModule, SwatchModule] });
|
126
|
+
}
|
127
|
+
export { ColorCircleModule };
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorCircleModule, decorators: [{
|
129
|
+
type: NgModule,
|
130
|
+
args: [{
|
131
|
+
declarations: [CircleComponent, CircleSwatchComponent],
|
132
|
+
exports: [CircleComponent, CircleSwatchComponent],
|
133
|
+
imports: [CommonModule, SwatchModule],
|
134
|
+
}]
|
135
|
+
}] });
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY2lyY2xlL2NpcmNsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLEdBQUcsRUFDSCxJQUFJLEVBQ0osTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRW5ELE1BMENhLGVBQWdCLFNBQVEsU0FBUztJQUM1QyxtQ0FBbUM7SUFDMUIsS0FBSyxHQUFvQixHQUFHLENBQUM7SUFDdEMsK0JBQStCO0lBRS9CLE1BQU0sR0FBYTtRQUNqQixHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDYixVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFD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LE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgYW1iZXIsXG4gIGJsdWUsXG4gIGJsdWVHcmV5LFxuICBicm93bixcbiAgY3lhbixcbiAgZGVlcE9yYW5nZSxcbiAgZGVlcFB1cnBsZSxcbiAgZ3JlZW4sXG4gIGluZGlnbyxcbiAgbGlnaHRCbHVlLFxuICBsaWdodEdyZWVuLFxuICBsaW1lLFxuICBvcmFuZ2UsXG4gIHBpbmssXG4gIHB1cnBsZSxcbiAgcmVkLFxuICB0ZWFsLFxuICB5ZWxsb3csXG59IGZyb20gJ21hdGVyaWFsLWNvbG9ycyc7XG5pbXBvcnQgeyBUaW55Q29sb3IgfSBmcm9tICdAY3RybC90aW55Y29sb3InO1xuXG5pbXBvcnQgeyBDb2xvcldyYXAsIGlzVmFsaWRIZXgsIFN3YXRjaE1vZHVsZSB9IGZyb20gJ25neC1jb2xvcic7XG5pbXBvcnQgeyBDaXJjbGVTd2F0Y2hDb21wb25lbnQgfSBmcm9tICcuL2NpcmNsZS1zd2F0Y2guY29tcG9uZW50JztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1jaXJjbGUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY2lyY2xlLXBpY2tlciB7eyBjbGFzc05hbWUgfX1cIlxuICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCJcbiAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiLWNpcmNsZVNwYWNpbmdcIlxuICAgICAgW3N0eWxlLm1hcmdpbi1ib3R0b20ucHhdPVwiLWNpcmNsZVNwYWNpbmdcIlxuICAgID5cbiAgICAgIDxjb2xvci1jaXJjbGUtc3dhdGNoXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb2xvciBvZiBjb2xvcnNcIlxuICAgICAgICBbY2lyY2xlU2l6ZV09XCJjaXJjbGVTaXplXCJcbiAgICAgICAgW2NpcmNsZVNwYWNpbmddPVwiY2lyY2xlU3BhY2luZ1wiXG4gICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgIFtmb2N1c109XCJpc0FjdGl2ZShjb2xvcilcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVCbG9ja0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uU3dhdGNoSG92ZXIpPVwib25Td2F0Y2hIb3Zlci5lbWl0KCRldmVudClcIlxuICAgICAgPjwvY29sb3ItY2lyY2xlLXN3YXRjaD5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLmNpcmNsZS1waWNrZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENpcmNsZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbG9yV3JhcCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENpcmNsZUNvbXBvbmVudCksXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaXJjbGVDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogUGl4ZWwgdmFsdWUgZm9yIHBpY2tlciB3aWR0aCAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gMjUyO1xuICAvKiogQ29sb3Igc3F1YXJlcyB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpXG4gIGNvbG9yczogc3RyaW5nW10gPSBbXG4gICAgcmVkWyc1MDAnXSxcbiAgICBwaW5rWyc1MDAnXSxcbiAgICBwdXJwbGVbJzUwMCddLFxuICAgIGRlZXBQdXJwbGVbJzUwMCddLFxuICAgIGluZGlnb1snNTAwJ10sXG4gICAgYmx1ZVsnNTAwJ10sXG4gICAgbGlnaHRCbHVlWyc1MDAnXSxcbiAgICBjeWFuWyc1MDAnXSxcbiAgICB0ZWFsWyc1MDAnXSxcbiAgICBncmVlblsnNTAwJ10sXG4gICAgbGlnaHRHcmVlblsnNTAwJ10sXG4gICAgbGltZVsnNTAwJ10sXG4gICAgeWVsbG93Wyc1MDAnXSxcbiAgICBhbWJlclsnNTAwJ10sXG4gICAgb3JhbmdlWyc1MDAnXSxcbiAgICBkZWVwT3JhbmdlWyc1MDAnXSxcbiAgICBicm93blsnNTAwJ10sXG4gICAgYmx1ZUdyZXlbJzUwMCddLFxuICBdO1xuICAvKiogVmFsdWUgZm9yIGNpcmNsZSBzaXplICovXG4gIEBJbnB1dCgpIGNpcmNsZVNpemUgPSAyODtcbiAgLyoqIFZhbHVlIGZvciBzcGFjaW5nIGJldHdlZW4gY2lyY2xlcyAqL1xuICBASW5wdXQoKSBjaXJjbGVTcGFjaW5nID0gMTQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBpc0FjdGl2ZShjb2xvcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBUaW55Q29sb3IodGhpcy5oZXgpLmVxdWFscyhjb2xvcik7XG4gIH1cbiAgaGFuZGxlQmxvY2tDaGFuZ2UoeyBoZXgsICRldmVudCB9OiB7IGhleDogc3RyaW5nLCAkZXZlbnQ6IEV2ZW50IH0pIHtcbiAgICBpZiAoaXNWYWxpZEhleChoZXgpKSB7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZSh7IGhleCwgc291cmNlOiAnaGV4JyB9LCAkZXZlbnQpO1xuICAgIH1cbiAgfVxuICBoYW5kbGVWYWx1ZUNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDaXJjbGVDb21wb25lbnQsIENpcmNsZVN3YXRjaENvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtDaXJjbGVDb21wb25lbnQsIENpcmNsZVN3YXRjaENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFN3YXRjaE1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yQ2lyY2xlTW9kdWxlIHt9XG4iXX0=
|
@@ -0,0 +1,173 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { Component, EventEmitter, forwardRef, Input, isDevMode, NgModule, Output, } from '@angular/core';
|
3
|
+
import { Subscription } from 'rxjs';
|
4
|
+
import { debounceTime, tap } from 'rxjs/operators';
|
5
|
+
import { simpleCheckForValidColor, toState } from './helpers/color';
|
6
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export var ColorMode;
|
9
|
+
(function (ColorMode) {
|
10
|
+
ColorMode["HEX"] = "hex";
|
11
|
+
ColorMode["HSL"] = "hsl";
|
12
|
+
ColorMode["HSV"] = "hsv";
|
13
|
+
ColorMode["RGB"] = "rgb";
|
14
|
+
})(ColorMode || (ColorMode = {}));
|
15
|
+
class ColorWrap {
|
16
|
+
className;
|
17
|
+
/**
|
18
|
+
* Descriptors the return color format if the component is used with two-way binding
|
19
|
+
*/
|
20
|
+
mode = ColorMode.HEX;
|
21
|
+
color = {
|
22
|
+
h: 250,
|
23
|
+
s: 0.5,
|
24
|
+
l: 0.2,
|
25
|
+
a: 1,
|
26
|
+
};
|
27
|
+
colorChange = new EventEmitter();
|
28
|
+
onChange = new EventEmitter();
|
29
|
+
onChangeComplete = new EventEmitter();
|
30
|
+
onSwatchHover = new EventEmitter();
|
31
|
+
oldHue;
|
32
|
+
hsl;
|
33
|
+
hsv;
|
34
|
+
rgb;
|
35
|
+
hex;
|
36
|
+
source;
|
37
|
+
currentColor;
|
38
|
+
changes;
|
39
|
+
disableAlpha;
|
40
|
+
_onChangeCompleteSubscription = new Subscription();
|
41
|
+
_onSwatchHoverSubscription = new Subscription();
|
42
|
+
ngOnInit() {
|
43
|
+
this.changes = this.onChange
|
44
|
+
.pipe(debounceTime(100), tap(event => {
|
45
|
+
this.onChangeComplete.emit(event);
|
46
|
+
switch (this.mode) {
|
47
|
+
case ColorMode.HEX:
|
48
|
+
this.colorChange.emit(event.color.hex);
|
49
|
+
break;
|
50
|
+
case ColorMode.HSL:
|
51
|
+
this.colorChange.emit(event.color.hsl);
|
52
|
+
break;
|
53
|
+
case ColorMode.HSV:
|
54
|
+
this.colorChange.emit(event.color.hsv);
|
55
|
+
break;
|
56
|
+
case ColorMode.RGB:
|
57
|
+
this.colorChange.emit(event.color.rgb);
|
58
|
+
break;
|
59
|
+
default:
|
60
|
+
const msg = `The mode '${this.mode}' is not supported`;
|
61
|
+
if (isDevMode()) {
|
62
|
+
throw new Error(msg);
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
console.warn(msg);
|
66
|
+
}
|
67
|
+
break;
|
68
|
+
}
|
69
|
+
}))
|
70
|
+
.subscribe();
|
71
|
+
this.setState(toState(this.color, 0));
|
72
|
+
this.currentColor = this.hex;
|
73
|
+
}
|
74
|
+
ngOnChanges() {
|
75
|
+
this.setState(toState(this.color, this.oldHue));
|
76
|
+
}
|
77
|
+
ngOnDestroy() {
|
78
|
+
this.changes?.unsubscribe();
|
79
|
+
this._onChangeCompleteSubscription?.unsubscribe();
|
80
|
+
this._onSwatchHoverSubscription?.unsubscribe();
|
81
|
+
}
|
82
|
+
setState(data) {
|
83
|
+
this.oldHue = data.oldHue;
|
84
|
+
this.hsl = data.hsl;
|
85
|
+
this.hsv = data.hsv;
|
86
|
+
this.rgb = data.rgb;
|
87
|
+
this.hex = data.hex;
|
88
|
+
this.source = data.source;
|
89
|
+
this.afterValidChange();
|
90
|
+
}
|
91
|
+
handleChange(data, $event) {
|
92
|
+
const isValidColor = simpleCheckForValidColor(data);
|
93
|
+
if (isValidColor) {
|
94
|
+
const color = toState(data, data.h || this.oldHue, this.disableAlpha);
|
95
|
+
this.setState(color);
|
96
|
+
this.onChange.emit({ color, $event });
|
97
|
+
this.afterValidChange();
|
98
|
+
}
|
99
|
+
}
|
100
|
+
/** hook for components after a complete change */
|
101
|
+
afterValidChange() { }
|
102
|
+
handleSwatchHover(data, $event) {
|
103
|
+
const isValidColor = simpleCheckForValidColor(data);
|
104
|
+
if (isValidColor) {
|
105
|
+
const color = toState(data, data.h || this.oldHue);
|
106
|
+
this.setState(color);
|
107
|
+
this.onSwatchHover.emit({ color, $event });
|
108
|
+
}
|
109
|
+
}
|
110
|
+
registerOnChange(fn) {
|
111
|
+
this._onChangeCompleteSubscription.add(this.onChangeComplete.pipe(tap(event => fn(event.color.hex))).subscribe());
|
112
|
+
}
|
113
|
+
registerOnTouched(fn) {
|
114
|
+
this._onSwatchHoverSubscription.add(this.onSwatchHover.pipe(tap(() => fn())).subscribe());
|
115
|
+
}
|
116
|
+
setDisabledState(isDisabled) { }
|
117
|
+
writeValue(hex) {
|
118
|
+
this.color = hex;
|
119
|
+
}
|
120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorWrap, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
121
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ColorWrap, selector: "color-wrap", inputs: { className: "className", mode: "mode", color: "color" }, outputs: { colorChange: "colorChange", onChange: "onChange", onChangeComplete: "onChangeComplete", onSwatchHover: "onSwatchHover" }, providers: [
|
122
|
+
{
|
123
|
+
provide: NG_VALUE_ACCESSOR,
|
124
|
+
useExisting: forwardRef(() => ColorWrap),
|
125
|
+
multi: true,
|
126
|
+
}
|
127
|
+
], usesOnChanges: true, ngImport: i0, template: ``, isInline: true });
|
128
|
+
}
|
129
|
+
export { ColorWrap };
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorWrap, decorators: [{
|
131
|
+
type: Component,
|
132
|
+
args: [{
|
133
|
+
// create seletor base for test override property
|
134
|
+
selector: 'color-wrap',
|
135
|
+
template: ``,
|
136
|
+
providers: [
|
137
|
+
{
|
138
|
+
provide: NG_VALUE_ACCESSOR,
|
139
|
+
useExisting: forwardRef(() => ColorWrap),
|
140
|
+
multi: true,
|
141
|
+
}
|
142
|
+
]
|
143
|
+
}]
|
144
|
+
}], propDecorators: { className: [{
|
145
|
+
type: Input
|
146
|
+
}], mode: [{
|
147
|
+
type: Input
|
148
|
+
}], color: [{
|
149
|
+
type: Input
|
150
|
+
}], colorChange: [{
|
151
|
+
type: Output
|
152
|
+
}], onChange: [{
|
153
|
+
type: Output
|
154
|
+
}], onChangeComplete: [{
|
155
|
+
type: Output
|
156
|
+
}], onSwatchHover: [{
|
157
|
+
type: Output
|
158
|
+
}] } });
|
159
|
+
class ColorWrapModule {
|
160
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorWrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
161
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ColorWrapModule, declarations: [ColorWrap], imports: [CommonModule], exports: [ColorWrap] });
|
162
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorWrapModule, imports: [CommonModule] });
|
163
|
+
}
|
164
|
+
export { ColorWrapModule };
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ColorWrapModule, decorators: [{
|
166
|
+
type: NgModule,
|
167
|
+
args: [{
|
168
|
+
declarations: [ColorWrap],
|
169
|
+
exports: [ColorWrap],
|
170
|
+
imports: [CommonModule],
|
171
|
+
}]
|
172
|
+
}] });
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itd3JhcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbG9yLXdyYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBSVIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU96RSxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCx3QkFBVyxDQUFBO0lBQ1gsd0JBQVcsQ0FBQTtJQUNYLHdCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEI7QUFFRCxNQVlhLFNBQVM7SUFDWCxTQUFTLENBQVU7SUFFNUI7O09BRUc7SUFDTSxJQUFJLEdBQWMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUVoQyxLQUFLLEdBQWdDO1FBQzVDLENBQUMsRUFBRSxHQUFHO1FBQ04sQ0FBQyxFQUFFLEdBQUc7UUFDTixDQUFDLEVBQUUsR0FBRztRQUNOLENBQUMsRUFBRSxDQUFDO0tBQ0wsQ0FBQztJQUNRLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBK0IsQ0FBQztJQUM5RCxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQUMxQyxnQkFBZ0IsR0FBRyxJQUFJLFlB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RyxhQUFhO3NCQUF0QixNQUFNOztBQTBHVCxNQUthLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQWhJZixTQUFTLGFBOEhWLFlBQVksYUE5SFgsU0FBUzt3R0FnSVQsZUFBZSxZQUZoQixZQUFZOztTQUVYLGVBQWU7MkZBQWYsZUFBZTtrQkFMM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDcEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIGlzRGV2TW9kZSxcbiAgTmdNb2R1bGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHNpbXBsZUNoZWNrRm9yVmFsaWRDb2xvciwgdG9TdGF0ZSB9IGZyb20gJy4vaGVscGVycy9jb2xvcic7XG5pbXBvcnQgeyBDb2xvciwgSFNMQSwgSFNWQSwgUkdCQSB9IGZyb20gJy4vaGVscGVycy9jb2xvci5pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckV2ZW50IHtcbiAgJGV2ZW50OiBFdmVudDtcbiAgY29sb3I6IENvbG9yO1xufVxuXG5leHBvcnQgZW51bSBDb2xvck1vZGUge1xuICBIRVggPSAnaGV4JyxcbiAgSFNMID0gJ2hzbCcsXG4gIEhTViA9ICdoc3YnLFxuICBSR0IgPSAncmdiJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gY3JlYXRlIHNlbGV0b3IgYmFzZSBmb3IgdGVzdCBvdmVycmlkZSBwcm9wZXJ0eVxuICBzZWxlY3RvcjogJ2NvbG9yLXdyYXAnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29sb3JXcmFwKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb2xvcldyYXAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGNsYXNzTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogRGVzY3JpcHRvcnMgdGhlIHJldHVybiBjb2xvciBmb3JtYXQgaWYgdGhlIGNvbXBvbmVudCBpcyB1c2VkIHdpdGggdHdvLXdheSBiaW5kaW5nXG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiBDb2xvck1vZGUgPSBDb2xvck1vZGUuSEVYO1xuXG4gIEBJbnB1dCgpIGNvbG9yOiBIU0xBIHwgSFNWQSB8IFJHQkEgfCBzdHJpbmcgPSB7XG4gICAgaDogMjUwLFxuICAgIHM6IDAuNSxcbiAgICBsOiAwLjIsXG4gICAgYTogMSxcbiAgfTtcbiAgQE91dHB1dCgpIGNvbG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxIU0xBIHwgSFNWQSB8IFJHQkEgfCBzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sb3JFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPENvbG9yRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblN3YXRjaEhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxDb2xvckV2ZW50PigpO1xuICBvbGRIdWUhOiBudW1iZXI7XG4gIGhzbCE6IEhTTEE7XG4gIGhzdiE6IEhTVkE7XG4gIHJnYiE6IFJHQkE7XG4gIGhleCE6IHN0cmluZztcbiAgc291cmNlITogc3RyaW5nO1xuICBjdXJyZW50Q29sb3IhOiBzdHJpbmc7XG4gIGNoYW5nZXM/OiBTdWJzY3JpcHRpb247XG4gIGRpc2FibGVBbHBoYT86IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2VDb21wbGV0ZVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSBfb25Td2F0Y2hIb3ZlclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoYW5nZXMgPSB0aGlzLm9uQ2hhbmdlXG4gICAgICAucGlwZShcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZUNvbXBsZXRlLmVtaXQoZXZlbnQpO1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgICAgICAgICBjYXNlIENvbG9yTW9kZS5IRVg6XG4gICAgICAgICAgICAgIHRoaXMuY29sb3JDaGFuZ2UuZW1pdChldmVudC5jb2xvci5oZXgpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQ29sb3JNb2RlLkhTTDpcbiAgICAgICAgICAgICAgdGhpcy5jb2xvckNoYW5nZS5lbWl0KGV2ZW50LmNvbG9yLmhzbCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBDb2xvck1vZGUuSFNWOlxuICAgICAgICAgICAgICB0aGlzLmNvbG9yQ2hhbmdlLmVtaXQoZXZlbnQuY29sb3IuaHN2KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIENvbG9yTW9kZS5SR0I6XG4gICAgICAgICAgICAgIHRoaXMuY29sb3JDaGFuZ2UuZW1pdChldmVudC5jb2xvci5yZ2IpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGNvbnN0IG1zZyA9IGBUaGUgbW9kZSAnJHt0aGlzLm1vZGV9JyBpcyBub3Qgc3VwcG9ydGVkYDtcbiAgICAgICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKG1zZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2V0U3RhdGUodG9TdGF0ZSh0aGlzLmNvbG9yLCAwKSk7XG4gICAgdGhpcy5jdXJyZW50Q29sb3IgPSB0aGlzLmhleDtcbiAgfVxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLnNldFN0YXRlKHRvU3RhdGUodGhpcy5jb2xvciwgdGhpcy5vbGRIdWUpKTtcbiAgfVxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNoYW5nZXM/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fb25DaGFuZ2VDb21wbGV0ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vblN3YXRjaEhvdmVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIHNldFN0YXRlKGRhdGEpIHtcbiAgICB0aGlzLm9sZEh1ZSA9IGRhdGEub2xkSHVlO1xuICAgIHRoaXMuaHNsID0gZGF0YS5oc2w7XG4gICAgdGhpcy5oc3YgPSBkYXRhLmhzdjtcbiAgICB0aGlzLnJnYiA9IGRhdGEucmdiO1xuICAgIHRoaXMuaGV4ID0gZGF0YS5oZXg7XG4gICAgdGhpcy5zb3VyY2UgPSBkYXRhLnNvdXJjZTtcbiAgICB0aGlzLmFmdGVyVmFsaWRDaGFuZ2UoKTtcbiAgfVxuICBoYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KSB7XG4gICAgY29uc3QgaXNWYWxpZENvbG9yID0gc2ltcGxlQ2hlY2tGb3JWYWxpZENvbG9yKGRhdGEpO1xuICAgIGlmIChpc1ZhbGlkQ29sb3IpIHtcbiAgICAgIGNvbnN0IGNvbG9yID0gdG9TdGF0ZShkYXRhLCBkYXRhLmggfHwgdGhpcy5vbGRIdWUsIHRoaXMuZGlzYWJsZUFscGhhKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoY29sb3IpO1xuICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY29sb3IsICRldmVudCB9KTtcbiAgICAgIHRoaXMuYWZ0ZXJWYWxpZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuICAvKiogaG9vayBmb3IgY29tcG9uZW50cyBhZnRlciBhIGNvbXBsZXRlIGNoYW5nZSAqL1xuICBhZnRlclZhbGlkQ2hhbmdlKCkge31cblxuICBoYW5kbGVTd2F0Y2hIb3ZlcihkYXRhLCAkZXZlbnQpIHtcbiAgICBjb25zdCBpc1ZhbGlkQ29sb3IgPSBzaW1wbGVDaGVja0ZvclZhbGlkQ29sb3IoZGF0YSk7XG4gICAgaWYgKGlzVmFsaWRDb2xvcikge1xuICAgICAgY29uc3QgY29sb3IgPSB0b1N0YXRlKGRhdGEsIGRhdGEuaCB8fCB0aGlzLm9sZEh1ZSk7XG4gICAgICB0aGlzLnNldFN0YXRlKGNvbG9yKTtcbiAgICAgIHRoaXMub25Td2F0Y2hIb3Zlci5lbWl0KHsgY29sb3IsICRldmVudCB9KTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoaGV4OiBzdHJpbmcpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZUNvbXBsZXRlU3Vic2NyaXB0aW9uLmFkZCh0aGlzLm9uQ2hhbmdlQ29tcGxldGUucGlwZShcbiAgICAgIHRhcChldmVudCA9PiBmbihldmVudC5jb2xvci5oZXgpKSxcbiAgICApLnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25Td2F0Y2hIb3ZlclN1YnNjcmlwdGlvbi5hZGQodGhpcy5vblN3YXRjaEhvdmVyLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gZm4oKSksXG4gICAgKS5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHt9XG5cbiAgd3JpdGVWYWx1ZShoZXg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29sb3IgPSBoZXg7XG4gIH1cblxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb2xvcldyYXBdLFxuICBleHBvcnRzOiBbQ29sb3JXcmFwXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbG9yV3JhcE1vZHVsZSB7fVxuIl19
|