@thednp/color-picker 1.0.1 → 2.0.0-alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. package/.eslintrc.cjs +199 -0
  2. package/.lgtm.yml +9 -0
  3. package/.prettierrc.json +15 -0
  4. package/.stylelintrc.json +236 -0
  5. package/LICENSE +0 -0
  6. package/README.md +54 -72
  7. package/compile.js +48 -0
  8. package/cypress/downloads/downloads.htm +0 -0
  9. package/cypress/e2e/color-palette.cy.ts +128 -0
  10. package/cypress/e2e/color-picker.cy.ts +920 -0
  11. package/cypress/fixtures/colorNamesFrench.js +3 -0
  12. package/cypress/fixtures/componentLabelsFrench.js +21 -0
  13. package/cypress/fixtures/format.js +3 -0
  14. package/cypress/fixtures/getCEMarkup.js +29 -0
  15. package/cypress/fixtures/getMarkup.js +28 -0
  16. package/cypress/fixtures/getRandomInt.js +6 -0
  17. package/cypress/fixtures/sampleWebcolors.js +18 -0
  18. package/cypress/fixtures/testSample.js +8 -0
  19. package/cypress/plugins/esbuild-istanbul.ts +50 -0
  20. package/cypress/plugins/tsCompile.ts +34 -0
  21. package/cypress/support/commands.ts +0 -0
  22. package/cypress/support/e2e.ts +21 -0
  23. package/cypress/test.html +23 -0
  24. package/cypress.config.ts +29 -0
  25. package/dist/css/color-picker.css +14 -38
  26. package/dist/css/color-picker.min.css +2 -2
  27. package/dist/css/color-picker.rtl.css +14 -38
  28. package/dist/css/color-picker.rtl.min.css +2 -2
  29. package/dist/js/color-picker.cjs +8 -0
  30. package/dist/js/color-picker.cjs.map +1 -0
  31. package/dist/js/color-picker.d.ts +278 -0
  32. package/dist/js/color-picker.js +5 -3570
  33. package/dist/js/color-picker.js.map +1 -0
  34. package/dist/js/color-picker.mjs +2631 -0
  35. package/dist/js/color-picker.mjs.map +1 -0
  36. package/dts.config.ts +15 -0
  37. package/package.json +64 -74
  38. package/src/scss/_variables.scss +0 -1
  39. package/src/scss/color-picker.rtl.scss +4 -0
  40. package/src/scss/color-picker.scss +74 -38
  41. package/src/ts/colorPalette.ts +89 -0
  42. package/src/{js/color-picker.js → ts/index.ts} +489 -486
  43. package/src/ts/interface/colorPickerLabels.ts +20 -0
  44. package/src/ts/interface/colorPickerOptions.ts +11 -0
  45. package/src/ts/interface/paletteOptions.ts +6 -0
  46. package/src/ts/util/colorNames.ts +21 -0
  47. package/src/{js/util/colorPickerLabels.js → ts/util/colorPickerLabels.ts} +4 -2
  48. package/src/ts/util/getColorControls.ts +90 -0
  49. package/src/{js/util/getColorForm.js → ts/util/getColorForm.ts} +28 -18
  50. package/src/{js/util/getColorMenu.js → ts/util/getColorMenu.ts} +21 -30
  51. package/src/ts/util/isValidJSON.ts +19 -0
  52. package/src/{js/util/setMarkup.js → ts/util/setMarkup.ts} +57 -48
  53. package/src/{js/util/vHidden.js → ts/util/vHidden.ts} +0 -0
  54. package/tsconfig.json +29 -0
  55. package/vite.config.ts +34 -0
  56. package/dist/js/color-esm.js +0 -1164
  57. package/dist/js/color-esm.min.js +0 -2
  58. package/dist/js/color-palette-esm.js +0 -1235
  59. package/dist/js/color-palette-esm.min.js +0 -2
  60. package/dist/js/color-palette.js +0 -1243
  61. package/dist/js/color-palette.min.js +0 -2
  62. package/dist/js/color-picker-element-esm.js +0 -3718
  63. package/dist/js/color-picker-element-esm.min.js +0 -2
  64. package/dist/js/color-picker-element.js +0 -3726
  65. package/dist/js/color-picker-element.min.js +0 -2
  66. package/dist/js/color-picker-esm.js +0 -3565
  67. package/dist/js/color-picker-esm.min.js +0 -2
  68. package/dist/js/color-picker.min.js +0 -2
  69. package/dist/js/color.js +0 -1172
  70. package/dist/js/color.min.js +0 -2
  71. package/src/js/color-palette.js +0 -75
  72. package/src/js/color-picker-element.js +0 -107
  73. package/src/js/color.js +0 -1104
  74. package/src/js/index.js +0 -8
  75. package/src/js/util/colorNames.js +0 -6
  76. package/src/js/util/getColorControls.js +0 -103
  77. package/src/js/util/isValidJSON.js +0 -13
  78. package/src/js/util/nonColors.js +0 -5
  79. package/src/js/util/roundPart.js +0 -9
  80. package/src/js/util/setCSSProperties.js +0 -12
  81. package/src/js/util/tabindex.js +0 -3
  82. package/src/js/util/toggleCEAttr.js +0 -70
  83. package/src/js/util/version.js +0 -5
  84. package/src/js/version.js +0 -5
  85. package/types/cp.d.ts +0 -558
  86. package/types/index.d.ts +0 -44
  87. package/types/source/source.ts +0 -4
  88. package/types/source/types.d.ts +0 -92
package/types/cp.d.ts DELETED
@@ -1,558 +0,0 @@
1
- declare module "color-picker/src/js/util/nonColors" {
2
- export default nonColors;
3
- /**
4
- * A list of explicit default non-color values.
5
- */
6
- const nonColors: string[];
7
- }
8
- declare module "color-picker/src/js/util/roundPart" {
9
- /**
10
- * Round colour components, for all formats except HEX.
11
- * @param {number} v one of the colour components
12
- * @returns {number} the rounded number
13
- */
14
- export default function roundPart(v: number): number;
15
- }
16
- declare module "color-picker/src/js/color" {
17
- /**
18
- * @class
19
- * Returns a new `Color` instance.
20
- * @see https://github.com/bgrins/TinyColor
21
- */
22
- export default class Color {
23
- /**
24
- * @constructor
25
- * @param {CP.ColorInput} input the given colour value
26
- * @param {CP.ColorFormats=} config the given format
27
- */
28
- constructor(input: CP.ColorInput, config?: CP.ColorFormats | undefined);
29
- /** @type {CP.ColorInput} */
30
- originalInput: CP.ColorInput;
31
- /** @type {number} */
32
- r: number;
33
- /** @type {number} */
34
- g: number;
35
- /** @type {number} */
36
- b: number;
37
- /** @type {number} */
38
- a: number;
39
- /** @type {boolean} */
40
- ok: boolean;
41
- /** @type {CP.ColorFormats} */
42
- format: CP.ColorFormats;
43
- /**
44
- * Checks if the current input value is a valid colour.
45
- * @returns {boolean} the query result
46
- */
47
- get isValid(): boolean;
48
- /**
49
- * Checks if the current colour requires a light text colour.
50
- * @returns {boolean} the query result
51
- */
52
- get isDark(): boolean;
53
- /**
54
- * Returns the perceived luminance of a colour.
55
- * @see http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
56
- * @returns {number} a number in the [0, 1] range
57
- */
58
- get luminance(): number;
59
- /**
60
- * Returns the perceived brightness of the colour.
61
- * @returns {number} a number in the [0, 255] range
62
- */
63
- get brightness(): number;
64
- /**
65
- * Returns the colour as an RGBA object.
66
- * @returns {CP.RGBA} an {r,g,b,a} object with [0, 255] ranged values
67
- */
68
- toRgb(): CP.RGBA;
69
- /**
70
- * Returns the RGBA values concatenated into a CSS3 Module string format.
71
- * * rgb(255,255,255)
72
- * * rgba(255,255,255,0.5)
73
- * @returns {string} the CSS valid colour in RGB/RGBA format
74
- */
75
- toRgbString(): string;
76
- /**
77
- * Returns the RGBA values concatenated into a CSS4 Module string format.
78
- * * rgb(255 255 255)
79
- * * rgb(255 255 255 / 50%)
80
- * @returns {string} the CSS valid colour in CSS4 RGB format
81
- */
82
- toRgbCSS4String(): string;
83
- /**
84
- * Returns the hexadecimal value of the colour. When the parameter is *true*
85
- * it will find a 3 characters shorthand of the decimal value.
86
- *
87
- * @param {boolean=} allow3Char when `true` returns shorthand HEX
88
- * @returns {string} the hexadecimal colour format
89
- */
90
- toHex(allow3Char?: boolean | undefined): string;
91
- /**
92
- * Returns the CSS valid hexadecimal vaue of the colour. When the parameter is *true*
93
- * it will find a 3 characters shorthand of the value.
94
- *
95
- * @param {boolean=} allow3Char when `true` returns shorthand HEX
96
- * @returns {string} the CSS valid colour in hexadecimal format
97
- */
98
- toHexString(allow3Char?: boolean | undefined): string;
99
- /**
100
- * Returns the HEX8 value of the colour.
101
- * @param {boolean=} allow4Char when `true` returns shorthand HEX
102
- * @returns {string} the CSS valid colour in hexadecimal format
103
- */
104
- toHex8(allow4Char?: boolean | undefined): string;
105
- /**
106
- * Returns the HEX8 value of the colour.
107
- * @param {boolean=} allow4Char when `true` returns shorthand HEX
108
- * @returns {string} the CSS valid colour in hexadecimal format
109
- */
110
- toHex8String(allow4Char?: boolean | undefined): string;
111
- /**
112
- * Returns the colour as a HSVA object.
113
- * @returns {CP.HSVA} the `{h,s,v,a}` object with [0, 1] ranged values
114
- */
115
- toHsv(): CP.HSVA;
116
- /**
117
- * Returns the colour as an HSLA object.
118
- * @returns {CP.HSLA} the `{h,s,l,a}` object with [0, 1] ranged values
119
- */
120
- toHsl(): CP.HSLA;
121
- /**
122
- * Returns the HSLA values concatenated into a CSS3 Module format string.
123
- * * `hsl(150, 100%, 50%)`
124
- * * `hsla(150, 100%, 50%, 0.5)`
125
- * @returns {string} the CSS valid colour in HSL/HSLA format
126
- */
127
- toHslString(): string;
128
- /**
129
- * Returns the HSLA values concatenated into a CSS4 Module format string.
130
- * * `hsl(150deg 100% 50%)`
131
- * * `hsl(150deg 100% 50% / 50%)`
132
- * @returns {string} the CSS valid colour in CSS4 HSL format
133
- */
134
- toHslCSS4String(): string;
135
- /**
136
- * Returns the colour as an HWBA object.
137
- * @returns {CP.HWBA} the `{h,w,b,a}` object with [0, 1] ranged values
138
- */
139
- toHwb(): CP.HWBA;
140
- /**
141
- * Returns the HWBA values concatenated into a string.
142
- * @returns {string} the CSS valid colour in HWB format
143
- */
144
- toHwbString(): string;
145
- /**
146
- * Sets the alpha value of the current colour.
147
- * @param {number} alpha a new alpha value in the [0, 1] range.
148
- * @returns {Color} the `Color` instance
149
- */
150
- setAlpha(alpha: number): Color;
151
- /**
152
- * Saturate the colour with a given amount.
153
- * @param {number=} amount a value in the [0, 100] range
154
- * @returns {Color} the `Color` instance
155
- */
156
- saturate(amount?: number | undefined): Color;
157
- /**
158
- * Desaturate the colour with a given amount.
159
- * @param {number=} amount a value in the [0, 100] range
160
- * @returns {Color} the `Color` instance
161
- */
162
- desaturate(amount?: number | undefined): Color;
163
- /**
164
- * Completely desaturates a colour into greyscale.
165
- * Same as calling `desaturate(100)`
166
- * @returns {Color} the `Color` instance
167
- */
168
- greyscale(): Color;
169
- /**
170
- * Increase the colour lightness with a given amount.
171
- * @param {number=} amount a value in the [0, 100] range
172
- * @returns {Color} the `Color` instance
173
- */
174
- lighten(amount?: number | undefined): Color;
175
- /**
176
- * Decrease the colour lightness with a given amount.
177
- * @param {number=} amount a value in the [0, 100] range
178
- * @returns {Color} the `Color` instance
179
- */
180
- darken(amount?: number | undefined): Color;
181
- /**
182
- * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.
183
- * Values outside of this range will be wrapped into this range.
184
- *
185
- * @param {number=} amount a value in the [0, 100] range
186
- * @returns {Color} the `Color` instance
187
- */
188
- spin(amount?: number | undefined): Color;
189
- /** Returns a clone of the current `Color` instance. */
190
- clone(): Color;
191
- /**
192
- * Returns the colour value in CSS valid string format.
193
- * @param {boolean=} allowShort when *true*, HEX values can be shorthand
194
- * @returns {string} the CSS valid colour in the configured format
195
- */
196
- toString(allowShort?: boolean | undefined): string;
197
- }
198
- }
199
- declare module "color-picker/src/js/color-palette" {
200
- /**
201
- * @class
202
- * Returns a color palette with a given set of parameters.
203
- * @example
204
- * new ColorPalette(0, 12, 10);
205
- * // => { hue: 0, hueSteps: 12, lightSteps: 10, colors: Array<Color> }
206
- */
207
- export default class ColorPalette {
208
- /**
209
- * The `hue` parameter is optional, which would be set to 0.
210
- * @param {number[]} args represeinting hue, hueSteps, lightSteps
211
- * * `args.hue` the starting Hue [0, 360]
212
- * * `args.hueSteps` Hue Steps Count [5, 24]
213
- * * `args.lightSteps` Lightness Steps Count [5, 12]
214
- */
215
- constructor(...args: number[]);
216
- hue: number;
217
- hueSteps: number;
218
- lightSteps: number;
219
- colors: any;
220
- }
221
- }
222
- declare module "color-picker/src/js/util/colorPickerLabels" {
223
- export default colorPickerLabels;
224
- /** @type {Record<string, string>} */
225
- const colorPickerLabels: Record<string, string>;
226
- }
227
- declare module "color-picker/src/js/util/colorNames" {
228
- export default colorNames;
229
- /**
230
- * A list of 17 color names used for WAI-ARIA compliance.
231
- * @type {string[]}
232
- */
233
- const colorNames: string[];
234
- }
235
- declare module "color-picker/src/js/util/tabindex" {
236
- export default tabIndex;
237
- const tabIndex: "tabindex";
238
- }
239
- declare module "color-picker/src/js/util/isValidJSON" {
240
- /**
241
- * Check if a string is valid JSON string.
242
- * @param {string} str the string input
243
- * @returns {boolean} the query result
244
- */
245
- export default function isValidJSON(str: string): boolean;
246
- }
247
- declare module "color-picker/src/js/util/vHidden" {
248
- export default vHidden;
249
- const vHidden: "v-hidden";
250
- }
251
- declare module "color-picker/src/js/util/getColorForm" {
252
- /**
253
- * Returns the color form for `ColorPicker`.
254
- *
255
- * @param {CP.ColorPicker} self the `ColorPicker` instance
256
- * @returns {HTMLElement | Element} a new `<div>` element with color component `<input>`
257
- */
258
- export default function getColorForm(self: CP.ColorPicker): HTMLElement | Element;
259
- }
260
- declare module "color-picker/src/js/util/getColorControls" {
261
- /**
262
- * Returns all color controls for `ColorPicker`.
263
- *
264
- * @param {CP.ColorPicker} self the `ColorPicker` instance
265
- * @returns {HTMLElement | Element} color controls
266
- */
267
- export default function getColorControls(self: CP.ColorPicker): HTMLElement | Element;
268
- }
269
- declare module "color-picker/src/js/util/setCSSProperties" {
270
- /**
271
- * Helps setting CSS variables to the color-menu.
272
- * @param {HTMLElement} element
273
- * @param {Record<string,any>} props
274
- */
275
- export default function setCSSProperties(element: HTMLElement, props: Record<string, any>): void;
276
- }
277
- declare module "color-picker/src/js/util/getColorMenu" {
278
- /**
279
- * Returns a color-defaults with given values and class.
280
- * @param {CP.ColorPicker} self
281
- * @param {CP.ColorPalette | string[]} colorsSource
282
- * @param {string} menuClass
283
- * @returns {HTMLElement | Element}
284
- */
285
- export default function getColorMenu(self: CP.ColorPicker, colorsSource: CP.ColorPalette | string[], menuClass: string): HTMLElement | Element;
286
- }
287
- declare module "color-picker/src/js/util/setMarkup" {
288
- /**
289
- * Generate HTML markup and update instance properties.
290
- * @param {CP.ColorPicker} self
291
- */
292
- export default function setMarkup(self: CP.ColorPicker): void;
293
- }
294
- declare module "color-picker/src/js/util/version" {
295
- export default Version;
296
- const Version: string;
297
- }
298
- declare module "color-picker/src/js/color-picker" {
299
- /**
300
- * Color Picker Web Component
301
- * @see http://thednp.github.io/color-picker
302
- */
303
- export default class ColorPicker {
304
- /**
305
- * Returns a new `ColorPicker` instance. The target of this constructor
306
- * must be an `HTMLInputElement`.
307
- *
308
- * @param {HTMLInputElement | string} target the target `<input>` element
309
- * @param {CP.ColorPickerOptions=} config instance options
310
- */
311
- constructor(target: HTMLInputElement | string, config?: CP.ColorPickerOptions | undefined);
312
- input: HTMLInputElement;
313
- /** @type {HTMLElement} */
314
- parent: HTMLElement;
315
- /** @type {number} */
316
- id: number;
317
- /** @type {HTMLElement?} */
318
- dragElement: HTMLElement | null;
319
- /** @type {boolean} */
320
- isOpen: boolean;
321
- /** @type {Record<string, number>} */
322
- controlPositions: Record<string, number>;
323
- /** @type {Record<string, string>} */
324
- colorLabels: Record<string, string>;
325
- /** @type {string[]=} */
326
- colorKeywords: string[] | undefined;
327
- /** @type {(ColorPalette | string[])=} */
328
- colorPresets: (ColorPalette | string[]) | undefined;
329
- /** @type {Record<string, string>} */
330
- componentLabels: Record<string, string>;
331
- /** @type {Color} */
332
- color: Color;
333
- /** @type {CP.ColorFormats} */
334
- format: CP.ColorFormats;
335
- /** Shows the `ColorPicker` dropdown. */
336
- showPicker(): void;
337
- /**
338
- * Toggle the `ColorPicker` dropdown visibility.
339
- * @param {Event=} e
340
- * @this {ColorPicker}
341
- */
342
- togglePicker(this: ColorPicker, e?: Event | undefined): void;
343
- /**
344
- * Toggles the visibility of the `ColorPicker` presets menu.
345
- * @param {Event=} e
346
- * @this {ColorPicker}
347
- */
348
- toggleMenu(this: ColorPicker, e?: Event | undefined): void;
349
- /**
350
- * The `ColorPicker` click event listener for the colour menu presets / defaults.
351
- * @param {Event} e
352
- * @this {ColorPicker}
353
- */
354
- menuClickHandler(this: ColorPicker, e: Event): void;
355
- /**
356
- * The `ColorPicker` keyboard event listener for menu navigation.
357
- * @param {KeyboardEvent} e
358
- * @this {ColorPicker}
359
- */
360
- menuKeyHandler(this: ColorPicker, e: KeyboardEvent): void;
361
- /**
362
- * The `ColorPicker` *touchstart* / *mousedown* events listener for control knobs.
363
- * @param {PointerEvent} e
364
- * @this {ColorPicker}
365
- */
366
- pointerDown(this: ColorPicker, e: PointerEvent): void;
367
- /**
368
- * The `ColorPicker` *touchmove* / *mousemove* events listener for control knobs.
369
- * @param {PointerEvent} e
370
- */
371
- pointerMove(e: PointerEvent): void;
372
- /**
373
- * The `ColorPicker` *touchend* / *mouseup* events listener for control knobs.
374
- * @param {PointerEvent} e
375
- * @this {ColorPicker}
376
- */
377
- pointerUp(this: ColorPicker, { target }: PointerEvent): void;
378
- /**
379
- * Updates `ColorPicker` control positions on:
380
- * * initialization
381
- * * window resize
382
- */
383
- update(): void;
384
- /**
385
- * The `ColorPicker` *scroll* event listener when open.
386
- * @param {Event} e
387
- * @this {ColorPicker}
388
- */
389
- handleScroll(this: ColorPicker, e: Event): void;
390
- /**
391
- * The `ColorPicker` *focusout* event listener when open.
392
- * @param {FocusEvent} e
393
- * @this {ColorPicker}
394
- */
395
- handleFocusOut(this: ColorPicker, { relatedTarget }: FocusEvent): void;
396
- /** The event listener of the colour form inputs. */
397
- changeHandler(): void;
398
- /**
399
- * The `ColorPicker` *keyup* event listener when open.
400
- * @param {KeyboardEvent} e
401
- * @this {ColorPicker}
402
- */
403
- handleDismiss(this: ColorPicker, { code }: KeyboardEvent): void;
404
- /**
405
- * The `ColorPicker` *keydown* event listener for control knobs.
406
- * @param {KeyboardEvent} e
407
- */
408
- handleKnobs(e: KeyboardEvent): void;
409
- /** @type {HTMLElement} */
410
- pickerToggle: HTMLElement;
411
- /** @type {HTMLElement} */
412
- menuToggle: HTMLElement;
413
- /** @type {HTMLElement} */
414
- colorPicker: HTMLElement;
415
- /** @type {HTMLElement} */
416
- colorMenu: HTMLElement;
417
- /** @type {HTMLInputElement[]} */
418
- inputs: HTMLInputElement[];
419
- controls: any;
420
- /** @type {(HTMLElement | Element)[]} */
421
- controlKnobs: (HTMLElement | Element)[];
422
- /** @type {(HTMLElement)[]} */
423
- visuals: (HTMLElement)[];
424
- /**
425
- * Sets a new colour value.
426
- * @param {string} v new colour value
427
- */
428
- set value(arg: string);
429
- /** Returns the current colour value */
430
- get value(): string;
431
- /** Check if the colour presets include any non-colour. */
432
- get hasNonColor(): boolean;
433
- /** Check if the parent of the target is a `ColorPickerElement` instance. */
434
- get isCE(): boolean;
435
- /** Returns hexadecimal value of the current colour. */
436
- get hex(): string;
437
- /** Returns the current colour value in {h,s,v,a} object format. */
438
- get hsv(): CP.HSVA;
439
- /** Returns the current colour value in {h,s,l,a} object format. */
440
- get hsl(): CP.HSLA;
441
- /** Returns the current colour value in {h,w,b,a} object format. */
442
- get hwb(): CP.HWBA;
443
- /** Returns the current colour value in {r,g,b,a} object format. */
444
- get rgb(): CP.RGBA;
445
- /** Returns the current colour brightness. */
446
- get brightness(): number;
447
- /** Returns the current colour luminance. */
448
- get luminance(): number;
449
- /** Checks if the current colour requires a light text colour. */
450
- get isDark(): boolean;
451
- /** Checks if the current input value is a valid colour. */
452
- get isValid(): boolean;
453
- /** Returns the colour appearance, usually the closest colour name for the current value. */
454
- get appearance(): string | undefined;
455
- /** Updates `ColorPicker` visuals. */
456
- updateVisuals(): void;
457
- /**
458
- * Updates `ColorPicker` first control:
459
- * * `lightness` and `saturation` for HEX/RGB;
460
- * * `lightness` and `hue` for HSL.
461
- *
462
- * @param {number} X the X component of the offset
463
- * @param {number} Y the Y component of the offset
464
- */
465
- changeControl1(X: number, Y: number): void;
466
- /**
467
- * Updates `ColorPicker` second control:
468
- * * `hue` for HEX/RGB/HWB;
469
- * * `saturation` for HSL.
470
- *
471
- * @param {number} Y the Y offset
472
- */
473
- changeControl2(Y: number): void;
474
- /**
475
- * Updates `ColorPicker` last control,
476
- * the `alpha` channel.
477
- *
478
- * @param {number} Y
479
- */
480
- changeAlpha(Y: number): void;
481
- /** Updates the open dropdown position on *scroll* event. */
482
- updateDropdownPosition(): void;
483
- /** Updates control knobs' positions. */
484
- setControlPositions(): void;
485
- /** Update the visual appearance label and control knob labels. */
486
- updateAppearance(): void;
487
- /** Updates the control knobs actual positions. */
488
- updateControls(): void;
489
- /**
490
- * Updates all color form inputs.
491
- * @param {boolean=} isPrevented when `true`, the component original event is prevented
492
- */
493
- updateInputs(isPrevented?: boolean | undefined): void;
494
- /**
495
- * Hides the currently open `ColorPicker` dropdown.
496
- * @param {boolean=} focusPrevented
497
- */
498
- hide(focusPrevented?: boolean | undefined): void;
499
- /** Removes `ColorPicker` from target `<input>`. */
500
- dispose(): void;
501
- }
502
- import ColorPalette from "color-picker/src/js/color-palette";
503
- import Color from "color-picker/src/js/color";
504
- }
505
- declare module "color-picker/src/js/util/toggleCEAttr" {
506
- /**
507
- * A small utility to toggle `ColorPickerElement` attributes
508
- * when `connectedCallback` or `disconnectedCallback` methods
509
- * are called and helps the instance keep its value and settings instact.
510
- *
511
- * @param {CP.ColorPickerElement} self ColorPickerElement instance
512
- * @param {Function=} callback when `true`, attributes are added
513
- *
514
- * @example
515
- * const attributes = [
516
- * // essentials
517
- * 'value', 'format',
518
- * // presets menus
519
- * 'color-presets', 'color-keywords',
520
- * // labels
521
- * 'color-labels', 'component-labels',
522
- * ];
523
- */
524
- export default function toggleCEAttr(self: CP.ColorPickerElement, callback?: Function | undefined): void;
525
- }
526
- declare module "color-picker/src/js/color-picker-element" {
527
- export default ColorPickerElement;
528
- /**
529
- * `ColorPickerElement` Web Component.
530
- * @example
531
- * <label for="UNIQUE_ID">Label</label>
532
- * <color-picker data-id="UNIQUE_ID" data-value="red" data-format="hex">
533
- * </color-picker>
534
- * // or
535
- * <label for="UNIQUE_ID">Label</label>
536
- * <color-picker data-id="UNIQUE_ID" data-value="red" data-format="hex"></color-picker>
537
- */
538
- class ColorPickerElement extends HTMLElement {
539
- /**
540
- * Returns the current color value.
541
- * @returns {string | undefined}
542
- */
543
- get value(): string | undefined;
544
- connectedCallback(): void;
545
- /** @type {HTMLInputElement} */
546
- input: HTMLInputElement | undefined;
547
- colorPicker: ColorPicker | undefined;
548
- /** @this {ColorPickerElement} */
549
- disconnectedCallback(this: ColorPickerElement): void;
550
- }
551
- import ColorPicker from "color-picker/src/js/color-picker";
552
- }
553
- declare module "color-picker/types/source/source" {
554
- export { default as Color } from "color-picker/src/js/color";
555
- export { default as ColorPalette } from "color-picker/src/js/color-palette";
556
- export { default as ColorPicker } from "color-picker/src/js/color-picker";
557
- export { default as ColorPickerElement } from "color-picker/src/js/color-picker-element";
558
- }
package/types/index.d.ts DELETED
@@ -1,44 +0,0 @@
1
- export as namespace CP;
2
- export {Color, ColorPicker, ColorPalette, ColorPickerElement};
3
-
4
- export {
5
- HSL,
6
- HSLA,
7
- RGB,
8
- RGBA,
9
- HSV,
10
- HSVA,
11
- HWB,
12
- HWBA,
13
- ColorPickerOptions,
14
- ColorObject,
15
- ColorFormats,
16
- ColorInput,
17
- GetInstance,
18
- InitCallback,
19
- } from './source/types';
20
-
21
- import { default as Color } from "color-picker/src/js/color";
22
- import { default as ColorPalette } from "color-picker/src/js/color-palette";
23
- import { default as ColorPicker } from "color-picker/src/js/color-picker";
24
- import { default as ColorPickerElement } from "color-picker/src/js/color-picker-element";
25
-
26
- declare module "@thednp/color-picker" {
27
- export default ColorPicker;
28
- }
29
-
30
- declare module "@thednp/color-picker/src/js/color" {
31
- export default Color;
32
- }
33
-
34
- declare module "@thednp/color-picker/src/js/color-palette" {
35
- export default ColorPalette;
36
- }
37
-
38
- declare module "@thednp/color-picker/src/js/color-picker" {
39
- export default ColorPicker;
40
- }
41
-
42
- declare module "@thednp/color-picker/src/js/color-picker-element" {
43
- export default ColorPickerElement;
44
- }
@@ -1,4 +0,0 @@
1
- export { default as Color } from "../../src/js/color";
2
- export { default as ColorPalette } from "../../src/js/color-palette";
3
- export { default as ColorPicker } from "../../src/js/color-picker";
4
- export { default as ColorPickerElement } from "../../src/js/color-picker-element";
@@ -1,92 +0,0 @@
1
- /**
2
- * A `Color` compatible object.
3
- */
4
- export interface ColorObject {
5
- r: number;
6
- g: number;
7
- b: number;
8
- a: number;
9
- ok: boolean;
10
- format: ColorFormats;
11
- }
12
-
13
- /**
14
- * A representation of additive color mixing.
15
- * Projection of primary color lights on a white screen shows secondary
16
- * colors where two overlap; the combination of all three of red, green,
17
- * and blue in equal intensities makes white.
18
- */
19
- export interface RGB {
20
- r: number;
21
- g: number;
22
- b: number;
23
- }
24
-
25
- export interface RGBA extends RGB {
26
- a: number;
27
- }
28
-
29
- /**
30
- * The HSL model describes colors in terms of hue, saturation,
31
- * and lightness (also called luminance).
32
- * @link https://en.wikibooks.org/wiki/Color_Models:_RGB,_HSV,_HSL#HSL
33
- */
34
- export interface HSL {
35
- h: number;
36
- s: number;
37
- l: number;
38
- }
39
-
40
- export interface HSLA extends HSL {
41
- a: number;
42
- }
43
-
44
- /**
45
- * The HSV, or HSB, model describes colors in terms of
46
- * hue, saturation, and value (brightness).
47
- * @link https://en.wikibooks.org/wiki/Color_Models:_RGB,_HSV,_HSL#HSV
48
- */
49
- export interface HSV {
50
- h: number;
51
- s: number;
52
- v: number;
53
- }
54
-
55
- export interface HSVA extends HSV {
56
- a: number;
57
- }
58
-
59
- /**
60
- * The HWB model describes colors in terms of
61
- * hue, whiteness, and blackness.
62
- * @link https://www.w3.org/TR/css-color-4/#hwb-to-rgb
63
- * @link http://alvyray.com/Papers/CG/hwb2rgb.htm
64
- */
65
- export interface HWB {
66
- h: number;
67
- w: number;
68
- b: number;
69
- }
70
-
71
- export interface HWBA extends HWB {
72
- a: number;
73
- }
74
-
75
- export interface ColorPickerOptions {
76
- colorLabels?: string[];
77
- componentLabels?: Record<string, string>;
78
- format?: ColorFormats;
79
- colorPresets?: string[] | {
80
- hue: number,
81
- lightSteps: number,
82
- hueSteps: number,
83
- colors: string[],
84
- };
85
- colorKeywords?: string[];
86
- }
87
-
88
- export type ColorInput = string | RGB | RGBA | HSL | HSLA | HSV | HSVA | HWB | ColorObject;
89
- export type ColorFormats = string | 'rgb' | 'hex' | 'hex3' | 'hex4' | 'hex6' | 'hex8' | 'hsl' | 'hsv' | 'hwb';
90
-
91
- export type GetInstance<T, ET> = (target: ET | string, component: string) => T | null;
92
- export type InitCallback<T> = (element: HTMLInputElement | string ) => T;