@steveencues/starter-react-ui 1.0.0 → 1.0.2

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 (129) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.js +66 -55
  5. package/dist/index.js.map +1 -1
  6. package/dist/libs/aplicacion/contexts/index.d.ts +2 -0
  7. package/dist/libs/aplicacion/contexts/theme.context.d.ts +7 -0
  8. package/dist/libs/aplicacion/contexts/translate.context.d.ts +7 -0
  9. package/dist/libs/aplicacion/hooks/index.d.ts +3 -0
  10. package/dist/libs/aplicacion/hooks/use-language.d.ts +8 -0
  11. package/dist/libs/aplicacion/hooks/use-theme-preference.hook.d.ts +7 -0
  12. package/dist/libs/aplicacion/hooks/use-theme.d.ts +8 -0
  13. package/dist/libs/aplicacion/index.d.ts +5 -0
  14. package/dist/libs/aplicacion/providers/index.d.ts +2 -0
  15. package/dist/libs/aplicacion/providers/theme-provider.d.ts +9 -0
  16. package/dist/libs/aplicacion/providers/translate.provider.d.ts +8 -0
  17. package/dist/libs/aplicacion/services/encryption.service.d.ts +18 -0
  18. package/dist/libs/aplicacion/services/index.d.ts +1 -0
  19. package/dist/libs/aplicacion/utils/base64.util.d.ts +16 -0
  20. package/dist/libs/aplicacion/utils/crypto-api.util.d.ts +7 -0
  21. package/dist/libs/aplicacion/utils/index.d.ts +6 -0
  22. package/dist/libs/aplicacion/utils/storage-api.util.d.ts +7 -0
  23. package/dist/libs/aplicacion/utils/text-encoding.util.d.ts +16 -0
  24. package/dist/libs/aplicacion/utils/theme.utils.d.ts +26 -0
  25. package/dist/libs/aplicacion/utils/translation.utils.d.ts +64 -0
  26. package/dist/libs/components/Button/Button.d.ts +1 -0
  27. package/dist/libs/components/Button/button.types.d.ts +1 -0
  28. package/dist/libs/components/Button/index.d.ts +1 -0
  29. package/dist/libs/components/Card/Card.d.ts +1 -0
  30. package/dist/libs/components/Card/card.types.d.ts +1 -0
  31. package/dist/libs/components/Card/index.d.ts +1 -0
  32. package/dist/libs/components/Input/Input.d.ts +1 -0
  33. package/dist/libs/components/Input/index.d.ts +1 -0
  34. package/dist/libs/components/Input/input.types.d.ts +1 -0
  35. package/dist/libs/components/index.d.ts +1 -0
  36. package/dist/libs/components/styles/index.d.ts +1 -0
  37. package/dist/libs/domain/constants/encrypted-preference.constanst.d.ts +7 -0
  38. package/dist/libs/domain/constants/index.d.ts +4 -0
  39. package/dist/libs/domain/constants/theme-css-variable.const.d.ts +69 -0
  40. package/dist/libs/domain/constants/theme-font-weight.const.d.ts +16 -0
  41. package/dist/libs/domain/constants/translation.constants.d.ts +1 -0
  42. package/dist/libs/domain/enums/index.d.ts +1 -0
  43. package/dist/libs/domain/enums/translation-regex.enum.d.ts +8 -0
  44. package/dist/libs/domain/index.d.ts +4 -0
  45. package/dist/libs/domain/interface/index.d.ts +4 -0
  46. package/dist/libs/domain/interface/manifest/index.d.ts +1 -0
  47. package/dist/libs/domain/interface/manifest/theme-manifest.interface.d.ts +23 -0
  48. package/dist/libs/domain/interface/theme/accessibility/index.d.ts +1 -0
  49. package/dist/libs/domain/interface/theme/accessibility/theme-accessibility.interface.d.ts +15 -0
  50. package/dist/libs/domain/interface/theme/colors/index.d.ts +8 -0
  51. package/dist/libs/domain/interface/theme/colors/theme-border-colors.interface.d.ts +17 -0
  52. package/dist/libs/domain/interface/theme/colors/theme-brand-colors.interface.d.ts +24 -0
  53. package/dist/libs/domain/interface/theme/colors/theme-color-palette.interface.d.ts +30 -0
  54. package/dist/libs/domain/interface/theme/colors/theme-data-colors.interface.d.ts +15 -0
  55. package/dist/libs/domain/interface/theme/colors/theme-overlay-colors.interface.d.ts +13 -0
  56. package/dist/libs/domain/interface/theme/colors/theme-state-colors.interface.d.ts +23 -0
  57. package/dist/libs/domain/interface/theme/colors/theme-surface-colors.interface.d.ts +19 -0
  58. package/dist/libs/domain/interface/theme/colors/theme-text-colors.interface.d.ts +19 -0
  59. package/dist/libs/domain/interface/theme/components/index.d.ts +6 -0
  60. package/dist/libs/domain/interface/theme/components/theme-button.interface.d.ts +18 -0
  61. package/dist/libs/domain/interface/theme/components/theme-card.interface.d.ts +15 -0
  62. package/dist/libs/domain/interface/theme/components/theme-components.interface.d.ts +12 -0
  63. package/dist/libs/domain/interface/theme/components/theme-input.interface.d.ts +18 -0
  64. package/dist/libs/domain/interface/theme/components/theme-interactive-colors.interface.d.ts +16 -0
  65. package/dist/libs/domain/interface/theme/components/theme-modal.interface.d.ts +14 -0
  66. package/dist/libs/domain/interface/theme/core/app-theme.interface.d.ts +11 -0
  67. package/dist/libs/domain/interface/theme/core/index.d.ts +2 -0
  68. package/dist/libs/domain/interface/theme/core/theme.interface.d.ts +26 -0
  69. package/dist/libs/domain/interface/theme/effects/index.d.ts +7 -0
  70. package/dist/libs/domain/interface/theme/effects/theme-animation.interface.d.ts +17 -0
  71. package/dist/libs/domain/interface/theme/effects/theme-animations.interface.d.ts +20 -0
  72. package/dist/libs/domain/interface/theme/effects/theme-effects.interface.d.ts +22 -0
  73. package/dist/libs/domain/interface/theme/effects/theme-gradient-stop.interface.d.ts +11 -0
  74. package/dist/libs/domain/interface/theme/effects/theme-gradient.interface.d.ts +16 -0
  75. package/dist/libs/domain/interface/theme/effects/theme-gradients.interface.d.ts +17 -0
  76. package/dist/libs/domain/interface/theme/effects/theme-transitions.interface.d.ts +18 -0
  77. package/dist/libs/domain/interface/theme/index.d.ts +8 -0
  78. package/dist/libs/domain/interface/theme/layout/index.d.ts +8 -0
  79. package/dist/libs/domain/interface/theme/layout/theme-breakpoints.interface.d.ts +13 -0
  80. package/dist/libs/domain/interface/theme/layout/theme-dimensions.interface.d.ts +15 -0
  81. package/dist/libs/domain/interface/theme/layout/theme-layout.interface.d.ts +14 -0
  82. package/dist/libs/domain/interface/theme/layout/theme-radii.interface.d.ts +16 -0
  83. package/dist/libs/domain/interface/theme/layout/theme-shadow-colors.interface.d.ts +13 -0
  84. package/dist/libs/domain/interface/theme/layout/theme-shadows.interface.d.ts +16 -0
  85. package/dist/libs/domain/interface/theme/layout/theme-spacing.interface.d.ts +20 -0
  86. package/dist/libs/domain/interface/theme/layout/theme-z-index.interface.d.ts +16 -0
  87. package/dist/libs/domain/interface/theme/preferences/index.d.ts +5 -0
  88. package/dist/libs/domain/interface/theme/preferences/theme-context.interface.d.ts +12 -0
  89. package/dist/libs/domain/interface/theme/preferences/theme-preference-configuration.interface.d.ts +11 -0
  90. package/dist/libs/domain/interface/theme/preferences/theme-preference-result.interface.d.ts +11 -0
  91. package/dist/libs/domain/interface/theme/preferences/theme-preference-state.interface.d.ts +10 -0
  92. package/dist/libs/domain/interface/theme/preferences/theme-provider.interface.d.ts +13 -0
  93. package/dist/libs/domain/interface/theme/typography/index.d.ts +5 -0
  94. package/dist/libs/domain/interface/theme/typography/theme-font-family.interface.d.ts +13 -0
  95. package/dist/libs/domain/interface/theme/typography/theme-font-sizes.interface.d.ts +20 -0
  96. package/dist/libs/domain/interface/theme/typography/theme-font-weights.interface.d.ts +17 -0
  97. package/dist/libs/domain/interface/theme/typography/theme-text-style.interface.d.ts +18 -0
  98. package/dist/libs/domain/interface/theme/typography/theme-typography.interface.d.ts +37 -0
  99. package/dist/libs/domain/interface/translation.interface.d.ts +56 -0
  100. package/dist/libs/domain/types/index.d.ts +2 -0
  101. package/dist/libs/domain/types/theme/index.d.ts +20 -0
  102. package/dist/libs/domain/types/theme/theme-animation.type.d.ts +18 -0
  103. package/dist/libs/domain/types/theme/theme-border.type.d.ts +7 -0
  104. package/dist/libs/domain/types/theme/theme-brand.type.d.ts +7 -0
  105. package/dist/libs/domain/types/theme/theme-category.type.d.ts +12 -0
  106. package/dist/libs/domain/types/theme/theme-color-scale.type.d.ts +6 -0
  107. package/dist/libs/domain/types/theme/theme-css.type.d.ts +15 -0
  108. package/dist/libs/domain/types/theme/theme-effect.type.d.ts +7 -0
  109. package/dist/libs/domain/types/theme/theme-font-weights.type.d.ts +7 -0
  110. package/dist/libs/domain/types/theme/theme-font.type.d.ts +19 -0
  111. package/dist/libs/domain/types/theme/theme-gradient.type.d.ts +12 -0
  112. package/dist/libs/domain/types/theme/theme-layout.type.d.ts +24 -0
  113. package/dist/libs/domain/types/theme/theme-name.types.d.ts +6 -0
  114. package/dist/libs/domain/types/theme/theme-preference.type.d.ts +8 -0
  115. package/dist/libs/domain/types/theme/theme-shadow.type.d.ts +7 -0
  116. package/dist/libs/domain/types/theme/theme-state.type.d.ts +7 -0
  117. package/dist/libs/domain/types/theme/theme-surface.type.d.ts +7 -0
  118. package/dist/libs/domain/types/theme/theme-text-style.type.d.ts +12 -0
  119. package/dist/libs/domain/types/theme/theme-text.type.d.ts +7 -0
  120. package/dist/libs/domain/types/theme/theme-typography.type.d.ts +7 -0
  121. package/dist/libs/domain/types/theme/theme-value.type.d.ts +12 -0
  122. package/dist/libs/domain/types/translation.types.d.ts +33 -0
  123. package/dist/libs/index.d.ts +4 -0
  124. package/dist/libs/infraestructura/index.d.ts +1 -0
  125. package/dist/libs/infraestructura/storage/encrypted-preference.storage.d.ts +19 -0
  126. package/dist/libs/infraestructura/storage/index.d.ts +3 -0
  127. package/dist/libs/infraestructura/storage/language-preference.storage.d.ts +18 -0
  128. package/dist/libs/infraestructura/storage/theme-preference.storage.d.ts +19 -0
  129. package/package.json +15 -3
@@ -0,0 +1,19 @@
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
+ }
@@ -0,0 +1,6 @@
1
+ export * from './theme-button.interface';
2
+ export * from './theme-card.interface';
3
+ export * from './theme-components.interface';
4
+ export * from './theme-input.interface';
5
+ export * from './theme-interactive-colors.interface';
6
+ export * from './theme-modal.interface';
@@ -0,0 +1,18 @@
1
+ import { ThemeFontWeight, ThemeInteractiveColors } from '../../..';
2
+ /**
3
+ * @description Define los tokens de un boton.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeButton {
8
+ readonly primary: ThemeInteractiveColors;
9
+ readonly secondary: ThemeInteractiveColors;
10
+ readonly outline: ThemeInteractiveColors;
11
+ readonly ghost: ThemeInteractiveColors;
12
+ readonly danger: ThemeInteractiveColors;
13
+ readonly radius: string;
14
+ readonly fontWeight: ThemeFontWeight;
15
+ readonly height: string;
16
+ readonly paddingInline: string;
17
+ readonly transition: string;
18
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description Define los tokens de una tarjeta.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeCard {
7
+ readonly background: string;
8
+ readonly foreground: string;
9
+ readonly border: string;
10
+ readonly radius: string;
11
+ readonly shadow: string;
12
+ readonly padding: string;
13
+ readonly hoverTransform: string;
14
+ readonly transition: string;
15
+ }
@@ -0,0 +1,12 @@
1
+ import { ThemeButton, ThemeCard, ThemeInput, ThemeModal } from '../../..';
2
+ /**
3
+ * @description Define las propiedades visuales de los componentes.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeComponents {
8
+ readonly button: ThemeButton;
9
+ readonly input: ThemeInput;
10
+ readonly card: ThemeCard;
11
+ readonly modal: ThemeModal;
12
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @description Define los tokens de un campo de entrada.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeInput {
7
+ readonly background: string;
8
+ readonly foreground: string;
9
+ readonly placeholder: string;
10
+ readonly border: string;
11
+ readonly borderHover: string;
12
+ readonly borderFocus: string;
13
+ readonly borderError: string;
14
+ readonly radius: string;
15
+ readonly height: string;
16
+ readonly paddingInline: string;
17
+ readonly shadowFocus: string;
18
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Define los colores de los componentes interactivos.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeInteractiveColors {
7
+ readonly background: string;
8
+ readonly backgroundHover: string;
9
+ readonly backgroundActive: string;
10
+ readonly backgroundDisabled: string;
11
+ readonly foreground: string;
12
+ readonly foregroundHover: string;
13
+ readonly border: string;
14
+ readonly borderHover: string;
15
+ readonly borderFocus: string;
16
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @description Define los tokens de un modal.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeModal {
7
+ readonly background: string;
8
+ readonly foreground: string;
9
+ readonly border: string;
10
+ readonly radius: string;
11
+ readonly shadow: string;
12
+ readonly backdrop: string;
13
+ readonly maxWidth: string;
14
+ }
@@ -0,0 +1,11 @@
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
+ }
@@ -0,0 +1,2 @@
1
+ export * from './app-theme.interface';
2
+ export * from './theme.interface';
@@ -0,0 +1,26 @@
1
+ import { ThemeBrandColors, ThemeBorderColors, ThemeColorPalette, ThemeDataColors, ThemeOverlayColors, ThemeStateColors, ThemeSurfaceColors, ThemeTextColors, ThemeAccessibility, ThemeComponents, ThemeAnimations, ThemeEffects, ThemeGradients, ThemeTransitions, ThemeLayout, ThemeShadowColors, ThemeShadows, ThemeTypography } from '../../..';
2
+ /**
3
+ * @description Define la configuracion completa de tokens visuales.
4
+ * @author Steveen Cues
5
+ * @version 2.0.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 shadows: ThemeShadows;
19
+ readonly shadowColors: ThemeShadowColors;
20
+ readonly effects: ThemeEffects;
21
+ readonly transitions: ThemeTransitions;
22
+ readonly animations: ThemeAnimations;
23
+ readonly layout: ThemeLayout;
24
+ readonly components: ThemeComponents;
25
+ readonly accessibility: ThemeAccessibility;
26
+ }
@@ -0,0 +1,7 @@
1
+ export * from './theme-animation.interface';
2
+ export * from './theme-animations.interface';
3
+ export * from './theme-effects.interface';
4
+ export * from './theme-gradient-stop.interface';
5
+ export * from './theme-gradient.interface';
6
+ export * from './theme-gradients.interface';
7
+ export * from './theme-transitions.interface';
@@ -0,0 +1,17 @@
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
+ }
@@ -0,0 +1,20 @@
1
+ import { ThemeAnimation } from '../../..';
2
+ /**
3
+ * @description Define las animaciones disponibles.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeAnimations {
8
+ readonly fadeIn: ThemeAnimation;
9
+ readonly fadeOut: ThemeAnimation;
10
+ readonly slideIn: ThemeAnimation;
11
+ readonly slideOut: ThemeAnimation;
12
+ readonly scaleIn: ThemeAnimation;
13
+ readonly scaleOut: ThemeAnimation;
14
+ readonly pulse: ThemeAnimation;
15
+ readonly shimmer: ThemeAnimation;
16
+ readonly gradient: ThemeAnimation;
17
+ readonly glow: ThemeAnimation;
18
+ readonly float: ThemeAnimation;
19
+ readonly spin: ThemeAnimation;
20
+ }
@@ -0,0 +1,22 @@
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
+ }
@@ -0,0 +1,11 @@
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
+ }
@@ -0,0 +1,16 @@
1
+ import { ThemeDuration, ThemeGradientDirection, ThemeGradientStop, ThemeGradientType } from '../../..';
2
+ /**
3
+ * @description Define un gradiente reutilizable.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeGradient {
8
+ readonly type: ThemeGradientType;
9
+ readonly direction?: ThemeGradientDirection;
10
+ readonly angle?: string;
11
+ readonly stops: readonly ThemeGradientStop[];
12
+ readonly css: string;
13
+ readonly animated: boolean;
14
+ readonly animationName?: string;
15
+ readonly animationDuration?: ThemeDuration;
16
+ }
@@ -0,0 +1,17 @@
1
+ import { ThemeGradient } from '../../..';
2
+ /**
3
+ * @description Define los gradientes disponibles del tema.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeGradients {
8
+ readonly primary: ThemeGradient;
9
+ readonly secondary: ThemeGradient;
10
+ readonly accent: ThemeGradient;
11
+ readonly background: ThemeGradient;
12
+ readonly surface: ThemeGradient;
13
+ readonly sunset: ThemeGradient;
14
+ readonly ocean: ThemeGradient;
15
+ readonly aurora: ThemeGradient;
16
+ readonly rainbow: ThemeGradient;
17
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @description Define las duraciones y curvas de las transiciones.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeTransitions {
7
+ readonly instant: string;
8
+ readonly fast: string;
9
+ readonly normal: string;
10
+ readonly slow: string;
11
+ readonly easing: {
12
+ readonly standard: string;
13
+ readonly emphasized: string;
14
+ readonly decelerate: string;
15
+ readonly accelerate: string;
16
+ readonly spring: string;
17
+ };
18
+ }
@@ -0,0 +1,8 @@
1
+ export * from './accessibility';
2
+ export * from './colors';
3
+ export * from './components';
4
+ export * from './core';
5
+ export * from './effects';
6
+ export * from './layout';
7
+ export * from './preferences';
8
+ export * from './typography';
@@ -0,0 +1,8 @@
1
+ export * from './theme-breakpoints.interface';
2
+ export * from './theme-dimensions.interface';
3
+ export * from './theme-layout.interface';
4
+ export * from './theme-radii.interface';
5
+ export * from './theme-shadow-colors.interface';
6
+ export * from './theme-shadows.interface';
7
+ export * from './theme-spacing.interface';
8
+ export * from './theme-z-index.interface';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Define los puntos de parada para el diseno adaptable.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeBreakpoints {
7
+ readonly xs: string;
8
+ readonly sm: string;
9
+ readonly md: string;
10
+ readonly lg: string;
11
+ readonly xl: string;
12
+ readonly "2xl": string;
13
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description Define las dimensiones principales del diseno.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeDimensions {
7
+ readonly headerHeight: string;
8
+ readonly sidebarWidth: string;
9
+ readonly sidebarCollapsedWidth: string;
10
+ readonly contentMaxWidth: string;
11
+ readonly modalMaxWidth: string;
12
+ readonly inputHeight: string;
13
+ readonly buttonHeight: string;
14
+ readonly iconSize: string;
15
+ }
@@ -0,0 +1,14 @@
1
+ import { ThemeDensity, ThemeBreakpoints, ThemeDimensions, ThemeRadii, ThemeSpacing, ThemeZIndex } from '../../..';
2
+ /**
3
+ * @description Define la configuracion de layout del tema.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeLayout {
8
+ readonly density: ThemeDensity;
9
+ readonly spacing: ThemeSpacing;
10
+ readonly radii: ThemeRadii;
11
+ readonly breakpoints: ThemeBreakpoints;
12
+ readonly dimensions: ThemeDimensions;
13
+ readonly zIndex: ThemeZIndex;
14
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Define los radios de borde.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeRadii {
7
+ readonly none: string;
8
+ readonly xs: string;
9
+ readonly sm: string;
10
+ readonly md: string;
11
+ readonly lg: string;
12
+ readonly xl: string;
13
+ readonly "2xl": string;
14
+ readonly "3xl": string;
15
+ readonly full: string;
16
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Define la configuracion de sombras del tema.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeShadowColors {
7
+ readonly color: string;
8
+ readonly subtle: string;
9
+ readonly small: string;
10
+ readonly medium: string;
11
+ readonly large: string;
12
+ readonly glow: string;
13
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Define la escala de elevacion visual.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeShadows {
7
+ readonly none: string;
8
+ readonly xs: string;
9
+ readonly sm: string;
10
+ readonly md: string;
11
+ readonly lg: string;
12
+ readonly xl: string;
13
+ readonly "2xl": string;
14
+ readonly inner: string;
15
+ readonly glow: string;
16
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @description Define los espacios disponibles para el diseno.
3
+ * @author Steveen Cues
4
+ * @version 2.1.0
5
+ */
6
+ export interface ThemeSpacing {
7
+ readonly "0": string;
8
+ readonly "1": string;
9
+ readonly "2": string;
10
+ readonly "3": string;
11
+ readonly "4": string;
12
+ readonly "5": string;
13
+ readonly "6": string;
14
+ readonly "8": string;
15
+ readonly "10": string;
16
+ readonly "12": string;
17
+ readonly "16": string;
18
+ readonly "20": string;
19
+ readonly "24": string;
20
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Define las capas de apilamiento visual.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeZIndex {
7
+ readonly base: number;
8
+ readonly dropdown: number;
9
+ readonly sticky: number;
10
+ readonly header: number;
11
+ readonly overlay: number;
12
+ readonly modal: number;
13
+ readonly popover: number;
14
+ readonly tooltip: number;
15
+ readonly toast: number;
16
+ }
@@ -0,0 +1,5 @@
1
+ export * from './theme-context.interface';
2
+ export * from './theme-preference-configuration.interface';
3
+ export * from './theme-preference-result.interface';
4
+ export * from './theme-preference-state.interface';
5
+ export * from './theme-provider.interface';
@@ -0,0 +1,12 @@
1
+ import { AppTheme, ThemeName } from '../../..';
2
+ /**
3
+ * @description Define el contrato publico del contexto de temas.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface IThemeContextValue {
8
+ readonly theme: AppTheme;
9
+ readonly themeName: ThemeName;
10
+ readonly themes: readonly AppTheme[];
11
+ readonly setTheme: (theme: ThemeName) => void;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { IThemeProviderProps } from '../../..';
2
+ /**
3
+ * @description Define la configuracion de las preferencias de temas.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemePreferenceConfiguration {
8
+ readonly themes: IThemeProviderProps["themes"];
9
+ readonly initialTheme: IThemeProviderProps["initialTheme"];
10
+ readonly themeEncryptionKey: IThemeProviderProps["themeEncryptionKey"];
11
+ }
@@ -0,0 +1,11 @@
1
+ import { ThemeName } from '../../..';
2
+ /**
3
+ * @description Define el resultado del hook de preferencias de temas.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemePreferenceResult {
8
+ readonly themeName: ThemeName;
9
+ readonly isPreferenceLoaded: boolean;
10
+ readonly setThemeName: (nextTheme: ThemeName) => void;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { ThemeName, ThemePreferenceConfiguration } from '../../..';
2
+ /**
3
+ * @description Define el estado de las preferencias de temas.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemePreferenceState extends ThemePreferenceConfiguration {
8
+ readonly themeName: ThemeName;
9
+ readonly isLoaded: boolean;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ import { AppTheme, ThemeName } from '../../..';
3
+ /**
4
+ * @description Define las propiedades del proveedor de temas.
5
+ * @author Steveen Cues
6
+ * @version 2.0.0
7
+ */
8
+ export interface IThemeProviderProps {
9
+ readonly themes: readonly AppTheme[];
10
+ readonly initialTheme: ThemeName;
11
+ readonly themeEncryptionKey: string;
12
+ readonly children: ReactNode;
13
+ }
@@ -0,0 +1,5 @@
1
+ export * from './theme-font-family.interface';
2
+ export * from './theme-font-sizes.interface';
3
+ export * from './theme-font-weights.interface';
4
+ export * from './theme-text-style.interface';
5
+ export * from './theme-typography.interface';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Define las familias tipograficas del tema.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeFontFamily {
7
+ readonly sans: string;
8
+ readonly serif: string;
9
+ readonly mono: string;
10
+ readonly display: string;
11
+ readonly heading: string;
12
+ readonly body: string;
13
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @description Define los tamanos de fuente.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export interface ThemeFontSizes {
7
+ readonly xs: string;
8
+ readonly sm: string;
9
+ readonly md: string;
10
+ readonly lg: string;
11
+ readonly xl: string;
12
+ readonly "2xl": string;
13
+ readonly "3xl": string;
14
+ readonly "4xl": string;
15
+ readonly "5xl": string;
16
+ readonly "6xl": string;
17
+ readonly "7xl": string;
18
+ readonly "8xl": string;
19
+ readonly "9xl": string;
20
+ }
@@ -0,0 +1,17 @@
1
+ import { ThemeFontWeightValue } from '../../..';
2
+ /**
3
+ * @description Define los pesos de fuente del sistema tipografico.
4
+ * @author Steveen Cues
5
+ * @version 2.1.0
6
+ */
7
+ export interface ThemeFontWeights {
8
+ readonly thin: ThemeFontWeightValue;
9
+ readonly extraLight: ThemeFontWeightValue;
10
+ readonly light: ThemeFontWeightValue;
11
+ readonly regular: ThemeFontWeightValue;
12
+ readonly medium: ThemeFontWeightValue;
13
+ readonly semiBold: ThemeFontWeightValue;
14
+ readonly bold: ThemeFontWeightValue;
15
+ readonly extraBold: ThemeFontWeightValue;
16
+ readonly black: ThemeFontWeightValue;
17
+ }
@@ -0,0 +1,18 @@
1
+ import { ThemeFontStyle, ThemeFontWeight, ThemeTextAlignment, ThemeTextTransform } from '../../..';
2
+ /**
3
+ * @description Define los estilos tipograficos reutilizables.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeTextStyle {
8
+ readonly fontFamily: string;
9
+ readonly fontSize: string;
10
+ readonly fontWeight: ThemeFontWeight;
11
+ readonly lineHeight: string | number;
12
+ readonly letterSpacing: string;
13
+ readonly color: string;
14
+ readonly fontStyle: ThemeFontStyle;
15
+ readonly textAlign: ThemeTextAlignment;
16
+ readonly textTransform: ThemeTextTransform;
17
+ readonly textDecoration: string;
18
+ }