@steveencues/starter-react-ui 1.0.4 → 1.0.6
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/index.cjs +7 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +217 -384
- package/dist/index.js.map +1 -1
- package/dist/libs/aplicacion/contexts/theme.context.d.ts +3 -3
- package/dist/libs/aplicacion/hooks/index.d.ts +0 -1
- package/dist/libs/aplicacion/hooks/use-theme.d.ts +5 -4
- package/dist/libs/aplicacion/providers/theme-provider.d.ts +6 -6
- package/dist/libs/aplicacion/services/custom-theme.service.d.ts +67 -0
- package/dist/libs/aplicacion/services/index.d.ts +1 -0
- package/dist/libs/aplicacion/utils/theme.utils.d.ts +29 -11
- package/dist/libs/components/Button/Button.d.ts +5 -12
- package/dist/libs/domain/constants/theme-css-variable.const.d.ts +33 -64
- package/dist/libs/domain/interface/index.d.ts +2 -3
- package/dist/libs/domain/interface/{manifest/theme-manifest.interface.d.ts → theme-manifest.interface.d.ts} +1 -3
- package/dist/libs/domain/interface/theme.interface.d.ts +41 -0
- package/dist/libs/domain/types/index.d.ts +1 -1
- package/dist/libs/domain/types/theme.type.d.ts +42 -0
- package/dist/style.css +3 -0
- package/package.json +4 -2
- package/dist/libs/aplicacion/hooks/use-theme-preference.hook.d.ts +0 -7
- package/dist/libs/domain/interface/manifest/index.d.ts +0 -1
- package/dist/libs/domain/interface/theme/accessibility/index.d.ts +0 -1
- package/dist/libs/domain/interface/theme/accessibility/theme-accessibility.interface.d.ts +0 -15
- package/dist/libs/domain/interface/theme/colors/index.d.ts +0 -8
- package/dist/libs/domain/interface/theme/colors/theme-border-colors.interface.d.ts +0 -17
- package/dist/libs/domain/interface/theme/colors/theme-brand-colors.interface.d.ts +0 -24
- package/dist/libs/domain/interface/theme/colors/theme-color-palette.interface.d.ts +0 -30
- package/dist/libs/domain/interface/theme/colors/theme-data-colors.interface.d.ts +0 -15
- package/dist/libs/domain/interface/theme/colors/theme-overlay-colors.interface.d.ts +0 -13
- package/dist/libs/domain/interface/theme/colors/theme-state-colors.interface.d.ts +0 -23
- package/dist/libs/domain/interface/theme/colors/theme-surface-colors.interface.d.ts +0 -19
- package/dist/libs/domain/interface/theme/colors/theme-text-colors.interface.d.ts +0 -19
- package/dist/libs/domain/interface/theme/core/app-theme.interface.d.ts +0 -11
- package/dist/libs/domain/interface/theme/core/index.d.ts +0 -2
- package/dist/libs/domain/interface/theme/core/theme.interface.d.ts +0 -20
- package/dist/libs/domain/interface/theme/effects/index.d.ts +0 -5
- package/dist/libs/domain/interface/theme/effects/theme-animation.interface.d.ts +0 -17
- package/dist/libs/domain/interface/theme/effects/theme-effects.interface.d.ts +0 -22
- package/dist/libs/domain/interface/theme/effects/theme-gradient-stop.interface.d.ts +0 -11
- package/dist/libs/domain/interface/theme/effects/theme-gradient.interface.d.ts +0 -16
- package/dist/libs/domain/interface/theme/effects/theme-gradients.interface.d.ts +0 -17
- package/dist/libs/domain/interface/theme/index.d.ts +0 -6
- package/dist/libs/domain/interface/theme/preferences/index.d.ts +0 -5
- package/dist/libs/domain/interface/theme/preferences/theme-context.interface.d.ts +0 -11
- package/dist/libs/domain/interface/theme/preferences/theme-preference-configuration.interface.d.ts +0 -11
- package/dist/libs/domain/interface/theme/preferences/theme-preference-result.interface.d.ts +0 -11
- package/dist/libs/domain/interface/theme/preferences/theme-preference-state.interface.d.ts +0 -10
- package/dist/libs/domain/interface/theme/preferences/theme-provider.interface.d.ts +0 -13
- package/dist/libs/domain/interface/theme/typography/index.d.ts +0 -5
- package/dist/libs/domain/interface/theme/typography/theme-font-family.interface.d.ts +0 -13
- package/dist/libs/domain/interface/theme/typography/theme-font-sizes.interface.d.ts +0 -20
- package/dist/libs/domain/interface/theme/typography/theme-font-weights.interface.d.ts +0 -17
- package/dist/libs/domain/interface/theme/typography/theme-text-style.interface.d.ts +0 -18
- package/dist/libs/domain/interface/theme/typography/theme-typography.interface.d.ts +0 -37
- package/dist/libs/domain/types/theme/index.d.ts +0 -20
- package/dist/libs/domain/types/theme/theme-animation.type.d.ts +0 -18
- package/dist/libs/domain/types/theme/theme-border.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-brand.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-category.type.d.ts +0 -12
- package/dist/libs/domain/types/theme/theme-color-scale.type.d.ts +0 -6
- package/dist/libs/domain/types/theme/theme-css.type.d.ts +0 -15
- package/dist/libs/domain/types/theme/theme-effect.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-font-weights.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-font.type.d.ts +0 -19
- package/dist/libs/domain/types/theme/theme-gradient.type.d.ts +0 -12
- package/dist/libs/domain/types/theme/theme-layout.type.d.ts +0 -24
- package/dist/libs/domain/types/theme/theme-name.types.d.ts +0 -6
- package/dist/libs/domain/types/theme/theme-preference.type.d.ts +0 -8
- package/dist/libs/domain/types/theme/theme-shadow.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-state.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-surface.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-text-style.type.d.ts +0 -12
- package/dist/libs/domain/types/theme/theme-text.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-typography.type.d.ts +0 -7
- package/dist/libs/domain/types/theme/theme-value.type.d.ts +0 -12
|
@@ -1,69 +1,38 @@
|
|
|
1
|
+
import { ThemeColorToken } from '..';
|
|
1
2
|
/**
|
|
2
|
-
* @description Define los nombres de las variables CSS de
|
|
3
|
+
* @description Define los nombres de las variables CSS de DaisyUI.
|
|
3
4
|
* @author Steveen Cues
|
|
4
5
|
* @version 1.0.0
|
|
5
6
|
*/
|
|
6
|
-
export declare const
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
16
|
-
readonly
|
|
17
|
-
readonly
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
23
|
-
readonly
|
|
24
|
-
readonly
|
|
25
|
-
readonly
|
|
26
|
-
readonly
|
|
27
|
-
readonly BRAND_SECONDARY_CONTRAST: "--rui-brand-secondary-contrast";
|
|
28
|
-
readonly BRAND_ACCENT: "--rui-brand-accent";
|
|
29
|
-
readonly BRAND_ACCENT_HOVER: "--rui-brand-accent-hover";
|
|
30
|
-
readonly BRAND_ACCENT_CONTRAST: "--rui-brand-accent-contrast";
|
|
31
|
-
readonly STATE_SUCCESS: "--rui-state-success";
|
|
32
|
-
readonly STATE_SUCCESS_BACKGROUND: "--rui-state-success-background";
|
|
33
|
-
readonly STATE_WARNING: "--rui-state-warning";
|
|
34
|
-
readonly STATE_WARNING_BACKGROUND: "--rui-state-warning-background";
|
|
35
|
-
readonly STATE_ERROR: "--rui-state-error";
|
|
36
|
-
readonly STATE_ERROR_BACKGROUND: "--rui-state-error-background";
|
|
37
|
-
readonly STATE_INFO: "--rui-state-info";
|
|
38
|
-
readonly STATE_INFO_BACKGROUND: "--rui-state-info-background";
|
|
39
|
-
readonly BORDER_DEFAULT: "--rui-border-default";
|
|
40
|
-
readonly BORDER_SUBTLE: "--rui-border-subtle";
|
|
41
|
-
readonly BORDER_STRONG: "--rui-border-strong";
|
|
42
|
-
readonly BORDER_FOCUS: "--rui-border-focus";
|
|
43
|
-
readonly BORDER_HOVER: "--rui-border-hover";
|
|
44
|
-
readonly BORDER_ACTIVE: "--rui-border-active";
|
|
45
|
-
readonly BORDER_DISABLED: "--rui-border-disabled";
|
|
46
|
-
readonly SHADOW_COLOR: "--rui-shadow-color";
|
|
47
|
-
readonly SHADOW_SUBTLE: "--rui-shadow-subtle";
|
|
48
|
-
readonly SHADOW_SMALL: "--rui-shadow-small";
|
|
49
|
-
readonly SHADOW_MEDIUM: "--rui-shadow-medium";
|
|
50
|
-
readonly SHADOW_LARGE: "--rui-shadow-large";
|
|
51
|
-
readonly SHADOW_GLOW: "--rui-shadow-glow";
|
|
52
|
-
readonly EFFECTS_OVERLAY: "--rui-effects-overlay";
|
|
53
|
-
readonly EFFECTS_BACKDROP: "--rui-effects-backdrop";
|
|
54
|
-
readonly EFFECTS_BLUR: "--rui-effects-blur";
|
|
55
|
-
readonly EFFECTS_BLUR_STRONG: "--rui-effects-blur-strong";
|
|
56
|
-
readonly EFFECTS_GLASS_BACKGROUND: "--rui-effects-glass-background";
|
|
57
|
-
readonly EFFECTS_GLASS_BORDER: "--rui-effects-glass-border";
|
|
58
|
-
readonly TYPOGRAPHY_HEADING_PRIMARY: "--rui-typography-heading-primary";
|
|
59
|
-
readonly TYPOGRAPHY_HEADING_SECONDARY: "--rui-typography-heading-secondary";
|
|
60
|
-
readonly TYPOGRAPHY_HEADING_MUTED: "--rui-typography-heading-muted";
|
|
61
|
-
readonly TYPOGRAPHY_BODY_PRIMARY: "--rui-typography-body-primary";
|
|
62
|
-
readonly TYPOGRAPHY_BODY_SECONDARY: "--rui-typography-body-secondary";
|
|
63
|
-
readonly TYPOGRAPHY_BODY_MUTED: "--rui-typography-body-muted";
|
|
64
|
-
readonly TYPOGRAPHY_LABEL_PRIMARY: "--rui-typography-label-primary";
|
|
65
|
-
readonly TYPOGRAPHY_LABEL_SECONDARY: "--rui-typography-label-secondary";
|
|
66
|
-
readonly TYPOGRAPHY_LABEL_MUTED: "--rui-typography-label-muted";
|
|
67
|
-
readonly TYPOGRAPHY_BUTTON_PRIMARY: "--rui-typography-button-primary";
|
|
68
|
-
readonly TYPOGRAPHY_BUTTON_SECONDARY: "--rui-typography-button-secondary";
|
|
7
|
+
export declare const CSS_THEME_TOKENS: {
|
|
8
|
+
readonly primary: "--color-primary";
|
|
9
|
+
readonly primaryContent: "--color-primary-content";
|
|
10
|
+
readonly secondary: "--color-secondary";
|
|
11
|
+
readonly secondaryContent: "--color-secondary-content";
|
|
12
|
+
readonly accent: "--color-accent";
|
|
13
|
+
readonly accentContent: "--color-accent-content";
|
|
14
|
+
readonly neutral: "--color-neutral";
|
|
15
|
+
readonly neutralContent: "--color-neutral-content";
|
|
16
|
+
readonly base100: "--color-base-100";
|
|
17
|
+
readonly base200: "--color-base-200";
|
|
18
|
+
readonly base300: "--color-base-300";
|
|
19
|
+
readonly baseContent: "--color-base-content";
|
|
20
|
+
readonly info: "--color-info";
|
|
21
|
+
readonly infoContent: "--color-info-content";
|
|
22
|
+
readonly success: "--color-success";
|
|
23
|
+
readonly successContent: "--color-success-content";
|
|
24
|
+
readonly warning: "--color-warning";
|
|
25
|
+
readonly warningContent: "--color-warning-content";
|
|
26
|
+
readonly error: "--color-error";
|
|
27
|
+
readonly errorContent: "--color-error-content";
|
|
69
28
|
};
|
|
29
|
+
/**
|
|
30
|
+
* @description Define la coleccion de claves y variables CSS de DaisyUI.
|
|
31
|
+
* Cada entrada relaciona una clave de color con su variable CSS.
|
|
32
|
+
* @author Steveen Cues
|
|
33
|
+
* @version 1.0.0
|
|
34
|
+
*/
|
|
35
|
+
export declare const CSS_THEME_TOKEN_ENTRIES: readonly [
|
|
36
|
+
ThemeColorToken,
|
|
37
|
+
(typeof CSS_THEME_TOKENS)[ThemeColorToken]
|
|
38
|
+
][];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ThemeName } from '..';
|
|
2
2
|
/**
|
|
3
3
|
* @description Define las propiedades basicas de un manifiesto de tema.
|
|
4
4
|
* @author Steveen Cues
|
|
@@ -10,8 +10,6 @@ export interface ThemeManifest {
|
|
|
10
10
|
readonly description: string;
|
|
11
11
|
readonly version: string;
|
|
12
12
|
readonly author: string;
|
|
13
|
-
readonly category: ThemeCategory;
|
|
14
|
-
readonly colorScheme: ThemeColorScheme;
|
|
15
13
|
readonly tags: readonly string[];
|
|
16
14
|
readonly preview?: string;
|
|
17
15
|
readonly homepage?: string;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { DaisyUIThemeColors, ThemeManifest, ThemeName } from '../..';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* @description Define una configuracion visual completa de un tema.
|
|
5
|
+
* @author Steveen Cues
|
|
6
|
+
* @version 2.0.0
|
|
7
|
+
*/
|
|
8
|
+
export interface AppTheme {
|
|
9
|
+
readonly manifest: ThemeManifest;
|
|
10
|
+
readonly name: ThemeName;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @description Define un tema completo personalizado por una aplicacion.
|
|
14
|
+
* @author Steveen Cues
|
|
15
|
+
* @version 1.0.0
|
|
16
|
+
*/
|
|
17
|
+
export interface CustomThemeDefinition extends AppTheme {
|
|
18
|
+
readonly daisyUI: DaisyUIThemeColors;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @description Define el contrato publico del contexto de temas.
|
|
22
|
+
* @author Steveen Cues
|
|
23
|
+
* @version 1.0.0
|
|
24
|
+
*/
|
|
25
|
+
export interface ThemeContextValue {
|
|
26
|
+
readonly theme: AppTheme;
|
|
27
|
+
readonly themeName: string;
|
|
28
|
+
readonly themes: readonly AppTheme[];
|
|
29
|
+
readonly setTheme: (name: string) => void;
|
|
30
|
+
readonly registerTheme: (theme: CustomThemeDefinition) => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description Propiedades del proveedor de temas.
|
|
34
|
+
* @author Steveen Cues
|
|
35
|
+
* @version 1.0.0
|
|
36
|
+
*/
|
|
37
|
+
export interface ThemeProviderProps {
|
|
38
|
+
readonly themes: readonly AppTheme[];
|
|
39
|
+
readonly initialTheme: string;
|
|
40
|
+
readonly children: ReactNode;
|
|
41
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './translation.types';
|
|
2
|
-
export * from './theme';
|
|
2
|
+
export * from './theme.type';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { CSS_THEME_TOKENS } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* @description Define los colores que DaisyUI utiliza en un tema.
|
|
4
|
+
* @author Steveen Cues
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
*/
|
|
7
|
+
export interface DaisyUIThemeColors {
|
|
8
|
+
readonly colorScheme: "light" | "dark";
|
|
9
|
+
readonly primary: string;
|
|
10
|
+
readonly primaryContent: string;
|
|
11
|
+
readonly secondary: string;
|
|
12
|
+
readonly secondaryContent: string;
|
|
13
|
+
readonly accent: string;
|
|
14
|
+
readonly accentContent: string;
|
|
15
|
+
readonly neutral: string;
|
|
16
|
+
readonly neutralContent: string;
|
|
17
|
+
readonly base100: string;
|
|
18
|
+
readonly base200: string;
|
|
19
|
+
readonly base300: string;
|
|
20
|
+
readonly baseContent: string;
|
|
21
|
+
readonly info: string;
|
|
22
|
+
readonly infoContent: string;
|
|
23
|
+
readonly success: string;
|
|
24
|
+
readonly successContent: string;
|
|
25
|
+
readonly warning: string;
|
|
26
|
+
readonly warningContent: string;
|
|
27
|
+
readonly error: string;
|
|
28
|
+
readonly errorContent: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @description Define los nombres de los temas disponibles en la aplicacion.
|
|
32
|
+
* Permite utilizar temas integrados y nombres personalizados.
|
|
33
|
+
* @author Steveen Cues
|
|
34
|
+
* @version 1.0.0
|
|
35
|
+
*/
|
|
36
|
+
export type ThemeName = "light" | "dark" | "magenta" | "semi-dark" | (string & {});
|
|
37
|
+
/**
|
|
38
|
+
* @description Define las claves disponibles para los colores de DaisyUI.
|
|
39
|
+
* @author Steveen Cues
|
|
40
|
+
* @version 1.0.0
|
|
41
|
+
*/
|
|
42
|
+
export type ThemeColorToken = keyof typeof CSS_THEME_TOKENS;
|
package/dist/style.css
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=light]:checked){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:is(:root:has(input.theme-controller[value=light]:checked),[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:is(:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:is(:root:has(input.theme-controller[value=cupcake]:checked),[data-theme=cupcake]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(97.788% .004 56.375);--color-base-200:oklch(93.982% .007 61.449);--color-base-300:oklch(91.586% .006 53.44);--color-base-content:oklch(23.574% .066 313.189);--color-primary:oklch(85% .138 181.071);--color-primary-content:oklch(43% .078 188.216);--color-secondary:oklch(89% .061 343.231);--color-secondary-content:oklch(45% .187 3.815);--color-accent:oklch(90% .076 70.697);--color-accent-content:oklch(47% .157 37.304);--color-neutral:oklch(27% .006 286.033);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(68% .169 237.323);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(69% .17 162.48);--color-success-content:oklch(26% .051 172.552);--color-warning:oklch(79% .184 86.047);--color-warning-content:oklch(28% .066 53.813);--color-error:oklch(64% .246 16.439);--color-error-content:oklch(27% .105 12.094);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:0}:is(:root:has(input.theme-controller[value=corporate]:checked),[data-theme=corporate]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(22.389% .031 278.072);--color-primary:oklch(58% .158 241.966);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(60% .118 184.704);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(0% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(60% .126 221.723);--color-info-content:oklch(100% 0 0);--color-success:oklch(62% .194 149.214);--color-success-content:oklch(100% 0 0);--color-warning:oklch(85% .199 91.936);--color-warning-content:oklch(0% 0 0);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(0% 0 0);--radius-selector:.25rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:is(:root:has(input.theme-controller[value=dracula]:checked),[data-theme=dracula]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base-100:oklch(28.822% .022 277.508);--color-base-200:oklch(26.805% .02 277.508);--color-base-300:oklch(24.787% .019 277.508);--color-base-content:oklch(97.747% .007 106.545);--color-primary:oklch(75.461% .183 346.812);--color-primary-content:oklch(15.092% .036 346.812);--color-secondary:oklch(74.202% .148 301.883);--color-secondary-content:oklch(14.84% .029 301.883);--color-accent:oklch(83.392% .124 66.558);--color-accent-content:oklch(16.678% .024 66.558);--color-neutral:oklch(39.445% .032 275.524);--color-neutral-content:oklch(87.889% .006 275.524);--color-info:oklch(88.263% .093 212.846);--color-info-content:oklch(17.652% .018 212.846);--color-success:oklch(87.099% .219 148.024);--color-success-content:oklch(17.419% .043 148.024);--color-warning:oklch(95.533% .134 112.757);--color-warning-content:oklch(19.106% .026 112.757);--color-error:oklch(68.22% .206 24.43);--color-error-content:oklch(13.644% .041 24.43);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:is(:root:has(input.theme-controller[value=nord]:checked),[data-theme=nord]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base-100:oklch(95.127% .007 260.731);--color-base-200:oklch(93.299% .01 261.788);--color-base-300:oklch(89.925% .016 262.749);--color-base-content:oklch(32.437% .022 264.182);--color-primary:oklch(59.435% .077 254.027);--color-primary-content:oklch(11.887% .015 254.027);--color-secondary:oklch(69.651% .059 248.687);--color-secondary-content:oklch(13.93% .011 248.687);--color-accent:oklch(77.464% .062 217.469);--color-accent-content:oklch(15.492% .012 217.469);--color-neutral:oklch(45.229% .035 264.131);--color-neutral-content:oklch(89.925% .016 262.749);--color-info:oklch(69.207% .062 332.664);--color-info-content:oklch(13.841% .012 332.664);--color-success:oklch(76.827% .074 131.063);--color-success-content:oklch(15.365% .014 131.063);--color-warning:oklch(85.486% .089 84.093);--color-warning-content:oklch(17.097% .017 84.093);--color-error:oklch(60.61% .12 15.341);--color-error-content:oklch(12.122% .024 15.341);--radius-selector:1rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root,[data-theme]{background-color:var(--root-bg);color:var(--color-base-content)}:root{background-color:var(--page-scroll-bg,var(--root-bg))}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");--page-has-backdrop:var(--page-scroll-lock) 1;--page-scroll-bg:var(--page-scroll-lock) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg:var(--page-scroll-lock) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{background-image:var(--page-scroll-lock) linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000));transition:var(--page-scroll-lock) background-color .3s ease-out;animation:var(--page-scroll-lock) set-page-has-scroll forwards;animation-timeline:var(--page-scroll-lock) scroll();--page-has-scroll:initial;scrollbar-gutter:var(--page-has-scroll) var(--page-scroll-lock) stable}@keyframes set-page-has-scroll{0%,to{--page-has-scroll: }}@property --radialprogress{syntax:"<percentage>";inherits:true;initial-value:0%}@property --aura-angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}:root{--page-scroll-lock:initial;--page-overflow:var(--page-scroll-lock) hidden}:root:not(span){overflow:var(--page-overflow)}}@layer components;@layer utilities{@layer daisyui.l1.l2{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-rows:1fr 1.8rem 1fr;grid-template-columns:auto 1fr;align-items:normal;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:focus-visible{outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:95cqi;max-width:95cqi}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-1:focus-visible) .diff-resizer{min-width:5cqi;max-width:5cqi}.diff:hover .diff-item-2:after{height:2.4rem}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}}@supports ((-moz-appearance:none)){@media (hover:none) and (pointer:coarse){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}}}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}@supports ((-moz-appearance:none)){@media (hover:none) and (pointer:coarse){.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}}.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);isolation:isolate}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);--btn-soft-bg:initial}}@layer daisyui.l1.l2.l3{:where(.btn){width:unset}.btn{--size:calc(var(--size-field,.25rem) * 10);--btn-p:1rem;--btn-fg:var(--color-base-content);cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;border-width:var(--border);touch-action:manipulation;--btn-bg:var(--btn-color,var(--color-base-200));--btn-border:var(--btn-color,var(--color-base-200));border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 calc(var(--depth) * 5%))}}.btn{--btn-soft-bg:initial;--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));height:var(--size);padding-inline:var(--btn-p);font-size:var(--fontsize,.875rem);background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);border-style:var(--btn-border-style,solid);outline-color:var(--btn-color,var(--color-base-content));--tw-prose-links:var(--btn-fg);background-image:none, var(--fx-noise);background-size:auto, calc(var(--noise,0) * 100%);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));box-shadow:var(--btn-inset) inset, var(--btn-shadow)}.btn:is([type=checkbox],[type=radio]){appearance:none}.btn:is([type=checkbox],[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(:checked:not(.filter [type=radio].btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (forced-colors:active){.loading{background-color:canvastext}}@media (prefers-reduced-motion:no-preference){.loading{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}.filter{flex-wrap:wrap;display:flex}.filter [type=radio]{width:auto}.filter input{opacity:1;transition:visibility .1s allow-discrete, margin .1s, opacity .3s, padding .3s, border-width .1s;overflow:hidden;scale:1}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter>input:not(:last-child),.filter>:not(:last-child) input{margin-inline-end:.25rem}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:2147483647px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:2147483647px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.aura:has(>.btn,>.input,>.select){--aura-radius:var(--radius-field)}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@layer daisyui.l1{@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:hover{color:var(--btn-fg);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:hover{--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0)}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-bg:var(--btn-color,var(--color-base-200));color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){isolation:isolate}.btn:focus-visible{isolation:isolate;outline-width:2px;outline-style:solid}.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.filter:not(:has(:checked:not(.filter-reset))) :is(.filter-reset,[type=reset]):not(:focus-visible){visibility:hidden;opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.filter:not(:has(:focus-visible)):has(:checked:not(.filter-reset,[type=checkbox])) :is(input,button):not(:checked,.filter-reset,[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}}@layer daisyui{.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){--btn-bg:#0000;--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}}.static{position:static}.contents{display:contents}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes menu{0%{opacity:0}}@keyframes dropdown{0%{opacity:0}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes progress{50%{background-position-x:-115%}}@keyframes aura{to{--aura-angle:360deg;transform:translateZ(1px)}}@keyframes aura-glow{20%,80%{opacity:.7;filter:blur(.25rem)}50%{opacity:1;filter:blur(.75rem)}}@keyframes aura-glow-after{20%,80%{opacity:.3;filter:blur(1rem)}50%{opacity:.6;filter:blur(1.5rem)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
|
|
3
|
+
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steveencues/starter-react-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.js",
|
|
13
13
|
"require": "./dist/index.cjs"
|
|
14
|
-
}
|
|
14
|
+
},
|
|
15
|
+
"./style.css": "./dist/style.css"
|
|
15
16
|
},
|
|
16
17
|
"files": [
|
|
17
18
|
"dist",
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
"@types/react": "^19.3.0",
|
|
36
37
|
"@types/react-dom": "^19.3.0",
|
|
37
38
|
"@vitejs/plugin-react": "^6.1.1",
|
|
39
|
+
"daisyui": "^5.7.50",
|
|
38
40
|
"eslint": "^10.10.0",
|
|
39
41
|
"eslint-config-prettier": "^10.1.8",
|
|
40
42
|
"eslint-plugin-jsdoc": "^65.3.8",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ThemePreferenceConfiguration, ThemePreferenceResult } from '../../domain';
|
|
2
|
-
/**
|
|
3
|
-
* @description Manages the selected theme and its encrypted persistence lifecycle.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 3.0.0
|
|
6
|
-
*/
|
|
7
|
-
export declare function useThemePreference(inputConfiguration: ThemePreferenceConfiguration): ThemePreferenceResult;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './theme-manifest.interface';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './theme-accessibility.interface';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ThemeMotionPreference } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define las propiedades de accesibilidad.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface ThemeAccessibility {
|
|
8
|
-
readonly reducedMotion: ThemeMotionPreference;
|
|
9
|
-
readonly highContrast: boolean;
|
|
10
|
-
readonly focusRingWidth: string;
|
|
11
|
-
readonly focusRingOffset: string;
|
|
12
|
-
readonly focusRingStyle: string;
|
|
13
|
-
readonly minimumTargetSize: string;
|
|
14
|
-
readonly enforceReadableText: boolean;
|
|
15
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './theme-border-colors.interface';
|
|
2
|
-
export * from './theme-brand-colors.interface';
|
|
3
|
-
export * from './theme-color-palette.interface';
|
|
4
|
-
export * from './theme-data-colors.interface';
|
|
5
|
-
export * from './theme-overlay-colors.interface';
|
|
6
|
-
export * from './theme-state-colors.interface';
|
|
7
|
-
export * from './theme-surface-colors.interface';
|
|
8
|
-
export * from './theme-text-colors.interface';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores de los bordes e indicadores.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeBorderColors {
|
|
7
|
-
readonly default: string;
|
|
8
|
-
readonly subtle: string;
|
|
9
|
-
readonly strong: string;
|
|
10
|
-
readonly focus: string;
|
|
11
|
-
readonly hover: string;
|
|
12
|
-
readonly active: string;
|
|
13
|
-
readonly disabled: string;
|
|
14
|
-
readonly divider: string;
|
|
15
|
-
readonly input: string;
|
|
16
|
-
readonly error: string;
|
|
17
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores de identidad visual.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeBrandColors {
|
|
7
|
-
readonly primary: string;
|
|
8
|
-
readonly primaryHover: string;
|
|
9
|
-
readonly primaryActive: string;
|
|
10
|
-
readonly primaryDisabled: string;
|
|
11
|
-
readonly primaryContrast: string;
|
|
12
|
-
readonly primarySubtle: string;
|
|
13
|
-
readonly primaryStrong: string;
|
|
14
|
-
readonly secondary: string;
|
|
15
|
-
readonly secondaryHover: string;
|
|
16
|
-
readonly secondaryActive: string;
|
|
17
|
-
readonly secondaryContrast: string;
|
|
18
|
-
readonly secondarySubtle: string;
|
|
19
|
-
readonly accent: string;
|
|
20
|
-
readonly accentHover: string;
|
|
21
|
-
readonly accentActive: string;
|
|
22
|
-
readonly accentContrast: string;
|
|
23
|
-
readonly accentSubtle: string;
|
|
24
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ThemeColorScale } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define una coleccion de escalas cromaticas.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface ThemeColorPalette {
|
|
8
|
-
readonly slate: ThemeColorScale;
|
|
9
|
-
readonly gray: ThemeColorScale;
|
|
10
|
-
readonly zinc: ThemeColorScale;
|
|
11
|
-
readonly neutral: ThemeColorScale;
|
|
12
|
-
readonly stone: ThemeColorScale;
|
|
13
|
-
readonly red: ThemeColorScale;
|
|
14
|
-
readonly orange: ThemeColorScale;
|
|
15
|
-
readonly amber: ThemeColorScale;
|
|
16
|
-
readonly yellow: ThemeColorScale;
|
|
17
|
-
readonly lime: ThemeColorScale;
|
|
18
|
-
readonly green: ThemeColorScale;
|
|
19
|
-
readonly emerald: ThemeColorScale;
|
|
20
|
-
readonly teal: ThemeColorScale;
|
|
21
|
-
readonly cyan: ThemeColorScale;
|
|
22
|
-
readonly sky: ThemeColorScale;
|
|
23
|
-
readonly blue: ThemeColorScale;
|
|
24
|
-
readonly indigo: ThemeColorScale;
|
|
25
|
-
readonly violet: ThemeColorScale;
|
|
26
|
-
readonly purple: ThemeColorScale;
|
|
27
|
-
readonly fuchsia: ThemeColorScale;
|
|
28
|
-
readonly pink: ThemeColorScale;
|
|
29
|
-
readonly rose: ThemeColorScale;
|
|
30
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores utilizados en graficos y visualizacion de datos.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeDataColors {
|
|
7
|
-
readonly series: readonly string[];
|
|
8
|
-
readonly positive: string;
|
|
9
|
-
readonly negative: string;
|
|
10
|
-
readonly neutral: string;
|
|
11
|
-
readonly grid: string;
|
|
12
|
-
readonly axis: string;
|
|
13
|
-
readonly tooltipBackground: string;
|
|
14
|
-
readonly tooltipText: string;
|
|
15
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores utilizados en superposiciones.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeOverlayColors {
|
|
7
|
-
readonly scrim: string;
|
|
8
|
-
readonly modal: string;
|
|
9
|
-
readonly dropdown: string;
|
|
10
|
-
readonly tooltip: string;
|
|
11
|
-
readonly navigation: string;
|
|
12
|
-
readonly backdrop: string;
|
|
13
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores de los estados semanticos.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeStateColors {
|
|
7
|
-
readonly success: string;
|
|
8
|
-
readonly successBackground: string;
|
|
9
|
-
readonly successBorder: string;
|
|
10
|
-
readonly successText: string;
|
|
11
|
-
readonly warning: string;
|
|
12
|
-
readonly warningBackground: string;
|
|
13
|
-
readonly warningBorder: string;
|
|
14
|
-
readonly warningText: string;
|
|
15
|
-
readonly error: string;
|
|
16
|
-
readonly errorBackground: string;
|
|
17
|
-
readonly errorBorder: string;
|
|
18
|
-
readonly errorText: string;
|
|
19
|
-
readonly info: string;
|
|
20
|
-
readonly infoBackground: string;
|
|
21
|
-
readonly infoBorder: string;
|
|
22
|
-
readonly infoText: string;
|
|
23
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores de las superficies.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeSurfaceColors {
|
|
7
|
-
readonly background: string;
|
|
8
|
-
readonly backgroundSecondary: string;
|
|
9
|
-
readonly backgroundTertiary: string;
|
|
10
|
-
readonly surface: string;
|
|
11
|
-
readonly surfaceSecondary: string;
|
|
12
|
-
readonly surfaceElevated: string;
|
|
13
|
-
readonly surfaceHover: string;
|
|
14
|
-
readonly surfaceActive: string;
|
|
15
|
-
readonly surfaceDisabled: string;
|
|
16
|
-
readonly surfaceInverse: string;
|
|
17
|
-
readonly surfaceOverlay: string;
|
|
18
|
-
readonly surfaceTransparent: string;
|
|
19
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Define los colores del contenido textual.
|
|
3
|
-
* @author Steveen Cues
|
|
4
|
-
* @version 2.0.0
|
|
5
|
-
*/
|
|
6
|
-
export interface ThemeTextColors {
|
|
7
|
-
readonly primary: string;
|
|
8
|
-
readonly secondary: string;
|
|
9
|
-
readonly muted: string;
|
|
10
|
-
readonly disabled: string;
|
|
11
|
-
readonly inverse: string;
|
|
12
|
-
readonly link: string;
|
|
13
|
-
readonly linkHover: string;
|
|
14
|
-
readonly selection: string;
|
|
15
|
-
readonly placeholder: string;
|
|
16
|
-
readonly onPrimary: string;
|
|
17
|
-
readonly onSecondary: string;
|
|
18
|
-
readonly onAccent: string;
|
|
19
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Theme, ThemeManifest, ThemeName } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define una configuracion visual completa de un tema.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface AppTheme {
|
|
8
|
-
readonly manifest: ThemeManifest;
|
|
9
|
-
readonly name: ThemeName;
|
|
10
|
-
readonly themes: Theme;
|
|
11
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ThemeBrandColors, ThemeBorderColors, ThemeColorPalette, ThemeDataColors, ThemeOverlayColors, ThemeStateColors, ThemeSurfaceColors, ThemeTextColors, ThemeAccessibility, ThemeEffects, ThemeGradients, ThemeTypography } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define los tokens visuales que dependen del tema activo.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.1.0
|
|
6
|
-
*/
|
|
7
|
-
export interface Theme {
|
|
8
|
-
readonly palette: ThemeColorPalette;
|
|
9
|
-
readonly surface: ThemeSurfaceColors;
|
|
10
|
-
readonly text: ThemeTextColors;
|
|
11
|
-
readonly brand: ThemeBrandColors;
|
|
12
|
-
readonly state: ThemeStateColors;
|
|
13
|
-
readonly border: ThemeBorderColors;
|
|
14
|
-
readonly overlay: ThemeOverlayColors;
|
|
15
|
-
readonly data: ThemeDataColors;
|
|
16
|
-
readonly typography: ThemeTypography;
|
|
17
|
-
readonly gradients: ThemeGradients;
|
|
18
|
-
readonly effects: ThemeEffects;
|
|
19
|
-
readonly accessibility: ThemeAccessibility;
|
|
20
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ThemeDuration, ThemeEasing } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define la configuracion de una animacion.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface ThemeAnimation {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly duration: ThemeDuration;
|
|
10
|
-
readonly delay: ThemeDuration;
|
|
11
|
-
readonly easing: ThemeEasing;
|
|
12
|
-
readonly iterationCount: number | "infinite";
|
|
13
|
-
readonly direction: "normal" | "reverse" | "alternate" | "alternate-reverse";
|
|
14
|
-
readonly fillMode: "none" | "forwards" | "backwards" | "both";
|
|
15
|
-
readonly playState: "running" | "paused";
|
|
16
|
-
readonly reducedMotionAlternative?: string;
|
|
17
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ThemeOpacity } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define los efectos visuales del tema.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface ThemeEffects {
|
|
8
|
-
readonly overlay: string;
|
|
9
|
-
readonly backdrop: string;
|
|
10
|
-
readonly blur: string;
|
|
11
|
-
readonly blurStrong: string;
|
|
12
|
-
readonly glassBackground: string;
|
|
13
|
-
readonly glassBorder: string;
|
|
14
|
-
readonly glassShadow: string;
|
|
15
|
-
readonly opacityDisabled: ThemeOpacity;
|
|
16
|
-
readonly opacityHover: ThemeOpacity;
|
|
17
|
-
readonly opacityOverlay: ThemeOpacity;
|
|
18
|
-
readonly saturation: string;
|
|
19
|
-
readonly contrast: string;
|
|
20
|
-
readonly brightness: string;
|
|
21
|
-
readonly grayscale: string;
|
|
22
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ThemeOpacity } from '../../..';
|
|
2
|
-
/**
|
|
3
|
-
* @description Define una parada de color de un gradiente.
|
|
4
|
-
* @author Steveen Cues
|
|
5
|
-
* @version 2.0.0
|
|
6
|
-
*/
|
|
7
|
-
export interface ThemeGradientStop {
|
|
8
|
-
readonly color: string;
|
|
9
|
-
readonly position?: string;
|
|
10
|
-
readonly opacity?: ThemeOpacity;
|
|
11
|
-
}
|