valtech-components 2.0.7 → 2.0.9

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 (49) hide show
  1. package/esm2022/lib/components/atoms/button/button.component.mjs +41 -0
  2. package/esm2022/lib/components/atoms/button/factory.mjs +217 -0
  3. package/esm2022/lib/components/atoms/button/types.mjs +2 -0
  4. package/esm2022/lib/components/types.mjs +29 -0
  5. package/esm2022/lib/services/download.service.mjs +63 -0
  6. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +13 -0
  7. package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +15 -0
  8. package/esm2022/lib/services/lang-provider/content.mjs +8 -0
  9. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +39 -0
  10. package/esm2022/lib/services/lang-provider/types.mjs +14 -0
  11. package/esm2022/lib/services/local-storage.service.mjs +16 -0
  12. package/esm2022/lib/services/theme.service.mjs +97 -0
  13. package/esm2022/lib/services/types.mjs +3 -0
  14. package/esm2022/lib/shared/constants/storage.mjs +3 -0
  15. package/esm2022/lib/shared/utils/dom.mjs +17 -0
  16. package/esm2022/public-api.mjs +18 -0
  17. package/esm2022/valtech-components.mjs +5 -0
  18. package/fesm2022/valtech-components.mjs +537 -0
  19. package/fesm2022/valtech-components.mjs.map +1 -0
  20. package/index.d.ts +5 -0
  21. package/lib/components/atoms/button/button.component.d.ts +20 -0
  22. package/lib/components/atoms/button/factory.d.ts +71 -0
  23. package/lib/components/atoms/button/types.d.ts +22 -0
  24. package/lib/components/types.d.ts +78 -0
  25. package/lib/services/download.service.d.ts +8 -0
  26. package/lib/services/lang-provider/components/lang-settings.d.ts +3 -0
  27. package/lib/services/lang-provider/components/theme-settings.d.ts +3 -0
  28. package/lib/services/lang-provider/content.d.ts +6 -0
  29. package/lib/services/lang-provider/lang-provider.service.d.ts +17 -0
  30. package/lib/services/lang-provider/types.d.ts +15 -0
  31. package/lib/services/local-storage.service.d.ts +6 -0
  32. package/lib/services/theme.service.d.ts +27 -0
  33. package/lib/services/types.d.ts +6 -0
  34. package/lib/shared/constants/storage.d.ts +2 -0
  35. package/lib/shared/utils/dom.d.ts +3 -0
  36. package/package.json +14 -4
  37. package/public-api.d.ts +11 -0
  38. package/src/lib/components/styles/functions.scss +20 -0
  39. package/src/lib/components/styles/media-queries.scss +66 -0
  40. package/src/lib/components/styles/mixins.scss +66 -0
  41. package/src/lib/components/styles/overrides.scss +158 -0
  42. package/src/lib/components/styles/typography.scss +189 -0
  43. package/src/lib/components/styles/variables.scss +82 -0
  44. package/ng-package.json +0 -11
  45. package/src/lib/components/hello-world/hello-world.component.ts +0 -17
  46. package/src/public-api.ts +0 -5
  47. package/tsconfig.lib.json +0 -14
  48. package/tsconfig.lib.prod.json +0 -10
  49. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,537 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Injectable, EventEmitter, Component, Input, Output, InjectionToken, Inject } from '@angular/core';
4
+ import { BehaviorSubject } from 'rxjs';
5
+
6
+ const ENABLED = 'ENABLED';
7
+ const DISABLED = 'DISABLED';
8
+ const WORKING = 'WORKING';
9
+ const ERROR = 'ERROR';
10
+ const ComponentStates = { ENABLED, DISABLED, WORKING, ERROR };
11
+ var ActionType;
12
+ (function (ActionType) {
13
+ ActionType[ActionType["BROWSER_NEW_TAB"] = 0] = "BROWSER_NEW_TAB";
14
+ ActionType[ActionType["BROWSER_DOWNLOAD"] = 1] = "BROWSER_DOWNLOAD";
15
+ ActionType[ActionType["NATIVE_DOWNLOAD"] = 2] = "NATIVE_DOWNLOAD";
16
+ ActionType[ActionType["APP_NAVIGATION"] = 3] = "APP_NAVIGATION";
17
+ ActionType[ActionType["BROWSER_NAVIGATION"] = 4] = "BROWSER_NAVIGATION";
18
+ })(ActionType || (ActionType = {}));
19
+ var InputType;
20
+ (function (InputType) {
21
+ InputType[InputType["TEXT"] = 0] = "TEXT";
22
+ InputType[InputType["EMAIL"] = 1] = "EMAIL";
23
+ InputType[InputType["PASSWORD"] = 2] = "PASSWORD";
24
+ InputType[InputType["COMMENT"] = 3] = "COMMENT";
25
+ InputType[InputType["NUMBER"] = 4] = "NUMBER";
26
+ InputType[InputType["PIN_CODE"] = 5] = "PIN_CODE";
27
+ InputType[InputType["DATE"] = 6] = "DATE";
28
+ InputType[InputType["HOUR"] = 7] = "HOUR";
29
+ InputType[InputType["CHECK"] = 8] = "CHECK";
30
+ InputType[InputType["RADIO"] = 9] = "RADIO";
31
+ InputType[InputType["SELECT"] = 10] = "SELECT";
32
+ InputType[InputType["FILE"] = 11] = "FILE";
33
+ })(InputType || (InputType = {}));
34
+
35
+ class DownloadService {
36
+ getFileNameFromUrl(url) {
37
+ try {
38
+ const pathSegments = url.split('/');
39
+ const lastSegment = pathSegments[pathSegments.length - 1];
40
+ const fileName = decodeURIComponent(lastSegment);
41
+ return fileName;
42
+ }
43
+ catch (error) {
44
+ console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));
45
+ return 'filename';
46
+ }
47
+ }
48
+ openNewTab(url) {
49
+ if (url) {
50
+ const fileName = this.getFileNameFromUrl(url);
51
+ const link = document.createElement('a');
52
+ link.href = url;
53
+ link.download = fileName;
54
+ link.target = '_blank';
55
+ document.body.appendChild(link);
56
+ link.click();
57
+ document.body.removeChild(link);
58
+ }
59
+ else {
60
+ console.error('La URL no está definida');
61
+ }
62
+ }
63
+ downloadLinkFromBrowser(url) {
64
+ console.log('trying to download file from url');
65
+ if (url) {
66
+ fetch(url)
67
+ .then((response) => response.blob())
68
+ .then((blob) => {
69
+ const url = window.URL.createObjectURL(blob);
70
+ const link = document.createElement('a');
71
+ link.href = url;
72
+ const fileName = this.getFileNameFromUrl(url);
73
+ link.download = `${+new Date()}-${fileName}`;
74
+ link.target = '_self';
75
+ link.click();
76
+ window.URL.revokeObjectURL(url);
77
+ })
78
+ .catch((error) => {
79
+ console.error('Error al descargar el archivo:', JSON.stringify(error));
80
+ });
81
+ }
82
+ else {
83
+ console.error('La URL no está definida');
84
+ }
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, providedIn: 'root' }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, decorators: [{
90
+ type: Injectable,
91
+ args: [{
92
+ providedIn: 'root',
93
+ }]
94
+ }] });
95
+
96
+ class ButtonComponent {
97
+ constructor(download) {
98
+ this.download = download;
99
+ this.states = ComponentStates;
100
+ this.onClick = new EventEmitter();
101
+ }
102
+ ngOnInit() { }
103
+ clickHandler() {
104
+ if (this.props.download) {
105
+ this.download.downloadLinkFromBrowser(this.props.download);
106
+ }
107
+ if (this.props.state === this.states.DISABLED) {
108
+ return;
109
+ }
110
+ this.onClick.emit(this.props.token);
111
+ }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: DownloadService }], target: i0.ɵɵFactoryTarget.Component }); }
113
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
114
+ <p>
115
+ hello-world works!
116
+ </p>
117
+ `, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
120
+ type: Component,
121
+ args: [{ selector: 'val-button', standalone: true, imports: [CommonModule], template: `
122
+ <p>
123
+ hello-world works!
124
+ </p>
125
+ ` }]
126
+ }], ctorParameters: () => [{ type: DownloadService }], propDecorators: { props: [{
127
+ type: Input
128
+ }], onClick: [{
129
+ type: Output
130
+ }] } });
131
+
132
+ const Icon = (name, slot) => {
133
+ return {
134
+ name,
135
+ slot,
136
+ };
137
+ };
138
+ /* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */
139
+ const BaseDefault = (text, type) => {
140
+ return {
141
+ color: 'primary',
142
+ state: 'ENABLED',
143
+ text,
144
+ size: 'default',
145
+ type,
146
+ };
147
+ };
148
+ const ClearDefault = (text, type) => {
149
+ return { ...BaseDefault(text, type), fill: 'clear' };
150
+ };
151
+ const ClearDefaultRound = (text, type) => {
152
+ return { ...ClearDefault(text, type), shape: 'round' };
153
+ };
154
+ const SolidDefault = (text, type) => {
155
+ return { ...BaseDefault(text, type), fill: 'solid' };
156
+ };
157
+ const SolidDefaultRound = (text, type) => {
158
+ return { ...SolidDefault(text, type), shape: 'round' };
159
+ };
160
+ const OutlineDefault = (text, type) => {
161
+ return { ...BaseDefault(text, type), fill: 'outline' };
162
+ };
163
+ const OutlineDefaultRound = (text, type) => {
164
+ return { ...OutlineDefault(text, type), shape: 'round' };
165
+ };
166
+ const ClearDefaultFull = (text, type) => {
167
+ return { ...ClearDefault(text, type), expand: 'full' };
168
+ };
169
+ const ClearDefaultRoundFull = (text, type) => {
170
+ return { ...ClearDefaultRound(text, type), expand: 'full' };
171
+ };
172
+ const ClearDefaultBlock = (text, type) => {
173
+ return { ...ClearDefault(text, type), expand: 'block' };
174
+ };
175
+ const ClearDefaultRoundBlock = (text, type) => {
176
+ return { ...ClearDefaultRound(text, type), expand: 'block' };
177
+ };
178
+ const SolidDefaultFull = (text, type) => {
179
+ return { ...SolidDefault(text, type), expand: 'full' };
180
+ };
181
+ const SolidDefaultRoundFull = (text, type) => {
182
+ return { ...SolidDefaultRound(text, type), expand: 'full' };
183
+ };
184
+ const SolidDefaultBlock = (text, type) => {
185
+ return { ...SolidDefault(text, type), expand: 'block' };
186
+ };
187
+ const SolidDefaultRoundBlock = (text, type) => {
188
+ return { ...SolidDefaultRound(text, type), expand: 'block' };
189
+ };
190
+ const OutlineDefaultFull = (text, type) => {
191
+ return { ...OutlineDefault(text, type), expand: 'full' };
192
+ };
193
+ const OutlineDefaultRoundFull = (text, type) => {
194
+ return { ...OutlineDefaultRound(text, type), expand: 'full' };
195
+ };
196
+ const OutlineDefaultBlock = (text, type) => {
197
+ return { ...OutlineDefault(text, type), expand: 'block' };
198
+ };
199
+ const OutlineDefaultRoundBlock = (text, type) => {
200
+ return { ...OutlineDefaultRound(text, type), expand: 'block' };
201
+ };
202
+ const SolidDefaultButton = (text) => {
203
+ return SolidDefault(text, 'button');
204
+ };
205
+ const SolidSmallButton = (text) => {
206
+ return { ...SolidDefault(text, 'button'), size: 'small' };
207
+ };
208
+ const SolidLargeButton = (text) => {
209
+ return { ...SolidDefault(text, 'button'), size: 'large' };
210
+ };
211
+ const SolidDefaultRoundButton = (text) => {
212
+ return SolidDefaultRound(text, 'button');
213
+ };
214
+ const SolidSmallRoundButton = (text) => {
215
+ return { ...SolidDefaultRound(text, 'button'), size: 'small' };
216
+ };
217
+ const SolidLargeRoundButton = (text) => {
218
+ return { ...SolidDefaultRound(text, 'button'), size: 'large' };
219
+ };
220
+ const SolidFullButton = (text) => {
221
+ return SolidDefaultFull(text, 'button');
222
+ };
223
+ const SolidBlockButton = (text) => {
224
+ return SolidDefaultBlock(text, 'button');
225
+ };
226
+ /** PRIMARY */
227
+ const PrimarySolidDefaultRoundButton = (text) => {
228
+ return { ...SolidDefaultRoundButton(text), color: 'primary' };
229
+ };
230
+ const PrimarySolidDefaultRoundIconButton = (text, icon) => {
231
+ return { ...PrimarySolidDefaultRoundButton(text), icon };
232
+ };
233
+ const PrimarySolidDefaultRoundHrefButton = (text, href, target) => {
234
+ return { ...PrimarySolidDefaultRoundButton(text), href, target };
235
+ };
236
+ const PrimarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
237
+ return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };
238
+ };
239
+ const PrimarySolidSmallRoundButton = (text) => {
240
+ return { ...SolidSmallRoundButton(text), color: 'primary' };
241
+ };
242
+ const PrimarySolidSmallRoundIconButton = (text, icon) => {
243
+ return { ...PrimarySolidSmallRoundButton(text), icon };
244
+ };
245
+ const PrimarySolidSmallRoundHrefButton = (text, href, target) => {
246
+ return { ...PrimarySolidSmallRoundButton(text), href, target };
247
+ };
248
+ const PrimarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
249
+ return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };
250
+ };
251
+ const PrimarySolidLargeRoundButton = (text) => {
252
+ return { ...SolidLargeRoundButton(text), color: 'primary' };
253
+ };
254
+ const PrimarySolidLargeRoundIconButton = (text, icon) => {
255
+ return { ...PrimarySolidLargeRoundButton(text), icon };
256
+ };
257
+ const PrimarySolidLargeRoundHrefButton = (text, href, target) => {
258
+ return { ...PrimarySolidLargeRoundButton(text), href, target };
259
+ };
260
+ const PrimarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
261
+ return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };
262
+ };
263
+ const PrimarySolidBlockButton = (text) => {
264
+ return { ...SolidBlockButton(text), color: 'primary' };
265
+ };
266
+ const PrimarySolidBlockIconButton = (text, icon) => {
267
+ return { ...PrimarySolidBlockButton(text), icon };
268
+ };
269
+ const PrimarySolidBlockHrefButton = (text, href, target) => {
270
+ return { ...PrimarySolidBlockButton(text), href, target };
271
+ };
272
+ const PrimarySolidBlockIconHrefButton = (text, icon, href, target) => {
273
+ return { ...PrimarySolidBlockIconButton(text, icon), href, target };
274
+ };
275
+ const PrimarySolidFullButton = (text) => {
276
+ return { ...SolidFullButton(text), color: 'primary' };
277
+ };
278
+ const PrimarySolidFullIconButton = (text, icon) => {
279
+ return { ...PrimarySolidFullButton(text), icon };
280
+ };
281
+ const PrimarySolidFullHrefButton = (text, href, target) => {
282
+ return { ...PrimarySolidFullButton(text), href, target };
283
+ };
284
+ const PrimarySolidFullIconHrefButton = (text, icon, href, target) => {
285
+ return { ...PrimarySolidFullIconButton(text, icon), href, target };
286
+ };
287
+ /** SECONDARY */
288
+ const SecondarySolidDefaultRoundButton = (text) => {
289
+ return { ...SolidDefaultRoundButton(text), color: 'secondary' };
290
+ };
291
+ const SecondarySolidDefaultRoundIconButton = (text, icon) => {
292
+ return { ...SecondarySolidDefaultRoundButton(text), icon };
293
+ };
294
+ const SecondarySolidDefaultRoundHrefButton = (text, href, target) => {
295
+ return { ...SecondarySolidDefaultRoundButton(text), href, target };
296
+ };
297
+ const SecondarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
298
+ return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };
299
+ };
300
+ const SecondarySolidSmallRoundButton = (text) => {
301
+ return { ...SolidSmallRoundButton(text), color: 'secondary' };
302
+ };
303
+ const SecondarySolidSmallRoundIconButton = (text, icon) => {
304
+ return { ...SecondarySolidSmallRoundButton(text), icon };
305
+ };
306
+ const SecondarySolidSmallRoundHrefButton = (text, href, target) => {
307
+ return { ...SecondarySolidSmallRoundButton(text), href, target };
308
+ };
309
+ const SecondarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
310
+ return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };
311
+ };
312
+ const SecondarySolidLargeRoundButton = (text) => {
313
+ return { ...SolidLargeRoundButton(text), color: 'secondary' };
314
+ };
315
+ const SecondarySolidLargeRoundIconButton = (text, icon) => {
316
+ return { ...SecondarySolidLargeRoundButton(text), icon };
317
+ };
318
+ const SecondarySolidLargeRoundHrefButton = (text, href, target) => {
319
+ return { ...SecondarySolidLargeRoundButton(text), href, target };
320
+ };
321
+ const SecondarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
322
+ return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };
323
+ };
324
+ const SecondarySolidFullButton = (text) => {
325
+ return { ...SolidFullButton(text), color: 'secondary' };
326
+ };
327
+ const SecondarySolidFullIconButton = (text, icon) => {
328
+ return { ...SecondarySolidFullButton(text), icon };
329
+ };
330
+ const SecondarySolidFullHrefButton = (text, href, target) => {
331
+ return { ...SecondarySolidFullButton(text), href, target };
332
+ };
333
+ const SecondarySolidFullIconHrefButton = (text, icon, href, target) => {
334
+ return { ...SecondarySolidFullIconButton(text, icon), href, target };
335
+ };
336
+ const SecondarySolidBlockButton = (text) => {
337
+ return { ...SolidBlockButton(text), color: 'secondary' };
338
+ };
339
+ const SecondarySolidBlockIconButton = (text, icon) => {
340
+ return { ...SecondarySolidBlockButton(text), icon };
341
+ };
342
+ const SecondarySolidBlockHrefButton = (text, href, target) => {
343
+ return { ...SecondarySolidBlockButton(text), href, target };
344
+ };
345
+ const SecondarySolidBlockIconHrefButton = (text, icon, href, target) => {
346
+ return { ...SecondarySolidBlockIconButton(text, icon), href, target };
347
+ };
348
+
349
+ class TextContent {
350
+ constructor(text) {
351
+ this.text = text;
352
+ }
353
+ get Content() {
354
+ return this.text;
355
+ }
356
+ }
357
+ var LangOption;
358
+ (function (LangOption) {
359
+ LangOption["ES"] = "es";
360
+ LangOption["EN"] = "en";
361
+ })(LangOption || (LangOption = {}));
362
+
363
+ class LocalStorageService {
364
+ static set(reference, value) {
365
+ localStorage.setItem(reference, JSON.stringify(value));
366
+ }
367
+ static get(reference) {
368
+ const value = localStorage.getItem(reference);
369
+ return JSON.parse(value);
370
+ }
371
+ static remove(reference) {
372
+ localStorage.removeItem(reference);
373
+ }
374
+ static clear() {
375
+ localStorage.clear();
376
+ }
377
+ }
378
+
379
+ const LANG = 'LANG';
380
+ const THEME = 'THEME';
381
+
382
+ const ValtechConfigService = new InjectionToken('ValtechConfig');
383
+
384
+ class LangService {
385
+ constructor(config) {
386
+ this.default = LangOption.ES;
387
+ console.log('injected config: ', config);
388
+ this.content = config.content;
389
+ this.config = config;
390
+ const current = LocalStorageService.get(LANG);
391
+ this.selectedLang = new BehaviorSubject(current || this.default);
392
+ }
393
+ Text(className) {
394
+ return this.content[className].Content[this.selectedLang.value];
395
+ }
396
+ get Lang() {
397
+ return this.selectedLang.value;
398
+ }
399
+ set Lang(lang) {
400
+ this.selectedLang.next(lang);
401
+ LocalStorageService.set(LANG, lang);
402
+ }
403
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, deps: [{ token: ValtechConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
404
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, providedIn: 'root' }); }
405
+ }
406
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, decorators: [{
407
+ type: Injectable,
408
+ args: [{
409
+ providedIn: 'root',
410
+ }]
411
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
412
+ type: Inject,
413
+ args: [ValtechConfigService]
414
+ }] }] });
415
+
416
+ var ThemeOption;
417
+ (function (ThemeOption) {
418
+ ThemeOption["LIGHT"] = "light";
419
+ ThemeOption["DARK"] = "dark";
420
+ ThemeOption["AUTO"] = "auto";
421
+ })(ThemeOption || (ThemeOption = {}));
422
+ class ThemeService {
423
+ constructor() {
424
+ this.lightToggle = false;
425
+ this.darkToggle = false;
426
+ this.autoToggle = false;
427
+ this.currentOption = ThemeOption.AUTO;
428
+ this.themeOptions = ThemeOption;
429
+ this.prefersDark = false;
430
+ this.default = ThemeOption.AUTO;
431
+ const current = LocalStorageService.get(THEME);
432
+ console.log('💡 ThemeConfig current::: ', current);
433
+ this.theme = new BehaviorSubject(current || this.default);
434
+ this.currentOption = this.Theme;
435
+ console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
436
+ this.toggleUserPreference(this.currentOption);
437
+ const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
438
+ this.prefersDark = prefersDarkQuery.matches;
439
+ this.handleAutoConfiguration();
440
+ prefersDarkQuery.addEventListener('change', (mediaQuery) => {
441
+ console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
442
+ this.prefersDark = mediaQuery.matches;
443
+ this.handleAutoConfiguration();
444
+ });
445
+ }
446
+ handleAutoConfiguration() {
447
+ if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
448
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
449
+ this.toggleUserPreference(ThemeOption.AUTO);
450
+ }
451
+ if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
452
+ console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
453
+ this.toggleUserPreference(ThemeOption.AUTO);
454
+ }
455
+ }
456
+ handleDarkPreference() {
457
+ this.toggleTheme(ThemeOption.DARK, true);
458
+ this.toggleTheme(ThemeOption.LIGHT, false);
459
+ }
460
+ handleLightPreference() {
461
+ this.toggleTheme(ThemeOption.LIGHT, true);
462
+ this.toggleTheme(ThemeOption.DARK, false);
463
+ }
464
+ get Theme() {
465
+ return this.theme.value;
466
+ }
467
+ set Theme(theme) {
468
+ this.theme.next(theme);
469
+ LocalStorageService.set(THEME, theme);
470
+ }
471
+ toggleTheme(name, shouldAdd) {
472
+ console.log('toggleTheme::: ', name, shouldAdd);
473
+ document.body.classList.toggle(name, shouldAdd);
474
+ }
475
+ toggleUserPreference(option) {
476
+ this.currentOption = option;
477
+ this.Theme = option;
478
+ this.lightToggle = option === ThemeOption.LIGHT;
479
+ this.darkToggle = option === ThemeOption.DARK;
480
+ this.autoToggle = option === ThemeOption.AUTO;
481
+ switch (option) {
482
+ case ThemeOption.LIGHT:
483
+ this.handleLightPreference();
484
+ break;
485
+ case ThemeOption.DARK:
486
+ this.handleDarkPreference();
487
+ break;
488
+ case ThemeOption.AUTO:
489
+ if (this.prefersDark) {
490
+ this.handleDarkPreference();
491
+ }
492
+ else {
493
+ this.handleLightPreference();
494
+ }
495
+ break;
496
+ }
497
+ }
498
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
499
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
500
+ }
501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, decorators: [{
502
+ type: Injectable,
503
+ args: [{
504
+ providedIn: 'root',
505
+ }]
506
+ }], ctorParameters: () => [] });
507
+
508
+ const goToTop = (id) => {
509
+ const element = document.getElementById(id);
510
+ if (element) {
511
+ element.scrollIntoView({
512
+ block: 'start',
513
+ inline: 'nearest',
514
+ behavior: 'smooth',
515
+ });
516
+ }
517
+ };
518
+ const isAtEnd = (elementRef) => {
519
+ const formElement = elementRef.nativeElement;
520
+ const rect = formElement.getBoundingClientRect();
521
+ const windowHeight = window.innerHeight;
522
+ return rect.bottom <= windowHeight;
523
+ };
524
+
525
+ /*
526
+ * Public API Surface of valtech-components
527
+ */
528
+ /*
529
+ * Public API Surface of valtech-components
530
+ */
531
+
532
+ /**
533
+ * Generated bundle index. Do not edit.
534
+ */
535
+
536
+ export { ActionType, BaseDefault, ButtonComponent, ClearDefault, ClearDefaultBlock, ClearDefaultFull, ClearDefaultRound, ClearDefaultRoundBlock, ClearDefaultRoundFull, ComponentStates, DownloadService, Icon, InputType, LangOption, LangService, LocalStorageService, OutlineDefault, OutlineDefaultBlock, OutlineDefaultFull, OutlineDefaultRound, OutlineDefaultRoundBlock, OutlineDefaultRoundFull, PrimarySolidBlockButton, PrimarySolidBlockHrefButton, PrimarySolidBlockIconButton, PrimarySolidBlockIconHrefButton, PrimarySolidDefaultRoundButton, PrimarySolidDefaultRoundHrefButton, PrimarySolidDefaultRoundIconButton, PrimarySolidDefaultRoundIconHrefButton, PrimarySolidFullButton, PrimarySolidFullHrefButton, PrimarySolidFullIconButton, PrimarySolidFullIconHrefButton, PrimarySolidLargeRoundButton, PrimarySolidLargeRoundHrefButton, PrimarySolidLargeRoundIconButton, PrimarySolidLargeRoundIconHrefButton, PrimarySolidSmallRoundButton, PrimarySolidSmallRoundHrefButton, PrimarySolidSmallRoundIconButton, PrimarySolidSmallRoundIconHrefButton, SecondarySolidBlockButton, SecondarySolidBlockHrefButton, SecondarySolidBlockIconButton, SecondarySolidBlockIconHrefButton, SecondarySolidDefaultRoundButton, SecondarySolidDefaultRoundHrefButton, SecondarySolidDefaultRoundIconButton, SecondarySolidDefaultRoundIconHrefButton, SecondarySolidFullButton, SecondarySolidFullHrefButton, SecondarySolidFullIconButton, SecondarySolidFullIconHrefButton, SecondarySolidLargeRoundButton, SecondarySolidLargeRoundHrefButton, SecondarySolidLargeRoundIconButton, SecondarySolidLargeRoundIconHrefButton, SecondarySolidSmallRoundButton, SecondarySolidSmallRoundHrefButton, SecondarySolidSmallRoundIconButton, SecondarySolidSmallRoundIconHrefButton, SolidBlockButton, SolidDefault, SolidDefaultBlock, SolidDefaultButton, SolidDefaultFull, SolidDefaultRound, SolidDefaultRoundBlock, SolidDefaultRoundButton, SolidDefaultRoundFull, SolidFullButton, SolidLargeButton, SolidLargeRoundButton, SolidSmallButton, SolidSmallRoundButton, TextContent, ThemeOption, ThemeService, ValtechConfigService, goToTop, isAtEnd };
537
+ //# sourceMappingURL=valtech-components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valtech-components.mjs","sources":["../../../projects/valtech-components/src/lib/components/types.ts","../../../projects/valtech-components/src/lib/services/download.service.ts","../../../projects/valtech-components/src/lib/components/atoms/button/button.component.ts","../../../projects/valtech-components/src/lib/components/atoms/button/factory.ts","../../../projects/valtech-components/src/lib/services/lang-provider/types.ts","../../../projects/valtech-components/src/lib/services/local-storage.service.ts","../../../projects/valtech-components/src/lib/shared/constants/storage.ts","../../../projects/valtech-components/src/lib/services/types.ts","../../../projects/valtech-components/src/lib/services/lang-provider/lang-provider.service.ts","../../../projects/valtech-components/src/lib/services/theme.service.ts","../../../projects/valtech-components/src/lib/shared/utils/dom.ts","../../../projects/valtech-components/src/public-api.ts","../../../projects/valtech-components/src/valtech-components.ts"],"sourcesContent":["import { ValidatorFn } from \"@angular/forms\";\nimport { ButtonMetadata } from \"./atoms/button/types\";\n\nexport type ComponentState = 'ENABLED' | 'DISABLED' | 'WORKING' | 'ERROR';\nconst ENABLED: ComponentState = 'ENABLED';\nconst DISABLED: ComponentState = 'DISABLED';\nconst WORKING: ComponentState = 'WORKING';\nconst ERROR: ComponentState = 'ERROR';\nexport const ComponentStates = { ENABLED, DISABLED, WORKING, ERROR };\n\nexport enum ActionType {\n BROWSER_NEW_TAB,\n BROWSER_DOWNLOAD,\n NATIVE_DOWNLOAD,\n APP_NAVIGATION,\n BROWSER_NAVIGATION,\n}\n\nexport type Action = {\n description: string;\n type: ActionType;\n source: string;\n};\n\nexport enum InputType {\n TEXT,\n EMAIL,\n PASSWORD,\n COMMENT,\n NUMBER,\n PIN_CODE,\n DATE,\n HOUR,\n CHECK,\n RADIO,\n SELECT,\n FILE,\n}\n\nexport type InputOption = {\n id: string;\n name: string;\n selected?: boolean;\n order: number;\n};\n\nexport type InputMetadata = {\n token: string;\n label: string;\n name: string;\n hint: string;\n placeholder: string;\n type: InputType;\n order: number;\n validators: ValidatorFn[];\n options?: InputOption[];\n range?: {\n min: number;\n max: number;\n };\n errors: {\n [key: string]: string;\n };\n value?: string;\n};\n\nexport type FormSection = {\n name: string;\n order: number;\n fields: InputMetadata[];\n};\n\nexport type FormSubmit = {\n fields: { key: string; value: string }[];\n token?: string;\n};\n\nexport type FormMetadata = {\n name: string;\n sections: FormSection[];\n actions: ButtonMetadata;\n state: ComponentState;\n};\n\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DownloadService {\n getFileNameFromUrl(url: string): string {\n try {\n const pathSegments = url.split('/');\n const lastSegment = pathSegments[pathSegments.length - 1];\n const fileName = decodeURIComponent(lastSegment);\n return fileName;\n } catch (error) {\n console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));\n return 'filename';\n }\n }\n\n openNewTab(url: string): void {\n if (url) {\n const fileName = this.getFileNameFromUrl(url);\n const link = document.createElement('a');\n link.href = url;\n link.download = fileName;\n link.target = '_blank';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n console.error('La URL no está definida');\n }\n }\n\n downloadLinkFromBrowser(url: string): void {\n console.log('trying to download file from url');\n if (url) {\n fetch(url)\n .then((response) => response.blob())\n .then((blob) => {\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n\n const fileName = this.getFileNameFromUrl(url);\n link.download = `${+new Date()}-${fileName}`;\n link.target = '_self';\n link.click();\n\n window.URL.revokeObjectURL(url);\n })\n .catch((error) => {\n console.error('Error al descargar el archivo:', JSON.stringify(error));\n });\n } else {\n console.error('La URL no está definida');\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ComponentStates } from '../../types';\nimport { ButtonMetadata } from './types';\nimport { DownloadService } from '../../../services/download.service';\n\n@Component({\n selector: 'val-button',\n standalone: true,\n imports: [CommonModule],\n template: `\n <p>\n hello-world works!\n </p>\n `,\n styles: ``\n})\nexport class ButtonComponent {\n states = ComponentStates;\n\n @Input()\n props!: ButtonMetadata;\n\n @Output()\n onClick = new EventEmitter<string>();\n\n constructor(private download: DownloadService) { }\n\n ngOnInit() { }\n\n clickHandler() {\n if (this.props.download) {\n this.download.downloadLinkFromBrowser(this.props.download);\n }\n if (this.props.state === this.states.DISABLED) {\n return;\n }\n this.onClick.emit(this.props.token);\n }\n}\n","import { ButtonMetadata, IconMetada } from './types';\n\nexport const Icon = (name: string, slot: 'start' | 'end'): IconMetada => {\n return {\n name,\n slot,\n };\n};\n\n/* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */\n\nexport const BaseDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return {\n color: 'primary',\n state: 'ENABLED',\n text,\n size: 'default',\n type,\n };\n};\n\nexport const ClearDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'clear' };\n};\n\nexport const ClearDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), shape: 'round' };\n};\n\nexport const SolidDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'solid' };\n};\n\nexport const SolidDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), shape: 'round' };\n};\n\nexport const OutlineDefault = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...BaseDefault(text, type), fill: 'outline' };\n};\n\nexport const OutlineDefaultRound = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), shape: 'round' };\n};\n\nexport const ClearDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'full' };\n};\n\nexport const ClearDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefault(text, type), expand: 'block' };\n};\n\nexport const ClearDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...ClearDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'full' };\n};\n\nexport const SolidDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefault(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...SolidDefaultRound(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultRoundFull = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'full' };\n};\n\nexport const OutlineDefaultBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefault(text, type), expand: 'block' };\n};\n\nexport const OutlineDefaultRoundBlock = (text: string, type: 'button' | 'submit' | 'reset'): ButtonMetadata => {\n return { ...OutlineDefaultRound(text, type), expand: 'block' };\n};\n\nexport const SolidDefaultButton = (text: string): ButtonMetadata => {\n return SolidDefault(text, 'button');\n};\n\nexport const SolidSmallButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeButton = (text: string): ButtonMetadata => {\n return { ...SolidDefault(text, 'button'), size: 'large' };\n};\n\nexport const SolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return SolidDefaultRound(text, 'button');\n};\n\nexport const SolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'small' };\n};\n\nexport const SolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRound(text, 'button'), size: 'large' };\n};\n\nexport const SolidFullButton = (text: string): ButtonMetadata => {\n return SolidDefaultFull(text, 'button');\n};\n\nexport const SolidBlockButton = (text: string): ButtonMetadata => {\n return SolidDefaultBlock(text, 'button');\n};\n\n/** PRIMARY */\n\nexport const PrimarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), icon };\n};\n\nexport const PrimarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const PrimarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), icon };\n};\n\nexport const PrimarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundButton(text), href, target };\n};\n\nexport const PrimarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), icon };\n};\n\nexport const PrimarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundButton(text), href, target };\n};\n\nexport const PrimarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), icon };\n};\n\nexport const PrimarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockButton(text), href, target };\n};\n\nexport const PrimarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidBlockIconButton(text, icon), href, target };\n};\n\nexport const PrimarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'primary' };\n};\n\nexport const PrimarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), icon };\n};\n\nexport const PrimarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullButton(text), href, target };\n};\n\nexport const PrimarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...PrimarySolidFullIconButton(text, icon), href, target };\n};\n\n/** SECONDARY */\n\nexport const SecondarySolidDefaultRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidDefaultRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidDefaultRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), icon };\n};\n\nexport const SecondarySolidDefaultRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundButton(text), href, target };\n};\n\nexport const SecondarySolidDefaultRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidSmallRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidSmallRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidSmallRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), icon };\n};\n\nexport const SecondarySolidSmallRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundButton(text), href, target };\n};\n\nexport const SecondarySolidSmallRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidLargeRoundButton = (text: string): ButtonMetadata => {\n return { ...SolidLargeRoundButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidLargeRoundIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), icon };\n};\n\nexport const SecondarySolidLargeRoundHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundButton(text), href, target };\n};\n\nexport const SecondarySolidLargeRoundIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidFullButton = (text: string): ButtonMetadata => {\n return { ...SolidFullButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidFullIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), icon };\n};\n\nexport const SecondarySolidFullHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullButton(text), href, target };\n};\n\nexport const SecondarySolidFullIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidFullIconButton(text, icon), href, target };\n};\n\nexport const SecondarySolidBlockButton = (text: string): ButtonMetadata => {\n return { ...SolidBlockButton(text), color: 'secondary' };\n};\n\nexport const SecondarySolidBlockIconButton = (text: string, icon: IconMetada): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), icon };\n};\n\nexport const SecondarySolidBlockHrefButton = (\n text: string,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockButton(text), href, target };\n};\n\nexport const SecondarySolidBlockIconHrefButton = (\n text: string,\n icon: IconMetada,\n href: string,\n target: '_blank' | '_self' | '_parent' | '_top',\n): ButtonMetadata => {\n return { ...SecondarySolidBlockIconButton(text, icon), href, target };\n};\n","import { Provider } from \"./content\";\n\nexport type LanguageText = {\n [key: string]: string;\n};\n\nexport type LanguagesContent = {\n [key: string]: LanguageText;\n};\n\nexport class TextContent {\n text: LanguagesContent;\n constructor(text: LanguagesContent) {\n this.text = text;\n }\n\n get Content(): LanguagesContent {\n return this.text;\n }\n}\n\nexport enum LangOption {\n ES = 'es',\n EN = 'en',\n}\n","export class LocalStorageService {\n static set<T>(reference: string, value: T): void {\n localStorage.setItem(reference, JSON.stringify(value));\n }\n\n static get<T>(reference: string): T {\n const value = localStorage.getItem(reference);\n return JSON.parse(value) as T;\n }\n\n static remove(reference: string): void {\n localStorage.removeItem(reference);\n }\n\n static clear() {\n localStorage.clear();\n }\n}\n","export const LANG = 'LANG';\nexport const THEME = 'THEME';","import { InjectionToken } from \"@angular/core\";\nimport { Provider } from \"./lang-provider/content\";\n\nexport interface ValtechConfig {\n content: Provider;\n}\n\nexport const ValtechConfigService = new InjectionToken<ValtechConfig>('ValtechConfig');","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { Provider } from './content';\nimport { LangOption, LanguageText } from './types';\nimport { LocalStorageService } from '../local-storage.service';\nimport { LANG } from '../../shared/constants/storage';\nimport { ValtechConfig, ValtechConfigService } from '../types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LangService {\n content: Provider;\n default = LangOption.ES;\n selectedLang: BehaviorSubject<LangOption>;\n config: ValtechConfig;\n\n constructor(@Inject(ValtechConfigService) config: ValtechConfig) {\n console.log('injected config: ', config);\n this.content = config.content;\n this.config = config;\n const current = LocalStorageService.get<LangOption>(LANG);\n this.selectedLang = new BehaviorSubject<LangOption>(current || this.default);\n }\n\n Text(className: string): LanguageText {\n return this.content[className].Content[this.selectedLang.value];\n }\n\n get Lang(): LangOption {\n return this.selectedLang.value;\n }\n\n set Lang(lang: LangOption) {\n this.selectedLang.next(lang);\n LocalStorageService.set<LangOption>(LANG, lang);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { LocalStorageService } from './local-storage.service';\nimport { THEME } from '../shared/constants/storage';\n\nexport enum ThemeOption {\n LIGHT = 'light',\n DARK = 'dark',\n AUTO = 'auto',\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ThemeService {\n lightToggle = false;\n darkToggle = false;\n autoToggle = false;\n currentOption = ThemeOption.AUTO;\n themeOptions = ThemeOption;\n prefersDark = false;\n default = ThemeOption.AUTO;\n theme: BehaviorSubject<ThemeOption>;\n\n constructor() {\n const current = LocalStorageService.get<ThemeOption>(THEME);\n console.log('💡 ThemeConfig current::: ', current);\n this.theme = new BehaviorSubject<ThemeOption>(current || this.default);\n this.currentOption = this.Theme;\n console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);\n this.toggleUserPreference(this.currentOption);\n\n const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');\n this.prefersDark = prefersDarkQuery.matches;\n this.handleAutoConfiguration();\n\n prefersDarkQuery.addEventListener('change', (mediaQuery) => {\n console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);\n this.prefersDark = mediaQuery.matches;\n this.handleAutoConfiguration();\n });\n }\n\n private handleAutoConfiguration() {\n if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {\n console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);\n this.toggleUserPreference(ThemeOption.AUTO);\n }\n if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {\n console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);\n this.toggleUserPreference(ThemeOption.AUTO);\n }\n }\n\n private handleDarkPreference() {\n this.toggleTheme(ThemeOption.DARK, true);\n this.toggleTheme(ThemeOption.LIGHT, false);\n }\n\n private handleLightPreference() {\n this.toggleTheme(ThemeOption.LIGHT, true);\n this.toggleTheme(ThemeOption.DARK, false);\n }\n\n get Theme(): ThemeOption {\n return this.theme.value;\n }\n\n set Theme(theme: ThemeOption) {\n this.theme.next(theme);\n LocalStorageService.set<ThemeOption>(THEME, theme);\n }\n\n toggleTheme(name: string, shouldAdd: boolean) {\n console.log('toggleTheme::: ', name, shouldAdd);\n document.body.classList.toggle(name, shouldAdd);\n }\n\n toggleUserPreference(option: ThemeOption) {\n this.currentOption = option;\n this.Theme = option;\n this.lightToggle = option === ThemeOption.LIGHT;\n this.darkToggle = option === ThemeOption.DARK;\n this.autoToggle = option === ThemeOption.AUTO;\n\n switch (option) {\n case ThemeOption.LIGHT:\n this.handleLightPreference();\n break;\n case ThemeOption.DARK:\n this.handleDarkPreference();\n break;\n case ThemeOption.AUTO:\n if (this.prefersDark) {\n this.handleDarkPreference();\n } else {\n this.handleLightPreference();\n }\n break;\n }\n }\n}\n","import { ElementRef } from \"@angular/core\";\n\nexport const goToTop = (id: string): void => {\n const element = document.getElementById(id);\n if (element) {\n element.scrollIntoView({\n block: 'start',\n inline: 'nearest',\n behavior: 'smooth',\n });\n }\n};\n\n\nexport const isAtEnd = (elementRef: ElementRef): boolean => {\n const formElement = elementRef.nativeElement;\n const rect = formElement.getBoundingClientRect();\n const windowHeight = window.innerHeight;\n return rect.bottom <= windowHeight;\n}\n","/*\n * Public API Surface of valtech-components\n */\n\n/*\n * Public API Surface of valtech-components\n */\n\nexport * from './lib/components/atoms/button/button.component';\nexport * from './lib/components/atoms/button/types';\nexport * from './lib/components/atoms/button/factory';\n\nexport * from './lib/services/lang-provider/lang-provider.service';\nexport * from './lib/services/lang-provider/types';\nexport * from './lib/services/local-storage.service';\nexport * from './lib/services/theme.service';\nexport * from './lib/services/download.service';\nexport * from './lib/services/types';\n\nexport * from './lib/shared/utils/dom';\nexport * from './lib/components/types';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DownloadService"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="valtech-components" />
5
+ export * from './public-api';