ngx-color 8.0.3 → 10.0.0

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