@steveencues/starter-react-ui 0.0.0-stage → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +392 -2
  2. package/dist/favicon.svg +1 -0
  3. package/dist/icons.svg +24 -0
  4. package/dist/index.cjs +2 -0
  5. package/dist/index.cjs.map +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +602 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/libs/aplicacion/contexts/index.d.ts +2 -0
  10. package/dist/libs/aplicacion/contexts/theme.context.d.ts +7 -0
  11. package/dist/libs/aplicacion/contexts/translate.context.d.ts +7 -0
  12. package/dist/libs/aplicacion/hooks/index.d.ts +3 -0
  13. package/dist/libs/aplicacion/hooks/use-language.d.ts +8 -0
  14. package/dist/libs/aplicacion/hooks/use-theme-preference.hook.d.ts +7 -0
  15. package/dist/libs/aplicacion/hooks/use-theme.d.ts +8 -0
  16. package/dist/libs/aplicacion/index.d.ts +5 -0
  17. package/dist/libs/aplicacion/providers/index.d.ts +2 -0
  18. package/dist/libs/aplicacion/providers/theme-provider.d.ts +9 -0
  19. package/dist/libs/aplicacion/providers/translate.provider.d.ts +8 -0
  20. package/dist/libs/aplicacion/services/encryption.service.d.ts +18 -0
  21. package/dist/libs/aplicacion/services/index.d.ts +1 -0
  22. package/dist/libs/aplicacion/utils/base64.util.d.ts +16 -0
  23. package/dist/libs/aplicacion/utils/crypto-api.util.d.ts +7 -0
  24. package/dist/libs/aplicacion/utils/index.d.ts +6 -0
  25. package/dist/libs/aplicacion/utils/storage-api.util.d.ts +7 -0
  26. package/dist/libs/aplicacion/utils/text-encoding.util.d.ts +16 -0
  27. package/dist/libs/aplicacion/utils/theme.utils.d.ts +26 -0
  28. package/dist/libs/aplicacion/utils/translation.utils.d.ts +64 -0
  29. package/dist/libs/components/Button/Button.d.ts +1 -0
  30. package/dist/libs/components/Button/button.types.d.ts +1 -0
  31. package/dist/libs/components/Button/index.d.ts +1 -0
  32. package/dist/libs/components/Card/Card.d.ts +1 -0
  33. package/dist/libs/components/Card/card.types.d.ts +1 -0
  34. package/dist/libs/components/Card/index.d.ts +1 -0
  35. package/dist/libs/components/Input/Input.d.ts +1 -0
  36. package/dist/libs/components/Input/index.d.ts +1 -0
  37. package/dist/libs/components/Input/input.types.d.ts +1 -0
  38. package/dist/libs/components/index.d.ts +1 -0
  39. package/dist/libs/components/styles/index.d.ts +1 -0
  40. package/dist/libs/domain/constants/encrypted-preference.constanst.d.ts +7 -0
  41. package/dist/libs/domain/constants/index.d.ts +3 -0
  42. package/dist/libs/domain/constants/theme-css-variable.const.d.ts +69 -0
  43. package/dist/libs/domain/constants/translation.constants.d.ts +1 -0
  44. package/dist/libs/domain/enums/index.d.ts +1 -0
  45. package/dist/libs/domain/enums/translation-regex.enum.d.ts +8 -0
  46. package/dist/libs/domain/index.d.ts +4 -0
  47. package/dist/libs/domain/interface/index.d.ts +2 -0
  48. package/dist/libs/domain/interface/theme.interface.d.ts +204 -0
  49. package/dist/libs/domain/interface/translation.interface.d.ts +56 -0
  50. package/dist/libs/domain/types/index.d.ts +3 -0
  51. package/dist/libs/domain/types/theme-name.types.d.ts +6 -0
  52. package/dist/libs/domain/types/theme.types.d.ts +64 -0
  53. package/dist/libs/domain/types/translation.types.d.ts +33 -0
  54. package/dist/libs/index.d.ts +4 -0
  55. package/dist/libs/infraestructura/index.d.ts +1 -0
  56. package/dist/libs/infraestructura/storage/encrypted-preference.storage.d.ts +19 -0
  57. package/dist/libs/infraestructura/storage/index.d.ts +3 -0
  58. package/dist/libs/infraestructura/storage/language-preference.storage.d.ts +18 -0
  59. package/dist/libs/infraestructura/storage/theme-preference.storage.d.ts +19 -0
  60. package/package.json +56 -3
package/dist/index.js ADDED
@@ -0,0 +1,602 @@
1
+ import { createContext as e, useCallback as t, useContext as n, useEffect as r, useMemo as i, useState as a } from "react";
2
+ import { jsx as o } from "react/jsx-runtime";
3
+ //#region src/libs/aplicacion/contexts/translate.context.ts
4
+ var s = e(null), c = e(null);
5
+ //#endregion
6
+ //#region src/libs/aplicacion/hooks/use-language.ts
7
+ function l() {
8
+ let e = n(s);
9
+ if (e === null) throw Error("useLanguage must be used inside TranslateProvider.");
10
+ return e;
11
+ }
12
+ //#endregion
13
+ //#region src/libs/aplicacion/hooks/use-theme.ts
14
+ function u() {
15
+ let e = n(c);
16
+ if (e === null) throw Error("useTheme must be used inside ThemeProvider.");
17
+ return e;
18
+ }
19
+ //#endregion
20
+ //#region src/libs/infraestructura/storage/encrypted-preference.storage.ts
21
+ async function d(e, t, n) {
22
+ if (t.length !== 0 && n.length !== 0) try {
23
+ let r = W();
24
+ if (r === void 0) return;
25
+ let i = await Q(t, n);
26
+ if (i === void 0) return;
27
+ r.setItem(e, i);
28
+ } catch {}
29
+ }
30
+ async function f(e, t) {
31
+ if (t.length !== 0) try {
32
+ let n = W();
33
+ if (n === void 0) return;
34
+ let r = n.getItem(e);
35
+ return r === null ? void 0 : await $(r, t);
36
+ } catch {
37
+ return;
38
+ }
39
+ }
40
+ //#endregion
41
+ //#region src/libs/infraestructura/storage/language-preference.storage.ts
42
+ var p = "starter-react-ui:language-preference:v1";
43
+ function m(e, t) {
44
+ return d(p, e, t);
45
+ }
46
+ async function h(e, t) {
47
+ let n = await f(p, t);
48
+ if (n !== void 0 && e.includes(n)) return n;
49
+ }
50
+ //#endregion
51
+ //#region src/libs/infraestructura/storage/theme-preference.storage.ts
52
+ var g = "starter-react-ui:theme-preference:v1";
53
+ function _(e, t) {
54
+ return d(g, e, t);
55
+ }
56
+ async function v(e, t) {
57
+ let n = await f(g, t);
58
+ if (n !== void 0) return e.find((e) => e.name === n)?.name;
59
+ }
60
+ //#endregion
61
+ //#region src/libs/aplicacion/hooks/use-theme-preference.hook.ts
62
+ function y(e, t, n) {
63
+ return {
64
+ ...e,
65
+ themeName: t,
66
+ isLoaded: n
67
+ };
68
+ }
69
+ function b(e, t) {
70
+ return e.themes === t.themes && e.initialTheme === t.initialTheme && e.themeEncryptionKey === t.themeEncryptionKey;
71
+ }
72
+ async function ee(e) {
73
+ try {
74
+ return await v(e.themes, e.themeEncryptionKey);
75
+ } catch {
76
+ return;
77
+ }
78
+ }
79
+ function te(e, t) {
80
+ r(() => {
81
+ let n = !0;
82
+ return (async () => {
83
+ let r = await ee(e);
84
+ if (!n) return;
85
+ let i = z(e.themes, e.initialTheme);
86
+ t((t) => b(t, e) && t.isLoaded ? t : y(e, r ?? i.name, !0));
87
+ })(), () => {
88
+ n = !1;
89
+ };
90
+ }, [e, t]);
91
+ }
92
+ function ne(e, n) {
93
+ return t((t) => {
94
+ V(e.themes, t), n(y(e, t, !0));
95
+ }, [e, n]);
96
+ }
97
+ function x(e) {
98
+ let { themes: t, initialTheme: n, themeEncryptionKey: r } = e, o = i(() => ({
99
+ themes: t,
100
+ initialTheme: n,
101
+ themeEncryptionKey: r
102
+ }), [
103
+ t,
104
+ n,
105
+ r
106
+ ]), [s, c] = a(() => y(o, z(t, n).name, !1));
107
+ te(o, c);
108
+ let l = b(s, o);
109
+ return {
110
+ themeName: l ? s.themeName : z(t, n).name,
111
+ isPreferenceLoaded: l && s.isLoaded,
112
+ setThemeName: ne(o, c)
113
+ };
114
+ }
115
+ //#endregion
116
+ //#region src/libs/aplicacion/providers/translate.provider.tsx
117
+ function S(e, t, n) {
118
+ return {
119
+ ...e,
120
+ selectedLanguage: t,
121
+ isLoaded: n
122
+ };
123
+ }
124
+ function C(e, t) {
125
+ return e.translations === t.translations && e.initialLanguage === t.initialLanguage && e.fallbackLanguage === t.fallbackLanguage && e.languageEncryptionKey === t.languageEncryptionKey && e.languages === t.languages;
126
+ }
127
+ async function re(e) {
128
+ try {
129
+ return await h(e.languages, e.languageEncryptionKey);
130
+ } catch {
131
+ return;
132
+ }
133
+ }
134
+ function ie(e, t) {
135
+ r(() => {
136
+ let n = !0;
137
+ return (async () => {
138
+ let r = await re(e);
139
+ if (!n) return;
140
+ let i = j(e.translations, e.initialLanguage, e.fallbackLanguage);
141
+ t((t) => C(t, e) && t.isLoaded ? t : S(e, r ?? i, !0));
142
+ })(), () => {
143
+ n = !1;
144
+ };
145
+ }, [e, t]);
146
+ }
147
+ function ae(e, t, n) {
148
+ r(() => {
149
+ n && m(t, e.languageEncryptionKey);
150
+ }, [
151
+ e.languageEncryptionKey,
152
+ t,
153
+ n
154
+ ]);
155
+ }
156
+ function oe(e, n) {
157
+ return t((t) => {
158
+ N(e.translations, t), n(S(e, t, !0));
159
+ }, [e, n]);
160
+ }
161
+ function se(e) {
162
+ let [t, n] = a(() => S(e, e.initialLanguage, !1));
163
+ ie(e, n);
164
+ let r = C(t, e), i = r ? t.selectedLanguage : e.initialLanguage, o = r && t.isLoaded, s = oe(e, n);
165
+ return {
166
+ language: M(e.translations, i, e.initialLanguage, e.fallbackLanguage),
167
+ isLoaded: o,
168
+ setLanguage: s
169
+ };
170
+ }
171
+ function ce({ translations: e, initialLanguage: t, fallbackLanguage: n = "en", languageEncryptionKey: r, children: a }) {
172
+ let c = i(() => Object.keys(e), [e]), l = i(() => ({
173
+ translations: e,
174
+ initialLanguage: t,
175
+ fallbackLanguage: n,
176
+ languageEncryptionKey: r,
177
+ languages: c
178
+ }), [
179
+ e,
180
+ t,
181
+ n,
182
+ r,
183
+ c
184
+ ]), u = se(l);
185
+ ae(l, u.language, u.isLoaded);
186
+ let d = le(l, u);
187
+ return /* @__PURE__ */ o(s.Provider, {
188
+ value: d,
189
+ children: a
190
+ });
191
+ }
192
+ function le(e, n) {
193
+ let r = e.translations[n.language], a = e.translations[e.fallbackLanguage], o = t((e, t) => L(r, a, e, t), [r, a]);
194
+ return i(() => ({
195
+ language: n.language,
196
+ languages: e.languages,
197
+ setLanguage: n.setLanguage,
198
+ t: o
199
+ }), [
200
+ n.language,
201
+ n.setLanguage,
202
+ e.languages,
203
+ o
204
+ ]);
205
+ }
206
+ //#endregion
207
+ //#region src/libs/aplicacion/providers/theme-provider.tsx
208
+ function ue({ themes: e, initialTheme: n, themeEncryptionKey: a, children: s }) {
209
+ let { themeName: l, isPreferenceLoaded: u, setThemeName: d } = x({
210
+ themes: e,
211
+ initialTheme: n,
212
+ themeEncryptionKey: a
213
+ }), f = B(e, l, n);
214
+ r(() => {
215
+ u && _(f.name, a);
216
+ }, [
217
+ u,
218
+ f.name,
219
+ a
220
+ ]);
221
+ let p = t((e) => d(e), [d]), m = i(() => H(f), [f]), h = i(() => ({
222
+ theme: f,
223
+ themeName: f.name,
224
+ themes: e,
225
+ setTheme: p
226
+ }), [
227
+ f,
228
+ e,
229
+ p
230
+ ]);
231
+ return /* @__PURE__ */ o(c.Provider, {
232
+ value: h,
233
+ children: /* @__PURE__ */ o("div", {
234
+ "data-rui-theme": f.name,
235
+ style: {
236
+ ...m,
237
+ display: "contents"
238
+ },
239
+ children: s
240
+ })
241
+ });
242
+ }
243
+ //#endregion
244
+ //#region src/libs/domain/enums/translation-regex.enum.ts
245
+ var w = Object.freeze({ INTERPOLATION_PLACEHOLDER: String.raw`\{\{([a-zA-Z0-9_]+)\}\}` }), de = "g", T = "AES-GCM", fe = 12, E = "SHA-256", pe = "raw", D = ".", O = ["encrypt", "decrypt"], me = 2, k = {
246
+ SURFACE_BACKGROUND: "--rui-surface-background",
247
+ SURFACE_SURFACE: "--rui-surface-surface",
248
+ SURFACE_SURFACE_ELEVATED: "--rui-surface-surface-elevated",
249
+ SURFACE_SURFACE_HOVER: "--rui-surface-surface-hover",
250
+ SURFACE_SURFACE_ACTIVE: "--rui-surface-surface-active",
251
+ SURFACE_SURFACE_DISABLED: "--rui-surface-surface-disabled",
252
+ TEXT_PRIMARY: "--rui-text-primary",
253
+ TEXT_SECONDARY: "--rui-text-secondary",
254
+ TEXT_MUTED: "--rui-text-muted",
255
+ TEXT_DISABLED: "--rui-text-disabled",
256
+ TEXT_INVERSE: "--rui-text-inverse",
257
+ TEXT_LINK: "--rui-text-link",
258
+ TEXT_LINK_HOVER: "--rui-text-link-hover",
259
+ BRAND_PRIMARY: "--rui-brand-primary",
260
+ BRAND_PRIMARY_HOVER: "--rui-brand-primary-hover",
261
+ BRAND_PRIMARY_ACTIVE: "--rui-brand-primary-active",
262
+ BRAND_PRIMARY_CONTRAST: "--rui-brand-primary-contrast",
263
+ BRAND_SECONDARY: "--rui-brand-secondary",
264
+ BRAND_SECONDARY_HOVER: "--rui-brand-secondary-hover",
265
+ BRAND_SECONDARY_ACTIVE: "--rui-brand-secondary-active",
266
+ BRAND_SECONDARY_CONTRAST: "--rui-brand-secondary-contrast",
267
+ BRAND_ACCENT: "--rui-brand-accent",
268
+ BRAND_ACCENT_HOVER: "--rui-brand-accent-hover",
269
+ BRAND_ACCENT_CONTRAST: "--rui-brand-accent-contrast",
270
+ STATE_SUCCESS: "--rui-state-success",
271
+ STATE_SUCCESS_BACKGROUND: "--rui-state-success-background",
272
+ STATE_WARNING: "--rui-state-warning",
273
+ STATE_WARNING_BACKGROUND: "--rui-state-warning-background",
274
+ STATE_ERROR: "--rui-state-error",
275
+ STATE_ERROR_BACKGROUND: "--rui-state-error-background",
276
+ STATE_INFO: "--rui-state-info",
277
+ STATE_INFO_BACKGROUND: "--rui-state-info-background",
278
+ BORDER_DEFAULT: "--rui-border-default",
279
+ BORDER_SUBTLE: "--rui-border-subtle",
280
+ BORDER_STRONG: "--rui-border-strong",
281
+ BORDER_FOCUS: "--rui-border-focus",
282
+ BORDER_HOVER: "--rui-border-hover",
283
+ BORDER_ACTIVE: "--rui-border-active",
284
+ BORDER_DISABLED: "--rui-border-disabled",
285
+ SHADOW_COLOR: "--rui-shadow-color",
286
+ SHADOW_SUBTLE: "--rui-shadow-subtle",
287
+ SHADOW_SMALL: "--rui-shadow-small",
288
+ SHADOW_MEDIUM: "--rui-shadow-medium",
289
+ SHADOW_LARGE: "--rui-shadow-large",
290
+ SHADOW_GLOW: "--rui-shadow-glow",
291
+ EFFECTS_OVERLAY: "--rui-effects-overlay",
292
+ EFFECTS_BACKDROP: "--rui-effects-backdrop",
293
+ EFFECTS_BLUR: "--rui-effects-blur",
294
+ EFFECTS_BLUR_STRONG: "--rui-effects-blur-strong",
295
+ EFFECTS_GLASS_BACKGROUND: "--rui-effects-glass-background",
296
+ EFFECTS_GLASS_BORDER: "--rui-effects-glass-border",
297
+ TYPOGRAPHY_HEADING_PRIMARY: "--rui-typography-heading-primary",
298
+ TYPOGRAPHY_HEADING_SECONDARY: "--rui-typography-heading-secondary",
299
+ TYPOGRAPHY_HEADING_MUTED: "--rui-typography-heading-muted",
300
+ TYPOGRAPHY_BODY_PRIMARY: "--rui-typography-body-primary",
301
+ TYPOGRAPHY_BODY_SECONDARY: "--rui-typography-body-secondary",
302
+ TYPOGRAPHY_BODY_MUTED: "--rui-typography-body-muted",
303
+ TYPOGRAPHY_LABEL_PRIMARY: "--rui-typography-label-primary",
304
+ TYPOGRAPHY_LABEL_SECONDARY: "--rui-typography-label-secondary",
305
+ TYPOGRAPHY_LABEL_MUTED: "--rui-typography-label-muted",
306
+ TYPOGRAPHY_BUTTON_PRIMARY: "--rui-typography-button-primary",
307
+ TYPOGRAPHY_BUTTON_SECONDARY: "--rui-typography-button-secondary"
308
+ };
309
+ //#endregion
310
+ //#region src/libs/aplicacion/utils/translation.utils.ts
311
+ function A(e, t) {
312
+ return Object.hasOwn(e, t);
313
+ }
314
+ function he(e) {
315
+ let [t] = Object.keys(e);
316
+ return t;
317
+ }
318
+ function j(e, t, n) {
319
+ if (A(e, t)) return t;
320
+ if (A(e, n)) return n;
321
+ let r = he(e);
322
+ if (r === void 0) throw Error("TranslateProvider requires at least one translation catalog.");
323
+ return r;
324
+ }
325
+ function M(e, t, n, r) {
326
+ return A(e, t) ? t : j(e, n, r);
327
+ }
328
+ function N(e, t) {
329
+ if (!A(e, t)) throw Error(`Language "${t}" is not available in the translation catalog.`);
330
+ }
331
+ function ge(e, t) {
332
+ let n = e;
333
+ for (let e of t.split(".")) {
334
+ if (typeof n == "string" || !Object.hasOwn(n, e)) return;
335
+ n = n[e];
336
+ }
337
+ return n;
338
+ }
339
+ function P(e, t) {
340
+ if (e === void 0 || t === "") return;
341
+ let n = ge(e, t);
342
+ return typeof n == "string" ? n : void 0;
343
+ }
344
+ function _e(e, t, n) {
345
+ let r = n?.[t];
346
+ return r === void 0 ? e : String(r);
347
+ }
348
+ function F(e, t) {
349
+ let n = new RegExp(w.INTERPOLATION_PLACEHOLDER, "g");
350
+ return e.replace(n, (e, n) => _e(e, n, t));
351
+ }
352
+ function I(e, t, n) {
353
+ let r = P(e, n);
354
+ return r === void 0 ? P(t, n) ?? n : r;
355
+ }
356
+ function L(e, t, n, r) {
357
+ return F(I(e, t, n), r);
358
+ }
359
+ //#endregion
360
+ //#region src/libs/aplicacion/utils/theme.utils.ts
361
+ function R(e, t) {
362
+ return e.find((e) => e.name === t);
363
+ }
364
+ function ve(e) {
365
+ if (e.length === 0) throw Error("ThemeProvider requires at least one registered theme.");
366
+ return e[0];
367
+ }
368
+ function z(e, t) {
369
+ return R(e, t) ?? ve(e);
370
+ }
371
+ function B(e, t, n) {
372
+ return R(e, t) ?? z(e, n);
373
+ }
374
+ function V(e, t) {
375
+ if (R(e, t) === void 0) throw Error(`Theme "${t}" is not registered in ThemeProvider.`);
376
+ }
377
+ function ye(e) {
378
+ return {
379
+ [k.SURFACE_BACKGROUND]: e.surface.background,
380
+ [k.SURFACE_SURFACE]: e.surface.surface,
381
+ [k.SURFACE_SURFACE_ELEVATED]: e.surface.surfaceElevated,
382
+ [k.SURFACE_SURFACE_HOVER]: e.surface.surfaceHover,
383
+ [k.SURFACE_SURFACE_ACTIVE]: e.surface.surfaceActive,
384
+ [k.SURFACE_SURFACE_DISABLED]: e.surface.surfaceDisabled
385
+ };
386
+ }
387
+ function be(e) {
388
+ return {
389
+ [k.TEXT_PRIMARY]: e.text.primary,
390
+ [k.TEXT_SECONDARY]: e.text.secondary,
391
+ [k.TEXT_MUTED]: e.text.muted,
392
+ [k.TEXT_DISABLED]: e.text.disabled,
393
+ [k.TEXT_INVERSE]: e.text.inverse,
394
+ [k.TEXT_LINK]: e.text.link,
395
+ [k.TEXT_LINK_HOVER]: e.text.linkHover
396
+ };
397
+ }
398
+ function xe(e) {
399
+ return {
400
+ [k.BRAND_PRIMARY]: e.brand.primary,
401
+ [k.BRAND_PRIMARY_HOVER]: e.brand.primaryHover,
402
+ [k.BRAND_PRIMARY_ACTIVE]: e.brand.primaryActive,
403
+ [k.BRAND_PRIMARY_CONTRAST]: e.brand.primaryContrast,
404
+ [k.BRAND_SECONDARY]: e.brand.secondary,
405
+ [k.BRAND_SECONDARY_HOVER]: e.brand.secondaryHover,
406
+ [k.BRAND_SECONDARY_ACTIVE]: e.brand.secondaryActive,
407
+ [k.BRAND_SECONDARY_CONTRAST]: e.brand.secondaryContrast,
408
+ [k.BRAND_ACCENT]: e.brand.accent,
409
+ [k.BRAND_ACCENT_HOVER]: e.brand.accentHover,
410
+ [k.BRAND_ACCENT_CONTRAST]: e.brand.accentContrast
411
+ };
412
+ }
413
+ function Se(e) {
414
+ return {
415
+ [k.STATE_SUCCESS]: e.state.success,
416
+ [k.STATE_SUCCESS_BACKGROUND]: e.state.successBackground,
417
+ [k.STATE_WARNING]: e.state.warning,
418
+ [k.STATE_WARNING_BACKGROUND]: e.state.warningBackground,
419
+ [k.STATE_ERROR]: e.state.error,
420
+ [k.STATE_ERROR_BACKGROUND]: e.state.errorBackground,
421
+ [k.STATE_INFO]: e.state.info,
422
+ [k.STATE_INFO_BACKGROUND]: e.state.infoBackground
423
+ };
424
+ }
425
+ function Ce(e) {
426
+ return {
427
+ [k.BORDER_DEFAULT]: e.border.default,
428
+ [k.BORDER_SUBTLE]: e.border.subtle,
429
+ [k.BORDER_STRONG]: e.border.strong,
430
+ [k.BORDER_FOCUS]: e.border.focus,
431
+ [k.BORDER_HOVER]: e.border.hover,
432
+ [k.BORDER_ACTIVE]: e.border.active,
433
+ [k.BORDER_DISABLED]: e.border.disabled
434
+ };
435
+ }
436
+ function we(e) {
437
+ return {
438
+ [k.SHADOW_COLOR]: e.shadow.color,
439
+ [k.SHADOW_SUBTLE]: e.shadow.subtle,
440
+ [k.SHADOW_SMALL]: e.shadow.small,
441
+ [k.SHADOW_MEDIUM]: e.shadow.medium,
442
+ [k.SHADOW_LARGE]: e.shadow.large,
443
+ [k.SHADOW_GLOW]: e.shadow.glow
444
+ };
445
+ }
446
+ function Te(e) {
447
+ return {
448
+ [k.EFFECTS_OVERLAY]: e.effects.overlay,
449
+ [k.EFFECTS_BACKDROP]: e.effects.backdrop,
450
+ [k.EFFECTS_BLUR]: e.effects.blur,
451
+ [k.EFFECTS_BLUR_STRONG]: e.effects.blurStrong,
452
+ [k.EFFECTS_GLASS_BACKGROUND]: e.effects.glassBackground,
453
+ [k.EFFECTS_GLASS_BORDER]: e.effects.glassBorder
454
+ };
455
+ }
456
+ function Ee(e) {
457
+ return {
458
+ [k.TYPOGRAPHY_HEADING_PRIMARY]: e.typography.heading.primary,
459
+ [k.TYPOGRAPHY_HEADING_SECONDARY]: e.typography.heading.secondary,
460
+ [k.TYPOGRAPHY_HEADING_MUTED]: e.typography.heading.muted,
461
+ [k.TYPOGRAPHY_BODY_PRIMARY]: e.typography.body.primary,
462
+ [k.TYPOGRAPHY_BODY_SECONDARY]: e.typography.body.secondary,
463
+ [k.TYPOGRAPHY_BODY_MUTED]: e.typography.body.muted,
464
+ [k.TYPOGRAPHY_LABEL_PRIMARY]: e.typography.label.primary,
465
+ [k.TYPOGRAPHY_LABEL_SECONDARY]: e.typography.label.secondary,
466
+ [k.TYPOGRAPHY_LABEL_MUTED]: e.typography.label.muted,
467
+ [k.TYPOGRAPHY_BUTTON_PRIMARY]: e.typography.button.primary,
468
+ [k.TYPOGRAPHY_BUTTON_SECONDARY]: e.typography.button.secondary
469
+ };
470
+ }
471
+ function H(e) {
472
+ let { colors: t } = e;
473
+ return {
474
+ ...ye(t),
475
+ ...be(t),
476
+ ...xe(t),
477
+ ...Se(t),
478
+ ...Ce(t),
479
+ ...we(t),
480
+ ...Te(t),
481
+ ...Ee(t)
482
+ };
483
+ }
484
+ //#endregion
485
+ //#region src/libs/aplicacion/utils/crypto-api.util.ts
486
+ function U() {
487
+ try {
488
+ return globalThis.crypto;
489
+ } catch {
490
+ return;
491
+ }
492
+ }
493
+ //#endregion
494
+ //#region src/libs/aplicacion/utils/storage-api.util.ts
495
+ function W() {
496
+ try {
497
+ return globalThis.localStorage;
498
+ } catch {
499
+ return;
500
+ }
501
+ }
502
+ //#endregion
503
+ //#region src/libs/aplicacion/utils/text-encoding.util.ts
504
+ function G(e) {
505
+ return new TextEncoder().encode(e);
506
+ }
507
+ function K(e) {
508
+ return new TextDecoder().decode(e);
509
+ }
510
+ //#endregion
511
+ //#region src/libs/aplicacion/utils/base64.util.ts
512
+ function q(e) {
513
+ let t = "";
514
+ for (let n of e) t += String.fromCharCode(n);
515
+ return btoa(t);
516
+ }
517
+ function J(e) {
518
+ let t = atob(e), n = new Uint8Array(t.length);
519
+ for (let e = 0; e < t.length; e += 1) n[e] = t.charCodeAt(e);
520
+ return n;
521
+ }
522
+ //#endregion
523
+ //#region src/libs/aplicacion/services/encryption.service.ts
524
+ async function Y(e) {
525
+ let t = U();
526
+ if (t === void 0 || e.length === 0) return;
527
+ let n = await t.subtle.digest(E, G(e));
528
+ return t.subtle.importKey("raw", n, { name: T }, !1, O);
529
+ }
530
+ function De() {
531
+ let e = U();
532
+ if (e === void 0) throw Error("Cryptographic API is unavailable.");
533
+ return e.getRandomValues(/* @__PURE__ */ new Uint8Array(12));
534
+ }
535
+ function Oe(e) {
536
+ try {
537
+ let t = J(e);
538
+ return t.length === 12 ? t : void 0;
539
+ } catch {
540
+ return;
541
+ }
542
+ }
543
+ function ke(e) {
544
+ return e.length === 2;
545
+ }
546
+ function X(e) {
547
+ if (ke(e)) return [e[0], e[1]];
548
+ }
549
+ function Ae(e) {
550
+ let t = X(e.split("."));
551
+ if (t === void 0) return;
552
+ let [n, r] = t, i = Oe(n);
553
+ if (i !== void 0) try {
554
+ return {
555
+ iv: i,
556
+ ciphertext: J(r)
557
+ };
558
+ } catch {
559
+ return;
560
+ }
561
+ }
562
+ async function je(e, t, n) {
563
+ return Z().subtle.encrypt({
564
+ name: T,
565
+ iv: n
566
+ }, t, e);
567
+ }
568
+ async function Me(e, t) {
569
+ return Z().subtle.decrypt({
570
+ name: T,
571
+ iv: e.iv
572
+ }, t, e.ciphertext);
573
+ }
574
+ function Z() {
575
+ let e = U();
576
+ if (e === void 0) throw Error("Cryptographic API is unavailable.");
577
+ return e;
578
+ }
579
+ async function Q(e, t) {
580
+ try {
581
+ let n = await Y(t);
582
+ if (n === void 0) return;
583
+ let r = De(), i = await je(G(e), n, r);
584
+ return [q(r), q(new Uint8Array(i))].join(".");
585
+ } catch {
586
+ return;
587
+ }
588
+ }
589
+ async function $(e, t) {
590
+ try {
591
+ let n = Ae(e);
592
+ if (n === void 0) return;
593
+ let r = await Y(t);
594
+ return r === void 0 ? void 0 : K(await Me(n, r));
595
+ } catch {
596
+ return;
597
+ }
598
+ }
599
+ //#endregion
600
+ export { T as AES_GCM_ALGORITHM, fe as AES_GCM_IV_LENGTH, me as ENCRYPTED_VALUE_PART_COUNT, de as GLOBAL_REGEX_FLAG, O as KEY_USAGES, pe as RAW_KEY_FORMAT, E as SHA_256_ALGORITHM, D as STORAGE_VALUE_SEPARATOR, c as ThemeContext, k as ThemeCssVariable, ue as ThemeProvider, s as TranslateContext, ce as TranslateProvider, w as TranslationRegex, N as assertLanguageExists, V as assertThemeExists, H as createThemeVariables, J as decodeBase64, K as decodeText, $ as decryptText, q as encodeBase64, G as encodeText, Q as encryptText, P as findTranslation, U as getCryptoApi, W as getLocalStorage, F as interpolateTranslation, f as loadEncryptedPreference, h as loadLanguagePreference, v as loadThemePreference, M as resolveActiveLanguage, B as resolveActiveTheme, j as resolveInitialLanguage, z as resolveInitialTheme, d as saveEncryptedPreference, m as saveLanguagePreference, _ as saveThemePreference, L as translateMessage, l as useLanguage, u as useTheme, x as useThemePreference };
601
+
602
+ //# sourceMappingURL=index.js.map