@nocobase/plugin-gantt 2.1.0-beta.38 → 2.1.0-beta.40
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.
- package/dist/client/index.js +1 -1
- package/dist/client-v2/793.629d4cd39664b681.js +10 -0
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/locale.d.ts +6 -0
- package/dist/client-v2/models/GanttBlockModel.d.ts +1 -1
- package/dist/client-v2/models/components/GanttBlock.helpers.d.ts +8 -0
- package/dist/client-v2/models/components/GanttBlock.styles.d.ts +2 -1
- package/dist/client-v2/models/components/GanttBlock.tree.d.ts +9 -6
- package/dist/{shared → client-v2/shared}/components/grid/style.d.ts +4 -3
- package/dist/{shared → client-v2/shared}/components/other/horizontal-scroll.d.ts +1 -1
- package/dist/externalVersion.js +6 -6
- package/dist/locale/en-US.json +4 -1
- package/dist/locale/zh-CN.json +4 -1
- package/package.json +2 -2
- package/dist/client-v2/143.1a8cf1cd5ce17b64.js +0 -10
- package/dist/node_modules/@ctrl/tinycolor/LICENSE +0 -7
- package/dist/node_modules/@ctrl/tinycolor/dist/bundles/tinycolor.umd.min.js +0 -2
- package/dist/node_modules/@ctrl/tinycolor/dist/conversion.d.ts +0 -61
- package/dist/node_modules/@ctrl/tinycolor/dist/conversion.js +0 -250
- package/dist/node_modules/@ctrl/tinycolor/dist/css-color-names.d.ts +0 -4
- package/dist/node_modules/@ctrl/tinycolor/dist/css-color-names.js +0 -157
- package/dist/node_modules/@ctrl/tinycolor/dist/format-input.d.ts +0 -37
- package/dist/node_modules/@ctrl/tinycolor/dist/format-input.js +0 -189
- package/dist/node_modules/@ctrl/tinycolor/dist/from-ratio.d.ts +0 -14
- package/dist/node_modules/@ctrl/tinycolor/dist/from-ratio.js +0 -30
- package/dist/node_modules/@ctrl/tinycolor/dist/index.d.ts +0 -207
- package/dist/node_modules/@ctrl/tinycolor/dist/index.js +0 -512
- package/dist/node_modules/@ctrl/tinycolor/dist/interfaces.d.ts +0 -46
- package/dist/node_modules/@ctrl/tinycolor/dist/interfaces.js +0 -2
- package/dist/node_modules/@ctrl/tinycolor/dist/module/conversion.js +0 -235
- package/dist/node_modules/@ctrl/tinycolor/dist/module/css-color-names.js +0 -154
- package/dist/node_modules/@ctrl/tinycolor/dist/module/format-input.js +0 -183
- package/dist/node_modules/@ctrl/tinycolor/dist/module/from-ratio.js +0 -25
- package/dist/node_modules/@ctrl/tinycolor/dist/module/index.js +0 -508
- package/dist/node_modules/@ctrl/tinycolor/dist/module/interfaces.js +0 -1
- package/dist/node_modules/@ctrl/tinycolor/dist/module/public_api.js +0 -12
- package/dist/node_modules/@ctrl/tinycolor/dist/module/random.js +0 -278
- package/dist/node_modules/@ctrl/tinycolor/dist/module/readability.js +0 -80
- package/dist/node_modules/@ctrl/tinycolor/dist/module/to-ms-filter.js +0 -16
- package/dist/node_modules/@ctrl/tinycolor/dist/module/umd_api.js +0 -20
- package/dist/node_modules/@ctrl/tinycolor/dist/module/util.js +0 -82
- package/dist/node_modules/@ctrl/tinycolor/dist/public_api.d.ts +0 -11
- package/dist/node_modules/@ctrl/tinycolor/dist/public_api.js +0 -1
- package/dist/node_modules/@ctrl/tinycolor/dist/random.d.ts +0 -24
- package/dist/node_modules/@ctrl/tinycolor/dist/random.js +0 -282
- package/dist/node_modules/@ctrl/tinycolor/dist/readability.d.ts +0 -46
- package/dist/node_modules/@ctrl/tinycolor/dist/readability.js +0 -86
- package/dist/node_modules/@ctrl/tinycolor/dist/to-ms-filter.d.ts +0 -5
- package/dist/node_modules/@ctrl/tinycolor/dist/to-ms-filter.js +0 -20
- package/dist/node_modules/@ctrl/tinycolor/dist/umd_api.d.ts +0 -23
- package/dist/node_modules/@ctrl/tinycolor/dist/umd_api.js +0 -22
- package/dist/node_modules/@ctrl/tinycolor/dist/util.d.ts +0 -36
- package/dist/node_modules/@ctrl/tinycolor/dist/util.js +0 -92
- package/dist/node_modules/@ctrl/tinycolor/package.json +0 -1
- package/dist/shared/components/calendar/calendar.js +0 -417
- package/dist/shared/components/calendar/style.js +0 -79
- package/dist/shared/components/calendar/top-part-of-calendar.js +0 -57
- package/dist/shared/components/gantt/style.js +0 -74
- package/dist/shared/components/gantt/task-gantt-content.js +0 -337
- package/dist/shared/components/gantt/task-gantt.js +0 -128
- package/dist/shared/components/grid/grid-body.js +0 -114
- package/dist/shared/components/grid/grid.js +0 -50
- package/dist/shared/components/grid/style.js +0 -54
- package/dist/shared/components/other/arrow.js +0 -90
- package/dist/shared/components/other/horizontal-scroll.js +0 -64
- package/dist/shared/components/other/style.js +0 -125
- package/dist/shared/components/other/tooltip.js +0 -137
- package/dist/shared/components/other/vertical-scroll.js +0 -74
- package/dist/shared/components/task-item/bar/bar-date-handle.js +0 -62
- package/dist/shared/components/task-item/bar/bar-display.js +0 -98
- package/dist/shared/components/task-item/bar/bar-progress-handle.js +0 -49
- package/dist/shared/components/task-item/bar/bar-small.js +0 -85
- package/dist/shared/components/task-item/bar/bar.js +0 -113
- package/dist/shared/components/task-item/bar/style.js +0 -58
- package/dist/shared/components/task-item/milestone/milestone.js +0 -72
- package/dist/shared/components/task-item/milestone/style.js +0 -45
- package/dist/shared/components/task-item/project/project.js +0 -77
- package/dist/shared/components/task-item/project/style.js +0 -51
- package/dist/shared/components/task-item/style.js +0 -74
- package/dist/shared/components/task-item/task-item.js +0 -132
- package/dist/shared/helpers/bar-helper.js +0 -415
- package/dist/shared/helpers/date-helper.js +0 -231
- package/dist/shared/helpers/other-helper.js +0 -97
- package/dist/shared/types/bar-task.js +0 -24
- package/dist/shared/types/date-setup.js +0 -24
- package/dist/shared/types/gantt-task-actions.js +0 -24
- package/dist/shared/types/public-types.js +0 -46
- /package/dist/{shared → client-v2/shared}/components/calendar/calendar.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/calendar/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/calendar/top-part-of-calendar.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/gantt/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/gantt/task-gantt-content.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/gantt/task-gantt.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/grid/grid-body.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/grid/grid.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/other/arrow.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/other/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/other/tooltip.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/other/vertical-scroll.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/bar-date-handle.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/bar-display.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/bar-progress-handle.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/bar-small.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/bar.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/bar/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/milestone/milestone.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/milestone/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/project/project.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/project/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/style.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/components/task-item/task-item.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/helpers/bar-helper.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/helpers/date-helper.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/helpers/other-helper.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/types/bar-task.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/types/date-setup.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/types/gantt-task-actions.d.ts +0 -0
- /package/dist/{shared → client-v2/shared}/types/public-types.d.ts +0 -0
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-redundant-type-constituents */
|
|
2
|
-
// randomColor by David Merfield under the CC0 license
|
|
3
|
-
// https://github.com/davidmerfield/randomColor/
|
|
4
|
-
import { TinyColor } from './index.js';
|
|
5
|
-
export function random(options) {
|
|
6
|
-
if (options === void 0) { options = {}; }
|
|
7
|
-
// Check if we need to generate multiple colors
|
|
8
|
-
if (options.count !== undefined &&
|
|
9
|
-
options.count !== null) {
|
|
10
|
-
var totalColors = options.count;
|
|
11
|
-
var colors = [];
|
|
12
|
-
options.count = undefined;
|
|
13
|
-
while (totalColors > colors.length) {
|
|
14
|
-
// Since we're generating multiple colors,
|
|
15
|
-
// incremement the seed. Otherwise we'd just
|
|
16
|
-
// generate the same color each time...
|
|
17
|
-
options.count = null;
|
|
18
|
-
if (options.seed) {
|
|
19
|
-
options.seed += 1;
|
|
20
|
-
}
|
|
21
|
-
colors.push(random(options));
|
|
22
|
-
}
|
|
23
|
-
options.count = totalColors;
|
|
24
|
-
return colors;
|
|
25
|
-
}
|
|
26
|
-
// First we pick a hue (H)
|
|
27
|
-
var h = pickHue(options.hue, options.seed);
|
|
28
|
-
// Then use H to determine saturation (S)
|
|
29
|
-
var s = pickSaturation(h, options);
|
|
30
|
-
// Then use S and H to determine brightness (B).
|
|
31
|
-
var v = pickBrightness(h, s, options);
|
|
32
|
-
var res = { h: h, s: s, v: v };
|
|
33
|
-
if (options.alpha !== undefined) {
|
|
34
|
-
res.a = options.alpha;
|
|
35
|
-
}
|
|
36
|
-
// Then we return the HSB color in the desired format
|
|
37
|
-
return new TinyColor(res);
|
|
38
|
-
}
|
|
39
|
-
function pickHue(hue, seed) {
|
|
40
|
-
var hueRange = getHueRange(hue);
|
|
41
|
-
var res = randomWithin(hueRange, seed);
|
|
42
|
-
// Instead of storing red as two seperate ranges,
|
|
43
|
-
// we group them, using negative numbers
|
|
44
|
-
if (res < 0) {
|
|
45
|
-
res = 360 + res;
|
|
46
|
-
}
|
|
47
|
-
return res;
|
|
48
|
-
}
|
|
49
|
-
function pickSaturation(hue, options) {
|
|
50
|
-
if (options.hue === 'monochrome') {
|
|
51
|
-
return 0;
|
|
52
|
-
}
|
|
53
|
-
if (options.luminosity === 'random') {
|
|
54
|
-
return randomWithin([0, 100], options.seed);
|
|
55
|
-
}
|
|
56
|
-
var saturationRange = getColorInfo(hue).saturationRange;
|
|
57
|
-
var sMin = saturationRange[0];
|
|
58
|
-
var sMax = saturationRange[1];
|
|
59
|
-
switch (options.luminosity) {
|
|
60
|
-
case 'bright':
|
|
61
|
-
sMin = 55;
|
|
62
|
-
break;
|
|
63
|
-
case 'dark':
|
|
64
|
-
sMin = sMax - 10;
|
|
65
|
-
break;
|
|
66
|
-
case 'light':
|
|
67
|
-
sMax = 55;
|
|
68
|
-
break;
|
|
69
|
-
default:
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
return randomWithin([sMin, sMax], options.seed);
|
|
73
|
-
}
|
|
74
|
-
function pickBrightness(H, S, options) {
|
|
75
|
-
var bMin = getMinimumBrightness(H, S);
|
|
76
|
-
var bMax = 100;
|
|
77
|
-
switch (options.luminosity) {
|
|
78
|
-
case 'dark':
|
|
79
|
-
bMax = bMin + 20;
|
|
80
|
-
break;
|
|
81
|
-
case 'light':
|
|
82
|
-
bMin = (bMax + bMin) / 2;
|
|
83
|
-
break;
|
|
84
|
-
case 'random':
|
|
85
|
-
bMin = 0;
|
|
86
|
-
bMax = 100;
|
|
87
|
-
break;
|
|
88
|
-
default:
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
return randomWithin([bMin, bMax], options.seed);
|
|
92
|
-
}
|
|
93
|
-
function getMinimumBrightness(H, S) {
|
|
94
|
-
var lowerBounds = getColorInfo(H).lowerBounds;
|
|
95
|
-
for (var i = 0; i < lowerBounds.length - 1; i++) {
|
|
96
|
-
var s1 = lowerBounds[i][0];
|
|
97
|
-
var v1 = lowerBounds[i][1];
|
|
98
|
-
var s2 = lowerBounds[i + 1][0];
|
|
99
|
-
var v2 = lowerBounds[i + 1][1];
|
|
100
|
-
if (S >= s1 && S <= s2) {
|
|
101
|
-
var m = (v2 - v1) / (s2 - s1);
|
|
102
|
-
var b = v1 - m * s1;
|
|
103
|
-
return m * S + b;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return 0;
|
|
107
|
-
}
|
|
108
|
-
function getHueRange(colorInput) {
|
|
109
|
-
var num = parseInt(colorInput, 10);
|
|
110
|
-
if (!Number.isNaN(num) && num < 360 && num > 0) {
|
|
111
|
-
return [num, num];
|
|
112
|
-
}
|
|
113
|
-
if (typeof colorInput === 'string') {
|
|
114
|
-
var namedColor = bounds.find(function (n) { return n.name === colorInput; });
|
|
115
|
-
if (namedColor) {
|
|
116
|
-
var color = defineColor(namedColor);
|
|
117
|
-
if (color.hueRange) {
|
|
118
|
-
return color.hueRange;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
var parsed = new TinyColor(colorInput);
|
|
122
|
-
if (parsed.isValid) {
|
|
123
|
-
var hue = parsed.toHsv().h;
|
|
124
|
-
return [hue, hue];
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return [0, 360];
|
|
128
|
-
}
|
|
129
|
-
function getColorInfo(hue) {
|
|
130
|
-
// Maps red colors to make picking hue easier
|
|
131
|
-
if (hue >= 334 && hue <= 360) {
|
|
132
|
-
hue -= 360;
|
|
133
|
-
}
|
|
134
|
-
for (var _i = 0, bounds_1 = bounds; _i < bounds_1.length; _i++) {
|
|
135
|
-
var bound = bounds_1[_i];
|
|
136
|
-
var color = defineColor(bound);
|
|
137
|
-
if (color.hueRange && hue >= color.hueRange[0] && hue <= color.hueRange[1]) {
|
|
138
|
-
return color;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
throw Error('Color not found');
|
|
142
|
-
}
|
|
143
|
-
function randomWithin(range, seed) {
|
|
144
|
-
if (seed === undefined) {
|
|
145
|
-
return Math.floor(range[0] + Math.random() * (range[1] + 1 - range[0]));
|
|
146
|
-
}
|
|
147
|
-
// Seeded random algorithm from http://indiegamr.com/generate-repeatable-random-numbers-in-js/
|
|
148
|
-
var max = range[1] || 1;
|
|
149
|
-
var min = range[0] || 0;
|
|
150
|
-
seed = (seed * 9301 + 49297) % 233280;
|
|
151
|
-
var rnd = seed / 233280.0;
|
|
152
|
-
return Math.floor(min + rnd * (max - min));
|
|
153
|
-
}
|
|
154
|
-
function defineColor(bound) {
|
|
155
|
-
var sMin = bound.lowerBounds[0][0];
|
|
156
|
-
var sMax = bound.lowerBounds[bound.lowerBounds.length - 1][0];
|
|
157
|
-
var bMin = bound.lowerBounds[bound.lowerBounds.length - 1][1];
|
|
158
|
-
var bMax = bound.lowerBounds[0][1];
|
|
159
|
-
return {
|
|
160
|
-
name: bound.name,
|
|
161
|
-
hueRange: bound.hueRange,
|
|
162
|
-
lowerBounds: bound.lowerBounds,
|
|
163
|
-
saturationRange: [sMin, sMax],
|
|
164
|
-
brightnessRange: [bMin, bMax],
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* @hidden
|
|
169
|
-
*/
|
|
170
|
-
export var bounds = [
|
|
171
|
-
{
|
|
172
|
-
name: 'monochrome',
|
|
173
|
-
hueRange: null,
|
|
174
|
-
lowerBounds: [
|
|
175
|
-
[0, 0],
|
|
176
|
-
[100, 0],
|
|
177
|
-
],
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
name: 'red',
|
|
181
|
-
hueRange: [-26, 18],
|
|
182
|
-
lowerBounds: [
|
|
183
|
-
[20, 100],
|
|
184
|
-
[30, 92],
|
|
185
|
-
[40, 89],
|
|
186
|
-
[50, 85],
|
|
187
|
-
[60, 78],
|
|
188
|
-
[70, 70],
|
|
189
|
-
[80, 60],
|
|
190
|
-
[90, 55],
|
|
191
|
-
[100, 50],
|
|
192
|
-
],
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
name: 'orange',
|
|
196
|
-
hueRange: [19, 46],
|
|
197
|
-
lowerBounds: [
|
|
198
|
-
[20, 100],
|
|
199
|
-
[30, 93],
|
|
200
|
-
[40, 88],
|
|
201
|
-
[50, 86],
|
|
202
|
-
[60, 85],
|
|
203
|
-
[70, 70],
|
|
204
|
-
[100, 70],
|
|
205
|
-
],
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
name: 'yellow',
|
|
209
|
-
hueRange: [47, 62],
|
|
210
|
-
lowerBounds: [
|
|
211
|
-
[25, 100],
|
|
212
|
-
[40, 94],
|
|
213
|
-
[50, 89],
|
|
214
|
-
[60, 86],
|
|
215
|
-
[70, 84],
|
|
216
|
-
[80, 82],
|
|
217
|
-
[90, 80],
|
|
218
|
-
[100, 75],
|
|
219
|
-
],
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
name: 'green',
|
|
223
|
-
hueRange: [63, 178],
|
|
224
|
-
lowerBounds: [
|
|
225
|
-
[30, 100],
|
|
226
|
-
[40, 90],
|
|
227
|
-
[50, 85],
|
|
228
|
-
[60, 81],
|
|
229
|
-
[70, 74],
|
|
230
|
-
[80, 64],
|
|
231
|
-
[90, 50],
|
|
232
|
-
[100, 40],
|
|
233
|
-
],
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
name: 'blue',
|
|
237
|
-
hueRange: [179, 257],
|
|
238
|
-
lowerBounds: [
|
|
239
|
-
[20, 100],
|
|
240
|
-
[30, 86],
|
|
241
|
-
[40, 80],
|
|
242
|
-
[50, 74],
|
|
243
|
-
[60, 60],
|
|
244
|
-
[70, 52],
|
|
245
|
-
[80, 44],
|
|
246
|
-
[90, 39],
|
|
247
|
-
[100, 35],
|
|
248
|
-
],
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
name: 'purple',
|
|
252
|
-
hueRange: [258, 282],
|
|
253
|
-
lowerBounds: [
|
|
254
|
-
[20, 100],
|
|
255
|
-
[30, 87],
|
|
256
|
-
[40, 79],
|
|
257
|
-
[50, 70],
|
|
258
|
-
[60, 65],
|
|
259
|
-
[70, 59],
|
|
260
|
-
[80, 52],
|
|
261
|
-
[90, 45],
|
|
262
|
-
[100, 42],
|
|
263
|
-
],
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
name: 'pink',
|
|
267
|
-
hueRange: [283, 334],
|
|
268
|
-
lowerBounds: [
|
|
269
|
-
[20, 100],
|
|
270
|
-
[30, 90],
|
|
271
|
-
[40, 86],
|
|
272
|
-
[60, 84],
|
|
273
|
-
[80, 80],
|
|
274
|
-
[90, 75],
|
|
275
|
-
[100, 73],
|
|
276
|
-
],
|
|
277
|
-
},
|
|
278
|
-
];
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { TinyColor } from './index.js';
|
|
2
|
-
// Readability Functions
|
|
3
|
-
// ---------------------
|
|
4
|
-
// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)
|
|
5
|
-
/**
|
|
6
|
-
* AKA `contrast`
|
|
7
|
-
*
|
|
8
|
-
* Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)
|
|
9
|
-
*/
|
|
10
|
-
export function readability(color1, color2) {
|
|
11
|
-
var c1 = new TinyColor(color1);
|
|
12
|
-
var c2 = new TinyColor(color2);
|
|
13
|
-
return ((Math.max(c1.getLuminance(), c2.getLuminance()) + 0.05) /
|
|
14
|
-
(Math.min(c1.getLuminance(), c2.getLuminance()) + 0.05));
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Ensure that foreground and background color combinations meet WCAG2 guidelines.
|
|
18
|
-
* The third argument is an object.
|
|
19
|
-
* the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';
|
|
20
|
-
* the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.
|
|
21
|
-
* If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}.
|
|
22
|
-
*
|
|
23
|
-
* Example
|
|
24
|
-
* ```ts
|
|
25
|
-
* new TinyColor().isReadable('#000', '#111') => false
|
|
26
|
-
* new TinyColor().isReadable('#000', '#111', { level: 'AA', size: 'large' }) => false
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export function isReadable(color1, color2, wcag2) {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
if (wcag2 === void 0) { wcag2 = { level: 'AA', size: 'small' }; }
|
|
32
|
-
var readabilityLevel = readability(color1, color2);
|
|
33
|
-
switch (((_a = wcag2.level) !== null && _a !== void 0 ? _a : 'AA') + ((_b = wcag2.size) !== null && _b !== void 0 ? _b : 'small')) {
|
|
34
|
-
case 'AAsmall':
|
|
35
|
-
case 'AAAlarge':
|
|
36
|
-
return readabilityLevel >= 4.5;
|
|
37
|
-
case 'AAlarge':
|
|
38
|
-
return readabilityLevel >= 3;
|
|
39
|
-
case 'AAAsmall':
|
|
40
|
-
return readabilityLevel >= 7;
|
|
41
|
-
default:
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Given a base color and a list of possible foreground or background
|
|
47
|
-
* colors for that base, returns the most readable color.
|
|
48
|
-
* Optionally returns Black or White if the most readable color is unreadable.
|
|
49
|
-
*
|
|
50
|
-
* @param baseColor - the base color.
|
|
51
|
-
* @param colorList - array of colors to pick the most readable one from.
|
|
52
|
-
* @param args - and object with extra arguments
|
|
53
|
-
*
|
|
54
|
-
* Example
|
|
55
|
-
* ```ts
|
|
56
|
-
* new TinyColor().mostReadable('#123', ['#124", "#125'], { includeFallbackColors: false }).toHexString(); // "#112255"
|
|
57
|
-
* new TinyColor().mostReadable('#123', ['#124", "#125'],{ includeFallbackColors: true }).toHexString(); // "#ffffff"
|
|
58
|
-
* new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'large' }).toHexString(); // "#faf3f3"
|
|
59
|
-
* new TinyColor().mostReadable('#a8015a', ["#faf3f3"], { includeFallbackColors:true, level: 'AAA', size: 'small' }).toHexString(); // "#ffffff"
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
export function mostReadable(baseColor, colorList, args) {
|
|
63
|
-
if (args === void 0) { args = { includeFallbackColors: false, level: 'AA', size: 'small' }; }
|
|
64
|
-
var bestColor = null;
|
|
65
|
-
var bestScore = 0;
|
|
66
|
-
var includeFallbackColors = args.includeFallbackColors, level = args.level, size = args.size;
|
|
67
|
-
for (var _i = 0, colorList_1 = colorList; _i < colorList_1.length; _i++) {
|
|
68
|
-
var color = colorList_1[_i];
|
|
69
|
-
var score = readability(baseColor, color);
|
|
70
|
-
if (score > bestScore) {
|
|
71
|
-
bestScore = score;
|
|
72
|
-
bestColor = new TinyColor(color);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (isReadable(baseColor, bestColor, { level: level, size: size }) || !includeFallbackColors) {
|
|
76
|
-
return bestColor;
|
|
77
|
-
}
|
|
78
|
-
args.includeFallbackColors = false;
|
|
79
|
-
return mostReadable(baseColor, ['#fff', '#000'], args);
|
|
80
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { rgbaToArgbHex } from './conversion.js';
|
|
2
|
-
import { TinyColor } from './index.js';
|
|
3
|
-
/**
|
|
4
|
-
* Returns the color represented as a Microsoft filter for use in old versions of IE.
|
|
5
|
-
*/
|
|
6
|
-
export function toMsFilter(firstColor, secondColor) {
|
|
7
|
-
var color = new TinyColor(firstColor);
|
|
8
|
-
var hex8String = '#' + rgbaToArgbHex(color.r, color.g, color.b, color.a);
|
|
9
|
-
var secondHex8String = hex8String;
|
|
10
|
-
var gradientType = color.gradientType ? 'GradientType = 1, ' : '';
|
|
11
|
-
if (secondColor) {
|
|
12
|
-
var s = new TinyColor(secondColor);
|
|
13
|
-
secondHex8String = '#' + rgbaToArgbHex(s.r, s.g, s.b, s.a);
|
|
14
|
-
}
|
|
15
|
-
return "progid:DXImageTransform.Microsoft.gradient(".concat(gradientType, "startColorstr=").concat(hex8String, ",endColorstr=").concat(secondHex8String, ")");
|
|
16
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { names } from './css-color-names.js';
|
|
2
|
-
import { inputToRGB, isValidCSSUnit, stringInputToObject } from './format-input.js';
|
|
3
|
-
import { fromRatio, legacyRandom } from './from-ratio.js';
|
|
4
|
-
import { TinyColor, tinycolor } from './index.js';
|
|
5
|
-
import { random } from './random.js';
|
|
6
|
-
import { mostReadable, readability } from './readability.js';
|
|
7
|
-
import { toMsFilter } from './to-ms-filter.js';
|
|
8
|
-
var tinycolorumd = tinycolor;
|
|
9
|
-
tinycolorumd.TinyColor = TinyColor;
|
|
10
|
-
tinycolorumd.readability = readability;
|
|
11
|
-
tinycolorumd.mostReadable = mostReadable;
|
|
12
|
-
tinycolorumd.random = random;
|
|
13
|
-
tinycolorumd.names = names;
|
|
14
|
-
tinycolorumd.fromRatio = fromRatio;
|
|
15
|
-
tinycolorumd.legacyRandom = legacyRandom;
|
|
16
|
-
tinycolorumd.toMsFilter = toMsFilter;
|
|
17
|
-
tinycolorumd.inputToRGB = inputToRGB;
|
|
18
|
-
tinycolorumd.stringInputToObject = stringInputToObject;
|
|
19
|
-
tinycolorumd.isValidCSSUnit = isValidCSSUnit;
|
|
20
|
-
export default tinycolorumd;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Take input from [0, n] and return it as [0, 1]
|
|
3
|
-
* @hidden
|
|
4
|
-
*/
|
|
5
|
-
export function bound01(n, max) {
|
|
6
|
-
if (isOnePointZero(n)) {
|
|
7
|
-
n = '100%';
|
|
8
|
-
}
|
|
9
|
-
var isPercent = isPercentage(n);
|
|
10
|
-
n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));
|
|
11
|
-
// Automatically convert percentage into number
|
|
12
|
-
if (isPercent) {
|
|
13
|
-
n = parseInt(String(n * max), 10) / 100;
|
|
14
|
-
}
|
|
15
|
-
// Handle floating point rounding errors
|
|
16
|
-
if (Math.abs(n - max) < 0.000001) {
|
|
17
|
-
return 1;
|
|
18
|
-
}
|
|
19
|
-
// Convert into [0, 1] range if it isn't already
|
|
20
|
-
if (max === 360) {
|
|
21
|
-
// If n is a hue given in degrees,
|
|
22
|
-
// wrap around out-of-range values into [0, 360] range
|
|
23
|
-
// then convert into [0, 1].
|
|
24
|
-
n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
// If n not a hue given in degrees
|
|
28
|
-
// Convert into [0, 1] range if it isn't already.
|
|
29
|
-
n = (n % max) / parseFloat(String(max));
|
|
30
|
-
}
|
|
31
|
-
return n;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Force a number between 0 and 1
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
export function clamp01(val) {
|
|
38
|
-
return Math.min(1, Math.max(0, val));
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1
|
|
42
|
-
* <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>
|
|
43
|
-
* @hidden
|
|
44
|
-
*/
|
|
45
|
-
export function isOnePointZero(n) {
|
|
46
|
-
return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Check to see if string passed in is a percentage
|
|
50
|
-
* @hidden
|
|
51
|
-
*/
|
|
52
|
-
export function isPercentage(n) {
|
|
53
|
-
return typeof n === 'string' && n.indexOf('%') !== -1;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Return a valid alpha value [0,1] with all invalid values being set to 1
|
|
57
|
-
* @hidden
|
|
58
|
-
*/
|
|
59
|
-
export function boundAlpha(a) {
|
|
60
|
-
a = parseFloat(a);
|
|
61
|
-
if (isNaN(a) || a < 0 || a > 1) {
|
|
62
|
-
a = 1;
|
|
63
|
-
}
|
|
64
|
-
return a;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Replace a decimal with it's percentage value
|
|
68
|
-
* @hidden
|
|
69
|
-
*/
|
|
70
|
-
export function convertToPercentage(n) {
|
|
71
|
-
if (n <= 1) {
|
|
72
|
-
return "".concat(Number(n) * 100, "%");
|
|
73
|
-
}
|
|
74
|
-
return n;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Force a hex value to have 2 characters
|
|
78
|
-
* @hidden
|
|
79
|
-
*/
|
|
80
|
-
export function pad2(c) {
|
|
81
|
-
return c.length === 1 ? '0' + c : String(c);
|
|
82
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { tinycolor } from './index.js';
|
|
2
|
-
export * from './index.js';
|
|
3
|
-
export * from './css-color-names.js';
|
|
4
|
-
export * from './readability.js';
|
|
5
|
-
export * from './to-ms-filter.js';
|
|
6
|
-
export * from './from-ratio.js';
|
|
7
|
-
export * from './format-input.js';
|
|
8
|
-
export * from './random.js';
|
|
9
|
-
export * from './interfaces.js';
|
|
10
|
-
export * from './conversion.js';
|
|
11
|
-
export default tinycolor;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var r={26:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.numberInputToObject=e.parseIntFromHex=e.convertHexToDecimal=e.convertDecimalToHex=e.rgbaToArgbHex=e.rgbaToHex=e.rgbToHex=e.hsvToRgb=e.rgbToHsv=e.hslToRgb=e.rgbToHsl=e.rgbToRgb=void 0;var n=t(839);function rgbToRgb(r,e,t){return{r:(0,n.bound01)(r,255)*255,g:(0,n.bound01)(e,255)*255,b:(0,n.bound01)(t,255)*255}}e.rgbToRgb=rgbToRgb;function rgbToHsl(r,e,t){r=(0,n.bound01)(r,255);e=(0,n.bound01)(e,255);t=(0,n.bound01)(t,255);var o=Math.max(r,e,t);var a=Math.min(r,e,t);var i=0;var s=0;var u=(o+a)/2;if(o===a){s=0;i=0}else{var l=o-a;s=u>.5?l/(2-o-a):l/(o+a);switch(o){case r:i=(e-t)/l+(e<t?6:0);break;case e:i=(t-r)/l+2;break;case t:i=(r-e)/l+4;break;default:break}i/=6}return{h:i,s:s,l:u}}e.rgbToHsl=rgbToHsl;function hue2rgb(r,e,t){if(t<0){t+=1}if(t>1){t-=1}if(t<1/6){return r+(e-r)*(6*t)}if(t<1/2){return e}if(t<2/3){return r+(e-r)*(2/3-t)*6}return r}function hslToRgb(r,e,t){var o;var a;var i;r=(0,n.bound01)(r,360);e=(0,n.bound01)(e,100);t=(0,n.bound01)(t,100);if(e===0){a=t;i=t;o=t}else{var s=t<.5?t*(1+e):t+e-t*e;var u=2*t-s;o=hue2rgb(u,s,r+1/3);a=hue2rgb(u,s,r);i=hue2rgb(u,s,r-1/3)}return{r:o*255,g:a*255,b:i*255}}e.hslToRgb=hslToRgb;function rgbToHsv(r,e,t){r=(0,n.bound01)(r,255);e=(0,n.bound01)(e,255);t=(0,n.bound01)(t,255);var o=Math.max(r,e,t);var a=Math.min(r,e,t);var i=0;var s=o;var u=o-a;var l=o===0?0:u/o;if(o===a){i=0}else{switch(o){case r:i=(e-t)/u+(e<t?6:0);break;case e:i=(t-r)/u+2;break;case t:i=(r-e)/u+4;break;default:break}i/=6}return{h:i,s:l,v:s}}e.rgbToHsv=rgbToHsv;function hsvToRgb(r,e,t){r=(0,n.bound01)(r,360)*6;e=(0,n.bound01)(e,100);t=(0,n.bound01)(t,100);var o=Math.floor(r);var a=r-o;var i=t*(1-e);var s=t*(1-a*e);var u=t*(1-(1-a)*e);var l=o%6;var f=[t,s,i,i,u,t][l];var c=[u,t,t,s,i,i][l];var h=[i,i,u,t,t,s][l];return{r:f*255,g:c*255,b:h*255}}e.hsvToRgb=hsvToRgb;function rgbToHex(r,e,t,o){var a=[(0,n.pad2)(Math.round(r).toString(16)),(0,n.pad2)(Math.round(e).toString(16)),(0,n.pad2)(Math.round(t).toString(16))];if(o&&a[0].startsWith(a[0].charAt(1))&&a[1].startsWith(a[1].charAt(1))&&a[2].startsWith(a[2].charAt(1))){return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)}return a.join("")}e.rgbToHex=rgbToHex;function rgbaToHex(r,e,t,o,a){var i=[(0,n.pad2)(Math.round(r).toString(16)),(0,n.pad2)(Math.round(e).toString(16)),(0,n.pad2)(Math.round(t).toString(16)),(0,n.pad2)(convertDecimalToHex(o))];if(a&&i[0].startsWith(i[0].charAt(1))&&i[1].startsWith(i[1].charAt(1))&&i[2].startsWith(i[2].charAt(1))&&i[3].startsWith(i[3].charAt(1))){return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0)}return i.join("")}e.rgbaToHex=rgbaToHex;function rgbaToArgbHex(r,e,t,o){var a=[(0,n.pad2)(convertDecimalToHex(o)),(0,n.pad2)(Math.round(r).toString(16)),(0,n.pad2)(Math.round(e).toString(16)),(0,n.pad2)(Math.round(t).toString(16))];return a.join("")}e.rgbaToArgbHex=rgbaToArgbHex;function convertDecimalToHex(r){return Math.round(parseFloat(r)*255).toString(16)}e.convertDecimalToHex=convertDecimalToHex;function convertHexToDecimal(r){return parseIntFromHex(r)/255}e.convertHexToDecimal=convertHexToDecimal;function parseIntFromHex(r){return parseInt(r,16)}e.parseIntFromHex=parseIntFromHex;function numberInputToObject(r){return{r:r>>16,g:(r&65280)>>8,b:r&255}}e.numberInputToObject=numberInputToObject},918:(r,e)=>{Object.defineProperty(e,"__esModule",{value:true});e.names=void 0;e.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},784:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.isValidCSSUnit=e.stringInputToObject=e.inputToRGB=void 0;var n=t(26);var o=t(918);var a=t(839);function inputToRGB(r){var e={r:0,g:0,b:0};var t=1;var o=null;var i=null;var s=null;var u=false;var l=false;if(typeof r==="string"){r=stringInputToObject(r)}if(typeof r==="object"){if(isValidCSSUnit(r.r)&&isValidCSSUnit(r.g)&&isValidCSSUnit(r.b)){e=(0,n.rgbToRgb)(r.r,r.g,r.b);u=true;l=String(r.r).substr(-1)==="%"?"prgb":"rgb"}else if(isValidCSSUnit(r.h)&&isValidCSSUnit(r.s)&&isValidCSSUnit(r.v)){o=(0,a.convertToPercentage)(r.s);i=(0,a.convertToPercentage)(r.v);e=(0,n.hsvToRgb)(r.h,o,i);u=true;l="hsv"}else if(isValidCSSUnit(r.h)&&isValidCSSUnit(r.s)&&isValidCSSUnit(r.l)){o=(0,a.convertToPercentage)(r.s);s=(0,a.convertToPercentage)(r.l);e=(0,n.hslToRgb)(r.h,o,s);u=true;l="hsl"}if(Object.prototype.hasOwnProperty.call(r,"a")){t=r.a}}t=(0,a.boundAlpha)(t);return{ok:u,format:r.format||l,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}e.inputToRGB=inputToRGB;var i="[-\\+]?\\d+%?";var s="[-\\+]?\\d*\\.\\d+%?";var u="(?:".concat(s,")|(?:").concat(i,")");var l="[\\s|\\(]+(".concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")\\s*\\)?");var f="[\\s|\\(]+(".concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")[,|\\s]+(").concat(u,")\\s*\\)?");var c={CSS_UNIT:new RegExp(u),rgb:new RegExp("rgb"+l),rgba:new RegExp("rgba"+f),hsl:new RegExp("hsl"+l),hsla:new RegExp("hsla"+f),hsv:new RegExp("hsv"+l),hsva:new RegExp("hsva"+f),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function stringInputToObject(r){r=r.trim().toLowerCase();if(r.length===0){return false}var e=false;if(o.names[r]){r=o.names[r];e=true}else if(r==="transparent"){return{r:0,g:0,b:0,a:0,format:"name"}}var t=c.rgb.exec(r);if(t){return{r:t[1],g:t[2],b:t[3]}}t=c.rgba.exec(r);if(t){return{r:t[1],g:t[2],b:t[3],a:t[4]}}t=c.hsl.exec(r);if(t){return{h:t[1],s:t[2],l:t[3]}}t=c.hsla.exec(r);if(t){return{h:t[1],s:t[2],l:t[3],a:t[4]}}t=c.hsv.exec(r);if(t){return{h:t[1],s:t[2],v:t[3]}}t=c.hsva.exec(r);if(t){return{h:t[1],s:t[2],v:t[3],a:t[4]}}t=c.hex8.exec(r);if(t){return{r:(0,n.parseIntFromHex)(t[1]),g:(0,n.parseIntFromHex)(t[2]),b:(0,n.parseIntFromHex)(t[3]),a:(0,n.convertHexToDecimal)(t[4]),format:e?"name":"hex8"}}t=c.hex6.exec(r);if(t){return{r:(0,n.parseIntFromHex)(t[1]),g:(0,n.parseIntFromHex)(t[2]),b:(0,n.parseIntFromHex)(t[3]),format:e?"name":"hex"}}t=c.hex4.exec(r);if(t){return{r:(0,n.parseIntFromHex)(t[1]+t[1]),g:(0,n.parseIntFromHex)(t[2]+t[2]),b:(0,n.parseIntFromHex)(t[3]+t[3]),a:(0,n.convertHexToDecimal)(t[4]+t[4]),format:e?"name":"hex8"}}t=c.hex3.exec(r);if(t){return{r:(0,n.parseIntFromHex)(t[1]+t[1]),g:(0,n.parseIntFromHex)(t[2]+t[2]),b:(0,n.parseIntFromHex)(t[3]+t[3]),format:e?"name":"hex"}}return false}e.stringInputToObject=stringInputToObject;function isValidCSSUnit(r){return Boolean(c.CSS_UNIT.exec(String(r)))}e.isValidCSSUnit=isValidCSSUnit},868:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.legacyRandom=e.fromRatio=void 0;var n=t(124);var o=t(839);function fromRatio(r,e){var t={r:(0,o.convertToPercentage)(r.r),g:(0,o.convertToPercentage)(r.g),b:(0,o.convertToPercentage)(r.b)};if(r.a!==undefined){t.a=Number(r.a)}return new n.TinyColor(t,e)}e.fromRatio=fromRatio;function legacyRandom(){return new n.TinyColor({r:Math.random(),g:Math.random(),b:Math.random()})}e.legacyRandom=legacyRandom},124:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.tinycolor=e.TinyColor=void 0;var n=t(26);var o=t(918);var a=t(784);var i=t(839);var s=function(){function TinyColor(r,e){if(r===void 0){r=""}if(e===void 0){e={}}var t;if(r instanceof TinyColor){return r}if(typeof r==="number"){r=(0,n.numberInputToObject)(r)}this.originalInput=r;var o=(0,a.inputToRGB)(r);this.originalInput=r;this.r=o.r;this.g=o.g;this.b=o.b;this.a=o.a;this.roundA=Math.round(100*this.a)/100;this.format=(t=e.format)!==null&&t!==void 0?t:o.format;this.gradientType=e.gradientType;if(this.r<1){this.r=Math.round(this.r)}if(this.g<1){this.g=Math.round(this.g)}if(this.b<1){this.b=Math.round(this.b)}this.isValid=o.ok}TinyColor.prototype.isDark=function(){return this.getBrightness()<128};TinyColor.prototype.isLight=function(){return!this.isDark()};TinyColor.prototype.getBrightness=function(){var r=this.toRgb();return(r.r*299+r.g*587+r.b*114)/1e3};TinyColor.prototype.getLuminance=function(){var r=this.toRgb();var e;var t;var n;var o=r.r/255;var a=r.g/255;var i=r.b/255;if(o<=.03928){e=o/12.92}else{e=Math.pow((o+.055)/1.055,2.4)}if(a<=.03928){t=a/12.92}else{t=Math.pow((a+.055)/1.055,2.4)}if(i<=.03928){n=i/12.92}else{n=Math.pow((i+.055)/1.055,2.4)}return.2126*e+.7152*t+.0722*n};TinyColor.prototype.getAlpha=function(){return this.a};TinyColor.prototype.setAlpha=function(r){this.a=(0,i.boundAlpha)(r);this.roundA=Math.round(100*this.a)/100;return this};TinyColor.prototype.isMonochrome=function(){var r=this.toHsl().s;return r===0};TinyColor.prototype.toHsv=function(){var r=(0,n.rgbToHsv)(this.r,this.g,this.b);return{h:r.h*360,s:r.s,v:r.v,a:this.a}};TinyColor.prototype.toHsvString=function(){var r=(0,n.rgbToHsv)(this.r,this.g,this.b);var e=Math.round(r.h*360);var t=Math.round(r.s*100);var o=Math.round(r.v*100);return this.a===1?"hsv(".concat(e,", ").concat(t,"%, ").concat(o,"%)"):"hsva(".concat(e,", ").concat(t,"%, ").concat(o,"%, ").concat(this.roundA,")")};TinyColor.prototype.toHsl=function(){var r=(0,n.rgbToHsl)(this.r,this.g,this.b);return{h:r.h*360,s:r.s,l:r.l,a:this.a}};TinyColor.prototype.toHslString=function(){var r=(0,n.rgbToHsl)(this.r,this.g,this.b);var e=Math.round(r.h*360);var t=Math.round(r.s*100);var o=Math.round(r.l*100);return this.a===1?"hsl(".concat(e,", ").concat(t,"%, ").concat(o,"%)"):"hsla(".concat(e,", ").concat(t,"%, ").concat(o,"%, ").concat(this.roundA,")")};TinyColor.prototype.toHex=function(r){if(r===void 0){r=false}return(0,n.rgbToHex)(this.r,this.g,this.b,r)};TinyColor.prototype.toHexString=function(r){if(r===void 0){r=false}return"#"+this.toHex(r)};TinyColor.prototype.toHex8=function(r){if(r===void 0){r=false}return(0,n.rgbaToHex)(this.r,this.g,this.b,this.a,r)};TinyColor.prototype.toHex8String=function(r){if(r===void 0){r=false}return"#"+this.toHex8(r)};TinyColor.prototype.toHexShortString=function(r){if(r===void 0){r=false}return this.a===1?this.toHexString(r):this.toHex8String(r)};TinyColor.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}};TinyColor.prototype.toRgbString=function(){var r=Math.round(this.r);var e=Math.round(this.g);var t=Math.round(this.b);return this.a===1?"rgb(".concat(r,", ").concat(e,", ").concat(t,")"):"rgba(".concat(r,", ").concat(e,", ").concat(t,", ").concat(this.roundA,")")};TinyColor.prototype.toPercentageRgb=function(){var fmt=function(r){return"".concat(Math.round((0,i.bound01)(r,255)*100),"%")};return{r:fmt(this.r),g:fmt(this.g),b:fmt(this.b),a:this.a}};TinyColor.prototype.toPercentageRgbString=function(){var rnd=function(r){return Math.round((0,i.bound01)(r,255)*100)};return this.a===1?"rgb(".concat(rnd(this.r),"%, ").concat(rnd(this.g),"%, ").concat(rnd(this.b),"%)"):"rgba(".concat(rnd(this.r),"%, ").concat(rnd(this.g),"%, ").concat(rnd(this.b),"%, ").concat(this.roundA,")")};TinyColor.prototype.toName=function(){if(this.a===0){return"transparent"}if(this.a<1){return false}var r="#"+(0,n.rgbToHex)(this.r,this.g,this.b,false);for(var e=0,t=Object.entries(o.names);e<t.length;e++){var a=t[e],i=a[0],s=a[1];if(r===s){return i}}return false};TinyColor.prototype.toString=function(r){var e=Boolean(r);r=r!==null&&r!==void 0?r:this.format;var t=false;var n=this.a<1&&this.a>=0;var o=!e&&n&&(r.startsWith("hex")||r==="name");if(o){if(r==="name"&&this.a===0){return this.toName()}return this.toRgbString()}if(r==="rgb"){t=this.toRgbString()}if(r==="prgb"){t=this.toPercentageRgbString()}if(r==="hex"||r==="hex6"){t=this.toHexString()}if(r==="hex3"){t=this.toHexString(true)}if(r==="hex4"){t=this.toHex8String(true)}if(r==="hex8"){t=this.toHex8String()}if(r==="name"){t=this.toName()}if(r==="hsl"){t=this.toHslString()}if(r==="hsv"){t=this.toHsvString()}return t||this.toHexString()};TinyColor.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)};TinyColor.prototype.clone=function(){return new TinyColor(this.toString())};TinyColor.prototype.lighten=function(r){if(r===void 0){r=10}var e=this.toHsl();e.l+=r/100;e.l=(0,i.clamp01)(e.l);return new TinyColor(e)};TinyColor.prototype.brighten=function(r){if(r===void 0){r=10}var e=this.toRgb();e.r=Math.max(0,Math.min(255,e.r-Math.round(255*-(r/100))));e.g=Math.max(0,Math.min(255,e.g-Math.round(255*-(r/100))));e.b=Math.max(0,Math.min(255,e.b-Math.round(255*-(r/100))));return new TinyColor(e)};TinyColor.prototype.darken=function(r){if(r===void 0){r=10}var e=this.toHsl();e.l-=r/100;e.l=(0,i.clamp01)(e.l);return new TinyColor(e)};TinyColor.prototype.tint=function(r){if(r===void 0){r=10}return this.mix("white",r)};TinyColor.prototype.shade=function(r){if(r===void 0){r=10}return this.mix("black",r)};TinyColor.prototype.desaturate=function(r){if(r===void 0){r=10}var e=this.toHsl();e.s-=r/100;e.s=(0,i.clamp01)(e.s);return new TinyColor(e)};TinyColor.prototype.saturate=function(r){if(r===void 0){r=10}var e=this.toHsl();e.s+=r/100;e.s=(0,i.clamp01)(e.s);return new TinyColor(e)};TinyColor.prototype.greyscale=function(){return this.desaturate(100)};TinyColor.prototype.spin=function(r){var e=this.toHsl();var t=(e.h+r)%360;e.h=t<0?360+t:t;return new TinyColor(e)};TinyColor.prototype.mix=function(r,e){if(e===void 0){e=50}var t=this.toRgb();var n=new TinyColor(r).toRgb();var o=e/100;var a={r:(n.r-t.r)*o+t.r,g:(n.g-t.g)*o+t.g,b:(n.b-t.b)*o+t.b,a:(n.a-t.a)*o+t.a};return new TinyColor(a)};TinyColor.prototype.analogous=function(r,e){if(r===void 0){r=6}if(e===void 0){e=30}var t=this.toHsl();var n=360/e;var o=[this];for(t.h=(t.h-(n*r>>1)+720)%360;--r;){t.h=(t.h+n)%360;o.push(new TinyColor(t))}return o};TinyColor.prototype.complement=function(){var r=this.toHsl();r.h=(r.h+180)%360;return new TinyColor(r)};TinyColor.prototype.monochromatic=function(r){if(r===void 0){r=6}var e=this.toHsv();var t=e.h;var n=e.s;var o=e.v;var a=[];var i=1/r;while(r--){a.push(new TinyColor({h:t,s:n,v:o}));o=(o+i)%1}return a};TinyColor.prototype.splitcomplement=function(){var r=this.toHsl();var e=r.h;return[this,new TinyColor({h:(e+72)%360,s:r.s,l:r.l}),new TinyColor({h:(e+216)%360,s:r.s,l:r.l})]};TinyColor.prototype.onBackground=function(r){var e=this.toRgb();var t=new TinyColor(r).toRgb();var n=e.a+t.a*(1-e.a);return new TinyColor({r:(e.r*e.a+t.r*t.a*(1-e.a))/n,g:(e.g*e.a+t.g*t.a*(1-e.a))/n,b:(e.b*e.a+t.b*t.a*(1-e.a))/n,a:n})};TinyColor.prototype.triad=function(){return this.polyad(3)};TinyColor.prototype.tetrad=function(){return this.polyad(4)};TinyColor.prototype.polyad=function(r){var e=this.toHsl();var t=e.h;var n=[this];var o=360/r;for(var a=1;a<r;a++){n.push(new TinyColor({h:(t+a*o)%360,s:e.s,l:e.l}))}return n};TinyColor.prototype.equals=function(r){return this.toRgbString()===new TinyColor(r).toRgbString()};return TinyColor}();e.TinyColor=s;function tinycolor(r,e){if(r===void 0){r=""}if(e===void 0){e={}}return new s(r,e)}e.tinycolor=tinycolor},43:(r,e)=>{Object.defineProperty(e,"__esModule",{value:true})},855:function(r,e,t){var n=this&&this.__createBinding||(Object.create?function(r,e,t,n){if(n===undefined)n=t;var o=Object.getOwnPropertyDescriptor(e,t);if(!o||("get"in o?!e.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return e[t]}}}Object.defineProperty(r,n,o)}:function(r,e,t,n){if(n===undefined)n=t;r[n]=e[t]});var o=this&&this.__exportStar||function(r,e){for(var t in r)if(t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t))n(e,r,t)};Object.defineProperty(e,"__esModule",{value:true});var a=t(124);o(t(124),e);o(t(918),e);o(t(968),e);o(t(65),e);o(t(868),e);o(t(784),e);o(t(262),e);o(t(43),e);o(t(26),e);e["default"]=a.tinycolor},262:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.bounds=e.random=void 0;var n=t(124);function random(r){if(r===void 0){r={}}if(r.count!==undefined&&r.count!==null){var e=r.count;var t=[];r.count=undefined;while(e>t.length){r.count=null;if(r.seed){r.seed+=1}t.push(random(r))}r.count=e;return t}var o=pickHue(r.hue,r.seed);var a=pickSaturation(o,r);var i=pickBrightness(o,a,r);var s={h:o,s:a,v:i};if(r.alpha!==undefined){s.a=r.alpha}return new n.TinyColor(s)}e.random=random;function pickHue(r,e){var t=getHueRange(r);var n=randomWithin(t,e);if(n<0){n=360+n}return n}function pickSaturation(r,e){if(e.hue==="monochrome"){return 0}if(e.luminosity==="random"){return randomWithin([0,100],e.seed)}var t=getColorInfo(r).saturationRange;var n=t[0];var o=t[1];switch(e.luminosity){case"bright":n=55;break;case"dark":n=o-10;break;case"light":o=55;break;default:break}return randomWithin([n,o],e.seed)}function pickBrightness(r,e,t){var n=getMinimumBrightness(r,e);var o=100;switch(t.luminosity){case"dark":o=n+20;break;case"light":n=(o+n)/2;break;case"random":n=0;o=100;break;default:break}return randomWithin([n,o],t.seed)}function getMinimumBrightness(r,e){var t=getColorInfo(r).lowerBounds;for(var n=0;n<t.length-1;n++){var o=t[n][0];var a=t[n][1];var i=t[n+1][0];var s=t[n+1][1];if(e>=o&&e<=i){var u=(s-a)/(i-o);var l=a-u*o;return u*e+l}}return 0}function getHueRange(r){var t=parseInt(r,10);if(!Number.isNaN(t)&&t<360&&t>0){return[t,t]}if(typeof r==="string"){var o=e.bounds.find((function(e){return e.name===r}));if(o){var a=defineColor(o);if(a.hueRange){return a.hueRange}}var i=new n.TinyColor(r);if(i.isValid){var s=i.toHsv().h;return[s,s]}}return[0,360]}function getColorInfo(r){if(r>=334&&r<=360){r-=360}for(var t=0,n=e.bounds;t<n.length;t++){var o=n[t];var a=defineColor(o);if(a.hueRange&&r>=a.hueRange[0]&&r<=a.hueRange[1]){return a}}throw Error("Color not found")}function randomWithin(r,e){if(e===undefined){return Math.floor(r[0]+Math.random()*(r[1]+1-r[0]))}var t=r[1]||1;var n=r[0]||0;e=(e*9301+49297)%233280;var o=e/233280;return Math.floor(n+o*(t-n))}function defineColor(r){var e=r.lowerBounds[0][0];var t=r.lowerBounds[r.lowerBounds.length-1][0];var n=r.lowerBounds[r.lowerBounds.length-1][1];var o=r.lowerBounds[0][1];return{name:r.name,hueRange:r.hueRange,lowerBounds:r.lowerBounds,saturationRange:[e,t],brightnessRange:[n,o]}}e.bounds=[{name:"monochrome",hueRange:null,lowerBounds:[[0,0],[100,0]]},{name:"red",hueRange:[-26,18],lowerBounds:[[20,100],[30,92],[40,89],[50,85],[60,78],[70,70],[80,60],[90,55],[100,50]]},{name:"orange",hueRange:[19,46],lowerBounds:[[20,100],[30,93],[40,88],[50,86],[60,85],[70,70],[100,70]]},{name:"yellow",hueRange:[47,62],lowerBounds:[[25,100],[40,94],[50,89],[60,86],[70,84],[80,82],[90,80],[100,75]]},{name:"green",hueRange:[63,178],lowerBounds:[[30,100],[40,90],[50,85],[60,81],[70,74],[80,64],[90,50],[100,40]]},{name:"blue",hueRange:[179,257],lowerBounds:[[20,100],[30,86],[40,80],[50,74],[60,60],[70,52],[80,44],[90,39],[100,35]]},{name:"purple",hueRange:[258,282],lowerBounds:[[20,100],[30,87],[40,79],[50,70],[60,65],[70,59],[80,52],[90,45],[100,42]]},{name:"pink",hueRange:[283,334],lowerBounds:[[20,100],[30,90],[40,86],[60,84],[80,80],[90,75],[100,73]]}]},968:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.mostReadable=e.isReadable=e.readability=void 0;var n=t(124);function readability(r,e){var t=new n.TinyColor(r);var o=new n.TinyColor(e);return(Math.max(t.getLuminance(),o.getLuminance())+.05)/(Math.min(t.getLuminance(),o.getLuminance())+.05)}e.readability=readability;function isReadable(r,e,t){var n,o;if(t===void 0){t={level:"AA",size:"small"}}var a=readability(r,e);switch(((n=t.level)!==null&&n!==void 0?n:"AA")+((o=t.size)!==null&&o!==void 0?o:"small")){case"AAsmall":case"AAAlarge":return a>=4.5;case"AAlarge":return a>=3;case"AAAsmall":return a>=7;default:return false}}e.isReadable=isReadable;function mostReadable(r,e,t){if(t===void 0){t={includeFallbackColors:false,level:"AA",size:"small"}}var o=null;var a=0;var i=t.includeFallbackColors,s=t.level,u=t.size;for(var l=0,f=e;l<f.length;l++){var c=f[l];var h=readability(r,c);if(h>a){a=h;o=new n.TinyColor(c)}}if(isReadable(r,o,{level:s,size:u})||!i){return o}t.includeFallbackColors=false;return mostReadable(r,["#fff","#000"],t)}e.mostReadable=mostReadable},65:(r,e,t)=>{Object.defineProperty(e,"__esModule",{value:true});e.toMsFilter=void 0;var n=t(26);var o=t(124);function toMsFilter(r,e){var t=new o.TinyColor(r);var a="#"+(0,n.rgbaToArgbHex)(t.r,t.g,t.b,t.a);var i=a;var s=t.gradientType?"GradientType = 1, ":"";if(e){var u=new o.TinyColor(e);i="#"+(0,n.rgbaToArgbHex)(u.r,u.g,u.b,u.a)}return"progid:DXImageTransform.Microsoft.gradient(".concat(s,"startColorstr=").concat(a,",endColorstr=").concat(i,")")}e.toMsFilter=toMsFilter},839:(r,e)=>{Object.defineProperty(e,"__esModule",{value:true});e.pad2=e.convertToPercentage=e.boundAlpha=e.isPercentage=e.isOnePointZero=e.clamp01=e.bound01=void 0;function bound01(r,e){if(isOnePointZero(r)){r="100%"}var t=isPercentage(r);r=e===360?r:Math.min(e,Math.max(0,parseFloat(r)));if(t){r=parseInt(String(r*e),10)/100}if(Math.abs(r-e)<1e-6){return 1}if(e===360){r=(r<0?r%e+e:r%e)/parseFloat(String(e))}else{r=r%e/parseFloat(String(e))}return r}e.bound01=bound01;function clamp01(r){return Math.min(1,Math.max(0,r))}e.clamp01=clamp01;function isOnePointZero(r){return typeof r==="string"&&r.indexOf(".")!==-1&&parseFloat(r)===1}e.isOnePointZero=isOnePointZero;function isPercentage(r){return typeof r==="string"&&r.indexOf("%")!==-1}e.isPercentage=isPercentage;function boundAlpha(r){r=parseFloat(r);if(isNaN(r)||r<0||r>1){r=1}return r}e.boundAlpha=boundAlpha;function convertToPercentage(r){if(r<=1){return"".concat(Number(r)*100,"%")}return r}e.convertToPercentage=convertToPercentage;function pad2(r){return r.length===1?"0"+r:String(r)}e.pad2=pad2}};var e={};function __nccwpck_require__(t){var n=e[t];if(n!==undefined){return n.exports}var o=e[t]={exports:{}};var a=true;try{r[t].call(o.exports,o,o.exports,__nccwpck_require__);a=false}finally{if(a)delete e[t]}return o.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var t=__nccwpck_require__(855);module.exports=t})();
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TinyColor } from './index.js';
|
|
2
|
-
export interface RandomOptions {
|
|
3
|
-
seed?: number;
|
|
4
|
-
hue?: number | string | 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'monochrome';
|
|
5
|
-
luminosity?: 'random' | 'bright' | 'dark' | 'light';
|
|
6
|
-
alpha?: number;
|
|
7
|
-
}
|
|
8
|
-
export interface RandomCountOptions extends RandomOptions {
|
|
9
|
-
count?: number | null;
|
|
10
|
-
}
|
|
11
|
-
export declare function random(options?: RandomOptions): TinyColor;
|
|
12
|
-
export declare function random(options?: RandomCountOptions): TinyColor[];
|
|
13
|
-
/**
|
|
14
|
-
* @hidden
|
|
15
|
-
*/
|
|
16
|
-
export interface ColorBound {
|
|
17
|
-
name: string;
|
|
18
|
-
hueRange: [number, number] | null;
|
|
19
|
-
lowerBounds: Array<[number, number]>;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @hidden
|
|
23
|
-
*/
|
|
24
|
-
export declare const bounds: ColorBound[];
|