ngx-color 8.0.0 → 8.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +0 -1
  2. package/alpha/alpha-picker.component.d.ts +28 -0
  3. package/alpha/index.d.ts +5 -0
  4. package/alpha/public_api.d.ts +1 -0
  5. package/block/block-swatches.component.d.ts +24 -0
  6. package/block/block.component.d.ts +36 -0
  7. package/block/index.d.ts +5 -0
  8. package/block/public_api.d.ts +2 -0
  9. package/chrome/chrome-fields.component.d.ts +22 -0
  10. package/chrome/chrome.component.d.ts +25 -0
  11. package/chrome/index.d.ts +5 -0
  12. package/chrome/public_api.d.ts +2 -0
  13. package/circle/circle-swatch.component.d.ts +19 -0
  14. package/circle/circle.component.d.ts +32 -0
  15. package/circle/index.d.ts +5 -0
  16. package/circle/public_api.d.ts +2 -0
  17. package/compact/compact-color.component.d.ts +19 -0
  18. package/compact/compact-fields.component.d.ts +32 -0
  19. package/compact/compact.component.d.ts +30 -0
  20. package/compact/index.d.ts +5 -0
  21. package/compact/public_api.d.ts +3 -0
  22. package/esm2020/alpha/alpha-picker.component.mjs +100 -0
  23. package/esm2020/alpha/ngx-color-alpha.mjs +5 -0
  24. package/esm2020/alpha/public_api.mjs +2 -0
  25. package/esm2020/block/block-swatches.component.mjs +63 -0
  26. package/esm2020/block/block.component.mjs +158 -0
  27. package/esm2020/block/ngx-color-block.mjs +5 -0
  28. package/esm2020/block/public_api.mjs +3 -0
  29. package/esm2020/chrome/chrome-fields.component.mjs +314 -0
  30. package/esm2020/chrome/chrome.component.mjs +184 -0
  31. package/esm2020/chrome/ngx-color-chrome.mjs +5 -0
  32. package/esm2020/chrome/public_api.mjs +3 -0
  33. package/esm2020/circle/circle-swatch.component.mjs +69 -0
  34. package/esm2020/circle/circle.component.mjs +134 -0
  35. package/esm2020/circle/ngx-color-circle.mjs +5 -0
  36. package/esm2020/circle/public_api.mjs +3 -0
  37. package/esm2020/compact/compact-color.component.mjs +70 -0
  38. package/esm2020/compact/compact-fields.component.mjs +164 -0
  39. package/esm2020/compact/compact.component.mjs +154 -0
  40. package/esm2020/compact/ngx-color-compact.mjs +5 -0
  41. package/esm2020/compact/public_api.mjs +4 -0
  42. package/esm2020/github/github-swatch.component.mjs +53 -0
  43. package/esm2020/github/github.component.mjs +112 -0
  44. package/esm2020/github/ngx-color-github.mjs +5 -0
  45. package/esm2020/github/public_api.mjs +3 -0
  46. package/esm2020/hue/hue-picker.component.mjs +100 -0
  47. package/esm2020/hue/ngx-color-hue.mjs +5 -0
  48. package/esm2020/hue/public_api.mjs +2 -0
  49. package/esm2020/material/material.component.mjs +186 -0
  50. package/esm2020/material/ngx-color-material.mjs +5 -0
  51. package/esm2020/material/public_api.mjs +2 -0
  52. package/esm2020/photoshop/ngx-color-photoshop.mjs +5 -0
  53. package/esm2020/photoshop/photoshop-button.component.mjs +34 -0
  54. package/esm2020/photoshop/photoshop-fields.component.mjs +212 -0
  55. package/esm2020/photoshop/photoshop-previews.component.mjs +40 -0
  56. package/esm2020/photoshop/photoshop.component.mjs +185 -0
  57. package/esm2020/photoshop/public_api.mjs +5 -0
  58. package/esm2020/shade/ngx-color-shade.mjs +5 -0
  59. package/esm2020/shade/public_api.mjs +2 -0
  60. package/esm2020/shade/shade-picker.component.mjs +92 -0
  61. package/esm2020/sketch/ngx-color-sketch.mjs +5 -0
  62. package/esm2020/sketch/public_api.mjs +4 -0
  63. package/esm2020/sketch/sketch-fields.component.mjs +209 -0
  64. package/esm2020/sketch/sketch-preset-colors.component.mjs +68 -0
  65. package/esm2020/sketch/sketch.component.mjs +212 -0
  66. package/esm2020/slider/ngx-color-slider.mjs +5 -0
  67. package/esm2020/slider/public_api.mjs +4 -0
  68. package/esm2020/slider/slider-swatch.component.mjs +52 -0
  69. package/esm2020/slider/slider-swatches.component.mjs +119 -0
  70. package/esm2020/slider/slider.component.mjs +102 -0
  71. package/esm2020/swatches/ngx-color-swatches.mjs +5 -0
  72. package/esm2020/swatches/public_api.mjs +4 -0
  73. package/esm2020/swatches/swatches-color.component.mjs +104 -0
  74. package/esm2020/swatches/swatches-group.component.mjs +49 -0
  75. package/esm2020/swatches/swatches.component.mjs +242 -0
  76. package/esm2020/twitter/ngx-color-twitter.mjs +5 -0
  77. package/esm2020/twitter/public_api.mjs +2 -0
  78. package/esm2020/twitter/twitter.component.mjs +159 -0
  79. package/fesm2015/ngx-color-alpha.mjs +107 -0
  80. package/fesm2015/ngx-color-alpha.mjs.map +1 -0
  81. package/fesm2015/ngx-color-block.mjs +223 -0
  82. package/fesm2015/ngx-color-block.mjs.map +1 -0
  83. package/fesm2015/ngx-color-chrome.mjs +499 -0
  84. package/fesm2015/ngx-color-chrome.mjs.map +1 -0
  85. package/fesm2015/ngx-color-circle.mjs +207 -0
  86. package/fesm2015/ngx-color-circle.mjs.map +1 -0
  87. package/fesm2015/ngx-color-compact.mjs +385 -0
  88. package/fesm2015/ngx-color-compact.mjs.map +1 -0
  89. package/fesm2015/ngx-color-github.mjs +169 -0
  90. package/fesm2015/ngx-color-github.mjs.map +1 -0
  91. package/fesm2015/ngx-color-hue.mjs +107 -0
  92. package/fesm2015/ngx-color-hue.mjs.map +1 -0
  93. package/fesm2015/ngx-color-material.mjs +193 -0
  94. package/fesm2015/ngx-color-material.mjs.map +1 -0
  95. package/fesm2015/ngx-color-photoshop.mjs +467 -0
  96. package/fesm2015/ngx-color-photoshop.mjs.map +1 -0
  97. package/fesm2015/ngx-color-shade.mjs +99 -0
  98. package/fesm2015/ngx-color-shade.mjs.map +1 -0
  99. package/fesm2015/ngx-color-sketch.mjs +485 -0
  100. package/fesm2015/ngx-color-sketch.mjs.map +1 -0
  101. package/fesm2015/ngx-color-slider.mjs +273 -0
  102. package/fesm2015/ngx-color-slider.mjs.map +1 -0
  103. package/fesm2015/ngx-color-swatches.mjs +391 -0
  104. package/fesm2015/ngx-color-swatches.mjs.map +1 -0
  105. package/fesm2015/ngx-color-twitter.mjs +166 -0
  106. package/fesm2015/ngx-color-twitter.mjs.map +1 -0
  107. package/fesm2020/ngx-color-alpha.mjs +107 -0
  108. package/fesm2020/ngx-color-alpha.mjs.map +1 -0
  109. package/fesm2020/ngx-color-block.mjs +223 -0
  110. package/fesm2020/ngx-color-block.mjs.map +1 -0
  111. package/fesm2020/ngx-color-chrome.mjs +499 -0
  112. package/fesm2020/ngx-color-chrome.mjs.map +1 -0
  113. package/fesm2020/ngx-color-circle.mjs +207 -0
  114. package/fesm2020/ngx-color-circle.mjs.map +1 -0
  115. package/fesm2020/ngx-color-compact.mjs +385 -0
  116. package/fesm2020/ngx-color-compact.mjs.map +1 -0
  117. package/fesm2020/ngx-color-github.mjs +169 -0
  118. package/fesm2020/ngx-color-github.mjs.map +1 -0
  119. package/fesm2020/ngx-color-hue.mjs +107 -0
  120. package/fesm2020/ngx-color-hue.mjs.map +1 -0
  121. package/fesm2020/ngx-color-material.mjs +193 -0
  122. package/fesm2020/ngx-color-material.mjs.map +1 -0
  123. package/fesm2020/ngx-color-photoshop.mjs +467 -0
  124. package/fesm2020/ngx-color-photoshop.mjs.map +1 -0
  125. package/fesm2020/ngx-color-shade.mjs +99 -0
  126. package/fesm2020/ngx-color-shade.mjs.map +1 -0
  127. package/fesm2020/ngx-color-sketch.mjs +485 -0
  128. package/fesm2020/ngx-color-sketch.mjs.map +1 -0
  129. package/fesm2020/ngx-color-slider.mjs +273 -0
  130. package/fesm2020/ngx-color-slider.mjs.map +1 -0
  131. package/fesm2020/ngx-color-swatches.mjs +391 -0
  132. package/fesm2020/ngx-color-swatches.mjs.map +1 -0
  133. package/fesm2020/ngx-color-twitter.mjs +166 -0
  134. package/fesm2020/ngx-color-twitter.mjs.map +1 -0
  135. package/github/github-swatch.component.d.ts +19 -0
  136. package/github/github.component.d.ts +28 -0
  137. package/github/index.d.ts +5 -0
  138. package/github/public_api.d.ts +2 -0
  139. package/hue/hue-picker.component.d.ts +29 -0
  140. package/hue/index.d.ts +5 -0
  141. package/hue/public_api.d.ts +1 -0
  142. package/material/index.d.ts +5 -0
  143. package/material/material.component.d.ts +39 -0
  144. package/material/public_api.d.ts +1 -0
  145. package/package.json +113 -1
  146. package/photoshop/index.d.ts +5 -0
  147. package/photoshop/photoshop-button.component.d.ts +9 -0
  148. package/photoshop/photoshop-fields.component.d.ts +22 -0
  149. package/photoshop/photoshop-previews.component.d.ts +11 -0
  150. package/photoshop/photoshop.component.d.ts +33 -0
  151. package/photoshop/public_api.d.ts +4 -0
  152. package/shade/index.d.ts +5 -0
  153. package/shade/public_api.d.ts +1 -0
  154. package/shade/shade-picker.component.d.ts +27 -0
  155. package/sketch/index.d.ts +5 -0
  156. package/sketch/public_api.d.ts +3 -0
  157. package/sketch/sketch-fields.component.d.ts +23 -0
  158. package/sketch/sketch-preset-colors.component.d.ts +24 -0
  159. package/sketch/sketch.component.d.ts +32 -0
  160. package/slider/index.d.ts +5 -0
  161. package/slider/public_api.d.ts +3 -0
  162. package/slider/slider-swatch.component.d.ts +16 -0
  163. package/slider/slider-swatches.component.d.ts +15 -0
  164. package/slider/slider.component.d.ts +22 -0
  165. package/swatches/index.d.ts +5 -0
  166. package/swatches/public_api.d.ts +3 -0
  167. package/swatches/swatches-color.component.d.ts +18 -0
  168. package/swatches/swatches-group.component.d.ts +10 -0
  169. package/swatches/swatches.component.d.ts +29 -0
  170. package/twitter/index.d.ts +5 -0
  171. package/twitter/public_api.d.ts +1 -0
  172. package/twitter/twitter.component.d.ts +31 -0
@@ -0,0 +1,104 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { getContrastingColor } from 'ngx-color';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "ngx-color";
6
+ export class SwatchesColorComponent {
7
+ constructor() {
8
+ this.first = false;
9
+ this.last = false;
10
+ this.onClick = new EventEmitter();
11
+ this.onSwatchHover = new EventEmitter();
12
+ this.getContrastingColor = getContrastingColor;
13
+ this.colorStyle = {
14
+ width: '40px',
15
+ height: '24px',
16
+ cursor: 'pointer',
17
+ marginBottom: '1px',
18
+ };
19
+ this.focusStyle = {};
20
+ }
21
+ ngOnInit() {
22
+ this.colorStyle.background = this.color;
23
+ this.focusStyle.boxShadow = `0 0 4px ${this.color}`;
24
+ if (this.first) {
25
+ this.colorStyle.borderRadius = '2px 2px 0 0';
26
+ }
27
+ if (this.last) {
28
+ this.colorStyle.borderRadius = '0 0 2px 2px';
29
+ }
30
+ if (this.color === '#FFFFFF') {
31
+ this.colorStyle.boxShadow = 'inset 0 0 0 1px #ddd';
32
+ }
33
+ }
34
+ handleClick($event) {
35
+ this.onClick.emit({
36
+ data: {
37
+ hex: this.color,
38
+ source: 'hex',
39
+ },
40
+ $event,
41
+ });
42
+ }
43
+ }
44
+ SwatchesColorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesColorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
+ SwatchesColorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SwatchesColorComponent, selector: "color-swatches-color", inputs: { color: "color", first: "first", last: "last", active: "active" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
46
+ <color-swatch
47
+ [color]="color"
48
+ [style]="colorStyle"
49
+ [focusStyle]="focusStyle"
50
+ [class.first]="first"
51
+ [class.last]="last"
52
+ (click)="handleClick($event)"
53
+ (keydown.enter)="handleClick($event)"
54
+ (onHover)="onSwatchHover.emit($event)"
55
+ >
56
+ <div class="swatch-check" *ngIf="active" [class.first]="first" [class.last]="last">
57
+ <svg
58
+ style="width: 24px; height: 24px;"
59
+ viewBox="0 0 24 24"
60
+ [style.fill]="getContrastingColor(color)"
61
+ >
62
+ <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
63
+ </svg>
64
+ </div>
65
+ </color-swatch>
66
+ `, isInline: true, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}.swatch-check{display:flex;margin-left:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesColorComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'color-swatches-color', template: `
70
+ <color-swatch
71
+ [color]="color"
72
+ [style]="colorStyle"
73
+ [focusStyle]="focusStyle"
74
+ [class.first]="first"
75
+ [class.last]="last"
76
+ (click)="handleClick($event)"
77
+ (keydown.enter)="handleClick($event)"
78
+ (onHover)="onSwatchHover.emit($event)"
79
+ >
80
+ <div class="swatch-check" *ngIf="active" [class.first]="first" [class.last]="last">
81
+ <svg
82
+ style="width: 24px; height: 24px;"
83
+ viewBox="0 0 24 24"
84
+ [style.fill]="getContrastingColor(color)"
85
+ >
86
+ <path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
87
+ </svg>
88
+ </div>
89
+ </color-swatch>
90
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}.swatch-check{display:flex;margin-left:8px}\n"] }]
91
+ }], propDecorators: { color: [{
92
+ type: Input
93
+ }], first: [{
94
+ type: Input
95
+ }], last: [{
96
+ type: Input
97
+ }], active: [{
98
+ type: Input
99
+ }], onClick: [{
100
+ type: Output
101
+ }], onSwatchHover: [{
102
+ type: Output
103
+ }] } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMtY29sb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy1jb2xvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBMkNoRCxNQUFNLE9BQU8sc0JBQXNCO0lBekNuQztRQTJDVyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUVaLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsRCx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMxQyxlQUFVLEdBQTJCO1lBQ25DLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxNQUFNLEVBQUUsU0FBUztZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFDO1FBQ0YsZUFBVSxHQUEyQixFQUFFLENBQUM7S0F3QnpDO0lBdEJDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLFdBQVcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztTQUM5QztRQUNELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztTQUM5QztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsc0JBQXNCLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUFDLE1BQU07UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDZixNQUFNLEVBQUUsS0FBSzthQUNkO1lBQ0QsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQXJDVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5TUF2Q3ZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQ7MkZBa0JVLHNCQUFzQjtrQkF6Q2xDLFNBQVM7K0JBQ0Usc0JBQXNCLFlBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQlQsbUJBZWdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldENvbnRyYXN0aW5nQ29sb3IgfSBmcm9tICduZ3gtY29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1zd2F0Y2hlcy1jb2xvcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGNvbG9yLXN3YXRjaFxuICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgIFtzdHlsZV09XCJjb2xvclN0eWxlXCJcbiAgICAgIFtmb2N1c1N0eWxlXT1cImZvY3VzU3R5bGVcIlxuICAgICAgW2NsYXNzLmZpcnN0XT1cImZpcnN0XCJcbiAgICAgIFtjbGFzcy5sYXN0XT1cImxhc3RcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAob25Ib3Zlcik9XCJvblN3YXRjaEhvdmVyLmVtaXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInN3YXRjaC1jaGVja1wiICpuZ0lmPVwiYWN0aXZlXCIgW2NsYXNzLmZpcnN0XT1cImZpcnN0XCIgW2NsYXNzLmxhc3RdPVwibGFzdFwiPlxuICAgICAgICA8c3ZnXG4gICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4O1wiXG4gICAgICAgICAgdmlld0JveD1cIjAgMCAyNCAyNFwiXG4gICAgICAgICAgW3N0eWxlLmZpbGxdPVwiZ2V0Q29udHJhc3RpbmdDb2xvcihjb2xvcilcIlxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGggZD1cIk0yMSw3TDksMTlMMy41LDEzLjVMNC45MSwxMi4wOUw5LDE2LjE3TDE5LjU5LDUuNTlMMjEsN1pcIiAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvZGl2PlxuICAgIDwvY29sb3Itc3dhdGNoPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc3dhdGNoZXMtZ3JvdXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgICAuc3dhdGNoLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFN3YXRjaGVzQ29sb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb2xvciE6IHN0cmluZztcbiAgQElucHV0KCkgZmlyc3QgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFzdCA9IGZhbHNlO1xuICBASW5wdXQoKSBhY3RpdmUhOiBib29sZWFuO1xuICBAT3V0cHV0KCkgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb25Td2F0Y2hIb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBnZXRDb250cmFzdGluZ0NvbG9yID0gZ2V0Q29udHJhc3RpbmdDb2xvcjtcbiAgY29sb3JTdHlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICB3aWR0aDogJzQwcHgnLFxuICAgIGhlaWdodDogJzI0cHgnLFxuICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgIG1hcmdpbkJvdHRvbTogJzFweCcsXG4gIH07XG4gIGZvY3VzU3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbG9yU3R5bGUuYmFja2dyb3VuZCA9IHRoaXMuY29sb3I7XG4gICAgdGhpcy5mb2N1c1N0eWxlLmJveFNoYWRvdyA9IGAwIDAgNHB4ICR7dGhpcy5jb2xvcn1gO1xuICAgIGlmICh0aGlzLmZpcnN0KSB7XG4gICAgICB0aGlzLmNvbG9yU3R5bGUuYm9yZGVyUmFkaXVzID0gJzJweCAycHggMCAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMubGFzdCkge1xuICAgICAgdGhpcy5jb2xvclN0eWxlLmJvcmRlclJhZGl1cyA9ICcwIDAgMnB4IDJweCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbG9yID09PSAnI0ZGRkZGRicpIHtcbiAgICAgIHRoaXMuY29sb3JTdHlsZS5ib3hTaGFkb3cgPSAnaW5zZXQgMCAwIDAgMXB4ICNkZGQnO1xuICAgIH1cbiAgfVxuICBoYW5kbGVDbGljaygkZXZlbnQpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGhleDogdGhpcy5jb2xvcixcbiAgICAgICAgc291cmNlOiAnaGV4JyxcbiAgICAgIH0sXG4gICAgICAkZXZlbnQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "./swatches-color.component";
5
+ export class SwatchesGroupComponent {
6
+ constructor() {
7
+ this.onClick = new EventEmitter();
8
+ this.onSwatchHover = new EventEmitter();
9
+ }
10
+ }
11
+ SwatchesGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ SwatchesGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SwatchesGroupComponent, selector: "color-swatches-group", inputs: { group: "group", active: "active" }, outputs: { onClick: "onClick", onSwatchHover: "onSwatchHover" }, ngImport: i0, template: `
13
+ <div class="swatches-group">
14
+ <color-swatches-color
15
+ *ngFor="let color of group; let idx = index"
16
+ [active]="color.toLowerCase() === active"
17
+ [color]="color"
18
+ [first]="idx === 0"
19
+ [last]="idx === group.length - 1"
20
+ (onClick)="onClick.emit($event)"
21
+ >
22
+ </color-swatches-color>
23
+ </div>
24
+ `, isInline: true, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SwatchesColorComponent, selector: "color-swatches-color", inputs: ["color", "first", "last", "active"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesGroupComponent, decorators: [{
26
+ type: Component,
27
+ args: [{ selector: 'color-swatches-group', template: `
28
+ <div class="swatches-group">
29
+ <color-swatches-color
30
+ *ngFor="let color of group; let idx = index"
31
+ [active]="color.toLowerCase() === active"
32
+ [color]="color"
33
+ [first]="idx === 0"
34
+ [last]="idx === group.length - 1"
35
+ (onClick)="onClick.emit($event)"
36
+ >
37
+ </color-swatches-color>
38
+ </div>
39
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".swatches-group{padding-bottom:10px;width:40px;float:left;margin-right:10px}\n"] }]
40
+ }], propDecorators: { group: [{
41
+ type: Input
42
+ }], active: [{
43
+ type: Input
44
+ }], onClick: [{
45
+ type: Output
46
+ }], onSwatchHover: [{
47
+ type: Output
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQThCaEcsTUFBTSxPQUFPLHNCQUFzQjtJQTVCbkM7UUErQlksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBQ25EOzttSEFMWSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwyS0ExQnZCOzs7Ozs7Ozs7Ozs7R0FZVDsyRkFjVSxzQkFBc0I7a0JBNUJsQyxTQUFTOytCQUNFLHNCQUFzQixZQUN0Qjs7Ozs7Ozs7Ozs7O0dBWVQsbUJBV2dCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NvbG9yLXN3YXRjaGVzLWdyb3VwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtZ3JvdXBcIj5cbiAgICAgIDxjb2xvci1zd2F0Y2hlcy1jb2xvclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sb3Igb2YgZ3JvdXA7IGxldCBpZHggPSBpbmRleFwiXG4gICAgICAgIFthY3RpdmVdPVwiY29sb3IudG9Mb3dlckNhc2UoKSA9PT0gYWN0aXZlXCJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgW2ZpcnN0XT1cImlkeCA9PT0gMFwiXG4gICAgICAgIFtsYXN0XT1cImlkeCA9PT0gZ3JvdXAubGVuZ3RoIC0gMVwiXG4gICAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvY29sb3Itc3dhdGNoZXMtY29sb3I+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5zd2F0Y2hlcy1ncm91cCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFN3YXRjaGVzR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSBncm91cCE6IHN0cmluZ1tdO1xuICBASW5wdXQoKSBhY3RpdmUhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvblN3YXRjaEhvdmVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG59XG4iXX0=
@@ -0,0 +1,242 @@
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 { ColorWrap, RaisedModule, SwatchModule } from 'ngx-color';
5
+ import { SwatchesColorComponent } from './swatches-color.component';
6
+ import { SwatchesGroupComponent } from './swatches-group.component';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "ngx-color";
11
+ export class SwatchesComponent extends ColorWrap {
12
+ constructor() {
13
+ super();
14
+ /** Pixel value for picker width */
15
+ this.width = 320;
16
+ /** Color squares to display */
17
+ this.height = 240;
18
+ /** An array of color groups, each with an array of colors */
19
+ this.colors = [
20
+ [
21
+ red['900'],
22
+ red['700'],
23
+ red['500'],
24
+ red['300'],
25
+ red['100'],
26
+ ],
27
+ [
28
+ pink['900'],
29
+ pink['700'],
30
+ pink['500'],
31
+ pink['300'],
32
+ pink['100'],
33
+ ],
34
+ [
35
+ purple['900'],
36
+ purple['700'],
37
+ purple['500'],
38
+ purple['300'],
39
+ purple['100'],
40
+ ],
41
+ [
42
+ deepPurple['900'],
43
+ deepPurple['700'],
44
+ deepPurple['500'],
45
+ deepPurple['300'],
46
+ deepPurple['100'],
47
+ ],
48
+ [
49
+ indigo['900'],
50
+ indigo['700'],
51
+ indigo['500'],
52
+ indigo['300'],
53
+ indigo['100'],
54
+ ],
55
+ [
56
+ blue['900'],
57
+ blue['700'],
58
+ blue['500'],
59
+ blue['300'],
60
+ blue['100'],
61
+ ],
62
+ [
63
+ lightBlue['900'],
64
+ lightBlue['700'],
65
+ lightBlue['500'],
66
+ lightBlue['300'],
67
+ lightBlue['100'],
68
+ ],
69
+ [
70
+ cyan['900'],
71
+ cyan['700'],
72
+ cyan['500'],
73
+ cyan['300'],
74
+ cyan['100'],
75
+ ],
76
+ [
77
+ teal['900'],
78
+ teal['700'],
79
+ teal['500'],
80
+ teal['300'],
81
+ teal['100'],
82
+ ],
83
+ [
84
+ '#194D33',
85
+ green['700'],
86
+ green['500'],
87
+ green['300'],
88
+ green['100'],
89
+ ],
90
+ [
91
+ lightGreen['900'],
92
+ lightGreen['700'],
93
+ lightGreen['500'],
94
+ lightGreen['300'],
95
+ lightGreen['100'],
96
+ ],
97
+ [
98
+ lime['900'],
99
+ lime['700'],
100
+ lime['500'],
101
+ lime['300'],
102
+ lime['100'],
103
+ ],
104
+ [
105
+ yellow['900'],
106
+ yellow['700'],
107
+ yellow['500'],
108
+ yellow['300'],
109
+ yellow['100'],
110
+ ],
111
+ [
112
+ amber['900'],
113
+ amber['700'],
114
+ amber['500'],
115
+ amber['300'],
116
+ amber['100'],
117
+ ],
118
+ [
119
+ orange['900'],
120
+ orange['700'],
121
+ orange['500'],
122
+ orange['300'],
123
+ orange['100'],
124
+ ],
125
+ [
126
+ deepOrange['900'],
127
+ deepOrange['700'],
128
+ deepOrange['500'],
129
+ deepOrange['300'],
130
+ deepOrange['100'],
131
+ ],
132
+ [
133
+ brown['900'],
134
+ brown['700'],
135
+ brown['500'],
136
+ brown['300'],
137
+ brown['100'],
138
+ ],
139
+ [
140
+ blueGrey['900'],
141
+ blueGrey['700'],
142
+ blueGrey['500'],
143
+ blueGrey['300'],
144
+ blueGrey['100'],
145
+ ],
146
+ ['#000000', '#525252', '#969696', '#D9D9D9', '#FFFFFF'],
147
+ ];
148
+ this.zDepth = 1;
149
+ this.radius = 1;
150
+ this.background = '#fff';
151
+ }
152
+ handlePickerChange({ data, $event }) {
153
+ this.handleChange(data, $event);
154
+ }
155
+ }
156
+ SwatchesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
157
+ SwatchesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SwatchesComponent, selector: "color-swatches", inputs: { width: "width", height: "height", colors: "colors", zDepth: "zDepth", radius: "radius", background: "background" }, providers: [
158
+ {
159
+ provide: NG_VALUE_ACCESSOR,
160
+ useExisting: forwardRef(() => SwatchesComponent),
161
+ multi: true,
162
+ },
163
+ {
164
+ provide: ColorWrap,
165
+ useExisting: forwardRef(() => SwatchesComponent),
166
+ },
167
+ ], usesInheritance: true, ngImport: i0, template: `
168
+ <div class="swatches-picker {{ className }}"
169
+ [style.width.px]="width" [style.height.px]="height">
170
+ <color-raised [zDepth]="zDepth" [background]="background" [radius]="radius">
171
+ <div class="swatches-overflow" [style.height.px]="height">
172
+ <div class="swatches-body">
173
+ <color-swatches-group
174
+ *ngFor="let group of colors"
175
+ [group]="group" [active]="hex"
176
+ (onClick)="handlePickerChange($event)"
177
+ ></color-swatches-group>
178
+ </div>
179
+ </div>
180
+ </color-raised>
181
+ </div>
182
+ `, isInline: true, styles: [".swatches-overflow{overflow-y:scroll}.swatches-overflow{padding:16px 0 6px 16px}\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 i2.RaisedComponent; }), selector: "color-raised", inputs: ["zDepth", "radius", "background"] }, { kind: "component", type: i0.forwardRef(function () { return SwatchesGroupComponent; }), selector: "color-swatches-group", inputs: ["group", "active"], outputs: ["onClick", "onSwatchHover"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SwatchesComponent, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'color-swatches', template: `
186
+ <div class="swatches-picker {{ className }}"
187
+ [style.width.px]="width" [style.height.px]="height">
188
+ <color-raised [zDepth]="zDepth" [background]="background" [radius]="radius">
189
+ <div class="swatches-overflow" [style.height.px]="height">
190
+ <div class="swatches-body">
191
+ <color-swatches-group
192
+ *ngFor="let group of colors"
193
+ [group]="group" [active]="hex"
194
+ (onClick)="handlePickerChange($event)"
195
+ ></color-swatches-group>
196
+ </div>
197
+ </div>
198
+ </color-raised>
199
+ </div>
200
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
201
+ {
202
+ provide: NG_VALUE_ACCESSOR,
203
+ useExisting: forwardRef(() => SwatchesComponent),
204
+ multi: true,
205
+ },
206
+ {
207
+ provide: ColorWrap,
208
+ useExisting: forwardRef(() => SwatchesComponent),
209
+ },
210
+ ], styles: [".swatches-overflow{overflow-y:scroll}.swatches-overflow{padding:16px 0 6px 16px}\n"] }]
211
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
212
+ type: Input
213
+ }], height: [{
214
+ type: Input
215
+ }], colors: [{
216
+ type: Input
217
+ }], zDepth: [{
218
+ type: Input
219
+ }], radius: [{
220
+ type: Input
221
+ }], background: [{
222
+ type: Input
223
+ }] } });
224
+ export class ColorSwatchesModule {
225
+ }
226
+ ColorSwatchesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorSwatchesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
227
+ ColorSwatchesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ColorSwatchesModule, declarations: [SwatchesComponent, SwatchesGroupComponent,
228
+ SwatchesColorComponent], imports: [CommonModule, SwatchModule, RaisedModule], exports: [SwatchesComponent, SwatchesGroupComponent, SwatchesColorComponent] });
229
+ ColorSwatchesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorSwatchesModule, imports: [CommonModule, SwatchModule, RaisedModule] });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorSwatchesModule, decorators: [{
231
+ type: NgModule,
232
+ args: [{
233
+ declarations: [
234
+ SwatchesComponent,
235
+ SwatchesGroupComponent,
236
+ SwatchesColorComponent,
237
+ ],
238
+ exports: [SwatchesComponent, SwatchesGroupComponent, SwatchesColorComponent],
239
+ imports: [CommonModule, SwatchModule, RaisedModule],
240
+ }]
241
+ }] });
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhdGNoZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zd2F0Y2hlcy9zd2F0Y2hlcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsSUFBSSxFQUNKLE1BQU0sRUFDTixJQUFJLEVBQ0osTUFBTSxFQUNOLEdBQUcsRUFDSCxJQUFJLEVBQ0osTUFBTSxHQUNQLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFVLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBNENuRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQTRJOUM7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTVJVixtQ0FBbUM7UUFDMUIsVUFBSyxHQUFvQixHQUFHLENBQUM7UUFDdEMsK0JBQStCO1FBQ3RCLFdBQU0sR0FBb0IsR0FBRyxDQUFDO1FBQ3ZDLDZEQUE2RDtRQUU3RCxXQUFNLEdBQWU7WUFDbkI7Z0JBQ0UsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDVixHQUFHLENBQUMs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RUFBRSxzQkFBc0I7aUhBR2hFLG1CQUFtQixZQUZwQixZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVk7MkZBRXZDLG1CQUFtQjtrQkFUL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzVFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFtYmVyLFxuICBibHVlLFxuICBibHVlR3JleSxcbiAgYnJvd24sXG4gIGN5YW4sXG4gIGRlZXBPcmFuZ2UsXG4gIGRlZXBQdXJwbGUsXG4gIGdyZWVuLFxuICBpbmRpZ28sXG4gIGxpZ2h0Qmx1ZSxcbiAgbGlnaHRHcmVlbixcbiAgbGltZSxcbiAgb3JhbmdlLFxuICBwaW5rLFxuICBwdXJwbGUsXG4gIHJlZCxcbiAgdGVhbCxcbiAgeWVsbG93LFxufSBmcm9tICdtYXRlcmlhbC1jb2xvcnMnO1xuXG5pbXBvcnQgeyBDb2xvcldyYXAsIFJhaXNlZE1vZHVsZSwgU3dhdGNoTW9kdWxlLCB6RGVwdGggfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgU3dhdGNoZXNDb2xvckNvbXBvbmVudCB9IGZyb20gJy4vc3dhdGNoZXMtY29sb3IuY29tcG9uZW50JztcbmltcG9ydCB7IFN3YXRjaGVzR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3N3YXRjaGVzLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc3dhdGNoZXMnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtcGlja2VyIHt7IGNsYXNzTmFtZSB9fVwiXG4gICAgW3N0eWxlLndpZHRoLnB4XT1cIndpZHRoXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRcIj5cbiAgICA8Y29sb3ItcmFpc2VkIFt6RGVwdGhdPVwiekRlcHRoXCIgW2JhY2tncm91bmRdPVwiYmFja2dyb3VuZFwiIFtyYWRpdXNdPVwicmFkaXVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtb3ZlcmZsb3dcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dhdGNoZXMtYm9keVwiPlxuICAgICAgICAgIDxjb2xvci1zd2F0Y2hlcy1ncm91cFxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGNvbG9yc1wiXG4gICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIiBbYWN0aXZlXT1cImhleFwiXG4gICAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgPjwvY29sb3Itc3dhdGNoZXMtZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9jb2xvci1yYWlzZWQ+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuc3dhdGNoZXMtb3ZlcmZsb3cge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICB9XG4gICAgICAuc3dhdGNoZXMtb3ZlcmZsb3cge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgNnB4IDE2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFN3YXRjaGVzQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29sb3JXcmFwLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU3dhdGNoZXNDb21wb25lbnQpLFxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3dhdGNoZXNDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogUGl4ZWwgdmFsdWUgZm9yIHBpY2tlciB3aWR0aCAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gMzIwO1xuICAvKiogQ29sb3Igc3F1YXJlcyB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyID0gMjQwO1xuICAvKiogQW4gYXJyYXkgb2YgY29sb3IgZ3JvdXBzLCBlYWNoIHdpdGggYW4gYXJyYXkgb2YgY29sb3JzICovXG4gIEBJbnB1dCgpXG4gIGNvbG9yczogc3RyaW5nW11bXSA9IFtcbiAgICBbXG4gICAgICByZWRbJzkwMCddLFxuICAgICAgcmVkWyc3MDAnXSxcbiAgICAgIHJlZFsnNTAwJ10sXG4gICAgICByZWRbJzMwMCddLFxuICAgICAgcmVkWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHBpbmtbJzkwMCddLFxuICAgICAgcGlua1snNzAwJ10sXG4gICAgICBwaW5rWyc1MDAnXSxcbiAgICAgIHBpbmtbJzMwMCddLFxuICAgICAgcGlua1snMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBwdXJwbGVbJzkwMCddLFxuICAgICAgcHVycGxlWyc3MDAnXSxcbiAgICAgIHB1cnBsZVsnNTAwJ10sXG4gICAgICBwdXJwbGVbJzMwMCddLFxuICAgICAgcHVycGxlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGRlZXBQdXJwbGVbJzkwMCddLFxuICAgICAgZGVlcFB1cnBsZVsnNzAwJ10sXG4gICAgICBkZWVwUHVycGxlWyc1MDAnXSxcbiAgICAgIGRlZXBQdXJwbGVbJzMwMCddLFxuICAgICAgZGVlcFB1cnBsZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBpbmRpZ29bJzkwMCddLFxuICAgICAgaW5kaWdvWyc3MDAnXSxcbiAgICAgIGluZGlnb1snNTAwJ10sXG4gICAgICBpbmRpZ29bJzMwMCddLFxuICAgICAgaW5kaWdvWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJsdWVbJzkwMCddLFxuICAgICAgYmx1ZVsnNzAwJ10sXG4gICAgICBibHVlWyc1MDAnXSxcbiAgICAgIGJsdWVbJzMwMCddLFxuICAgICAgYmx1ZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICBsaWdodEJsdWVbJzkwMCddLFxuICAgICAgbGlnaHRCbHVlWyc3MDAnXSxcbiAgICAgIGxpZ2h0Qmx1ZVsnNTAwJ10sXG4gICAgICBsaWdodEJsdWVbJzMwMCddLFxuICAgICAgbGlnaHRCbHVlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGN5YW5bJzkwMCddLFxuICAgICAgY3lhblsnNzAwJ10sXG4gICAgICBjeWFuWyc1MDAnXSxcbiAgICAgIGN5YW5bJzMwMCddLFxuICAgICAgY3lhblsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICB0ZWFsWyc5MDAnXSxcbiAgICAgIHRlYWxbJzcwMCddLFxuICAgICAgdGVhbFsnNTAwJ10sXG4gICAgICB0ZWFsWyczMDAnXSxcbiAgICAgIHRlYWxbJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgJyMxOTREMzMnLFxuICAgICAgZ3JlZW5bJzcwMCddLFxuICAgICAgZ3JlZW5bJzUwMCddLFxuICAgICAgZ3JlZW5bJzMwMCddLFxuICAgICAgZ3JlZW5bJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgbGlnaHRHcmVlblsnOTAwJ10sXG4gICAgICBsaWdodEdyZWVuWyc3MDAnXSxcbiAgICAgIGxpZ2h0R3JlZW5bJzUwMCddLFxuICAgICAgbGlnaHRHcmVlblsnMzAwJ10sXG4gICAgICBsaWdodEdyZWVuWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGxpbWVbJzkwMCddLFxuICAgICAgbGltZVsnNzAwJ10sXG4gICAgICBsaW1lWyc1MDAnXSxcbiAgICAgIGxpbWVbJzMwMCddLFxuICAgICAgbGltZVsnMTAwJ10sXG4gICAgXSxcbiAgICBbXG4gICAgICB5ZWxsb3dbJzkwMCddLFxuICAgICAgeWVsbG93Wyc3MDAnXSxcbiAgICAgIHllbGxvd1snNTAwJ10sXG4gICAgICB5ZWxsb3dbJzMwMCddLFxuICAgICAgeWVsbG93WycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGFtYmVyWyc5MDAnXSxcbiAgICAgIGFtYmVyWyc3MDAnXSxcbiAgICAgIGFtYmVyWyc1MDAnXSxcbiAgICAgIGFtYmVyWyczMDAnXSxcbiAgICAgIGFtYmVyWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIG9yYW5nZVsnOTAwJ10sXG4gICAgICBvcmFuZ2VbJzcwMCddLFxuICAgICAgb3JhbmdlWyc1MDAnXSxcbiAgICAgIG9yYW5nZVsnMzAwJ10sXG4gICAgICBvcmFuZ2VbJzEwMCddLFxuICAgIF0sXG4gICAgW1xuICAgICAgZGVlcE9yYW5nZVsnOTAwJ10sXG4gICAgICBkZWVwT3JhbmdlWyc3MDAnXSxcbiAgICAgIGRlZXBPcmFuZ2VbJzUwMCddLFxuICAgICAgZGVlcE9yYW5nZVsnMzAwJ10sXG4gICAgICBkZWVwT3JhbmdlWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJyb3duWyc5MDAnXSxcbiAgICAgIGJyb3duWyc3MDAnXSxcbiAgICAgIGJyb3duWyc1MDAnXSxcbiAgICAgIGJyb3duWyczMDAnXSxcbiAgICAgIGJyb3duWycxMDAnXSxcbiAgICBdLFxuICAgIFtcbiAgICAgIGJsdWVHcmV5Wyc5MDAnXSxcbiAgICAgIGJsdWVHcmV5Wyc3MDAnXSxcbiAgICAgIGJsdWVHcmV5Wyc1MDAnXSxcbiAgICAgIGJsdWVHcmV5WyczMDAnXSxcbiAgICAgIGJsdWVHcmV5WycxMDAnXSxcbiAgICBdLFxuICAgIFsnIzAwMDAwMCcsICcjNTI1MjUyJywgJyM5Njk2OTYnLCAnI0Q5RDlEOScsICcjRkZGRkZGJ10sXG4gIF07XG4gIEBJbnB1dCgpIHpEZXB0aDogekRlcHRoID0gMTtcbiAgQElucHV0KCkgcmFkaXVzID0gMTtcbiAgQElucHV0KCkgYmFja2dyb3VuZCA9ICcjZmZmJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgaGFuZGxlUGlja2VyQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH0pIHtcbiAgICB0aGlzLmhhbmRsZUNoYW5nZShkYXRhLCAkZXZlbnQpO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN3YXRjaGVzQ29tcG9uZW50LFxuICAgIFN3YXRjaGVzR3JvdXBDb21wb25lbnQsXG4gICAgU3dhdGNoZXNDb2xvckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1N3YXRjaGVzQ29tcG9uZW50LCBTd2F0Y2hlc0dyb3VwQ29tcG9uZW50LCBTd2F0Y2hlc0NvbG9yQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3dhdGNoTW9kdWxlLCBSYWlzZWRNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvclN3YXRjaGVzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLXR3aXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R3aXR0ZXIvbmd4LWNvbG9yLXR3aXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { ColorTwitterModule, TwitterComponent } from './twitter.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHdpdHRlci9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQ29sb3JUd2l0dGVyTW9kdWxlLCBUd2l0dGVyQ29tcG9uZW50IH0gZnJvbSAnLi90d2l0dGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,159 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
+ import { ColorWrap, EditableInputModule, isValidHex, SwatchModule } from 'ngx-color';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "ngx-color";
8
+ export class TwitterComponent extends ColorWrap {
9
+ constructor() {
10
+ super();
11
+ /** Pixel value for picker width */
12
+ this.width = 276;
13
+ /** Color squares to display */
14
+ this.colors = [
15
+ '#FF6900',
16
+ '#FCB900',
17
+ '#7BDCB5',
18
+ '#00D084',
19
+ '#8ED1FC',
20
+ '#0693E3',
21
+ '#ABB8C3',
22
+ '#EB144C',
23
+ '#F78DA7',
24
+ '#9900EF',
25
+ ];
26
+ this.triangle = 'top-left';
27
+ this.swatchStyle = {
28
+ width: '30px',
29
+ height: '30px',
30
+ borderRadius: '4px',
31
+ fontSize: '0',
32
+ };
33
+ this.input = {
34
+ borderRadius: '4px',
35
+ borderBottomLeftRadius: '0',
36
+ borderTopLeftRadius: '0',
37
+ border: '1px solid #e6ecf0',
38
+ boxSizing: 'border-box',
39
+ display: 'inline',
40
+ fontSize: '14px',
41
+ height: '30px',
42
+ padding: '0',
43
+ paddingLeft: '6px',
44
+ width: '100%',
45
+ color: '#657786',
46
+ };
47
+ this.disableAlpha = true;
48
+ }
49
+ focus(color) {
50
+ return { boxShadow: `0 0 4px ${color}` };
51
+ }
52
+ handleBlockChange({ hex, $event }) {
53
+ if (isValidHex(hex)) {
54
+ // this.hex = hex;
55
+ this.handleChange({ hex, source: 'hex' }, $event);
56
+ }
57
+ }
58
+ handleValueChange({ data, $event }) {
59
+ this.handleBlockChange({ hex: data, $event });
60
+ }
61
+ }
62
+ TwitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TwitterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ TwitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TwitterComponent, selector: "color-twitter", inputs: { width: "width", colors: "colors", triangle: "triangle" }, providers: [
64
+ {
65
+ provide: NG_VALUE_ACCESSOR,
66
+ useExisting: forwardRef(() => TwitterComponent),
67
+ multi: true,
68
+ },
69
+ {
70
+ provide: ColorWrap,
71
+ useExisting: forwardRef(() => TwitterComponent),
72
+ },
73
+ ], usesInheritance: true, ngImport: i0, template: `
74
+ <div class="twitter-picker {{ triangle }}-triangle {{ className }}" [style.width.px]="width">
75
+ <div class="triangleShadow"></div>
76
+ <div class="triangle"></div>
77
+ <div class="twitter-body">
78
+ <div class="twitter-swatch" *ngFor="let color of colors">
79
+ <color-swatch
80
+ [color]="color"
81
+ [style]="swatchStyle"
82
+ [focusStyle]="focus(color)"
83
+ (onClick)="handleBlockChange($event)"
84
+ (onHover)="onSwatchHover.emit($event)"
85
+ ></color-swatch>
86
+ </div>
87
+ <div class="twitter-hash">
88
+ <div>#</div>
89
+ </div>
90
+ <div class="twitter-input">
91
+ <color-editable-input
92
+ [style]="{ input: input }"
93
+ [value]="hex.replace('#', '')"
94
+ (onChange)="handleValueChange($event)"
95
+ ></color-editable-input>
96
+ </div>
97
+ </div>
98
+ </div>
99
+ `, isInline: true, styles: [".twitter-picker{background:rgb(255,255,255);border:0px solid rgba(0,0,0,.25);box-shadow:#00000040 0 1px 4px;border-radius:4px;position:relative;box-sizing:border-box}.triangleShadow{width:0px;height:0px;border-style:solid;border-width:0px 9px 10px;border-color:transparent transparent rgba(0,0,0,.1);position:absolute}.triangle{width:0px;height:0px;border-style:solid;border-width:0px 9px 10px;border-color:transparent transparent rgb(255,255,255);position:absolute}.hide-triangle>.triangle{display:none}.hide-triangle>.triangleShadow{display:none}.top-left-triangle>.triangle{top:-10px;left:12px}.top-left-triangle>.triangleShadow{top:-11px;left:12px}.top-right-triangle>.triangle{top:-10px;right:12px}.top-right-triangle>.triangleShadow{top:-11px;right:12px}.twitter-body{padding:15px 9px 9px 15px}.twitter-swatch{width:30px;height:30px;display:inline-block;margin:0 6px 0 0}.twitter-hash{background:rgb(240,240,240);height:30px;width:30px;border-radius:4px 0 0 4px;color:#98a1a4;margin-left:-3px;display:inline-block}.twitter-hash>div{position:absolute;align-items:center;justify-content:center;height:30px;width:30px;display:flex}.twitter-input{display:inline-block;margin-top:-6px;font-size:10px;height:27px;padding:0;position:relative;top:6px;vertical-align:top;width:108px;margin-left:-4px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SwatchComponent, selector: "color-swatch", inputs: ["color", "style", "focusStyle", "focus"], outputs: ["onClick", "onHover"] }, { kind: "component", type: i2.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TwitterComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'color-twitter', template: `
103
+ <div class="twitter-picker {{ triangle }}-triangle {{ className }}" [style.width.px]="width">
104
+ <div class="triangleShadow"></div>
105
+ <div class="triangle"></div>
106
+ <div class="twitter-body">
107
+ <div class="twitter-swatch" *ngFor="let color of colors">
108
+ <color-swatch
109
+ [color]="color"
110
+ [style]="swatchStyle"
111
+ [focusStyle]="focus(color)"
112
+ (onClick)="handleBlockChange($event)"
113
+ (onHover)="onSwatchHover.emit($event)"
114
+ ></color-swatch>
115
+ </div>
116
+ <div class="twitter-hash">
117
+ <div>#</div>
118
+ </div>
119
+ <div class="twitter-input">
120
+ <color-editable-input
121
+ [style]="{ input: input }"
122
+ [value]="hex.replace('#', '')"
123
+ (onChange)="handleValueChange($event)"
124
+ ></color-editable-input>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
129
+ {
130
+ provide: NG_VALUE_ACCESSOR,
131
+ useExisting: forwardRef(() => TwitterComponent),
132
+ multi: true,
133
+ },
134
+ {
135
+ provide: ColorWrap,
136
+ useExisting: forwardRef(() => TwitterComponent),
137
+ },
138
+ ], styles: [".twitter-picker{background:rgb(255,255,255);border:0px solid rgba(0,0,0,.25);box-shadow:#00000040 0 1px 4px;border-radius:4px;position:relative;box-sizing:border-box}.triangleShadow{width:0px;height:0px;border-style:solid;border-width:0px 9px 10px;border-color:transparent transparent rgba(0,0,0,.1);position:absolute}.triangle{width:0px;height:0px;border-style:solid;border-width:0px 9px 10px;border-color:transparent transparent rgb(255,255,255);position:absolute}.hide-triangle>.triangle{display:none}.hide-triangle>.triangleShadow{display:none}.top-left-triangle>.triangle{top:-10px;left:12px}.top-left-triangle>.triangleShadow{top:-11px;left:12px}.top-right-triangle>.triangle{top:-10px;right:12px}.top-right-triangle>.triangleShadow{top:-11px;right:12px}.twitter-body{padding:15px 9px 9px 15px}.twitter-swatch{width:30px;height:30px;display:inline-block;margin:0 6px 0 0}.twitter-hash{background:rgb(240,240,240);height:30px;width:30px;border-radius:4px 0 0 4px;color:#98a1a4;margin-left:-3px;display:inline-block}.twitter-hash>div{position:absolute;align-items:center;justify-content:center;height:30px;width:30px;display:flex}.twitter-input{display:inline-block;margin-top:-6px;font-size:10px;height:27px;padding:0;position:relative;top:6px;vertical-align:top;width:108px;margin-left:-4px}\n"] }]
139
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
140
+ type: Input
141
+ }], colors: [{
142
+ type: Input
143
+ }], triangle: [{
144
+ type: Input
145
+ }] } });
146
+ export class ColorTwitterModule {
147
+ }
148
+ ColorTwitterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorTwitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
149
+ ColorTwitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ColorTwitterModule, declarations: [TwitterComponent], imports: [CommonModule, SwatchModule, EditableInputModule], exports: [TwitterComponent] });
150
+ ColorTwitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorTwitterModule, imports: [CommonModule, SwatchModule, EditableInputModule] });
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorTwitterModule, decorators: [{
152
+ type: NgModule,
153
+ args: [{
154
+ declarations: [TwitterComponent],
155
+ exports: [TwitterComponent],
156
+ imports: [CommonModule, SwatchModule, EditableInputModule],
157
+ }]
158
+ }] });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdpdHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R3aXR0ZXIvdHdpdHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBdUluRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQXdDN0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQXhDVixtQ0FBbUM7UUFDMUIsVUFBSyxHQUFvQixHQUFHLENBQUM7UUFDdEMsK0JBQStCO1FBQ3RCLFdBQU0sR0FBRztZQUNoQixTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1lBQ1QsU0FBUztZQUNULFNBQVM7WUFDVCxTQUFTO1NBQ1YsQ0FBQztRQUNPLGFBQVEsR0FBdUQsVUFBVSxDQUFDO1FBRW5GLGdCQUFXLEdBQTRCO1lBQ3JDLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsR0FBRztTQUNkLENBQUM7UUFDRixVQUFLLEdBQTRCO1lBQy9CLFlBQVksRUFBRSxLQUFLO1lBQ25CLHNCQUFzQixFQUFFLEdBQUc7WUFDM0IsbUJBQW1CLEVBQUUsR0FBRztZQUN4QixNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFLEdBQUc7WUFDWixXQUFXLEVBQUUsS0FBSztZQUNsQixLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxTQUFTO1NBQ2pCLENBQUM7UUFDRixpQkFBWSxHQUFHLElBQUksQ0FBQztJQUlwQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWE7UUFDakIsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBTztRQUNwQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQixrQkFBa0I7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFPO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs2R0F6RFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsNEdBWmhCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDL0MsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLFNBQVM7WUFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoRDtLQUNGLGlEQWpJUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7MkZBeUdVLGdCQUFnQjtrQkFySTVCLFNBQVM7K0JBQ0UsZUFBZSxZQUNmOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVCxtQkEyRmdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUssYUFDZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDtxQkFDRjswRUFJUSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQVlHLFFBQVE7c0JBQWhCLEtBQUs7O0FBaURSLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFqRWxCLGdCQUFnQixhQStEakIsWUFBWSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsYUEvRDlDLGdCQUFnQjtnSEFpRWhCLGtCQUFrQixZQUZuQixZQUFZLEVBQUUsWUFBWSxFQUFFLG1CQUFtQjsyRkFFOUMsa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztpQkFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbG9yV3JhcCwgRWRpdGFibGVJbnB1dE1vZHVsZSwgaXNWYWxpZEhleCwgU3dhdGNoTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci10d2l0dGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgPGRpdiBjbGFzcz1cInR3aXR0ZXItcGlja2VyIHt7IHRyaWFuZ2xlIH19LXRyaWFuZ2xlIHt7IGNsYXNzTmFtZSB9fVwiIFtzdHlsZS53aWR0aC5weF09XCJ3aWR0aFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0cmlhbmdsZVNoYWRvd1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0cmlhbmdsZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0d2l0dGVyLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0d2l0dGVyLXN3YXRjaFwiICpuZ0Zvcj1cImxldCBjb2xvciBvZiBjb2xvcnNcIj5cbiAgICAgICAgPGNvbG9yLXN3YXRjaFxuICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgW3N0eWxlXT1cInN3YXRjaFN0eWxlXCJcbiAgICAgICAgICBbZm9jdXNTdHlsZV09XCJmb2N1cyhjb2xvcilcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUJsb2NrQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChvbkhvdmVyKT1cIm9uU3dhdGNoSG92ZXIuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgPjwvY29sb3Itc3dhdGNoPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidHdpdHRlci1oYXNoXCI+XG4gICAgICAgIDxkaXY+IzwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidHdpdHRlci1pbnB1dFwiPlxuICAgICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQgfVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImhleC5yZXBsYWNlKCcjJywgJycpXCJcbiAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnR3aXR0ZXItcGlja2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpIDBweCAxcHggNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLnRyaWFuZ2xlU2hhZG93IHtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgICBoZWlnaHQ6IDBweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDBweCA5cHggMTBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAudHJpYW5nbGUge1xuICAgICAgd2lkdGg6IDBweDtcbiAgICAgIGhlaWdodDogMHB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogMHB4IDlweCAxMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5oaWRlLXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5oaWRlLXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50b3AtbGVmdC10cmlhbmdsZSA+IC50cmlhbmdsZSB7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgbGVmdDogMTJweDtcbiAgICB9XG4gICAgLnRvcC1sZWZ0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlU2hhZG93IHtcbiAgICAgIHRvcDogLTExcHg7XG4gICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cbiAgICAudG9wLXJpZ2h0LXRyaWFuZ2xlID4gLnRyaWFuZ2xlIHtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICByaWdodDogMTJweDtcbiAgICB9XG4gICAgLnRvcC1yaWdodC10cmlhbmdsZSA+IC50cmlhbmdsZVNoYWRvdyB7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgcmlnaHQ6IDEycHg7XG4gICAgfVxuICAgIC50d2l0dGVyLWJvZHkge1xuICAgICAgcGFkZGluZzogMTVweCA5cHggOXB4IDE1cHg7XG4gICAgfVxuICAgIC50d2l0dGVyLXN3YXRjaCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCA2cHggMCAwO1xuICAgIH1cbiAgICAudHdpdHRlci1oYXNoIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyNDAsIDI0MCwgMjQwKTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xuICAgICAgY29sb3I6IHJnYigxNTIsIDE2MSwgMTY0KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgfVxuICAgIC50d2l0dGVyLWhhc2ggPiBkaXYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAudHdpdHRlci1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiAxMDhweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgIH1cbiAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR3aXR0ZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUd2l0dGVyQ29tcG9uZW50KSxcbiAgICB9LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFR3aXR0ZXJDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogUGl4ZWwgdmFsdWUgZm9yIHBpY2tlciB3aWR0aCAqL1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nIHwgbnVtYmVyID0gMjc2O1xuICAvKiogQ29sb3Igc3F1YXJlcyB0byBkaXNwbGF5ICovXG4gIEBJbnB1dCgpIGNvbG9ycyA9IFtcbiAgICAnI0ZGNjkwMCcsXG4gICAgJyNGQ0I5MDAnLFxuICAgICcjN0JEQ0I1JyxcbiAgICAnIzAwRDA4NCcsXG4gICAgJyM4RUQxRkMnLFxuICAgICcjMDY5M0UzJyxcbiAgICAnI0FCQjhDMycsXG4gICAgJyNFQjE0NEMnLFxuICAgICcjRjc4REE3JyxcbiAgICAnIzk5MDBFRicsXG4gIF07XG4gIEBJbnB1dCgpIHRyaWFuZ2xlOiAnaGlkZScgfCAndG9wLWxlZnQnIHwgJ3RvcC1yaWdodCcgfCAnYm90dG9tLXJpZ2h0JyA9ICd0b3AtbGVmdCc7XG5cbiAgc3dhdGNoU3R5bGU6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge1xuICAgIHdpZHRoOiAnMzBweCcsXG4gICAgaGVpZ2h0OiAnMzBweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBmb250U2l6ZTogJzAnLFxuICB9O1xuICBpbnB1dDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiAnMCcsXG4gICAgYm9yZGVyVG9wTGVmdFJhZGl1czogJzAnLFxuICAgIGJvcmRlcjogJzFweCBzb2xpZCAjZTZlY2YwJyxcbiAgICBib3hTaXppbmc6ICdib3JkZXItYm94JyxcbiAgICBkaXNwbGF5OiAnaW5saW5lJyxcbiAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIGhlaWdodDogJzMwcHgnLFxuICAgIHBhZGRpbmc6ICcwJyxcbiAgICBwYWRkaW5nTGVmdDogJzZweCcsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBjb2xvcjogJyM2NTc3ODYnLFxuICB9O1xuICBkaXNhYmxlQWxwaGEgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBmb2N1cyhjb2xvcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgYm94U2hhZG93OiBgMCAwIDRweCAke2NvbG9yfWAgfTtcbiAgfVxuXG4gIGhhbmRsZUJsb2NrQ2hhbmdlKHsgaGV4LCAkZXZlbnQgfTogYW55KSB7XG4gICAgaWYgKGlzVmFsaWRIZXgoaGV4KSkge1xuICAgICAgLy8gdGhpcy5oZXggPSBoZXg7XG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZSh7IGhleCwgc291cmNlOiAnaGV4JyB9LCAkZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVZhbHVlQ2hhbmdlKHsgZGF0YSwgJGV2ZW50IH06IGFueSkge1xuICAgIHRoaXMuaGFuZGxlQmxvY2tDaGFuZ2UoeyBoZXg6IGRhdGEsICRldmVudCB9KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtUd2l0dGVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1R3aXR0ZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTd2F0Y2hNb2R1bGUsIEVkaXRhYmxlSW5wdXRNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvclR3aXR0ZXJNb2R1bGUge31cbiJdfQ==