native-variants 0.1.64 → 0.1.69

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 (37) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +125 -125
  3. package/dist/example.js +1 -0
  4. package/dist/index.d.ts +17 -8
  5. package/dist/index.js +72 -22
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/cn.d.ts +82 -2
  8. package/dist/lib/cn.js +138 -8
  9. package/dist/lib/cn.js.map +1 -1
  10. package/dist/lib/create-nva.d.ts +209 -6
  11. package/dist/lib/create-nva.js +460 -47
  12. package/dist/lib/create-nva.js.map +1 -1
  13. package/dist/lib/media-query.d.ts +84 -2
  14. package/dist/lib/media-query.js +103 -9
  15. package/dist/lib/media-query.js.map +1 -1
  16. package/dist/provider/create-provider.d.ts +43 -3
  17. package/dist/provider/create-provider.js +1 -1
  18. package/dist/provider/create-provider.jsx +76 -8
  19. package/dist/provider/create-provider.jsx.map +1 -1
  20. package/dist/provider/theme-provider.d.ts +266 -0
  21. package/dist/provider/theme-provider.js +1 -0
  22. package/dist/provider/theme-provider.jsx +328 -0
  23. package/dist/provider/theme-provider.jsx.map +1 -0
  24. package/dist/tokens/default-tokens.d.ts +2737 -0
  25. package/dist/tokens/default-tokens.js +1067 -0
  26. package/dist/tokens/default-tokens.js.map +1 -0
  27. package/dist/types.d.ts +318 -3
  28. package/dist/utils/alpha.d.ts +68 -0
  29. package/dist/utils/alpha.js +147 -4
  30. package/dist/utils/alpha.js.map +1 -1
  31. package/dist/utils/compose-text.d.ts +64 -2
  32. package/dist/utils/compose-text.js +103 -3
  33. package/dist/utils/compose-text.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/utils/compose-refs.d.ts +0 -4
  36. package/dist/utils/compose-refs.js +0 -39
  37. package/dist/utils/compose-refs.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-tokens.js","sourceRoot":"","sources":["../../src/tokens/default-tokens.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,14 +1,61 @@
1
1
  import type { FlexStyle, ImageStyle, TextStyle, TransformsStyle, ViewStyle } from "react-native";
2
+ /**
3
+ * Combined style type that includes all React Native style properties.
4
+ * Supports View, Text, Image, Flex, and Transform styles.
5
+ */
2
6
  export type Styles = Partial<ViewStyle & TextStyle & ImageStyle & FlexStyle & TransformsStyle>;
7
+ /**
8
+ * Base styles configuration for slots.
9
+ * Maps slot names to their corresponding styles.
10
+ *
11
+ * @template S - Union type of slot names
12
+ */
3
13
  export type Base<S extends string> = Partial<Record<S, Styles>>;
14
+ /**
15
+ * Helper type to convert string literal "true" | "false" to actual boolean type.
16
+ * This allows users to use boolean values directly instead of string literals.
17
+ *
18
+ * @template T - The type to potentially convert
19
+ */
20
+ type StringToBoolean<T> = T extends "true" | "false" ? boolean : T;
21
+ /**
22
+ * Extract variant keys and convert boolean string literals to actual booleans.
23
+ *
24
+ * @template V - The variants object type
25
+ * @template K - The key of the variant
26
+ */
27
+ type VariantValue<V, K extends keyof V> = V[K] extends Record<string, unknown> ? StringToBoolean<keyof V[K]> : never;
28
+ /**
29
+ * Default variants configuration.
30
+ * Allows setting default values for each variant, supporting both
31
+ * string literals and boolean values for true/false variants.
32
+ *
33
+ * @template S - Union type of slot names
34
+ * @template V - Variants configuration type
35
+ */
4
36
  export type DefaultVariants<S extends string, V extends Variants<S>> = {
5
- [K in keyof V]?: keyof V[K] | boolean;
37
+ [K in keyof V]?: VariantValue<V, K>;
6
38
  };
39
+ /**
40
+ * Compound variant configuration.
41
+ * Allows defining styles that apply when multiple variant conditions are met.
42
+ *
43
+ * @template S - Union type of slot names
44
+ * @template V - Variants configuration type
45
+ *
46
+ * @property css - Optional styles to apply when conditions match
47
+ */
7
48
  export type CompoundVariant<S extends string, V extends Variants<S>> = {
8
49
  css?: Partial<Record<S, Styles>>;
9
50
  } & {
10
- [K in keyof V]?: keyof V[K];
51
+ [K in keyof V]?: VariantValue<V, K>;
11
52
  };
53
+ /**
54
+ * Variants configuration type.
55
+ * Defines the structure for variant definitions with nested slot styles.
56
+ *
57
+ * @template S - Union type of slot names
58
+ */
12
59
  export type Variants<S extends string> = {
13
60
  [K in string]?: {
14
61
  [K in string]: {
@@ -16,10 +63,36 @@ export type Variants<S extends string> = {
16
63
  };
17
64
  };
18
65
  };
66
+ /**
67
+ * Mapped variants type for external consumption.
68
+ * Used when extracting variant props from a styled component.
69
+ *
70
+ * @template V - Variants configuration type
71
+ */
19
72
  export type MappedVariants<V> = Partial<{
20
- [K in keyof V]: keyof V[K];
73
+ [K in keyof V]: V[K] extends Record<string, unknown> ? StringToBoolean<keyof V[K]> : never;
21
74
  }>;
75
+ /**
76
+ * Define config function type.
77
+ * Helper function that provides type inference for config objects.
78
+ *
79
+ * @template S - Union type of slot names
80
+ * @template V - Variants configuration type
81
+ */
22
82
  export type DefineConfig = <const S extends string, V extends Variants<S>>(config: Config<S, V>) => Config<S, V>;
83
+ /**
84
+ * Main configuration type for styled components.
85
+ * Defines the complete structure for a styled component configuration.
86
+ *
87
+ * @template S - Union type of slot names
88
+ * @template V - Variants configuration type
89
+ *
90
+ * @property slots - Array of slot names
91
+ * @property base - Optional base styles for each slot
92
+ * @property variants - Optional variant definitions
93
+ * @property defaultVariants - Optional default variant values
94
+ * @property compoundVariants - Optional compound variant conditions
95
+ */
23
96
  export type Config<S extends string, V extends Variants<S>> = {
24
97
  slots: S[];
25
98
  base?: Base<S>;
@@ -27,7 +100,135 @@ export type Config<S extends string, V extends Variants<S>> = {
27
100
  defaultVariants?: DefaultVariants<S, V>;
28
101
  compoundVariants?: CompoundVariant<S, V>[];
29
102
  };
103
+ /**
104
+ * Extract variant props from a styled function.
105
+ * Useful for creating typed component props based on variant definitions.
106
+ *
107
+ * @template T - The styled function type
108
+ *
109
+ * @example
110
+ * ```ts
111
+ * const buttonVariants = styled({ ... });
112
+ * type ButtonProps = VariantProps<typeof buttonVariants>;
113
+ * ```
114
+ */
30
115
  export type VariantProps<T extends (...args: any[]) => any> = T extends (props?: infer P) => any ? Partial<P> : never;
116
+ /**
117
+ * Color scheme configuration with default (light) and dark variants.
118
+ * Both variants must have exactly the same keys for type safety.
119
+ *
120
+ * @template T - The color keys type
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * // TypeScript will error if dark is missing keys from default or vice versa
125
+ * const colors = {
126
+ * default: { primary: "#000", background: "#fff" },
127
+ * dark: { primary: "#fff", background: "#000" } // Must have same keys!
128
+ * };
129
+ * ```
130
+ */
131
+ export type ColorSchemeConfig<T extends Record<string, string>> = {
132
+ /** Light theme colors (default) */
133
+ default: T;
134
+ /** Dark theme colors - must have exactly the same keys as default */
135
+ dark: T;
136
+ };
137
+ /**
138
+ * Input type for colors in createNVA theme.
139
+ * Ensures both default and dark have identical keys.
140
+ *
141
+ * @template D - Default colors type
142
+ * @template K - Dark colors type (must match default keys)
143
+ */
144
+ export type ColorsInput<D extends Record<string, string>> = {
145
+ /** Light theme colors (default) */
146
+ default: D;
147
+ /** Dark theme colors - must have exactly the same keys as default */
148
+ dark: {
149
+ [K in keyof D]: string;
150
+ };
151
+ };
152
+ /**
153
+ * Strict colors input that validates both directions.
154
+ * Use this when you want TypeScript to error if either side is missing keys.
155
+ */
156
+ export type StrictColorsInput<D extends Record<string, string>, K extends Record<string, string>> = [keyof D] extends [keyof K] ? [keyof K] extends [keyof D] ? {
157
+ default: D;
158
+ dark: K;
159
+ } : {
160
+ default: D;
161
+ dark: "Error: dark is missing keys from default";
162
+ } : {
163
+ default: "Error: default is missing keys from dark";
164
+ dark: K;
165
+ };
166
+ /**
167
+ * Theme input configuration for createNVA.
168
+ * Colors support light/dark mode via default/dark keys.
169
+ *
170
+ * @template C - Custom colors type (inferred from colors.default)
171
+ * @template S - Spacing type
172
+ * @template F - Font sizes type
173
+ * @template R - Border radii type
174
+ * @template T - Shadows type
175
+ * @template Z - Z-index type
176
+ * @template O - Opacity type
177
+ * @template L - Line heights type
178
+ */
179
+ export type ThemeInput<C extends Record<string, string> = Record<string, string>, S = any, F = any, R = any, T = any, Z = any, O = any, L = any> = {
180
+ /** Color scheme with default (light) and dark variants */
181
+ colors?: ColorsInput<C>;
182
+ /** Spacing scale tokens */
183
+ spacing?: S;
184
+ /** Font size scale tokens */
185
+ fontSizes?: F;
186
+ /** Border radius scale tokens */
187
+ radii?: R;
188
+ /** Shadow definition tokens */
189
+ shadows?: T;
190
+ /** Z-index scale tokens */
191
+ zIndex?: Z;
192
+ /** Opacity scale tokens */
193
+ opacity?: O;
194
+ /** Line height scale tokens */
195
+ lineHeights?: L;
196
+ };
197
+ /**
198
+ * Resolved theme output from createNVA.
199
+ * Colors are flattened (default scheme is used directly).
200
+ *
201
+ * @template C - Custom colors type
202
+ * @template S - Spacing type
203
+ * @template F - Font sizes type
204
+ * @template R - Border radii type
205
+ * @template T - Shadows type
206
+ * @template Z - Z-index type
207
+ * @template O - Opacity type
208
+ * @template L - Line heights type
209
+ */
210
+ export type ThemeOutput<C extends Record<string, string> = Record<string, string>, S = any, F = any, R = any, T = any, Z = any, O = any, L = any> = {
211
+ /** Flattened colors (uses default/light scheme) */
212
+ colors: C;
213
+ /** Spacing scale tokens */
214
+ spacing: S;
215
+ /** Font size scale tokens */
216
+ fontSizes: F;
217
+ /** Border radius scale tokens */
218
+ radii: R;
219
+ /** Shadow definition tokens */
220
+ shadows: T;
221
+ /** Z-index scale tokens */
222
+ zIndex: Z;
223
+ /** Opacity scale tokens */
224
+ opacity: O;
225
+ /** Line height scale tokens */
226
+ lineHeights: L;
227
+ };
228
+ /**
229
+ * Legacy Theme type for backwards compatibility.
230
+ * @deprecated Use ThemeInput or ThemeOutput instead
231
+ */
31
232
  export type Theme<C = any, S = any, F = any, R = any, T = any, Z = any, O = any, L = any> = {
32
233
  colors?: C;
33
234
  spacing?: S;
@@ -38,3 +239,117 @@ export type Theme<C = any, S = any, F = any, R = any, T = any, Z = any, O = any,
38
239
  opacity?: O;
39
240
  lineHeights?: L;
40
241
  };
242
+ /**
243
+ * Utility function type that takes a value and returns style properties.
244
+ * The value type is inferred from React Native style property values.
245
+ *
246
+ * @template V - The value type (inferred from usage)
247
+ *
248
+ * @example
249
+ * ```ts
250
+ * // Simple util
251
+ * const mx: UtilFunction<number> = (value) => ({
252
+ * marginLeft: value,
253
+ * marginRight: value,
254
+ * });
255
+ * ```
256
+ */
257
+ export type UtilFunction<V = any> = (value: V) => Styles;
258
+ /**
259
+ * Utils configuration object.
260
+ * Maps util names to their corresponding functions.
261
+ *
262
+ * @example
263
+ * ```ts
264
+ * const utils = {
265
+ * mx: (value: number) => ({ marginLeft: value, marginRight: value }),
266
+ * my: (value: number) => ({ marginTop: value, marginBottom: value }),
267
+ * px: (value: number) => ({ paddingLeft: value, paddingRight: value }),
268
+ * py: (value: number) => ({ paddingTop: value, paddingBottom: value }),
269
+ * size: (value: number) => ({ width: value, height: value }),
270
+ * };
271
+ * ```
272
+ */
273
+ export type UtilsConfig = Record<string, UtilFunction>;
274
+ /**
275
+ * Extract the parameter type from a util function.
276
+ */
277
+ export type UtilParamType<T> = T extends (value: infer V) => any ? V : never;
278
+ /**
279
+ * Style properties with utils applied.
280
+ * Combines regular styles with util-based style shortcuts.
281
+ *
282
+ * @template U - Utils configuration type
283
+ *
284
+ * @example
285
+ * ```ts
286
+ * // With utils: { mx: (v) => ({...}) }
287
+ * // You can use: { mx: 10 } instead of { marginLeft: 10, marginRight: 10 }
288
+ * ```
289
+ */
290
+ export type StylesWithUtils<U extends UtilsConfig> = Styles & {
291
+ [K in keyof U]?: UtilParamType<U[K]>;
292
+ };
293
+ /**
294
+ * Base styles configuration with utils support.
295
+ * Maps slot names to their corresponding styles including utils.
296
+ *
297
+ * @template S - Union type of slot names
298
+ * @template U - Utils configuration type
299
+ */
300
+ export type BaseWithUtils<S extends string, U extends UtilsConfig> = {
301
+ [K in S]?: StylesWithUtils<U>;
302
+ };
303
+ /**
304
+ * Variants configuration type with utils support.
305
+ * Preserves the variant keys for proper type inference.
306
+ *
307
+ * @template S - Union type of slot names
308
+ * @template U - Utils configuration type
309
+ */
310
+ export type VariantsWithUtils<S extends string, U extends UtilsConfig> = {
311
+ [VariantName in string]?: {
312
+ [VariantValue in string]?: {
313
+ [Slot in S]?: StylesWithUtils<U>;
314
+ };
315
+ };
316
+ };
317
+ /**
318
+ * Compound variant configuration with utils support.
319
+ *
320
+ * @template S - Union type of slot names
321
+ * @template V - Variants configuration type
322
+ * @template U - Utils configuration type
323
+ */
324
+ export type CompoundVariantWithUtils<S extends string, V extends VariantsWithUtils<S, U>, U extends UtilsConfig> = {
325
+ css?: {
326
+ [K in S]?: StylesWithUtils<U>;
327
+ };
328
+ } & {
329
+ [K in keyof V]?: V[K] extends Record<string, unknown> ? StringToBoolean<keyof V[K]> : never;
330
+ };
331
+ /**
332
+ * Default variants for config with utils.
333
+ *
334
+ * @template S - Union type of slot names
335
+ * @template V - Variants configuration type
336
+ * @template U - Utils configuration type
337
+ */
338
+ export type DefaultVariantsWithUtils<S extends string, V extends VariantsWithUtils<S, U>, U extends UtilsConfig> = {
339
+ [K in keyof V]?: V[K] extends Record<string, unknown> ? StringToBoolean<keyof V[K]> : never;
340
+ };
341
+ /**
342
+ * Config type with utils support.
343
+ *
344
+ * @template S - Union type of slot names
345
+ * @template V - Variants configuration type
346
+ * @template U - Utils configuration type
347
+ */
348
+ export type ConfigWithUtils<S extends string, V extends VariantsWithUtils<S, U>, U extends UtilsConfig> = {
349
+ slots: readonly S[] | S[];
350
+ base?: BaseWithUtils<S, U>;
351
+ variants?: V;
352
+ defaultVariants?: DefaultVariantsWithUtils<S, V, U>;
353
+ compoundVariants?: CompoundVariantWithUtils<S, V, U>[];
354
+ };
355
+ export {};
@@ -1 +1,69 @@
1
+ /**
2
+ * Converts a hex color to a hex color with alpha transparency.
3
+ * Appends the alpha value as a 2-character hex suffix.
4
+ *
5
+ * @param hex - A hex color string in the format #RRGGBB
6
+ * @param opacity - Opacity percentage from 0 (transparent) to 100 (opaque)
7
+ * @returns A hex color string with alpha in the format #RRGGBBAA
8
+ * @throws Error if the hex color is not in the correct format
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // 50% opacity
13
+ * alpha("#FF0000", 50); // "#FF00007F"
14
+ *
15
+ * // Fully transparent
16
+ * alpha("#FF0000", 0); // "#FF000000"
17
+ *
18
+ * // Fully opaque
19
+ * alpha("#FF0000", 100); // "#FF0000FF"
20
+ *
21
+ * // Use in styles
22
+ * const buttonStyles = {
23
+ * backgroundColor: alpha(theme.colors.primary, 10),
24
+ * borderColor: alpha(theme.colors.primary, 30),
25
+ * };
26
+ * ```
27
+ */
1
28
  export declare function alpha(hex: string, opacity: number): string;
29
+ /**
30
+ * Converts a hex color to an RGBA string.
31
+ * Useful when you need CSS-style rgba() values.
32
+ *
33
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
34
+ * @param opacity - Opacity value from 0 (transparent) to 1 (opaque)
35
+ * @returns An rgba() color string
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * hexToRgba("#FF0000", 0.5); // "rgba(255, 0, 0, 0.5)"
40
+ * hexToRgba("#F00", 0.5); // "rgba(255, 0, 0, 0.5)"
41
+ * ```
42
+ */
43
+ export declare function hexToRgba(hex: string, opacity: number): string;
44
+ /**
45
+ * Lightens a hex color by a percentage.
46
+ *
47
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
48
+ * @param percent - Percentage to lighten (0-100)
49
+ * @returns A lightened hex color string
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * lighten("#FF0000", 20); // Lightens red by 20%
54
+ * ```
55
+ */
56
+ export declare function lighten(hex: string, percent: number): string;
57
+ /**
58
+ * Darkens a hex color by a percentage.
59
+ *
60
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
61
+ * @param percent - Percentage to darken (0-100)
62
+ * @returns A darkened hex color string
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * darken("#FF0000", 20); // Darkens red by 20%
67
+ * ```
68
+ */
69
+ export declare function darken(hex: string, percent: number): string;
@@ -1,13 +1,156 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.alpha = alpha;
4
+ exports.hexToRgba = hexToRgba;
5
+ exports.lighten = lighten;
6
+ exports.darken = darken;
7
+ /**
8
+ * Converts a hex color to a hex color with alpha transparency.
9
+ * Appends the alpha value as a 2-character hex suffix.
10
+ *
11
+ * @param hex - A hex color string in the format #RRGGBB
12
+ * @param opacity - Opacity percentage from 0 (transparent) to 100 (opaque)
13
+ * @returns A hex color string with alpha in the format #RRGGBBAA
14
+ * @throws Error if the hex color is not in the correct format
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * // 50% opacity
19
+ * alpha("#FF0000", 50); // "#FF00007F"
20
+ *
21
+ * // Fully transparent
22
+ * alpha("#FF0000", 0); // "#FF000000"
23
+ *
24
+ * // Fully opaque
25
+ * alpha("#FF0000", 100); // "#FF0000FF"
26
+ *
27
+ * // Use in styles
28
+ * const buttonStyles = {
29
+ * backgroundColor: alpha(theme.colors.primary, 10),
30
+ * borderColor: alpha(theme.colors.primary, 30),
31
+ * };
32
+ * ```
33
+ */
4
34
  function alpha(hex, opacity) {
5
- if (!/^#([0-9a-f]{6})$/i.test(hex)) {
6
- throw new Error("Hex color must be in the format #RRGGBB.");
35
+ // Support both 6-digit and 3-digit hex codes
36
+ const hexRegex = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i;
37
+ if (!hexRegex.test(hex)) {
38
+ throw new Error(`Invalid hex color format: "${hex}". Expected #RGB or #RRGGBB.`);
7
39
  }
8
- const alpha = Math.round((opacity / 100) * 255)
40
+ // Expand 3-digit hex to 6-digit
41
+ let normalizedHex = hex;
42
+ if (hex.length === 4) {
43
+ const r = hex[1];
44
+ const g = hex[2];
45
+ const b = hex[3];
46
+ normalizedHex = `#${r}${r}${g}${g}${b}${b}`;
47
+ }
48
+ // Clamp opacity to valid range
49
+ const clampedOpacity = Math.max(0, Math.min(100, opacity));
50
+ // Convert percentage to 0-255 range and then to hex
51
+ const alphaValue = Math.round((clampedOpacity / 100) * 255)
9
52
  .toString(16)
10
53
  .padStart(2, "0");
11
- return `${hex}${alpha}`;
54
+ return `${normalizedHex}${alphaValue}`;
55
+ }
56
+ /**
57
+ * Converts a hex color to an RGBA string.
58
+ * Useful when you need CSS-style rgba() values.
59
+ *
60
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
61
+ * @param opacity - Opacity value from 0 (transparent) to 1 (opaque)
62
+ * @returns An rgba() color string
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * hexToRgba("#FF0000", 0.5); // "rgba(255, 0, 0, 0.5)"
67
+ * hexToRgba("#F00", 0.5); // "rgba(255, 0, 0, 0.5)"
68
+ * ```
69
+ */
70
+ function hexToRgba(hex, opacity) {
71
+ const hexRegex = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i;
72
+ if (!hexRegex.test(hex)) {
73
+ throw new Error(`Invalid hex color format: "${hex}". Expected #RGB or #RRGGBB.`);
74
+ }
75
+ // Expand 3-digit hex to 6-digit
76
+ let normalizedHex = hex.slice(1);
77
+ if (normalizedHex.length === 3) {
78
+ normalizedHex = normalizedHex
79
+ .split("")
80
+ .map((c) => c + c)
81
+ .join("");
82
+ }
83
+ const r = parseInt(normalizedHex.slice(0, 2), 16);
84
+ const g = parseInt(normalizedHex.slice(2, 4), 16);
85
+ const b = parseInt(normalizedHex.slice(4, 6), 16);
86
+ // Clamp opacity to valid range
87
+ const clampedOpacity = Math.max(0, Math.min(1, opacity));
88
+ return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
89
+ }
90
+ /**
91
+ * Lightens a hex color by a percentage.
92
+ *
93
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
94
+ * @param percent - Percentage to lighten (0-100)
95
+ * @returns A lightened hex color string
96
+ *
97
+ * @example
98
+ * ```ts
99
+ * lighten("#FF0000", 20); // Lightens red by 20%
100
+ * ```
101
+ */
102
+ function lighten(hex, percent) {
103
+ const hexRegex = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i;
104
+ if (!hexRegex.test(hex)) {
105
+ throw new Error(`Invalid hex color format: "${hex}". Expected #RGB or #RRGGBB.`);
106
+ }
107
+ let normalizedHex = hex.slice(1);
108
+ if (normalizedHex.length === 3) {
109
+ normalizedHex = normalizedHex
110
+ .split("")
111
+ .map((c) => c + c)
112
+ .join("");
113
+ }
114
+ const r = parseInt(normalizedHex.slice(0, 2), 16);
115
+ const g = parseInt(normalizedHex.slice(2, 4), 16);
116
+ const b = parseInt(normalizedHex.slice(4, 6), 16);
117
+ const amount = Math.round((percent / 100) * 255);
118
+ const newR = Math.min(255, r + amount);
119
+ const newG = Math.min(255, g + amount);
120
+ const newB = Math.min(255, b + amount);
121
+ return `#${newR.toString(16).padStart(2, "0")}${newG.toString(16).padStart(2, "0")}${newB.toString(16).padStart(2, "0")}`;
122
+ }
123
+ /**
124
+ * Darkens a hex color by a percentage.
125
+ *
126
+ * @param hex - A hex color string in the format #RRGGBB or #RGB
127
+ * @param percent - Percentage to darken (0-100)
128
+ * @returns A darkened hex color string
129
+ *
130
+ * @example
131
+ * ```ts
132
+ * darken("#FF0000", 20); // Darkens red by 20%
133
+ * ```
134
+ */
135
+ function darken(hex, percent) {
136
+ const hexRegex = /^#([0-9a-f]{6}|[0-9a-f]{3})$/i;
137
+ if (!hexRegex.test(hex)) {
138
+ throw new Error(`Invalid hex color format: "${hex}". Expected #RGB or #RRGGBB.`);
139
+ }
140
+ let normalizedHex = hex.slice(1);
141
+ if (normalizedHex.length === 3) {
142
+ normalizedHex = normalizedHex
143
+ .split("")
144
+ .map((c) => c + c)
145
+ .join("");
146
+ }
147
+ const r = parseInt(normalizedHex.slice(0, 2), 16);
148
+ const g = parseInt(normalizedHex.slice(2, 4), 16);
149
+ const b = parseInt(normalizedHex.slice(4, 6), 16);
150
+ const amount = Math.round((percent / 100) * 255);
151
+ const newR = Math.max(0, r - amount);
152
+ const newG = Math.max(0, g - amount);
153
+ const newB = Math.max(0, b - amount);
154
+ return `#${newR.toString(16).padStart(2, "0")}${newG.toString(16).padStart(2, "0")}${newB.toString(16).padStart(2, "0")}`;
12
155
  }
13
156
  //# sourceMappingURL=alpha.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/utils/alpha.ts"],"names":[],"mappings":";;AAAA,sBAUC;AAVD,SAAgB,KAAK,CAAC,GAAW,EAAE,OAAe;IAChD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;SAC5C,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpB,OAAO,GAAG,GAAG,GAAG,KAAK,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../src/utils/alpha.ts"],"names":[],"mappings":";;AA2BA,sBA4BC;AAgBD,8BA0BC;AAcD,0BA4BC;AAcD,wBA4BC;AArLD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,KAAK,CAAC,GAAW,EAAE,OAAe;IAChD,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,+BAA+B,CAAC;IAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,8BAA8B,CAChE,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,aAAa,GAAG,GAAG,CAAC;IACxB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3D,oDAAoD;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;SACxD,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpB,OAAO,GAAG,aAAa,GAAG,UAAU,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,SAAS,CAAC,GAAW,EAAE,OAAe;IACpD,MAAM,QAAQ,GAAG,+BAA+B,CAAC;IAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,8BAA8B,CAChE,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,aAAa,GAAG,aAAa;aAC1B,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,+BAA+B;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzD,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,cAAc,GAAG,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,OAAO,CAAC,GAAW,EAAE,OAAe;IAClD,MAAM,QAAQ,GAAG,+BAA+B,CAAC;IAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,8BAA8B,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,aAAa,GAAG,aAAa;aAC1B,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAEvC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5H,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,MAAM,CAAC,GAAW,EAAE,OAAe;IACjD,MAAM,QAAQ,GAAG,+BAA+B,CAAC;IAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,8BAA8B,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,aAAa,GAAG,aAAa;aAC1B,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAErC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC5H,CAAC"}