@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,7 @@
1
+ import { IThemeContextValue } from '../../domain';
2
+ /**
3
+ * @description Contexto interno del sistema de temas.
4
+ * @author Steveen Cues
5
+ * @version 1.0.0
6
+ */
7
+ export declare const ThemeContext: import('react').Context<IThemeContextValue | null>;
@@ -0,0 +1,7 @@
1
+ import { ILanguageContextValue } from '../../domain';
2
+ /**
3
+ * @description Contexto interno de traducciones de la libreria.
4
+ * @author Steveen Cues
5
+ * @version 1.0.0
6
+ */
7
+ export declare const TranslateContext: import('react').Context<ILanguageContextValue | null>;
@@ -0,0 +1,3 @@
1
+ export * from './use-language';
2
+ export * from './use-theme';
3
+ export * from './use-theme-preference.hook';
@@ -0,0 +1,8 @@
1
+ import { ILanguageContextValue } from '../../domain';
2
+ /**
3
+ * @description Obtiene el idioma actual y la funcion de traduccion.
4
+ * Requiere que el componente este dentro de TranslateProvider.
5
+ * @author Steveen Cues
6
+ * @version 1.0.0
7
+ */
8
+ export declare function useLanguage(): ILanguageContextValue;
@@ -0,0 +1,7 @@
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;
@@ -0,0 +1,8 @@
1
+ import { IThemeContextValue } from '../../domain';
2
+ /**
3
+ * @description Obtiene el tema activo, los temas disponibles y
4
+ * la funcion para cambiar de tema.
5
+ * @author Steveen Cues
6
+ * @version 1.0.0
7
+ */
8
+ export declare function useTheme(): IThemeContextValue;
@@ -0,0 +1,5 @@
1
+ export * from './contexts';
2
+ export * from './hooks';
3
+ export * from './providers';
4
+ export * from './utils';
5
+ export * from './services';
@@ -0,0 +1,2 @@
1
+ export * from './translate.provider';
2
+ export * from './theme-provider';
@@ -0,0 +1,9 @@
1
+ import { IThemeProviderProps } from '../../domain';
2
+ import { JSX } from 'react';
3
+ /**
4
+ * @description Provides the active theme and allows theme changes.
5
+ * Restores and persists the encrypted theme preference.
6
+ * @author Steveen Cues
7
+ * @version 4.0.0
8
+ */
9
+ export declare function ThemeProvider({ themes, initialTheme, themeEncryptionKey, children, }: IThemeProviderProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'react';
2
+ import { ITranslateProviderProps } from '../../domain';
3
+ /**
4
+ * @description Provides the active language and translation functions.
5
+ * @author Steveen Cues
6
+ * @version 4.0.0
7
+ */
8
+ export declare function TranslateProvider({ translations, initialLanguage, fallbackLanguage, languageEncryptionKey, children, }: ITranslateProviderProps): JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @description Encrypts text using AES-GCM.
3
+ * @param value Text to encrypt.
4
+ * @param secret Encryption secret.
5
+ * @returns Encoded encrypted value or undefined when unavailable.
6
+ * @author Steveen Cues
7
+ * @version 2.0.0
8
+ */
9
+ export declare function encryptText(value: string, secret: string): Promise<string | undefined>;
10
+ /**
11
+ * @description Decrypts an AES-GCM encrypted value.
12
+ * @param value Encoded initialization vector and ciphertext.
13
+ * @param secret Encryption secret.
14
+ * @returns Original text or undefined if decryption fails.
15
+ * @author Steveen Cues
16
+ * @version 2.0.0
17
+ */
18
+ export declare function decryptText(value: string, secret: string): Promise<string | undefined>;
@@ -0,0 +1 @@
1
+ export * from './encryption.service';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Encodes bytes into Base64.
3
+ * @param bytes Bytes to encode.
4
+ * @returns Base64 string.
5
+ * @author Steveen Cues
6
+ * @version 1.0.0
7
+ */
8
+ export declare function encodeBase64(bytes: Uint8Array): string;
9
+ /**
10
+ * @description Decodes Base64 into bytes.
11
+ * @param value Base64 string.
12
+ * @returns Decoded bytes.
13
+ * @author Steveen Cues
14
+ * @version 1.0.0
15
+ */
16
+ export declare function decodeBase64(value: string): Uint8Array<ArrayBuffer>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description Obtains the cryptographic API when available.
3
+ * @returns Cryptographic API or undefined if unavailable.
4
+ * @author Steveen Cues
5
+ * @version 1.0.0
6
+ */
7
+ export declare function getCryptoApi(): Crypto | undefined;
@@ -0,0 +1,6 @@
1
+ export * from './translation.utils';
2
+ export * from './theme.utils';
3
+ export * from './crypto-api.util';
4
+ export * from './storage-api.util';
5
+ export * from './text-encoding.util';
6
+ export * from './base64.util';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description Obtains localStorage when available.
3
+ * @returns Browser storage or undefined if unavailable.
4
+ * @author Steveen Cues
5
+ * @version 1.0.0
6
+ */
7
+ export declare function getLocalStorage(): Storage | undefined;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Encodes text into UTF-8 bytes.
3
+ * @param value Text to encode.
4
+ * @returns Encoded bytes.
5
+ * @author Steveen Cues
6
+ * @version 1.0.0
7
+ */
8
+ export declare function encodeText(value: string): Uint8Array<ArrayBuffer>;
9
+ /**
10
+ * @description Decodes UTF-8 bytes into text.
11
+ * @param value Encoded bytes.
12
+ * @returns Decoded text.
13
+ * @author Steveen Cues
14
+ * @version 1.0.0
15
+ */
16
+ export declare function decodeText(value: ArrayBuffer): string;
@@ -0,0 +1,26 @@
1
+ import { AppTheme, ThemeCssVariables, ThemeName } from '../../domain';
2
+ /**
3
+ * @description Resuelve el tema inicial solicitado o utiliza el primero registrado.
4
+ * @author Steveen Cues
5
+ * @version 1.0.0
6
+ */
7
+ export declare function resolveInitialTheme(themes: readonly AppTheme[], initialTheme: ThemeName): AppTheme;
8
+ /**
9
+ * @description Resuelve el tema activo o recupera uno disponible.
10
+ * @author Steveen Cues
11
+ * @version 1.0.0
12
+ */
13
+ export declare function resolveActiveTheme(themes: readonly AppTheme[], selectedTheme: ThemeName, initialTheme: ThemeName): AppTheme;
14
+ /**
15
+ * @description Valida que el tema solicitado este registrado.
16
+ * @throws {Error} Cuando el tema no esta registrado.
17
+ * @author Steveen Cues
18
+ * @version 1.0.0
19
+ */
20
+ export declare function assertThemeExists(themes: readonly AppTheme[], themeName: ThemeName): void;
21
+ /**
22
+ * @description Genera todas las variables CSS a partir de los tokens del tema.
23
+ * @author Steveen Cues
24
+ * @version 2.0.0
25
+ */
26
+ export declare function createThemeVariables(theme: AppTheme): ThemeCssVariables;
@@ -0,0 +1,64 @@
1
+ import { TranslationCatalog, TranslationDictionary, TranslationParams } from '../../domain';
2
+ /**
3
+ * @description Obtiene el idioma inicial disponible, priorizando el
4
+ * idioma solicitado, el idioma de respaldo y el primer idioma registrado.
5
+ * @param translations Catalogo de traducciones.
6
+ * @param initialLanguage Idioma solicitado inicialmente.
7
+ * @param fallbackLanguage Idioma de respaldo.
8
+ * @returns Codigo del idioma inicial disponible.
9
+ * @throws Error cuando el catalogo esta vacio.
10
+ * @author Steveen Cues
11
+ * @version 2.0.0
12
+ */
13
+ export declare function resolveInitialLanguage(translations: TranslationCatalog, initialLanguage: string, fallbackLanguage: string): string;
14
+ /**
15
+ * @description Resuelve el idioma seleccionado y utiliza el idioma
16
+ * inicial, el respaldo o el primer idioma disponible si es necesario.
17
+ * @param translations Catalogo de traducciones.
18
+ * @param selectedLanguage Idioma seleccionado actualmente.
19
+ * @param initialLanguage Idioma inicial configurado.
20
+ * @param fallbackLanguage Idioma de respaldo.
21
+ * @returns Codigo del idioma activo.
22
+ * @author Steveen Cues
23
+ * @version 2.0.0
24
+ */
25
+ export declare function resolveActiveLanguage(translations: TranslationCatalog, selectedLanguage: string, initialLanguage: string, fallbackLanguage: string): string;
26
+ /**
27
+ * @description Valida que un idioma este registrado en el catalogo.
28
+ * @param translations Catalogo de traducciones.
29
+ * @param language Codigo del idioma que se desea validar.
30
+ * @returns No devuelve ningun valor.
31
+ * @throws Error cuando el idioma no esta disponible.
32
+ * @author Steveen Cues
33
+ * @version 2.0.0
34
+ */
35
+ export declare function assertLanguageExists(translations: TranslationCatalog, language: string): void;
36
+ /**
37
+ * @description Busca una traduccion dentro de un diccionario.
38
+ * @param dictionary Diccionario del idioma.
39
+ * @param key Clave con notacion de puntos.
40
+ * @returns Traduccion encontrada o undefined.
41
+ * @author Steveen Cues
42
+ * @version 2.0.0
43
+ */
44
+ export declare function findTranslation(dictionary: TranslationDictionary | undefined, key: string): string | undefined;
45
+ /**
46
+ * @description Sustituye los marcadores {{name}} usando los parametros.
47
+ * @param message Mensaje que se desea interpolar.
48
+ * @param params Valores disponibles para la interpolacion.
49
+ * @returns Mensaje con los parametros sustituidos.
50
+ * @author Steveen Cues
51
+ * @version 2.0.0
52
+ */
53
+ export declare function interpolateTranslation(message: string, params?: TranslationParams): string;
54
+ /**
55
+ * @description Traduce un mensaje aplicando respaldo e interpolacion.
56
+ * @param currentDictionary Diccionario del idioma activo.
57
+ * @param fallbackDictionary Diccionario del idioma de respaldo.
58
+ * @param key Clave de traduccion.
59
+ * @param params Parametros de interpolacion.
60
+ * @returns Mensaje final traducido e interpolado.
61
+ * @author Steveen Cues
62
+ * @version 2.0.0
63
+ */
64
+ export declare function translateMessage(currentDictionary: TranslationDictionary | undefined, fallbackDictionary: TranslationDictionary | undefined, key: string, params?: TranslationParams): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ export declare const AES_GCM_ALGORITHM = "AES-GCM";
2
+ export declare const AES_GCM_IV_LENGTH = 12;
3
+ export declare const SHA_256_ALGORITHM = "SHA-256";
4
+ export declare const RAW_KEY_FORMAT = "raw";
5
+ export declare const STORAGE_VALUE_SEPARATOR = ".";
6
+ export declare const KEY_USAGES: KeyUsage[];
7
+ export declare const ENCRYPTED_VALUE_PART_COUNT = 2;
@@ -0,0 +1,4 @@
1
+ export * from './translation.constants';
2
+ export * from './encrypted-preference.constanst';
3
+ export * from './theme-css-variable.const';
4
+ export * from './theme-font-weight.const';
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @description Define los nombres de las variables CSS de la libreria.
3
+ * @author Steveen Cues
4
+ * @version 1.0.0
5
+ */
6
+ export declare const ThemeCssVariable: {
7
+ readonly SURFACE_BACKGROUND: "--rui-surface-background";
8
+ readonly SURFACE_SURFACE: "--rui-surface-surface";
9
+ readonly SURFACE_SURFACE_ELEVATED: "--rui-surface-surface-elevated";
10
+ readonly SURFACE_SURFACE_HOVER: "--rui-surface-surface-hover";
11
+ readonly SURFACE_SURFACE_ACTIVE: "--rui-surface-surface-active";
12
+ readonly SURFACE_SURFACE_DISABLED: "--rui-surface-surface-disabled";
13
+ readonly TEXT_PRIMARY: "--rui-text-primary";
14
+ readonly TEXT_SECONDARY: "--rui-text-secondary";
15
+ readonly TEXT_MUTED: "--rui-text-muted";
16
+ readonly TEXT_DISABLED: "--rui-text-disabled";
17
+ readonly TEXT_INVERSE: "--rui-text-inverse";
18
+ readonly TEXT_LINK: "--rui-text-link";
19
+ readonly TEXT_LINK_HOVER: "--rui-text-link-hover";
20
+ readonly BRAND_PRIMARY: "--rui-brand-primary";
21
+ readonly BRAND_PRIMARY_HOVER: "--rui-brand-primary-hover";
22
+ readonly BRAND_PRIMARY_ACTIVE: "--rui-brand-primary-active";
23
+ readonly BRAND_PRIMARY_CONTRAST: "--rui-brand-primary-contrast";
24
+ readonly BRAND_SECONDARY: "--rui-brand-secondary";
25
+ readonly BRAND_SECONDARY_HOVER: "--rui-brand-secondary-hover";
26
+ readonly BRAND_SECONDARY_ACTIVE: "--rui-brand-secondary-active";
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";
69
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Defines the available typography weights.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export declare const THEME_FONT_WEIGHT: {
7
+ readonly THIN: 100;
8
+ readonly EXTRA_LIGHT: 200;
9
+ readonly LIGHT: 300;
10
+ readonly REGULAR: 400;
11
+ readonly MEDIUM: 500;
12
+ readonly SEMI_BOLD: 600;
13
+ readonly BOLD: 700;
14
+ readonly EXTRA_BOLD: 800;
15
+ readonly BLACK: 900;
16
+ };
@@ -0,0 +1 @@
1
+ export declare const GLOBAL_REGEX_FLAG = "g";
@@ -0,0 +1 @@
1
+ export * from './translation-regex.enum';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @description Expresiones regulares reutilizables para traducciones.
3
+ * @author Steveen Cues
4
+ * @version 2.0.0
5
+ */
6
+ export declare const TranslationRegex: Readonly<{
7
+ INTERPOLATION_PLACEHOLDER: string;
8
+ }>;
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export * from './interface';
3
+ export * from './enums';
4
+ export * from './constants';
@@ -0,0 +1,4 @@
1
+ export * from './translation.interface';
2
+ export * from './manifest';
3
+ export * from './theme';
4
+ export * from './manifest';
@@ -0,0 +1 @@
1
+ export * from './theme-manifest.interface';
@@ -0,0 +1,23 @@
1
+ import { ThemeCategory, ThemeColorScheme, ThemeName } from '../..';
2
+ /**
3
+ * @description Define las propiedades basicas de un manifiesto de tema.
4
+ * @author Steveen Cues
5
+ * @version 2.0.0
6
+ */
7
+ export interface ThemeManifest {
8
+ readonly id: ThemeName;
9
+ readonly name: string;
10
+ readonly description: string;
11
+ readonly version: string;
12
+ readonly author: string;
13
+ readonly category: ThemeCategory;
14
+ readonly colorScheme: ThemeColorScheme;
15
+ readonly tags: readonly string[];
16
+ readonly preview?: string;
17
+ readonly homepage?: string;
18
+ readonly license?: string;
19
+ readonly minLibraryVersion?: string;
20
+ readonly supportedFeatures: readonly string[];
21
+ readonly isDefault: boolean;
22
+ readonly isExperimental: boolean;
23
+ }
@@ -0,0 +1 @@
1
+ export * from './theme-accessibility.interface';
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,8 @@
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';
@@ -0,0 +1,17 @@
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
+ }
@@ -0,0 +1,24 @@
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
+ }
@@ -0,0 +1,30 @@
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
+ }
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,23 @@
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
+ }
@@ -0,0 +1,19 @@
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
+ }