@udixio/theme 0.0.1

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 (54) hide show
  1. package/LICENSE +202 -0
  2. package/index.cjs.js +3226 -0
  3. package/index.d.ts +1 -0
  4. package/index.esm.js +3170 -0
  5. package/package.json +17 -0
  6. package/src/index.d.ts +1 -0
  7. package/src/lib/API.d.ts +13 -0
  8. package/src/lib/app.container.d.ts +5 -0
  9. package/src/lib/app.module.d.ts +2 -0
  10. package/src/lib/color/color.api.d.ts +38 -0
  11. package/src/lib/color/color.manager.d.ts +23 -0
  12. package/src/lib/color/color.module.d.ts +2 -0
  13. package/src/lib/color/color.utils.d.ts +7 -0
  14. package/src/lib/color/configurable-color.d.ts +30 -0
  15. package/src/lib/color/default-color.d.ts +2 -0
  16. package/src/lib/color/index.d.ts +5 -0
  17. package/src/lib/config/config.interface.d.ts +13 -0
  18. package/src/lib/config/config.module.d.ts +2 -0
  19. package/src/lib/config/config.service.d.ts +12 -0
  20. package/src/lib/config/index.d.ts +3 -0
  21. package/src/lib/index.d.ts +12 -0
  22. package/src/lib/main.d.ts +7 -0
  23. package/src/lib/material-color-utilities/contrastCurve.d.ts +46 -0
  24. package/src/lib/material-color-utilities/dynamic_color.d.ts +199 -0
  25. package/src/lib/material-color-utilities/hct_solver.d.ts +146 -0
  26. package/src/lib/material-color-utilities/htc.d.ts +107 -0
  27. package/src/lib/material-color-utilities/index.d.ts +3 -0
  28. package/src/lib/material-color-utilities/toneDeltaPair.d.ts +69 -0
  29. package/src/lib/plugin/index.d.ts +3 -0
  30. package/src/lib/plugin/plugin.module.d.ts +2 -0
  31. package/src/lib/plugin/pluginAbstract.d.ts +18 -0
  32. package/src/lib/plugin/pluginApi.d.ts +8 -0
  33. package/src/lib/plugins/font/font.plugin.d.ts +49 -0
  34. package/src/lib/plugins/font/index.d.ts +1 -0
  35. package/src/lib/plugins/tailwind/file.d.ts +4 -0
  36. package/src/lib/plugins/tailwind/index.d.ts +3 -0
  37. package/src/lib/plugins/tailwind/main.d.ts +2 -0
  38. package/src/lib/plugins/tailwind/plugins-tailwind/font.d.ts +3 -0
  39. package/src/lib/plugins/tailwind/plugins-tailwind/index.d.ts +2 -0
  40. package/src/lib/plugins/tailwind/plugins-tailwind/state.d.ts +2 -0
  41. package/src/lib/plugins/tailwind/plugins-tailwind/themer.d.ts +10 -0
  42. package/src/lib/plugins/tailwind/tailwind.plugin.d.ts +18 -0
  43. package/src/lib/theme/index.d.ts +7 -0
  44. package/src/lib/theme/scheme.d.ts +19 -0
  45. package/src/lib/theme/scheme.manager.d.ts +30 -0
  46. package/src/lib/theme/theme.api.d.ts +22 -0
  47. package/src/lib/theme/theme.module.d.ts +2 -0
  48. package/src/lib/theme/variant.d.ts +35 -0
  49. package/src/lib/theme/variant.manager.d.ts +13 -0
  50. package/src/lib/theme/variants/expressive.variant.d.ts +2 -0
  51. package/src/lib/theme/variants/index.d.ts +4 -0
  52. package/src/lib/theme/variants/neutral.variant.d.ts +2 -0
  53. package/src/lib/theme/variants/tonal-spot.variant.d.ts +2 -0
  54. package/src/lib/theme/variants/vibrant.variant.d.ts +2 -0
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2021 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * A color system built using CAM16 hue and chroma, and L* from
19
+ * L*a*b*.
20
+ *
21
+ * Using L* creates a link between the color system, contrast, and thus
22
+ * accessibility. Contrast ratio depends on relative luminance, or Y in the XYZ
23
+ * color space. L*, or perceptual luminance can be calculated from Y.
24
+ *
25
+ * Unlike Y, L* is linear to human perception, allowing trivial creation of
26
+ * accurate color tones.
27
+ *
28
+ * Unlike contrast ratio, measuring contrast in L* is linear, and simple to
29
+ * calculate. A difference of 40 in HCT tone guarantees a contrast ratio >= 3.0,
30
+ * and a difference of 50 guarantees a contrast ratio >= 4.5.
31
+ */
32
+ import { ViewingConditions } from '@material/material-color-utilities';
33
+ /**
34
+ * HCT, hue, chroma, and tone. A color system that provides a perceptually
35
+ * accurate color measurement system that can also accurately render what colors
36
+ * will appear as in different lighting environments.
37
+ */
38
+ export declare class Hct {
39
+ private argb;
40
+ /**
41
+ * @param hue 0 <= hue < 360; invalid values are corrected.
42
+ * @param chroma 0 <= chroma < ?; Informally, colorfulness. The color
43
+ * returned may be lower than the requested chroma. Chroma has a different
44
+ * maximum for any given hue and tone.
45
+ * @param tone 0 <= tone <= 100; invalid values are corrected.
46
+ * @return HCT representation of a color in default viewing conditions.
47
+ */
48
+ internalHue: number;
49
+ internalChroma: number;
50
+ internalTone: number;
51
+ private constructor();
52
+ /**
53
+ * A number, in degrees, representing ex. red, orange, yellow, etc.
54
+ * Ranges from 0 <= hue < 360.
55
+ */
56
+ get hue(): number;
57
+ /**
58
+ * @param newHue 0 <= newHue < 360; invalid values are corrected.
59
+ * Chroma may decrease because chroma has a different maximum for any given
60
+ * hue and tone.
61
+ */
62
+ set hue(newHue: number);
63
+ get chroma(): number;
64
+ /**
65
+ * @param newChroma 0 <= newChroma < ?
66
+ * Chroma may decrease because chroma has a different maximum for any given
67
+ * hue and tone.
68
+ */
69
+ set chroma(newChroma: number);
70
+ /** Lightness. Ranges from 0 to 100. */
71
+ get tone(): number;
72
+ /**
73
+ * @param newTone 0 <= newTone <= 100; invalid valids are corrected.
74
+ * Chroma may decrease because chroma has a different maximum for any given
75
+ * hue and tone.
76
+ */
77
+ set tone(newTone: number);
78
+ static from(hue: number, chroma: number, tone: number): Hct;
79
+ /**
80
+ * @param argb ARGB representation of a color.
81
+ * @return HCT representation of a color in default viewing conditions
82
+ */
83
+ static fromInt(argb: number): Hct;
84
+ static isBlue(hue: number): boolean;
85
+ static isYellow(hue: number): boolean;
86
+ static isCyan(hue: number): boolean;
87
+ toInt(): number;
88
+ /** Sets a property of the Hct object. */
89
+ setValue(propertyName: string, value: number): void;
90
+ toString(): string;
91
+ /**
92
+ * Translates a color into different [ViewingConditions].
93
+ *
94
+ * Colors change appearance. They look different with lights on versus off,
95
+ * the same color, as in hex code, on white looks different when on black.
96
+ * This is called color relativity, most famously explicated by Josef Albers
97
+ * in Interaction of Color.
98
+ *
99
+ * In color science, color appearance models can account for this and
100
+ * calculate the appearance of a color in different settings. HCT is based on
101
+ * CAM16, a color appearance model, and uses it to make these calculations.
102
+ *
103
+ * See [ViewingConditions.make] for parameters affecting color appearance.
104
+ */
105
+ inViewingConditions(vc: ViewingConditions): Hct;
106
+ private setInternalState;
107
+ }
@@ -0,0 +1,3 @@
1
+ export * from './contrastCurve';
2
+ export * from './dynamic_color';
3
+ export * from './toneDeltaPair';
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Google LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { DynamicColor } from './dynamic_color.js';
18
+ /**
19
+ * Describes the different in tone between colors.
20
+ *
21
+ * nearer and farther are deprecated. Use DeltaConstraint instead.
22
+ */
23
+ export type TonePolarity = 'darker' | 'lighter' | 'nearer' | 'farther' | 'relative_darker' | 'relative_lighter';
24
+ /**
25
+ * Describes how to fulfill a tone delta pair constraint.
26
+ */
27
+ export type DeltaConstraint = 'exact' | 'nearer' | 'farther';
28
+ /**
29
+ * Documents a constraint between two DynamicColors, in which their tones must
30
+ * have a certain distance from each other.
31
+ *
32
+ * Prefer a DynamicColor with a background, this is for special cases when
33
+ * designers want tonal distance, literally contrast, between two colors that
34
+ * don't have a background / foreground relationship or a contrast guarantee.
35
+ */
36
+ export declare class ToneDeltaPair {
37
+ readonly roleA: DynamicColor;
38
+ readonly roleB: DynamicColor;
39
+ readonly delta: number;
40
+ readonly polarity: TonePolarity;
41
+ readonly stayTogether: boolean;
42
+ readonly constraint?: DeltaConstraint | undefined;
43
+ /**
44
+ * Documents a constraint in tone distance between two DynamicColors.
45
+ *
46
+ * The polarity is an adjective that describes "A", compared to "B".
47
+ *
48
+ * For instance, ToneDeltaPair(A, B, 15, 'darker', 'exact') states that
49
+ * A's tone should be exactly 15 darker than B's.
50
+ *
51
+ * 'relative_darker' and 'relative_lighter' describes the tone adjustment
52
+ * relative to the surface color trend (white in light mode; black in dark
53
+ * mode). For instance, ToneDeltaPair(A, B, 10, 'relative_lighter',
54
+ * 'farther') states that A should be at least 10 lighter than B in light
55
+ * mode, and at least 10 darker than B in dark mode.
56
+ *
57
+ * @param roleA The first role in a pair.
58
+ * @param roleB The second role in a pair.
59
+ * @param delta Required difference between tones. Absolute value, negative
60
+ * values have undefined behavior.
61
+ * @param polarity The relative relation between tones of roleA and roleB,
62
+ * as described above.
63
+ * @param constraint How to fulfill the tone delta pair constraint.
64
+ * @param stayTogether Whether these two roles should stay on the same side
65
+ * of the "awkward zone" (T50-59). This is necessary for certain cases where
66
+ * one role has two backgrounds.
67
+ */
68
+ constructor(roleA: DynamicColor, roleB: DynamicColor, delta: number, polarity: TonePolarity, stayTogether: boolean, constraint?: DeltaConstraint | undefined);
69
+ }
@@ -0,0 +1,3 @@
1
+ export * from './pluginAbstract';
2
+ export * from './plugin.module';
3
+ export * from './pluginApi';
@@ -0,0 +1,2 @@
1
+ import { Module } from '../app.container';
2
+ export declare const PluginModule: Module;
@@ -0,0 +1,18 @@
1
+ import { API } from '../API';
2
+ export type PluginConstructor<Plugin extends PluginImplAbstract<any>> = new (...args: any) => Plugin;
3
+ export declare abstract class PluginAbstract<Plugin extends PluginImplAbstract<Options>, Options extends object> {
4
+ abstract readonly dependencies: (new (...args: any) => PluginAbstract<any, any>)[];
5
+ abstract readonly name: string;
6
+ options: Options;
7
+ abstract readonly pluginClass: PluginConstructor<Plugin>;
8
+ protected pluginInstance: Plugin | undefined;
9
+ constructor(options: Options);
10
+ init(api: API): this;
11
+ getInstance(): Plugin;
12
+ }
13
+ export declare abstract class PluginImplAbstract<Options extends object> {
14
+ protected api: API;
15
+ protected options: Options;
16
+ constructor(api: API, options: Options);
17
+ abstract onInit(): void;
18
+ }
@@ -0,0 +1,8 @@
1
+ import { PluginAbstract } from './pluginAbstract';
2
+ import { API } from '../API';
3
+ export declare class PluginApi {
4
+ private plugins;
5
+ addPlugin(plugin: PluginAbstract<any, any>): void;
6
+ loadPlugins(api: API): void;
7
+ getPlugin<T extends PluginAbstract<any, any>>(plugin: new (...args: any) => T): T;
8
+ }
@@ -0,0 +1,49 @@
1
+ import { PluginAbstract, PluginImplAbstract } from '../../plugin';
2
+ export declare enum FontFamily {
3
+ Expressive = "expressive",
4
+ Neutral = "neutral"
5
+ }
6
+ export type FontStyle = {
7
+ fontSize: number;
8
+ lineHeight: number;
9
+ fontWeight: number;
10
+ letterSpacing?: number;
11
+ fontFamily: FontFamily;
12
+ };
13
+ export type FontRole = 'display' | 'headline' | 'title' | 'label' | 'body';
14
+ export type FontSize = 'large' | 'medium' | 'small';
15
+ interface FontPluginOptions {
16
+ fontFamily?: {
17
+ expressive?: string[];
18
+ neutral?: string[];
19
+ };
20
+ fontStyles?: Partial<Record<FontRole, Record<FontSize, Partial<FontStyle>>>>;
21
+ }
22
+ export declare class FontPlugin extends PluginAbstract<FontPluginImpl, FontPluginOptions> {
23
+ dependencies: never[];
24
+ name: string;
25
+ pluginClass: typeof FontPluginImpl;
26
+ }
27
+ declare class FontPluginImpl extends PluginImplAbstract<FontPluginOptions> {
28
+ private _fontFamily;
29
+ get fontFamily(): {
30
+ expressive: string[];
31
+ neutral: string[];
32
+ };
33
+ set fontFamily(value: {
34
+ expressive: string[];
35
+ neutral: string[];
36
+ } | undefined);
37
+ private _fontStyles;
38
+ get fontStyles(): Record<FontRole, Record<FontSize, FontStyle>>;
39
+ set fontStyles(value: Record<FontRole, Record<FontSize, FontStyle>> | undefined);
40
+ getFonts(): {
41
+ fontStyles: Record<FontRole, Record<FontSize, FontStyle>>;
42
+ fontFamily: {
43
+ expressive: string[];
44
+ neutral: string[];
45
+ };
46
+ };
47
+ onInit(): void;
48
+ }
49
+ export {};
@@ -0,0 +1 @@
1
+ export * from './font.plugin';
@@ -0,0 +1,4 @@
1
+ export declare const createOrUpdateFile: (filePath: string, content: string) => void;
2
+ export declare const getFileContent: (filePath: string, searchPattern?: RegExp | string) => string | false | null;
3
+ export declare const replaceFileContent: (filePath: string, searchPattern: RegExp | string, replacement: string) => void;
4
+ export declare const findTailwindCssFile: (startDir: string, searchPattern: string) => string | null;
@@ -0,0 +1,3 @@
1
+ export * from './main';
2
+ export * from './plugins-tailwind';
3
+ export * from './tailwind.plugin';
@@ -0,0 +1,2 @@
1
+ import plugin from 'tailwindcss/plugin';
2
+ export declare const createTheme: () => ReturnType<typeof plugin.withOptions>;
@@ -0,0 +1,3 @@
1
+ import { FontRole, FontSize, FontStyle } from '@udixio/theme';
2
+ import plugin from 'tailwindcss/plugin';
3
+ export declare const font: (fontStyles: Record<FontRole, Record<FontSize, FontStyle>>, responsiveBreakPoints: Record<string, number>) => ReturnType<typeof plugin>;
@@ -0,0 +1,2 @@
1
+ export * from './state';
2
+ export * from './themer';
@@ -0,0 +1,2 @@
1
+ import plugin from 'tailwindcss/plugin';
2
+ export declare const state: (colorKeys: string[]) => ReturnType<typeof plugin>;
@@ -0,0 +1,10 @@
1
+ import { API } from '../../../API';
2
+ export declare const themer: (args: {
3
+ colors: Record<string, {
4
+ light: string;
5
+ dark: string;
6
+ }>;
7
+ darkMode: "class" | "media";
8
+ subThemes?: Record<string, string>;
9
+ api: API;
10
+ }) => any;
@@ -0,0 +1,18 @@
1
+ import { PluginAbstract, PluginImplAbstract } from '../../plugin';
2
+ import { FontPlugin } from '../font';
3
+ import plugin from 'tailwindcss/plugin';
4
+ interface TailwindPluginOptions {
5
+ darkMode?: 'class' | 'media';
6
+ responsiveBreakPoints?: Record<string, number>;
7
+ subThemes?: Record<string, string>;
8
+ }
9
+ export declare class TailwindPlugin extends PluginAbstract<TailwindImplPlugin, TailwindPluginOptions> {
10
+ dependencies: (typeof FontPlugin)[];
11
+ name: string;
12
+ pluginClass: typeof TailwindImplPlugin;
13
+ }
14
+ declare class TailwindImplPlugin extends PluginImplAbstract<TailwindPluginOptions> {
15
+ onInit(): void;
16
+ load(): ReturnType<typeof plugin.withOptions>;
17
+ }
18
+ export {};
@@ -0,0 +1,7 @@
1
+ export * from './theme.module';
2
+ export * from './variant';
3
+ export * from './scheme.manager';
4
+ export * from './scheme';
5
+ export * from './theme.api';
6
+ export * from './variant';
7
+ export * from './variant.manager';
@@ -0,0 +1,19 @@
1
+ import { TonalPalette } from '@material/material-color-utilities';
2
+ import { Hct } from '../material-color-utilities/htc';
3
+ import { Variant } from './variant';
4
+ export interface SchemeOptions {
5
+ sourceColorArgb: number;
6
+ contrastLevel: number;
7
+ isDark: boolean;
8
+ palettes: Map<string, TonalPalette>;
9
+ variant: Variant;
10
+ }
11
+ export declare class Scheme {
12
+ readonly options: SchemeOptions;
13
+ constructor(options: SchemeOptions);
14
+ get variant(): 'expressive' | 'neutral' | 'tonalSpot' | 'vibrant' | string;
15
+ get contrastLevel(): number;
16
+ get isDark(): boolean;
17
+ get sourceColorHct(): Hct;
18
+ getPalette(key: 'primary' | 'secondary' | 'tertiary' | 'neutral' | 'neutralVariant' | 'error' | string): TonalPalette;
19
+ }
@@ -0,0 +1,30 @@
1
+ import { Scheme, SchemeOptions } from './scheme';
2
+ import { TonalPalette } from '@material/material-color-utilities';
3
+ import { Hct } from '../material-color-utilities/htc';
4
+ export type SchemeServiceOptions = Omit<SchemeOptions, 'palettes' | 'sourceColorArgb'> & {
5
+ sourcesColorHex: Record<string, string> & {
6
+ primary?: string;
7
+ };
8
+ palettes: Record<string, {
9
+ sourceColorkey: string;
10
+ tonalPalette: CustomPaletteFunction;
11
+ } | {
12
+ sourceColorkey?: never;
13
+ tonalPalette: PaletteFunction;
14
+ }>;
15
+ };
16
+ type PaletteFunctionArgs = {
17
+ isDark: boolean;
18
+ sourceColorHct: Hct;
19
+ };
20
+ export type PaletteFunction = (args: PaletteFunctionArgs) => TonalPalette;
21
+ export type CustomPaletteFunction = (args: PaletteFunctionArgs & {
22
+ colorHct: Hct;
23
+ }) => TonalPalette;
24
+ export declare class SchemeManager {
25
+ private schemeEntity?;
26
+ private options?;
27
+ createOrUpdate(options: Partial<SchemeServiceOptions>): void;
28
+ get(): Scheme;
29
+ }
30
+ export {};
@@ -0,0 +1,22 @@
1
+ import { SchemeManager, SchemeServiceOptions } from './scheme.manager';
2
+ import { VariantManager } from './variant.manager';
3
+ import { Variant } from './variant';
4
+ type ThemeOptions = Omit<SchemeServiceOptions, 'palettes' | 'sourcesColorHex'> & {
5
+ sourceColorHex: string;
6
+ };
7
+ export declare class ThemeApi {
8
+ private readonly schemeManager;
9
+ private readonly variantManager;
10
+ constructor({ schemeManager, variantManager, }: {
11
+ schemeManager: SchemeManager;
12
+ variantManager: VariantManager;
13
+ });
14
+ create(options: ThemeOptions & {
15
+ variant: Variant;
16
+ }): void;
17
+ update(options: Partial<ThemeOptions> & {
18
+ variant?: Variant;
19
+ }): void;
20
+ addCustomPalette(key: string, colorHex: string): void;
21
+ }
22
+ export {};
@@ -0,0 +1,2 @@
1
+ import { Module } from '../app.container';
2
+ export declare const ThemeModule: Module;
@@ -0,0 +1,35 @@
1
+ import { TonalPalette } from '@material/material-color-utilities';
2
+ import { Hct } from '../material-color-utilities/htc';
3
+ import { AddColors } from '../color';
4
+ export declare const getPiecewiseHue: (sourceColorHct: Hct, hueBreakpoints: number[], hues: number[]) => number;
5
+ export declare const getRotatedHue: (sourceColorHct: Hct, hueBreakpoints: number[], rotations: number[]) => number;
6
+ export declare class Variant {
7
+ palettes: Record<string, (args: {
8
+ sourceColorHct: Hct;
9
+ isDark: boolean;
10
+ }) => TonalPalette>;
11
+ name: string;
12
+ customPalettes?: ((args: {
13
+ isDark: boolean;
14
+ sourceColorHct: Hct;
15
+ colorHct: Hct;
16
+ }) => TonalPalette) | undefined;
17
+ /** TODO
18
+ * Defines color modifications through variation.
19
+ * Allows customization of specific colors in the theme.
20
+ */
21
+ colors?: AddColors['colors'];
22
+ constructor(palettes: Record<string, (args: {
23
+ sourceColorHct: Hct;
24
+ isDark: boolean;
25
+ }) => TonalPalette> | undefined, name: string, customPalettes?: ((args: {
26
+ isDark: boolean;
27
+ sourceColorHct: Hct;
28
+ colorHct: Hct;
29
+ }) => TonalPalette) | undefined,
30
+ /** TODO
31
+ * Defines color modifications through variation.
32
+ * Allows customization of specific colors in the theme.
33
+ */
34
+ colors?: AddColors['colors']);
35
+ }
@@ -0,0 +1,13 @@
1
+ import { SchemeManager } from './scheme.manager';
2
+ import { Variant } from './variant';
3
+ export declare class VariantManager {
4
+ customPalettes: Record<string, string>;
5
+ private variantEntity?;
6
+ private readonly schemeManager;
7
+ constructor({ schemeManager }: {
8
+ schemeManager: SchemeManager;
9
+ });
10
+ addCustomPalette(key: string, colorHex: string): void;
11
+ set(variantEntity: Variant): void;
12
+ private update;
13
+ }
@@ -0,0 +1,2 @@
1
+ import { Variant } from '../variant';
2
+ export declare const expressiveVariant: Variant;
@@ -0,0 +1,4 @@
1
+ export * from './tonal-spot.variant';
2
+ export * from './vibrant.variant';
3
+ export * from './expressive.variant';
4
+ export * from './neutral.variant';
@@ -0,0 +1,2 @@
1
+ import { Variant } from '../variant';
2
+ export declare const neutralVariant: Variant;
@@ -0,0 +1,2 @@
1
+ import { Variant } from '../variant';
2
+ export declare const tonalSpotVariant: Variant;
@@ -0,0 +1,2 @@
1
+ import { Variant } from '../variant';
2
+ export declare const vibrantVariant: Variant;