bytekit 1.0.30 → 2.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 (118) hide show
  1. package/README.md +58 -188
  2. package/dist/utils/core/ApiClient.d.ts +11 -10
  3. package/dist/utils/core/ApiClient.d.ts.map +1 -1
  4. package/dist/utils/core/ApiClient.js +17 -9
  5. package/dist/utils/core/ApiClient.js.map +1 -1
  6. package/dist/utils/core/SchemaAdapter.d.ts +35 -0
  7. package/dist/utils/core/SchemaAdapter.d.ts.map +1 -0
  8. package/dist/utils/core/SchemaAdapter.js +36 -0
  9. package/dist/utils/core/SchemaAdapter.js.map +1 -0
  10. package/dist/utils/core/index.d.ts +1 -1
  11. package/dist/utils/core/index.d.ts.map +1 -1
  12. package/dist/utils/core/index.js +1 -1
  13. package/dist/utils/core/index.js.map +1 -1
  14. package/dist/utils/helpers/QueryStringHelper.d.ts +11 -0
  15. package/dist/utils/helpers/QueryStringHelper.d.ts.map +1 -0
  16. package/dist/utils/helpers/QueryStringHelper.js +84 -0
  17. package/dist/utils/helpers/QueryStringHelper.js.map +1 -0
  18. package/dist/utils/helpers/UrlSlugHelper.d.ts +19 -0
  19. package/dist/utils/helpers/UrlSlugHelper.d.ts.map +1 -0
  20. package/dist/utils/helpers/UrlSlugHelper.js +27 -0
  21. package/dist/utils/helpers/UrlSlugHelper.js.map +1 -0
  22. package/dist/utils/helpers/index.d.ts +2 -13
  23. package/dist/utils/helpers/index.d.ts.map +1 -1
  24. package/dist/utils/helpers/index.js +2 -13
  25. package/dist/utils/helpers/index.js.map +1 -1
  26. package/dist/utils/index.d.ts +2 -8
  27. package/dist/utils/index.d.ts.map +1 -1
  28. package/dist/utils/index.js +2 -8
  29. package/dist/utils/index.js.map +1 -1
  30. package/package.json +14 -73
  31. package/dist/color-utils.d.ts +0 -2
  32. package/dist/color-utils.d.ts.map +0 -1
  33. package/dist/color-utils.js +0 -2
  34. package/dist/color-utils.js.map +0 -1
  35. package/dist/date-utils.d.ts +0 -2
  36. package/dist/date-utils.d.ts.map +0 -1
  37. package/dist/date-utils.js +0 -2
  38. package/dist/date-utils.js.map +0 -1
  39. package/dist/number-utils.d.ts +0 -2
  40. package/dist/number-utils.d.ts.map +0 -1
  41. package/dist/number-utils.js +0 -2
  42. package/dist/number-utils.js.map +0 -1
  43. package/dist/string-utils.d.ts +0 -2
  44. package/dist/string-utils.d.ts.map +0 -1
  45. package/dist/string-utils.js +0 -2
  46. package/dist/string-utils.js.map +0 -1
  47. package/dist/utils/core/BatchRequest.d.ts +0 -79
  48. package/dist/utils/core/BatchRequest.d.ts.map +0 -1
  49. package/dist/utils/core/BatchRequest.js +0 -152
  50. package/dist/utils/core/BatchRequest.js.map +0 -1
  51. package/dist/utils/core/QueryClient.d.ts +0 -145
  52. package/dist/utils/core/QueryClient.d.ts.map +0 -1
  53. package/dist/utils/core/QueryClient.js +0 -453
  54. package/dist/utils/core/QueryClient.js.map +0 -1
  55. package/dist/utils/core/QueryState.d.ts +0 -99
  56. package/dist/utils/core/QueryState.d.ts.map +0 -1
  57. package/dist/utils/core/QueryState.js +0 -65
  58. package/dist/utils/core/QueryState.js.map +0 -1
  59. package/dist/utils/helpers/ArrayUtils.d.ts +0 -134
  60. package/dist/utils/helpers/ArrayUtils.d.ts.map +0 -1
  61. package/dist/utils/helpers/ArrayUtils.js +0 -306
  62. package/dist/utils/helpers/ArrayUtils.js.map +0 -1
  63. package/dist/utils/helpers/ColorUtils.d.ts +0 -235
  64. package/dist/utils/helpers/ColorUtils.d.ts.map +0 -1
  65. package/dist/utils/helpers/ColorUtils.js +0 -598
  66. package/dist/utils/helpers/ColorUtils.js.map +0 -1
  67. package/dist/utils/helpers/DateUtils.d.ts +0 -36
  68. package/dist/utils/helpers/DateUtils.d.ts.map +0 -1
  69. package/dist/utils/helpers/DateUtils.js +0 -131
  70. package/dist/utils/helpers/DateUtils.js.map +0 -1
  71. package/dist/utils/helpers/FormUtils.d.ts +0 -176
  72. package/dist/utils/helpers/FormUtils.d.ts.map +0 -1
  73. package/dist/utils/helpers/FormUtils.js +0 -437
  74. package/dist/utils/helpers/FormUtils.js.map +0 -1
  75. package/dist/utils/helpers/HttpStatusHelper.d.ts +0 -82
  76. package/dist/utils/helpers/HttpStatusHelper.d.ts.map +0 -1
  77. package/dist/utils/helpers/HttpStatusHelper.js +0 -174
  78. package/dist/utils/helpers/HttpStatusHelper.js.map +0 -1
  79. package/dist/utils/helpers/NumberUtils.d.ts +0 -230
  80. package/dist/utils/helpers/NumberUtils.d.ts.map +0 -1
  81. package/dist/utils/helpers/NumberUtils.js +0 -564
  82. package/dist/utils/helpers/NumberUtils.js.map +0 -1
  83. package/dist/utils/helpers/ObjectUtils.d.ts +0 -102
  84. package/dist/utils/helpers/ObjectUtils.d.ts.map +0 -1
  85. package/dist/utils/helpers/ObjectUtils.js +0 -301
  86. package/dist/utils/helpers/ObjectUtils.js.map +0 -1
  87. package/dist/utils/helpers/PaginationHelper.d.ts +0 -127
  88. package/dist/utils/helpers/PaginationHelper.d.ts.map +0 -1
  89. package/dist/utils/helpers/PaginationHelper.js +0 -295
  90. package/dist/utils/helpers/PaginationHelper.js.map +0 -1
  91. package/dist/utils/helpers/Signal.d.ts +0 -92
  92. package/dist/utils/helpers/Signal.d.ts.map +0 -1
  93. package/dist/utils/helpers/Signal.js +0 -243
  94. package/dist/utils/helpers/Signal.js.map +0 -1
  95. package/dist/utils/helpers/StringUtils.d.ts +0 -46
  96. package/dist/utils/helpers/StringUtils.d.ts.map +0 -1
  97. package/dist/utils/helpers/StringUtils.js +0 -228
  98. package/dist/utils/helpers/StringUtils.js.map +0 -1
  99. package/dist/utils/helpers/TimeUtils.d.ts +0 -87
  100. package/dist/utils/helpers/TimeUtils.d.ts.map +0 -1
  101. package/dist/utils/helpers/TimeUtils.js +0 -234
  102. package/dist/utils/helpers/TimeUtils.js.map +0 -1
  103. package/dist/utils/helpers/UrlBuilder.d.ts +0 -79
  104. package/dist/utils/helpers/UrlBuilder.d.ts.map +0 -1
  105. package/dist/utils/helpers/UrlBuilder.js +0 -161
  106. package/dist/utils/helpers/UrlBuilder.js.map +0 -1
  107. package/dist/utils/helpers/Validator.d.ts +0 -31
  108. package/dist/utils/helpers/Validator.d.ts.map +0 -1
  109. package/dist/utils/helpers/Validator.js +0 -175
  110. package/dist/utils/helpers/Validator.js.map +0 -1
  111. package/dist/utils/helpers/useSignal.d.ts +0 -11
  112. package/dist/utils/helpers/useSignal.d.ts.map +0 -1
  113. package/dist/utils/helpers/useSignal.js +0 -11
  114. package/dist/utils/helpers/useSignal.js.map +0 -1
  115. package/dist/validator.d.ts +0 -2
  116. package/dist/validator.d.ts.map +0 -1
  117. package/dist/validator.js +0 -2
  118. package/dist/validator.js.map +0 -1
@@ -1,134 +0,0 @@
1
- /**
2
- * Array manipulation utilities for everyday development tasks
3
- */
4
- export declare class ArrayUtils {
5
- /**
6
- * Split array into chunks of specified size
7
- */
8
- static chunk<T>(arr: T[], size: number): T[][];
9
- /**
10
- * Flatten nested arrays
11
- */
12
- static flatten<T>(arr: Array<T | T[]>, depth?: number): T[];
13
- /**
14
- * Get unique values from array
15
- */
16
- static unique<T>(arr: T[], by?: (item: T) => unknown): T[];
17
- /**
18
- * Remove duplicates and return unique array
19
- */
20
- static deduplicate<T>(arr: T[]): T[];
21
- /**
22
- * Compact array (remove falsy values)
23
- */
24
- static compact<T>(arr: Array<T | null | undefined | false | 0 | "">): T[];
25
- /**
26
- * Flatten one level deep
27
- */
28
- static flat<T>(arr: Array<T | T[]>): T[];
29
- /**
30
- * Get first element
31
- */
32
- static first<T>(arr: T[]): T | undefined;
33
- /**
34
- * Get last element
35
- */
36
- static last<T>(arr: T[]): T | undefined;
37
- /**
38
- * Get element at index (supports negative indices)
39
- */
40
- static at<T>(arr: T[], index: number): T | undefined;
41
- /**
42
- * Shuffle array (Fisher-Yates)
43
- */
44
- static shuffle<T>(arr: T[]): T[];
45
- /**
46
- * Get random element
47
- */
48
- static random<T>(arr: T[]): T | undefined;
49
- /**
50
- * Get N random elements
51
- */
52
- static randomN<T>(arr: T[], n: number): T[];
53
- /**
54
- * Reverse array
55
- */
56
- static reverse<T>(arr: T[]): T[];
57
- /**
58
- * Rotate array
59
- */
60
- static rotate<T>(arr: T[], steps: number): T[];
61
- /**
62
- * Zip arrays together
63
- */
64
- static zip<T>(...arrays: T[][]): T[][];
65
- /**
66
- * Unzip array of tuples
67
- */
68
- static unzip<T>(arr: T[][]): T[][];
69
- /**
70
- * Find differences between two arrays
71
- */
72
- static difference<T>(arr1: T[], arr2: T[]): T[];
73
- /**
74
- * Find intersection of two arrays
75
- */
76
- static intersection<T>(arr1: T[], arr2: T[]): T[];
77
- /**
78
- * Find union of two arrays
79
- */
80
- static union<T>(arr1: T[], arr2: T[]): T[];
81
- /**
82
- * Check if array includes all elements from another array
83
- */
84
- static includesAll<T>(arr: T[], items: T[]): boolean;
85
- /**
86
- * Check if array includes any element from another array
87
- */
88
- static includesAny<T>(arr: T[], items: T[]): boolean;
89
- /**
90
- * Sum array of numbers
91
- */
92
- static sum(arr: number[]): number;
93
- /**
94
- * Average of array of numbers
95
- */
96
- static average(arr: number[]): number;
97
- /**
98
- * Min value in array
99
- */
100
- static min(arr: number[]): number | undefined;
101
- /**
102
- * Max value in array
103
- */
104
- static max(arr: number[]): number | undefined;
105
- /**
106
- * Range of numbers
107
- */
108
- static range(start: number, end: number, step?: number): number[];
109
- /**
110
- * Repeat array N times
111
- */
112
- static repeat<T>(arr: T[], times: number): T[];
113
- /**
114
- * Fill array with value
115
- */
116
- static fill<T>(length: number, value: T): T[];
117
- /**
118
- * Transpose 2D array
119
- */
120
- static transpose<T>(arr: T[][]): T[][];
121
- /**
122
- * Find index of element matching predicate
123
- */
124
- static findIndex<T>(arr: T[], predicate: (item: T, index: number) => boolean): number;
125
- /**
126
- * Find last index of element matching predicate
127
- */
128
- static findLastIndex<T>(arr: T[], predicate: (item: T, index: number) => boolean): number;
129
- /**
130
- * Partition array into two based on predicate
131
- */
132
- static partition<T>(arr: T[], predicate: (item: T) => boolean): [T[], T[]];
133
- }
134
- //# sourceMappingURL=ArrayUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/ArrayUtils.ts"],"names":[],"mappings":"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"}
@@ -1,306 +0,0 @@
1
- /**
2
- * Array manipulation utilities for everyday development tasks
3
- */
4
- export class ArrayUtils {
5
- /**
6
- * Split array into chunks of specified size
7
- */
8
- static chunk(arr, size) {
9
- if (size <= 0)
10
- throw new Error("Chunk size must be greater than 0");
11
- const chunks = [];
12
- for (let i = 0; i < arr.length; i += size) {
13
- chunks.push(arr.slice(i, i + size));
14
- }
15
- return chunks;
16
- }
17
- /**
18
- * Flatten nested arrays
19
- */
20
- static flatten(arr, depth = 1) {
21
- if (depth <= 0) {
22
- return arr.filter((item) => !Array.isArray(item));
23
- }
24
- const result = [];
25
- for (const item of arr) {
26
- if (Array.isArray(item)) {
27
- result.push(...this.flatten(item, depth - 1));
28
- }
29
- else {
30
- result.push(item);
31
- }
32
- }
33
- return result;
34
- }
35
- /**
36
- * Get unique values from array
37
- */
38
- static unique(arr, by) {
39
- if (!by) {
40
- return Array.from(new Set(arr));
41
- }
42
- const seen = new Set();
43
- return arr.filter((item) => {
44
- const key = by(item);
45
- if (seen.has(key))
46
- return false;
47
- seen.add(key);
48
- return true;
49
- });
50
- }
51
- /**
52
- * Remove duplicates and return unique array
53
- */
54
- static deduplicate(arr) {
55
- return this.unique(arr);
56
- }
57
- /**
58
- * Compact array (remove falsy values)
59
- */
60
- static compact(arr) {
61
- return arr.filter(Boolean);
62
- }
63
- /**
64
- * Flatten one level deep
65
- */
66
- static flat(arr) {
67
- return this.flatten(arr, 1);
68
- }
69
- /**
70
- * Get first element
71
- */
72
- static first(arr) {
73
- return arr[0];
74
- }
75
- /**
76
- * Get last element
77
- */
78
- static last(arr) {
79
- return arr.at(-1);
80
- }
81
- /**
82
- * Get element at index (supports negative indices)
83
- */
84
- static at(arr, index) {
85
- if (index < 0) {
86
- return arr[arr.length + index];
87
- }
88
- return arr[index];
89
- }
90
- /**
91
- * Shuffle array (Fisher-Yates)
92
- */
93
- static shuffle(arr) {
94
- const result = [...arr];
95
- for (let i = result.length - 1; i > 0; i--) {
96
- const array = new Uint32Array(1);
97
- crypto.getRandomValues(array);
98
- const j = array[0] % (i + 1);
99
- [result[i], result[j]] = [result[j], result[i]];
100
- }
101
- return result;
102
- }
103
- /**
104
- * Get random element
105
- */
106
- static random(arr) {
107
- if (arr.length === 0)
108
- return undefined;
109
- const array = new Uint32Array(1);
110
- crypto.getRandomValues(array);
111
- const index = array[0] % arr.length;
112
- return arr[index];
113
- }
114
- /**
115
- * Get N random elements
116
- */
117
- static randomN(arr, n) {
118
- if (n <= 0)
119
- return [];
120
- if (n >= arr.length)
121
- return [...arr];
122
- const shuffled = this.shuffle(arr);
123
- return shuffled.slice(0, n);
124
- }
125
- /**
126
- * Reverse array
127
- */
128
- static reverse(arr) {
129
- return [...arr].reverse();
130
- }
131
- /**
132
- * Rotate array
133
- */
134
- static rotate(arr, steps) {
135
- if (arr.length === 0)
136
- return arr;
137
- const normalized = ((steps % arr.length) + arr.length) % arr.length;
138
- return [
139
- ...arr.slice(-normalized),
140
- ...arr.slice(0, -normalized || undefined),
141
- ];
142
- }
143
- /**
144
- * Zip arrays together
145
- */
146
- static zip(...arrays) {
147
- if (arrays.length === 0)
148
- return [];
149
- const maxLength = Math.max(...arrays.map((a) => a.length));
150
- const result = [];
151
- for (let i = 0; i < maxLength; i++) {
152
- result.push(arrays.map((a) => a[i]));
153
- }
154
- return result;
155
- }
156
- /**
157
- * Unzip array of tuples
158
- */
159
- static unzip(arr) {
160
- if (arr.length === 0)
161
- return [];
162
- const maxLength = Math.max(...arr.map((a) => a.length));
163
- const result = Array.from({ length: maxLength }, () => []);
164
- for (const tuple of arr) {
165
- for (let i = 0; i < tuple.length; i++) {
166
- result[i].push(tuple[i]);
167
- }
168
- }
169
- return result;
170
- }
171
- /**
172
- * Find differences between two arrays
173
- */
174
- static difference(arr1, arr2) {
175
- const set2 = new Set(arr2);
176
- return arr1.filter((item) => !set2.has(item));
177
- }
178
- /**
179
- * Find intersection of two arrays
180
- */
181
- static intersection(arr1, arr2) {
182
- const set2 = new Set(arr2);
183
- return this.unique(arr1.filter((item) => set2.has(item)));
184
- }
185
- /**
186
- * Find union of two arrays
187
- */
188
- static union(arr1, arr2) {
189
- return this.unique([...arr1, ...arr2]);
190
- }
191
- /**
192
- * Check if array includes all elements from another array
193
- */
194
- static includesAll(arr, items) {
195
- return items.every((item) => arr.includes(item));
196
- }
197
- /**
198
- * Check if array includes any element from another array
199
- */
200
- static includesAny(arr, items) {
201
- return items.some((item) => arr.includes(item));
202
- }
203
- /**
204
- * Sum array of numbers
205
- */
206
- static sum(arr) {
207
- return arr.reduce((acc, val) => acc + val, 0);
208
- }
209
- /**
210
- * Average of array of numbers
211
- */
212
- static average(arr) {
213
- if (arr.length === 0)
214
- return 0;
215
- return this.sum(arr) / arr.length;
216
- }
217
- /**
218
- * Min value in array
219
- */
220
- static min(arr) {
221
- return arr.length === 0 ? undefined : Math.min(...arr);
222
- }
223
- /**
224
- * Max value in array
225
- */
226
- static max(arr) {
227
- return arr.length === 0 ? undefined : Math.max(...arr);
228
- }
229
- /**
230
- * Range of numbers
231
- */
232
- static range(start, end, step = 1) {
233
- const result = [];
234
- if (step > 0) {
235
- for (let i = start; i < end; i += step) {
236
- result.push(i);
237
- }
238
- }
239
- else if (step < 0) {
240
- for (let i = start; i > end; i += step) {
241
- result.push(i);
242
- }
243
- }
244
- return result;
245
- }
246
- /**
247
- * Repeat array N times
248
- */
249
- static repeat(arr, times) {
250
- if (times <= 0)
251
- return [];
252
- return Array.from({ length: times }, () => arr).flat();
253
- }
254
- /**
255
- * Fill array with value
256
- */
257
- static fill(length, value) {
258
- return Array.from({ length }, () => value);
259
- }
260
- /**
261
- * Transpose 2D array
262
- */
263
- static transpose(arr) {
264
- if (arr.length === 0)
265
- return [];
266
- const maxLength = Math.max(...arr.map((a) => a.length));
267
- const result = [];
268
- for (let i = 0; i < maxLength; i++) {
269
- result.push(arr.map((a) => a[i]));
270
- }
271
- return result;
272
- }
273
- /**
274
- * Find index of element matching predicate
275
- */
276
- static findIndex(arr, predicate) {
277
- return arr.findIndex(predicate);
278
- }
279
- /**
280
- * Find last index of element matching predicate
281
- */
282
- static findLastIndex(arr, predicate) {
283
- for (let i = arr.length - 1; i >= 0; i--) {
284
- if (predicate(arr[i], i))
285
- return i;
286
- }
287
- return -1;
288
- }
289
- /**
290
- * Partition array into two based on predicate
291
- */
292
- static partition(arr, predicate) {
293
- const pass = [];
294
- const fail = [];
295
- for (const item of arr) {
296
- if (predicate(item)) {
297
- pass.push(item);
298
- }
299
- else {
300
- fail.push(item);
301
- }
302
- }
303
- return [pass, fail];
304
- }
305
- }
306
- //# sourceMappingURL=ArrayUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/ArrayUtils.ts"],"names":[],"mappings":"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"}
@@ -1,235 +0,0 @@
1
- /**
2
- * Color utilities for conversion, manipulation, and accessibility
3
- * Isomorphic utilities for Node.js and browsers
4
- * @module ColorUtils
5
- */
6
- /**
7
- * RGB color representation
8
- */
9
- export interface RGB {
10
- r: number;
11
- g: number;
12
- b: number;
13
- }
14
- /**
15
- * RGBA color representation
16
- */
17
- export interface RGBA extends RGB {
18
- a: number;
19
- }
20
- /**
21
- * HSL color representation
22
- */
23
- export interface HSL {
24
- h: number;
25
- s: number;
26
- l: number;
27
- }
28
- /**
29
- * HSLA color representation
30
- */
31
- export interface HSLA extends HSL {
32
- a: number;
33
- }
34
- /**
35
- * Color utilities
36
- */
37
- export declare class ColorUtils {
38
- private constructor();
39
- /**
40
- * Convert hex color to RGB
41
- * @example
42
- * ColorUtils.hexToRgb('#ff5733'); // { r: 255, g: 87, b: 51 }
43
- * ColorUtils.hexToRgb('#f53'); // { r: 255, g: 85, b: 51 }
44
- */
45
- static hexToRgb(hex: string): RGB | null;
46
- /**
47
- * Convert hex color to RGBA
48
- * @example
49
- * ColorUtils.hexToRgba('#ff573380'); // { r: 255, g: 87, b: 51, a: 0.5 }
50
- */
51
- static hexToRgba(hex: string): RGBA | null;
52
- /**
53
- * Convert RGB to hex color
54
- * @example
55
- * ColorUtils.rgbToHex(255, 87, 51); // '#ff5733'
56
- * ColorUtils.rgbToHex({ r: 255, g: 87, b: 51 }); // '#ff5733'
57
- */
58
- static rgbToHex(rOrRgb: number | RGB, g?: number, b?: number): string;
59
- /**
60
- * Convert RGBA to hex color with alpha
61
- * @example
62
- * ColorUtils.rgbaToHex(255, 87, 51, 0.5); // '#ff573380'
63
- */
64
- static rgbaToHex(rOrRgba: number | RGBA, g?: number, b?: number, a?: number): string;
65
- /**
66
- * Convert RGB to HSL
67
- * @example
68
- * ColorUtils.rgbToHsl(255, 87, 51); // { h: 11, s: 100, l: 60 }
69
- */
70
- static rgbToHsl(rOrRgb: number | RGB, g?: number, b?: number): HSL;
71
- /**
72
- * Convert HSL to RGB
73
- * @example
74
- * ColorUtils.hslToRgb(11, 100, 60); // { r: 255, g: 87, b: 51 }
75
- */
76
- static hslToRgb(hOrHsl: number | HSL, s?: number, l?: number): RGB;
77
- /**
78
- * Convert hex to HSL
79
- */
80
- static hexToHsl(hex: string): HSL | null;
81
- /**
82
- * Convert HSL to hex
83
- */
84
- static hslToHex(hOrHsl: number | HSL, s?: number, l?: number): string;
85
- /**
86
- * Lighten a color by a percentage
87
- * @example
88
- * ColorUtils.lighten('#ff5733', 20); // Lighter color
89
- */
90
- static lighten(color: string, percent: number): string;
91
- /**
92
- * Darken a color by a percentage
93
- * @example
94
- * ColorUtils.darken('#ff5733', 20); // Darker color
95
- */
96
- static darken(color: string, percent: number): string;
97
- /**
98
- * Saturate a color by a percentage
99
- */
100
- static saturate(color: string, percent: number): string;
101
- /**
102
- * Desaturate a color by a percentage
103
- */
104
- static desaturate(color: string, percent: number): string;
105
- /**
106
- * Convert color to grayscale
107
- */
108
- static grayscale(color: string): string;
109
- /**
110
- * Get the complementary color (opposite on color wheel)
111
- * @example
112
- * ColorUtils.complement('#ff5733'); // Complementary color
113
- */
114
- static complement(color: string): string;
115
- /**
116
- * Invert a color
117
- * @example
118
- * ColorUtils.invert('#ff5733'); // '#00a8cc'
119
- */
120
- static invert(color: string): string;
121
- /**
122
- * Mix two colors together
123
- * @example
124
- * ColorUtils.mix('#ff0000', '#0000ff', 50); // Purple-ish
125
- */
126
- static mix(color1: string, color2: string, weight?: number): string;
127
- /**
128
- * Set the alpha/opacity of a color
129
- */
130
- static alpha(color: string, alpha: number): string;
131
- /**
132
- * Adjust hue of a color
133
- */
134
- static adjustHue(color: string, degrees: number): string;
135
- /**
136
- * Calculate relative luminance of a color (WCAG definition)
137
- */
138
- static luminance(color: string): number;
139
- /**
140
- * Calculate contrast ratio between two colors (WCAG)
141
- * @example
142
- * ColorUtils.contrast('#000000', '#ffffff'); // 21 (maximum)
143
- * ColorUtils.contrast('#777777', '#ffffff'); // ~4.48
144
- */
145
- static contrast(color1: string, color2: string): number;
146
- /**
147
- * Check if color is light (for determining text color)
148
- * @example
149
- * ColorUtils.isLight('#ffffff'); // true
150
- * ColorUtils.isLight('#000000'); // false
151
- */
152
- static isLight(color: string): boolean;
153
- /**
154
- * Check if color is dark
155
- */
156
- static isDark(color: string): boolean;
157
- /**
158
- * Get best text color (black or white) for a background
159
- * @example
160
- * ColorUtils.textColor('#ff5733'); // '#ffffff' (white text on orange)
161
- * ColorUtils.textColor('#ffffff'); // '#000000' (black text on white)
162
- */
163
- static textColor(backgroundColor: string): string;
164
- /**
165
- * Check if contrast meets WCAG AA standard (4.5:1 for normal text)
166
- */
167
- static meetsContrastAA(color1: string, color2: string, largeText?: boolean): boolean;
168
- /**
169
- * Check if contrast meets WCAG AAA standard (7:1 for normal text)
170
- */
171
- static meetsContrastAAA(color1: string, color2: string, largeText?: boolean): boolean;
172
- /**
173
- * Generate a random hex color
174
- * @example
175
- * ColorUtils.random(); // '#a3f2b1' (random)
176
- */
177
- static random(): string;
178
- /**
179
- * Generate a random color with specific lightness
180
- */
181
- static randomWithLightness(lightness: number): string;
182
- /**
183
- * Generate a color palette from a base color
184
- * @example
185
- * ColorUtils.palette('#ff5733', 5); // Array of 5 harmonious colors
186
- */
187
- static palette(baseColor: string, count?: number): string[];
188
- /**
189
- * Generate complementary color palette
190
- */
191
- static complementaryPalette(baseColor: string): string[];
192
- /**
193
- * Generate triadic color palette
194
- */
195
- static triadicPalette(baseColor: string): string[];
196
- /**
197
- * Generate analogous color palette
198
- */
199
- static analogousPalette(baseColor: string, angle?: number): string[];
200
- /**
201
- * Generate a gradient of colors between two colors
202
- * @example
203
- * ColorUtils.gradient('#ff0000', '#0000ff', 5); // Red to blue in 5 steps
204
- */
205
- static gradient(startColor: string, endColor: string, steps: number): string[];
206
- /**
207
- * Generate shades (darker variations) of a color
208
- */
209
- static shades(baseColor: string, count?: number): string[];
210
- /**
211
- * Generate tints (lighter variations) of a color
212
- */
213
- static tints(baseColor: string, count?: number): string[];
214
- /**
215
- * Parse any color format to hex
216
- * @example
217
- * ColorUtils.parse('rgb(255, 87, 51)'); // '#ff5733'
218
- * ColorUtils.parse('hsl(11, 100%, 60%)'); // '#ff5733'
219
- * ColorUtils.parse('#ff5733'); // '#ff5733'
220
- */
221
- static parse(color: string): string | null;
222
- /**
223
- * Format color as CSS rgb() string
224
- */
225
- static toCssRgb(color: string): string | null;
226
- /**
227
- * Format color as CSS hsl() string
228
- */
229
- static toCssHsl(color: string): string | null;
230
- /**
231
- * Check if a string is a valid hex color
232
- */
233
- static isValidHex(color: string): boolean;
234
- }
235
- //# sourceMappingURL=ColorUtils.d.ts.map