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,40 @@
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PhotoshopPreviewsComponent {
4
+ constructor() {
5
+ this.currentColor = '';
6
+ this.backgroundNew = '';
7
+ }
8
+ ngOnChanges() {
9
+ this.backgroundNew = `rgb(${this.rgb.r},${this.rgb.g}, ${this.rgb.b})`;
10
+ }
11
+ }
12
+ PhotoshopPreviewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PhotoshopPreviewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ PhotoshopPreviewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PhotoshopPreviewsComponent, selector: "color-photoshop-previews", inputs: { rgb: "rgb", currentColor: "currentColor" }, usesOnChanges: true, ngImport: i0, template: `
14
+ <div>
15
+ <div class="photoshop-label">new</div>
16
+ <div class="photoshop-swatches">
17
+ <div class="photoshop-new" [style.background]="backgroundNew"></div>
18
+ <div class="photoshop-current" [style.background]="currentColor"></div>
19
+ </div>
20
+ <div class="photoshop-label">current</div>
21
+ </div>
22
+ `, isInline: true, styles: [".photoshop-swatches{border:1px solid #B3B3B3;border-bottom:1px solid #F0F0F0;margin-bottom:2px;margin-top:1px}.photoshop-new{height:34px;box-shadow:inset 1px 0 #000,inset -1px 0 #000,inset 0 1px #000}.photoshop-current{height:34px;box-shadow:inset 1px 0 #000,inset -1px 0 #000,inset 0 -1px #000}.photoshop-label{font-size:14px;color:#000;text-align:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PhotoshopPreviewsComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'color-photoshop-previews', template: `
26
+ <div>
27
+ <div class="photoshop-label">new</div>
28
+ <div class="photoshop-swatches">
29
+ <div class="photoshop-new" [style.background]="backgroundNew"></div>
30
+ <div class="photoshop-current" [style.background]="currentColor"></div>
31
+ </div>
32
+ <div class="photoshop-label">current</div>
33
+ </div>
34
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".photoshop-swatches{border:1px solid #B3B3B3;border-bottom:1px solid #F0F0F0;margin-bottom:2px;margin-top:1px}.photoshop-new{height:34px;box-shadow:inset 1px 0 #000,inset -1px 0 #000,inset 0 1px #000}.photoshop-current{height:34px;box-shadow:inset 1px 0 #000,inset -1px 0 #000,inset 0 -1px #000}.photoshop-label{font-size:14px;color:#000;text-align:center}\n"] }]
35
+ }], propDecorators: { rgb: [{
36
+ type: Input
37
+ }], currentColor: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG9zaG9wLXByZXZpZXdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGhvdG9zaG9wL3Bob3Rvc2hvcC1wcmV2aWV3cy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDOztBQXlDdkIsTUFBTSxPQUFPLDBCQUEwQjtJQXRDdkM7UUF3Q1csaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDM0Isa0JBQWEsR0FBRyxFQUFFLENBQUM7S0FLcEI7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDekUsQ0FBQzs7dUhBUFUsMEJBQTBCOzJHQUExQiwwQkFBMEIsMklBcEMzQjs7Ozs7Ozs7O0dBU1Q7MkZBMkJVLDBCQUEwQjtrQkF0Q3RDLFNBQVM7K0JBQ0UsMEJBQTBCLFlBQzFCOzs7Ozs7Ozs7R0FTVCxtQkF3QmdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSR0IgfSBmcm9tICduZ3gtY29sb3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1waG90b3Nob3AtcHJldmlld3MnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwaG90b3Nob3AtbGFiZWxcIj5uZXc8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLXN3YXRjaGVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLW5ld1wiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImJhY2tncm91bmROZXdcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaG90b3Nob3AtY3VycmVudFwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImN1cnJlbnRDb2xvclwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwaG90b3Nob3AtbGFiZWxcIj5jdXJyZW50PC9kaXY+XG4gIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gIC5waG90b3Nob3Atc3dhdGNoZXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCM0IzQjM7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMEYwRjA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIG1hcmdpbi10b3A6IDFweDtcbiAgfVxuICAucGhvdG9zaG9wLW5ldyB7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgIzAwMCwgaW5zZXQgLTFweCAwIDAgIzAwMCwgaW5zZXQgMCAxcHggMCAjMDAwO1xuICB9XG4gIC5waG90b3Nob3AtY3VycmVudCB7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgIzAwMCwgaW5zZXQgLTFweCAwIDAgIzAwMCwgaW5zZXQgMCAtMXB4IDAgIzAwMDtcbiAgfVxuICAucGhvdG9zaG9wLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgUGhvdG9zaG9wUHJldmlld3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSByZ2IhOiBSR0I7XG4gIEBJbnB1dCgpIGN1cnJlbnRDb2xvciA9ICcnO1xuICBiYWNrZ3JvdW5kTmV3ID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kTmV3ID0gYHJnYigke3RoaXMucmdiLnJ9LCR7dGhpcy5yZ2IuZ30sICR7dGhpcy5yZ2IuYn0pYDtcbiAgfVxufVxuIl19
@@ -0,0 +1,185 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, NgModule, Output } from '@angular/core';
3
+ import { AlphaModule, ColorWrap, EditableInputModule, HueModule, SaturationModule, SwatchModule } from 'ngx-color';
4
+ import { PhotoshopButtonComponent } from './photoshop-button.component';
5
+ import { PhotoshopFieldsComponent } from './photoshop-fields.component';
6
+ import { PhotoshopPreviewsComponent } from './photoshop-previews.component';
7
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "ngx-color";
10
+ export class PhotoshopComponent extends ColorWrap {
11
+ constructor() {
12
+ super();
13
+ /** Title text */
14
+ this.header = 'Color Picker';
15
+ this.onAccept = new EventEmitter();
16
+ this.onCancel = new EventEmitter();
17
+ this.circle = {
18
+ width: '12px',
19
+ height: '12px',
20
+ borderRadius: '6px',
21
+ boxShadow: 'rgb(255, 255, 255) 0px 0px 0px 1px inset',
22
+ transform: 'translate(-6px, -10px)',
23
+ };
24
+ }
25
+ handleValueChange({ data, $event }) {
26
+ this.handleChange(data, $event);
27
+ }
28
+ }
29
+ PhotoshopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PhotoshopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ PhotoshopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PhotoshopComponent, selector: "color-photoshop", inputs: { header: "header" }, outputs: { onAccept: "onAccept", onCancel: "onCancel" }, providers: [
31
+ {
32
+ provide: NG_VALUE_ACCESSOR,
33
+ useExisting: forwardRef(() => PhotoshopComponent),
34
+ multi: true,
35
+ },
36
+ {
37
+ provide: ColorWrap,
38
+ useExisting: forwardRef(() => PhotoshopComponent),
39
+ },
40
+ ], usesInheritance: true, ngImport: i0, template: `
41
+ <div class="photoshop-picker {{ className }}">
42
+ <div class="photoshop-head">{{ header }}</div>
43
+ <div class="photoshop-body">
44
+ <div class="photoshop-saturation">
45
+ <color-saturation
46
+ [hsl]="hsl" [hsv]="hsv" [circle]="circle"
47
+ (onChange)="handleValueChange($event)"
48
+ ></color-saturation>
49
+ </div>
50
+ <div class="photoshop-hue">
51
+ <color-hue direction="vertical"
52
+ [hsl]="hsl" [hidePointer]="true"
53
+ (onChange)="handleValueChange($event)"
54
+ ></color-hue>
55
+ </div>
56
+ <div class="photoshop-controls">
57
+ <div class="photoshop-top">
58
+ <div class="photoshop-previews">
59
+ <color-photoshop-previews
60
+ [rgb]="rgb" [currentColor]="currentColor"
61
+ ></color-photoshop-previews>
62
+ </div>
63
+ <div class="photoshop-actions">
64
+ <color-photoshop-button label="OK"
65
+ [active]="true" (onClick)="onAccept.emit($event)"
66
+ ></color-photoshop-button>
67
+ <color-photoshop-button label="Cancel"
68
+ (onClick)="onCancel.emit($event)"
69
+ >
70
+ </color-photoshop-button>
71
+ <color-photoshop-fields
72
+ [rgb]="rgb" [hex]="hex" [hsv]="hsv"
73
+ (onChange)="handleValueChange($event)"
74
+ ></color-photoshop-fields>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ `, isInline: true, styles: [".photoshop-picker{background:rgb(220,220,220);border-radius:4px;box-shadow:#00000040 0 0 0 1px,#00000026 0 8px 16px;box-sizing:initial;width:513px}.photoshop-head{background-image:linear-gradient(-180deg,rgb(240,240,240) 0%,rgb(212,212,212) 100%);border-bottom:1px solid rgb(177,177,177);box-shadow:#fff3 0 1px inset,#00000005 0 -1px inset;height:23px;line-height:24px;border-radius:4px 4px 0 0;font-size:13px;color:#4d4d4d;text-align:center}.photoshop-body{padding:15px 15px 0;display:flex}.photoshop-saturation{width:256px;height:256px;position:relative;border-width:2px;border-style:solid;border-color:rgb(179,179,179) rgb(179,179,179) rgb(240,240,240);border-image:initial;overflow:hidden}.photoshop-hue{position:relative;height:256px;width:23px;margin-left:10px;border-width:2px;border-style:solid;border-color:rgb(179,179,179) rgb(179,179,179) rgb(240,240,240);border-image:initial}.photoshop-controls{width:180px;margin-left:10px}.photoshop-top{display:flex}.photoshop-previews{width:60px}.photoshop-actions{flex:1 1 0%;margin-left:20px}\n"], dependencies: [{ kind: "component", type: i0.forwardRef(function () { return i1.HueComponent; }), selector: "color-hue", inputs: ["hsl", "pointer", "radius", "shadow", "hidePointer", "direction"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(function () { return i1.SaturationComponent; }), selector: "color-saturation", inputs: ["hsl", "hsv", "radius", "pointer", "circle"], outputs: ["onChange"] }, { kind: "component", type: i0.forwardRef(function () { return PhotoshopPreviewsComponent; }), selector: "color-photoshop-previews", inputs: ["rgb", "currentColor"] }, { kind: "component", type: i0.forwardRef(function () { return PhotoshopButtonComponent; }), selector: "color-photoshop-button", inputs: ["label", "active"], outputs: ["onClick"] }, { kind: "component", type: i0.forwardRef(function () { return PhotoshopFieldsComponent; }), selector: "color-photoshop-fields", inputs: ["rgb", "hsv", "hex"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PhotoshopComponent, decorators: [{
82
+ type: Component,
83
+ args: [{ selector: 'color-photoshop', template: `
84
+ <div class="photoshop-picker {{ className }}">
85
+ <div class="photoshop-head">{{ header }}</div>
86
+ <div class="photoshop-body">
87
+ <div class="photoshop-saturation">
88
+ <color-saturation
89
+ [hsl]="hsl" [hsv]="hsv" [circle]="circle"
90
+ (onChange)="handleValueChange($event)"
91
+ ></color-saturation>
92
+ </div>
93
+ <div class="photoshop-hue">
94
+ <color-hue direction="vertical"
95
+ [hsl]="hsl" [hidePointer]="true"
96
+ (onChange)="handleValueChange($event)"
97
+ ></color-hue>
98
+ </div>
99
+ <div class="photoshop-controls">
100
+ <div class="photoshop-top">
101
+ <div class="photoshop-previews">
102
+ <color-photoshop-previews
103
+ [rgb]="rgb" [currentColor]="currentColor"
104
+ ></color-photoshop-previews>
105
+ </div>
106
+ <div class="photoshop-actions">
107
+ <color-photoshop-button label="OK"
108
+ [active]="true" (onClick)="onAccept.emit($event)"
109
+ ></color-photoshop-button>
110
+ <color-photoshop-button label="Cancel"
111
+ (onClick)="onCancel.emit($event)"
112
+ >
113
+ </color-photoshop-button>
114
+ <color-photoshop-fields
115
+ [rgb]="rgb" [hex]="hex" [hsv]="hsv"
116
+ (onChange)="handleValueChange($event)"
117
+ ></color-photoshop-fields>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
124
+ {
125
+ provide: NG_VALUE_ACCESSOR,
126
+ useExisting: forwardRef(() => PhotoshopComponent),
127
+ multi: true,
128
+ },
129
+ {
130
+ provide: ColorWrap,
131
+ useExisting: forwardRef(() => PhotoshopComponent),
132
+ },
133
+ ], styles: [".photoshop-picker{background:rgb(220,220,220);border-radius:4px;box-shadow:#00000040 0 0 0 1px,#00000026 0 8px 16px;box-sizing:initial;width:513px}.photoshop-head{background-image:linear-gradient(-180deg,rgb(240,240,240) 0%,rgb(212,212,212) 100%);border-bottom:1px solid rgb(177,177,177);box-shadow:#fff3 0 1px inset,#00000005 0 -1px inset;height:23px;line-height:24px;border-radius:4px 4px 0 0;font-size:13px;color:#4d4d4d;text-align:center}.photoshop-body{padding:15px 15px 0;display:flex}.photoshop-saturation{width:256px;height:256px;position:relative;border-width:2px;border-style:solid;border-color:rgb(179,179,179) rgb(179,179,179) rgb(240,240,240);border-image:initial;overflow:hidden}.photoshop-hue{position:relative;height:256px;width:23px;margin-left:10px;border-width:2px;border-style:solid;border-color:rgb(179,179,179) rgb(179,179,179) rgb(240,240,240);border-image:initial}.photoshop-controls{width:180px;margin-left:10px}.photoshop-top{display:flex}.photoshop-previews{width:60px}.photoshop-actions{flex:1 1 0%;margin-left:20px}\n"] }]
134
+ }], ctorParameters: function () { return []; }, propDecorators: { header: [{
135
+ type: Input
136
+ }], onAccept: [{
137
+ type: Output
138
+ }], onCancel: [{
139
+ type: Output
140
+ }] } });
141
+ export class ColorPhotoshopModule {
142
+ }
143
+ ColorPhotoshopModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorPhotoshopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
144
+ ColorPhotoshopModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ColorPhotoshopModule, declarations: [PhotoshopComponent, PhotoshopPreviewsComponent,
145
+ PhotoshopButtonComponent,
146
+ PhotoshopFieldsComponent], imports: [CommonModule,
147
+ EditableInputModule,
148
+ HueModule,
149
+ AlphaModule,
150
+ SwatchModule,
151
+ SaturationModule], exports: [PhotoshopComponent, PhotoshopPreviewsComponent,
152
+ PhotoshopButtonComponent,
153
+ PhotoshopFieldsComponent] });
154
+ ColorPhotoshopModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorPhotoshopModule, imports: [CommonModule,
155
+ EditableInputModule,
156
+ HueModule,
157
+ AlphaModule,
158
+ SwatchModule,
159
+ SaturationModule] });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorPhotoshopModule, decorators: [{
161
+ type: NgModule,
162
+ args: [{
163
+ declarations: [
164
+ PhotoshopComponent,
165
+ PhotoshopPreviewsComponent,
166
+ PhotoshopButtonComponent,
167
+ PhotoshopFieldsComponent,
168
+ ],
169
+ exports: [
170
+ PhotoshopComponent,
171
+ PhotoshopPreviewsComponent,
172
+ PhotoshopButtonComponent,
173
+ PhotoshopFieldsComponent,
174
+ ],
175
+ imports: [
176
+ CommonModule,
177
+ EditableInputModule,
178
+ HueModule,
179
+ AlphaModule,
180
+ SwatchModule,
181
+ SaturationModule,
182
+ ],
183
+ }]
184
+ }] });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvdG9zaG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGhvdG9zaG9wL3Bob3Rvc2hvcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0SCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUE0SG5ELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBWS9DO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFaVixpQkFBaUI7UUFDUixXQUFNLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3JDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQy9DLFdBQU0sR0FBRztZQUNQLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLE1BQU07WUFDZCxZQUFZLEVBQUUsS0FBSztZQUNuQixTQUFTLEVBQUUsMENBQTBDO1lBQ3JELFNBQVMsRUFBRSx3QkFBd0I7U0FDcEMsQ0FBQztJQUdGLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7K0dBakJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlJQVpsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pELEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7U0FDbEQ7S0FDRixpREF0SFM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Q1QsMGhEQXVHQywwQkFBMEIsNklBQzFCLHdCQUF3Qiw2SkFDeEIsd0JBQXdCOzJGQXpCZixrQkFBa0I7a0JBMUg5QixTQUFTOytCQUNFLGlCQUFpQixZQUNqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVCxtQkFrRWdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUssYUFDZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLFNBQVM7NEJBQ2xCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3lCQUNsRDtxQkFDRjswRUFJUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNOztBQXNDVCxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBMUNwQixrQkFBa0IsRUF1QjNCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIsd0JBQXdCLGFBU3hCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osZ0JBQWdCLGFBdkNQLGtCQUFrQixFQTZCM0IsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4Qix3QkFBd0I7a0hBV2Ysb0JBQW9CLFlBUjdCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osZ0JBQWdCOzJGQUdQLG9CQUFvQjtrQkF0QmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixTQUFTO3dCQUNULFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE5nTW9kdWxlLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWxwaGFNb2R1bGUsIENvbG9yV3JhcCwgRWRpdGFibGVJbnB1dE1vZHVsZSwgSHVlTW9kdWxlLCBTYXR1cmF0aW9uTW9kdWxlLCBTd2F0Y2hNb2R1bGUgfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgUGhvdG9zaG9wQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9waG90b3Nob3AtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQaG90b3Nob3BGaWVsZHNDb21wb25lbnQgfSBmcm9tICcuL3Bob3Rvc2hvcC1maWVsZHMuY29tcG9uZW50JztcbmltcG9ydCB7IFBob3Rvc2hvcFByZXZpZXdzQ29tcG9uZW50IH0gZnJvbSAnLi9waG90b3Nob3AtcHJldmlld3MuY29tcG9uZW50JztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb2xvci1waG90b3Nob3AnLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLXBpY2tlciB7eyBjbGFzc05hbWUgfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLWhlYWRcIj57eyBoZWFkZXIgfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwaG90b3Nob3Atc2F0dXJhdGlvblwiPlxuICAgICAgICA8Y29sb3Itc2F0dXJhdGlvblxuICAgICAgICAgIFtoc2xdPVwiaHNsXCIgW2hzdl09XCJoc3ZcIiBbY2lyY2xlXT1cImNpcmNsZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICA+PC9jb2xvci1zYXR1cmF0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLWh1ZVwiPlxuICAgICAgICA8Y29sb3ItaHVlIGRpcmVjdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICBbaHNsXT1cImhzbFwiIFtoaWRlUG9pbnRlcl09XCJ0cnVlXCJcbiAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L2NvbG9yLWh1ZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInBob3Rvc2hvcC1jb250cm9sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGhvdG9zaG9wLXRvcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaG90b3Nob3AtcHJldmlld3NcIj5cbiAgICAgICAgICAgIDxjb2xvci1waG90b3Nob3AtcHJldmlld3NcbiAgICAgICAgICAgICAgW3JnYl09XCJyZ2JcIiBbY3VycmVudENvbG9yXT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICA+PC9jb2xvci1waG90b3Nob3AtcHJldmlld3M+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBob3Rvc2hvcC1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8Y29sb3ItcGhvdG9zaG9wLWJ1dHRvbiBsYWJlbD1cIk9LXCJcbiAgICAgICAgICAgICAgW2FjdGl2ZV09XCJ0cnVlXCIgKG9uQ2xpY2spPVwib25BY2NlcHQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2NvbG9yLXBob3Rvc2hvcC1idXR0b24+XG4gICAgICAgICAgICA8Y29sb3ItcGhvdG9zaG9wLWJ1dHRvbiBsYWJlbD1cIkNhbmNlbFwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cIm9uQ2FuY2VsLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L2NvbG9yLXBob3Rvc2hvcC1idXR0b24+XG4gICAgICAgICAgICA8Y29sb3ItcGhvdG9zaG9wLWZpZWxkc1xuICAgICAgICAgICAgICBbcmdiXT1cInJnYlwiIFtoZXhdPVwiaGV4XCIgW2hzdl09XCJoc3ZcIlxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC9jb2xvci1waG90b3Nob3AtZmllbGRzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5waG90b3Nob3AtcGlja2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyMjAsIDIyMCwgMjIwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDBweCAwcHggMXB4LCByZ2JhKDAsIDAsIDAsIDAuMTUpIDBweCA4cHggMTZweDtcbiAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7IHdpZHRoOiA1MTNweDtcbiAgICB9XG4gICAgLnBob3Rvc2hvcC1oZWFkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgLTE4MGRlZyxcbiAgICAgICAgcmdiKDI0MCwgMjQwLCAyNDApIDAlLFxuICAgICAgICByZ2IoMjEyLCAyMTIsIDIxMikgMTAwJVxuICAgICAgKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMTc3LCAxNzcsIDE3Nyk7XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgMHB4IDFweCAwcHggMHB4IGluc2V0LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMDIpIDBweCAtMXB4IDBweCAwcHggaW5zZXQ7XG4gICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMHB4IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiByZ2IoNzcsIDc3LCA3Nyk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5waG90b3Nob3AtYm9keSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLnBob3Rvc2hvcC1zYXR1cmF0aW9uIHtcbiAgICAgIHdpZHRoOiAyNTZweDtcbiAgICAgIGhlaWdodDogMjU2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYigxNzksIDE3OSwgMTc5KSByZ2IoMTc5LCAxNzksIDE3OSkgcmdiKDI0MCwgMjQwLCAyNDApO1xuICAgICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnBob3Rvc2hvcC1odWUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAyNTZweDtcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYigxNzksIDE3OSwgMTc5KSByZ2IoMTc5LCAxNzksIDE3OSkgcmdiKDI0MCwgMjQwLCAyNDApO1xuICAgICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICAgIH1cbiAgICAucGhvdG9zaG9wLWNvbnRyb2xzIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAucGhvdG9zaG9wLXRvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAucGhvdG9zaG9wLXByZXZpZXdzIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbiAgICAucGhvdG9zaG9wLWFjdGlvbnMge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgIGZsZXg6IDEgMSAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBob3Rvc2hvcENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbG9yV3JhcCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBob3Rvc2hvcENvbXBvbmVudCksXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQaG90b3Nob3BDb21wb25lbnQgZXh0ZW5kcyBDb2xvcldyYXAge1xuICAvKiogVGl0bGUgdGV4dCAqL1xuICBASW5wdXQoKSBoZWFkZXIgPSAnQ29sb3IgUGlja2VyJztcbiAgQE91dHB1dCgpIG9uQWNjZXB0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgY2lyY2xlID0ge1xuICAgIHdpZHRoOiAnMTJweCcsXG4gICAgaGVpZ2h0OiAnMTJweCcsXG4gICAgYm9yZGVyUmFkaXVzOiAnNnB4JyxcbiAgICBib3hTaGFkb3c6ICdyZ2IoMjU1LCAyNTUsIDI1NSkgMHB4IDBweCAwcHggMXB4IGluc2V0JyxcbiAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTZweCwgLTEwcHgpJyxcbiAgfTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBoYW5kbGVWYWx1ZUNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQaG90b3Nob3BDb21wb25lbnQsXG4gICAgUGhvdG9zaG9wUHJldmlld3NDb21wb25lbnQsXG4gICAgUGhvdG9zaG9wQnV0dG9uQ29tcG9uZW50LFxuICAgIFBob3Rvc2hvcEZpZWxkc0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFBob3Rvc2hvcENvbXBvbmVudCxcbiAgICBQaG90b3Nob3BQcmV2aWV3c0NvbXBvbmVudCxcbiAgICBQaG90b3Nob3BCdXR0b25Db21wb25lbnQsXG4gICAgUGhvdG9zaG9wRmllbGRzQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEVkaXRhYmxlSW5wdXRNb2R1bGUsXG4gICAgSHVlTW9kdWxlLFxuICAgIEFscGhhTW9kdWxlLFxuICAgIFN3YXRjaE1vZHVsZSxcbiAgICBTYXR1cmF0aW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb2xvclBob3Rvc2hvcE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ export { PhotoshopButtonComponent } from './photoshop-button.component';
2
+ export { PhotoshopFieldsComponent } from './photoshop-fields.component';
3
+ export { PhotoshopPreviewsComponent } from './photoshop-previews.component';
4
+ export { ColorPhotoshopModule, PhotoshopComponent } from './photoshop.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcGhvdG9zaG9wL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBQaG90b3Nob3BCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3Bob3Rvc2hvcC1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7IFBob3Rvc2hvcEZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vcGhvdG9zaG9wLWZpZWxkcy5jb21wb25lbnQnO1xuZXhwb3J0IHsgUGhvdG9zaG9wUHJldmlld3NDb21wb25lbnQgfSBmcm9tICcuL3Bob3Rvc2hvcC1wcmV2aWV3cy5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ29sb3JQaG90b3Nob3BNb2R1bGUsIFBob3Rvc2hvcENvbXBvbmVudCB9IGZyb20gJy4vcGhvdG9zaG9wLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLXNoYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaGFkZS9uZ3gtY29sb3Itc2hhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { ColorShadeModule, ShadeSliderComponent } from './shade-picker.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2hhZGUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IENvbG9yU2hhZGVNb2R1bGUsIFNoYWRlU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFkZS1waWNrZXIuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,92 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, NgModule } from '@angular/core';
3
+ import { ColorWrap, ShadeModule, toState } from 'ngx-color';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "ngx-color";
7
+ export class ShadeSliderComponent extends ColorWrap {
8
+ constructor() {
9
+ super();
10
+ /** Pixel value for picker width */
11
+ this.width = 316;
12
+ /** Pixel value for picker height */
13
+ this.height = 16;
14
+ this.pointer = {
15
+ width: '18px',
16
+ height: '18px',
17
+ borderRadius: '50%',
18
+ transform: 'translate(-9px, -2px)',
19
+ boxShadow: '0 1px 4px 0 rgba(0, 0, 0, 0.37)',
20
+ };
21
+ }
22
+ ngOnChanges() {
23
+ this.setState(toState(this.color, this.oldHue));
24
+ }
25
+ handlePickerChange({ data, $event }) {
26
+ this.handleChange(data, $event);
27
+ }
28
+ }
29
+ ShadeSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ShadeSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ ShadeSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: ShadeSliderComponent, selector: "color-shade-picker", inputs: { width: "width", height: "height" }, providers: [
31
+ {
32
+ provide: NG_VALUE_ACCESSOR,
33
+ useExisting: forwardRef(() => ShadeSliderComponent),
34
+ multi: true,
35
+ },
36
+ {
37
+ provide: ColorWrap,
38
+ useExisting: forwardRef(() => ShadeSliderComponent),
39
+ },
40
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
41
+ <div class="shade-slider {{ className || '' }}"
42
+ [style.width.px]="width" [style.height.px]="height">
43
+ <color-shade
44
+ [hsl]="hsl"
45
+ [rgb]="rgb"
46
+ [pointer]="pointer"
47
+ (onChange)="handlePickerChange($event)"
48
+ ></color-shade>
49
+ </div>
50
+ `, isInline: true, styles: [".shade-slider{position:relative}\n"], dependencies: [{ kind: "component", type: i1.ShadeComponent, selector: "color-shade", inputs: ["hsl", "rgb", "pointer", "shadow", "radius"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ShadeSliderComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'color-shade-picker', template: `
54
+ <div class="shade-slider {{ className || '' }}"
55
+ [style.width.px]="width" [style.height.px]="height">
56
+ <color-shade
57
+ [hsl]="hsl"
58
+ [rgb]="rgb"
59
+ [pointer]="pointer"
60
+ (onChange)="handlePickerChange($event)"
61
+ ></color-shade>
62
+ </div>
63
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [
64
+ {
65
+ provide: NG_VALUE_ACCESSOR,
66
+ useExisting: forwardRef(() => ShadeSliderComponent),
67
+ multi: true,
68
+ },
69
+ {
70
+ provide: ColorWrap,
71
+ useExisting: forwardRef(() => ShadeSliderComponent),
72
+ },
73
+ ], styles: [".shade-slider{position:relative}\n"] }]
74
+ }], ctorParameters: function () { return []; }, propDecorators: { width: [{
75
+ type: Input
76
+ }], height: [{
77
+ type: Input
78
+ }] } });
79
+ export class ColorShadeModule {
80
+ }
81
+ ColorShadeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorShadeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
82
+ ColorShadeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: ColorShadeModule, declarations: [ShadeSliderComponent], imports: [CommonModule, ShadeModule], exports: [ShadeSliderComponent] });
83
+ ColorShadeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorShadeModule, imports: [CommonModule, ShadeModule] });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: ColorShadeModule, decorators: [{
85
+ type: NgModule,
86
+ args: [{
87
+ declarations: [ShadeSliderComponent],
88
+ exports: [ShadeSliderComponent],
89
+ imports: [CommonModule, ShadeModule],
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZGUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2hhZGUvc2hhZGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQW9DbkQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFhakQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWJWLG1DQUFtQztRQUMxQixVQUFLLEdBQW9CLEdBQUcsQ0FBQztRQUN0QyxvQ0FBb0M7UUFDM0IsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFDdEMsWUFBTyxHQUE0QjtZQUNqQyxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsWUFBWSxFQUFFLEtBQUs7WUFDbkIsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxTQUFTLEVBQUUsaUNBQWlDO1NBQzdDLENBQUM7SUFJRixDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpSEFyQlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMkZBWnBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDbkQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLFNBQVM7WUFDbEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztTQUNwRDtLQUNGLHNFQTlCUzs7Ozs7Ozs7OztHQVVUOzJGQXNCVSxvQkFBb0I7a0JBbENoQyxTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs7Ozs7Ozs7OztHQVVULG1CQVFnQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLLGFBQ2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxTQUFTOzRCQUNsQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQzt5QkFDcEQ7cUJBQ0Y7MEVBSVEsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSzs7QUF5QlIsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQTdCaEIsb0JBQW9CLGFBMkJyQixZQUFZLEVBQUUsV0FBVyxhQTNCeEIsb0JBQW9COzhHQTZCcEIsZ0JBQWdCLFlBRmpCLFlBQVksRUFBRSxXQUFXOzJGQUV4QixnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdNb2R1bGUsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sb3JXcmFwLCBTaGFkZU1vZHVsZSwgdG9TdGF0ZSB9IGZyb20gJ25neC1jb2xvcic7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc2hhZGUtcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwic2hhZGUtc2xpZGVyIHt7IGNsYXNzTmFtZSB8fCAnJyB9fVwiXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwid2lkdGhcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxuICAgICAgPGNvbG9yLXNoYWRlXG4gICAgICAgIFtoc2xdPVwiaHNsXCJcbiAgICAgICAgW3JnYl09XCJyZ2JcIlxuICAgICAgICBbcG9pbnRlcl09XCJwb2ludGVyXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZVBpY2tlckNoYW5nZSgkZXZlbnQpXCJcbiAgICAgID48L2NvbG9yLXNoYWRlPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgLnNoYWRlLXNsaWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2hhZGVTbGlkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBDb2xvcldyYXAsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTaGFkZVNsaWRlckNvbXBvbmVudCksXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFkZVNsaWRlckNvbXBvbmVudCBleHRlbmRzIENvbG9yV3JhcCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIHdpZHRoICovXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAzMTY7XG4gIC8qKiBQaXhlbCB2YWx1ZSBmb3IgcGlja2VyIGhlaWdodCAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDE2O1xuICBwb2ludGVyOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgICB3aWR0aDogJzE4cHgnLFxuICAgIGhlaWdodDogJzE4cHgnLFxuICAgIGJvcmRlclJhZGl1czogJzUwJScsXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC05cHgsIC0ycHgpJyxcbiAgICBib3hTaGFkb3c6ICcwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2V0U3RhdGUodG9TdGF0ZSh0aGlzLmNvbG9yLCB0aGlzLm9sZEh1ZSkpO1xuICB9XG4gIGhhbmRsZVBpY2tlckNoYW5nZSh7IGRhdGEsICRldmVudCB9KSB7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoZGF0YSwgJGV2ZW50KTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTaGFkZVNsaWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtTaGFkZVNsaWRlckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYWRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JTaGFkZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbG9yLXNrZXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2tldGNoL25neC1jb2xvci1za2V0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export { SketchFieldsComponent } from './sketch-fields.component';
2
+ export { SketchPresetColorsComponent } from './sketch-preset-colors.component';
3
+ export { ColorSketchModule, SketchComponent } from './sketch.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvc2tldGNoL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2tldGNoRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9za2V0Y2gtZmllbGRzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa2V0Y2hQcmVzZXRDb2xvcnNDb21wb25lbnQgfSBmcm9tICcuL3NrZXRjaC1wcmVzZXQtY29sb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb2xvclNrZXRjaE1vZHVsZSwgU2tldGNoQ29tcG9uZW50IH0gZnJvbSAnLi9za2V0Y2guY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,209 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { isValidHex } from 'ngx-color';
3
+ import { TinyColor } from '@ctrl/tinycolor';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "ngx-color";
7
+ export class SketchFieldsComponent {
8
+ constructor() {
9
+ this.disableAlpha = false;
10
+ this.onChange = new EventEmitter();
11
+ this.input = {
12
+ width: '100%',
13
+ padding: '4px 10% 3px',
14
+ border: 'none',
15
+ boxSizing: 'border-box',
16
+ boxShadow: 'inset 0 0 0 1px #ccc',
17
+ fontSize: '11px',
18
+ };
19
+ this.label = {
20
+ display: 'block',
21
+ textAlign: 'center',
22
+ fontSize: '11px',
23
+ color: '#222',
24
+ paddingTop: '3px',
25
+ paddingBottom: '4px',
26
+ textTransform: 'capitalize',
27
+ };
28
+ }
29
+ round(value) {
30
+ return Math.round(value);
31
+ }
32
+ handleChange({ data, $event }) {
33
+ if (data.hex) {
34
+ if (isValidHex(data.hex)) {
35
+ const color = new TinyColor(data.hex);
36
+ this.onChange.emit({
37
+ data: {
38
+ hex: this.disableAlpha || data.hex.length <= 6 ? color.toHex() : color.toHex8(),
39
+ source: 'hex',
40
+ },
41
+ $event,
42
+ });
43
+ }
44
+ }
45
+ else if (data.r || data.g || data.b) {
46
+ this.onChange.emit({
47
+ data: {
48
+ r: data.r || this.rgb.r,
49
+ g: data.g || this.rgb.g,
50
+ b: data.b || this.rgb.b,
51
+ source: 'rgb',
52
+ },
53
+ $event,
54
+ });
55
+ }
56
+ else if (data.a) {
57
+ if (data.a < 0) {
58
+ data.a = 0;
59
+ }
60
+ else if (data.a > 100) {
61
+ data.a = 100;
62
+ }
63
+ data.a /= 100;
64
+ if (this.disableAlpha) {
65
+ data.a = 1;
66
+ }
67
+ this.onChange.emit({
68
+ data: {
69
+ h: this.hsl.h,
70
+ s: this.hsl.s,
71
+ l: this.hsl.l,
72
+ a: Math.round(data.a * 100) / 100,
73
+ source: 'rgb',
74
+ },
75
+ $event,
76
+ });
77
+ }
78
+ else if (data.h || data.s || data.l) {
79
+ this.onChange.emit({
80
+ data: {
81
+ h: data.h || this.hsl.h,
82
+ s: Number((data.s && data.s) || this.hsl.s),
83
+ l: Number((data.l && data.l) || this.hsl.l),
84
+ source: 'hsl',
85
+ },
86
+ $event,
87
+ });
88
+ }
89
+ }
90
+ }
91
+ SketchFieldsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SketchFieldsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ SketchFieldsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: SketchFieldsComponent, selector: "color-sketch-fields", inputs: { hsl: "hsl", rgb: "rgb", hex: "hex", disableAlpha: "disableAlpha" }, outputs: { onChange: "onChange" }, ngImport: i0, template: `
93
+ <div class="sketch-fields">
94
+ <div class="sketch-double">
95
+ <color-editable-input
96
+ [style]="{ input: input, label: label }"
97
+ label="hex"
98
+ [value]="hex.replace('#', '')"
99
+ (onChange)="handleChange($event)"
100
+ ></color-editable-input>
101
+ </div>
102
+ <div class="sketch-single">
103
+ <color-editable-input
104
+ [style]="{ input: input, label: label }"
105
+ label="r"
106
+ [value]="rgb.r"
107
+ (onChange)="handleChange($event)"
108
+ [dragLabel]="true"
109
+ [dragMax]="255"
110
+ ></color-editable-input>
111
+ </div>
112
+ <div class="sketch-single">
113
+ <color-editable-input
114
+ [style]="{ input: input, label: label }"
115
+ label="g"
116
+ [value]="rgb.g"
117
+ (onChange)="handleChange($event)"
118
+ [dragLabel]="true"
119
+ [dragMax]="255"
120
+ ></color-editable-input>
121
+ </div>
122
+ <div class="sketch-single">
123
+ <color-editable-input
124
+ [style]="{ input: input, label: label }"
125
+ label="b"
126
+ [value]="rgb.b"
127
+ (onChange)="handleChange($event)"
128
+ [dragLabel]="true"
129
+ [dragMax]="255"
130
+ ></color-editable-input>
131
+ </div>
132
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
133
+ <color-editable-input
134
+ [style]="{ input: input, label: label }"
135
+ label="a"
136
+ [value]="round(rgb.a * 100)"
137
+ (onChange)="handleChange($event)"
138
+ [dragLabel]="true"
139
+ [dragMax]="100"
140
+ ></color-editable-input>
141
+ </div>
142
+ </div>
143
+ `, isInline: true, styles: [".sketch-fields{display:flex;padding-top:4px}.sketch-double{flex:2 1 0%}.sketch-single,.sketch-alpha{flex:1 1 0%;padding-left:6px}:host-context([dir=rtl]) .sketch-single{padding-right:6px;padding-left:0}:host-context([dir=rtl]) .sketch-alpha{padding-right:6px;padding-left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EditableInputComponent, selector: "color-editable-input", inputs: ["style", "label", "value", "arrowOffset", "dragLabel", "dragMax", "placeholder"], outputs: ["onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: SketchFieldsComponent, decorators: [{
145
+ type: Component,
146
+ args: [{ selector: 'color-sketch-fields', template: `
147
+ <div class="sketch-fields">
148
+ <div class="sketch-double">
149
+ <color-editable-input
150
+ [style]="{ input: input, label: label }"
151
+ label="hex"
152
+ [value]="hex.replace('#', '')"
153
+ (onChange)="handleChange($event)"
154
+ ></color-editable-input>
155
+ </div>
156
+ <div class="sketch-single">
157
+ <color-editable-input
158
+ [style]="{ input: input, label: label }"
159
+ label="r"
160
+ [value]="rgb.r"
161
+ (onChange)="handleChange($event)"
162
+ [dragLabel]="true"
163
+ [dragMax]="255"
164
+ ></color-editable-input>
165
+ </div>
166
+ <div class="sketch-single">
167
+ <color-editable-input
168
+ [style]="{ input: input, label: label }"
169
+ label="g"
170
+ [value]="rgb.g"
171
+ (onChange)="handleChange($event)"
172
+ [dragLabel]="true"
173
+ [dragMax]="255"
174
+ ></color-editable-input>
175
+ </div>
176
+ <div class="sketch-single">
177
+ <color-editable-input
178
+ [style]="{ input: input, label: label }"
179
+ label="b"
180
+ [value]="rgb.b"
181
+ (onChange)="handleChange($event)"
182
+ [dragLabel]="true"
183
+ [dragMax]="255"
184
+ ></color-editable-input>
185
+ </div>
186
+ <div class="sketch-alpha" *ngIf="disableAlpha === false">
187
+ <color-editable-input
188
+ [style]="{ input: input, label: label }"
189
+ label="a"
190
+ [value]="round(rgb.a * 100)"
191
+ (onChange)="handleChange($event)"
192
+ [dragLabel]="true"
193
+ [dragMax]="100"
194
+ ></color-editable-input>
195
+ </div>
196
+ </div>
197
+ `, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, styles: [".sketch-fields{display:flex;padding-top:4px}.sketch-double{flex:2 1 0%}.sketch-single,.sketch-alpha{flex:1 1 0%;padding-left:6px}:host-context([dir=rtl]) .sketch-single{padding-right:6px;padding-left:0}:host-context([dir=rtl]) .sketch-alpha{padding-right:6px;padding-left:0}\n"] }]
198
+ }], propDecorators: { hsl: [{
199
+ type: Input
200
+ }], rgb: [{
201
+ type: Input
202
+ }], hex: [{
203
+ type: Input
204
+ }], disableAlpha: [{
205
+ type: Input
206
+ }], onChange: [{
207
+ type: Output
208
+ }] } });
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tldGNoLWZpZWxkcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3NrZXRjaC9za2V0Y2gtZmllbGRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQXdGNUMsTUFBTSxPQUFPLHFCQUFxQjtJQXRGbEM7UUEwRlcsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDcEIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDN0MsVUFBSyxHQUE0QjtZQUMvQixLQUFLLEVBQUUsTUFBTTtZQUNiLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLFlBQVk7WUFDdkIsU0FBUyxFQUFFLHNCQUFzQjtZQUNqQyxRQUFRLEVBQUUsTUFBTTtTQUNqQixDQUFDO1FBQ0YsVUFBSyxHQUE0QjtZQUMvQixPQUFPLEVBQUUsT0FBTztZQUNoQixTQUFTLEVBQUUsUUFBUTtZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsTUFBTTtZQUNiLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGFBQWEsRUFBRSxZQUFZO1NBQzVCLENBQUM7S0E2REg7SUEzREMsS0FBSyxDQUFDLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7UUFDM0IsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUU7d0JBQ0osR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7d0JBQy9FLE1BQU0sRUFBRSxLQUFLO3FCQUNkO29CQUNELE1BQU07aUJBQ1AsQ0FBQyxDQUFDO2FBQ0o7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRTtvQkFDSixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3ZCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDdkIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN2QixNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFDRCxNQUFNO2FBQ1AsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZCxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNaO2lCQUFNLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ2Q7WUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztZQUVkLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDWjtZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUU7b0JBQ0osQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNiLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2IsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHO29CQUNqQyxNQUFNLEVBQUUsS0FBSztpQkFDZDtnQkFDRCxNQUFNO2FBQ1AsQ0FBQyxDQUFDO1NBQ0o7YUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUU7b0JBQ0osQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN2QixDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQzNDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDM0MsTUFBTSxFQUFFLEtBQUs7aUJBQ2Q7Z0JBQ0QsTUFBTTthQUNQLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7a0hBbEZVLHFCQUFxQjtzR0FBckIscUJBQXFCLDRLQXBGdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDsyRkFpQ1UscUJBQXFCO2tCQXRGakMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVCxtQkE4QmdCLHVCQUF1QixDQUFDLE1BQU0sdUJBQzFCLEtBQUs7OEJBR2pCLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGlzVmFsaWRIZXgsIEhTTEEsIFJHQkEgfSBmcm9tICduZ3gtY29sb3InO1xuaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29sb3Itc2tldGNoLWZpZWxkcycsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgY2xhc3M9XCJza2V0Y2gtZmllbGRzXCI+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1kb3VibGVcIj5cbiAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgbGFiZWw9XCJoZXhcIlxuICAgICAgICBbdmFsdWVdPVwiaGV4LnJlcGxhY2UoJyMnLCAnJylcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1zaW5nbGVcIj5cbiAgICAgIDxjb2xvci1lZGl0YWJsZS1pbnB1dFxuICAgICAgICBbc3R5bGVdPVwieyBpbnB1dDogaW5wdXQsIGxhYmVsOiBsYWJlbCB9XCJcbiAgICAgICAgbGFiZWw9XCJyXCJcbiAgICAgICAgW3ZhbHVlXT1cInJnYi5yXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2RyYWdMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgW2RyYWdNYXhdPVwiMjU1XCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJza2V0Y2gtc2luZ2xlXCI+XG4gICAgICA8Y29sb3ItZWRpdGFibGUtaW5wdXRcbiAgICAgICAgW3N0eWxlXT1cInsgaW5wdXQ6IGlucHV0LCBsYWJlbDogbGFiZWwgfVwiXG4gICAgICAgIGxhYmVsPVwiZ1wiXG4gICAgICAgIFt2YWx1ZV09XCJyZ2IuZ1wiXG4gICAgICAgIChvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkcmFnTGFiZWxdPVwidHJ1ZVwiXG4gICAgICAgIFtkcmFnTWF4XT1cIjI1NVwiXG4gICAgICA+PC9jb2xvci1lZGl0YWJsZS1pbnB1dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2tldGNoLXNpbmdsZVwiPlxuICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICBsYWJlbD1cImJcIlxuICAgICAgICBbdmFsdWVdPVwicmdiLmJcIlxuICAgICAgICAob25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZHJhZ0xhYmVsXT1cInRydWVcIlxuICAgICAgICBbZHJhZ01heF09XCIyNTVcIlxuICAgICAgPjwvY29sb3ItZWRpdGFibGUtaW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNrZXRjaC1hbHBoYVwiICpuZ0lmPVwiZGlzYWJsZUFscGhhID09PSBmYWxzZVwiPlxuICAgICAgPGNvbG9yLWVkaXRhYmxlLWlucHV0XG4gICAgICAgIFtzdHlsZV09XCJ7IGlucHV0OiBpbnB1dCwgbGFiZWw6IGxhYmVsIH1cIlxuICAgICAgICBsYWJlbD1cImFcIlxuICAgICAgICBbdmFsdWVdPVwicm91bmQocmdiLmEgKiAxMDApXCJcbiAgICAgICAgKG9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2RyYWdMYWJlbF09XCJ0cnVlXCJcbiAgICAgICAgW2RyYWdNYXhdPVwiMTAwXCJcbiAgICAgID48L2NvbG9yLWVkaXRhYmxlLWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIC5za2V0Y2gtZmllbGRzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIH1cbiAgICAuc2tldGNoLWRvdWJsZSB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xuICAgICAgZmxleDogMiAxIDAlO1xuICAgIH1cbiAgICAuc2tldGNoLXNpbmdsZSB7XG4gICAgICBmbGV4OiAxIDEgMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICB9XG4gICAgLnNrZXRjaC1hbHBoYSB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgZmxleDogMSAxIDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLXNpbmdsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIDpob3N0LWNvbnRleHQoW2Rpcj1ydGxdKSAuc2tldGNoLWFscGhhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2tldGNoRmllbGRzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaHNsITogSFNMQTtcbiAgQElucHV0KCkgcmdiITogUkdCQTtcbiAgQElucHV0KCkgaGV4ITogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlQWxwaGEgPSBmYWxzZTtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGlucHV0OiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIHBhZGRpbmc6ICc0cHggMTAlIDNweCcsXG4gICAgYm9yZGVyOiAnbm9uZScsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgYm94U2hhZG93OiAnaW5zZXQgMCAwIDAgMXB4ICNjY2MnLFxuICAgIGZvbnRTaXplOiAnMTFweCcsXG4gIH07XG4gIGxhYmVsOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgZm9udFNpemU6ICcxMXB4JyxcbiAgICBjb2xvcjogJyMyMjInLFxuICAgIHBhZGRpbmdUb3A6ICczcHgnLFxuICAgIHBhZGRpbmdCb3R0b206ICc0cHgnLFxuICAgIHRleHRUcmFuc2Zvcm06ICdjYXBpdGFsaXplJyxcbiAgfTtcblxuICByb3VuZCh2YWx1ZSkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlKTtcbiAgfVxuICBoYW5kbGVDaGFuZ2UoeyBkYXRhLCAkZXZlbnQgfSkge1xuICAgIGlmIChkYXRhLmhleCkge1xuICAgICAgaWYgKGlzVmFsaWRIZXgoZGF0YS5oZXgpKSB7XG4gICAgICAgIGNvbnN0IGNvbG9yID0gbmV3IFRpbnlDb2xvcihkYXRhLmhleCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgaGV4OiB0aGlzLmRpc2FibGVBbHBoYSB8fCBkYXRhLmhleC5sZW5ndGggPD0gNiA/IGNvbG9yLnRvSGV4KCkgOiBjb2xvci50b0hleDgoKSxcbiAgICAgICAgICAgIHNvdXJjZTogJ2hleCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAkZXZlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGF0YS5yIHx8IGRhdGEuZyB8fCBkYXRhLmIpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICByOiBkYXRhLnIgfHwgdGhpcy5yZ2IucixcbiAgICAgICAgICBnOiBkYXRhLmcgfHwgdGhpcy5yZ2IuZyxcbiAgICAgICAgICBiOiBkYXRhLmIgfHwgdGhpcy5yZ2IuYixcbiAgICAgICAgICBzb3VyY2U6ICdyZ2InLFxuICAgICAgICB9LFxuICAgICAgICAkZXZlbnQsXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGRhdGEuYSkge1xuICAgICAgaWYgKGRhdGEuYSA8IDApIHtcbiAgICAgICAgZGF0YS5hID0gMDtcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5hID4gMTAwKSB7XG4gICAgICAgIGRhdGEuYSA9IDEwMDtcbiAgICAgIH1cbiAgICAgIGRhdGEuYSAvPSAxMDA7XG5cbiAgICAgIGlmICh0aGlzLmRpc2FibGVBbHBoYSkge1xuICAgICAgICBkYXRhLmEgPSAxO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgaDogdGhpcy5oc2wuaCxcbiAgICAgICAgICBzOiB0aGlzLmhzbC5zLFxuICAgICAgICAgIGw6IHRoaXMuaHNsLmwsXG4gICAgICAgICAgYTogTWF0aC5yb3VuZChkYXRhLmEgKiAxMDApIC8gMTAwLFxuICAgICAgICAgIHNvdXJjZTogJ3JnYicsXG4gICAgICAgIH0sXG4gICAgICAgICRldmVudCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoZGF0YS5oIHx8IGRhdGEucyB8fCBkYXRhLmwpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBoOiBkYXRhLmggfHwgdGhpcy5oc2wuaCxcbiAgICAgICAgICBzOiBOdW1iZXIoKGRhdGEucyAmJiBkYXRhLnMpIHx8IHRoaXMuaHNsLnMpLFxuICAgICAgICAgIGw6IE51bWJlcigoZGF0YS5sICYmIGRhdGEubCkgfHwgdGhpcy5oc2wubCksXG4gICAgICAgICAgc291cmNlOiAnaHNsJyxcbiAgICAgICAgfSxcbiAgICAgICAgJGV2ZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=