-
Notifications
You must be signed in to change notification settings - Fork 3
/
types.d.ts
122 lines (78 loc) · 3.58 KB
/
types.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
declare module '@storybook/addon-svelte-csf'
declare module 'marked/lib/marked.esm'
declare module 'zxcvbn/dist/zxcvbn'
declare namespace Cypress {
interface Chainable {
loadStory(
component: string,
story: string,
knobs?: { [knob: string]: string }
): Chainable<Element>
tab(): Chainable<Element>
toggleDarkMode(): Chainable<Element>
checkAccessibility(options?: { page?: boolean }): Chainable<Element>
goOffline(): Chainable<Element>
goOnline(): Chainable<Element>
screenSize(size: 'tiny' | 'sm' | 'md' | 'lg'): Chainable<Element>
}
}
type ColorSpace = 'rgb' | 'hex' | 'hsl' | 'xyz' | 'lab' | 'lchab' | 'luv' | 'lchuv'
declare module 'ac-colors' {
// eslint-disable-next-line import/no-default-export -- don't want to deal with it
export default class Color {
constructor(color: {
color: string | [number, number, number]
type?: ColorSpace
precision?: number
capitalize?: boolean
})
capitalize: boolean
precision: number
rgb: [number, number, number]
rgbString: string
hex: string
hexString: string
hsl: [number, number, number]
hslString: string
xyz: [number, number, number]
xyzString: string
lab: [number, number, number]
labString: string
lchab: [number, number, number]
lchabString: string
luv: [number, number, number]
luvString: string
lchuv: [number, number, number]
lchuvString: string
static contrastRatio: (colorA: Color, colorB: Color) => number
static rgbToHsl: (color: [number, number, number]) => [number, number, number]
static hslToRgb: (color: [number, number, number]) => [number, number, number]
static rgbToHex: (color: [number, number, number]) => string
static hexToRgb: (color: string) => [number, number, number]
static rgbToXyz: (color: [number, number, number]) => [number, number, number]
static xyzToRgb: (color: [number, number, number]) => [number, number, number]
static xyzToLab: (color: [number, number, number]) => [number, number, number]
static labToXyz: (color: [number, number, number]) => [number, number, number]
static labToLCHab: (color: [number, number, number]) => [number, number, number]
static lchABToLab: (color: [number, number, number]) => [number, number, number]
static xyzToLuv: (color: [number, number, number]) => [number, number, number]
static luvToXyz: (color: [number, number, number]) => [number, number, number]
static luvToLCHuv: (color: [number, number, number]) => [number, number, number]
static lchUVToLuv: (color: [number, number, number]) => [number, number, number]
static luminance: (color: string | [number, number, number], type?: ColorSpace) => number
static random: () => Color
static randomFromString: (string: string) => Color
static randomOfType: (type?: ColorSpace) => Color
static randomOfTypeFormatted: (
type?: ColorSpace,
capitalize?: boolean,
precision?: number
) => string
static contrastTextColor: (
color: string | [number, number, number],
type?: ColorSpace
) => '#FFFFFF' | '#000000'
static contrastRatio: (colorA: Color, colorB: Color) => number
static blend: (colorA: Color, colorB: Color, type?: ColorSpace, weight: number) => Color
}
}