valtech-components 2.0.418 → 2.0.420

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 (107) hide show
  1. package/esm2022/lib/components/atoms/button/button.component.mjs +30 -102
  2. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +2 -7
  3. package/esm2022/lib/components/atoms/display/display.component.mjs +18 -101
  4. package/esm2022/lib/components/atoms/image/image.component.mjs +2 -5
  5. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +2 -12
  6. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +4 -29
  7. package/esm2022/lib/components/atoms/text/text.component.mjs +49 -171
  8. package/esm2022/lib/components/atoms/title/title.component.mjs +23 -65
  9. package/esm2022/lib/components/atoms/title/types.mjs +7 -19
  10. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +7 -53
  11. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +7 -26
  12. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +7 -42
  13. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +12 -41
  14. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -28
  15. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +2 -5
  16. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -6
  17. package/esm2022/lib/components/molecules/comment/comment.component.mjs +5 -31
  18. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +2 -23
  19. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +2 -29
  20. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -6
  21. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +16 -40
  22. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +25 -125
  23. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +4 -6
  24. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +2 -10
  25. package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +2 -4
  26. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +2 -23
  27. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +3 -6
  28. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +9 -12
  29. package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +3 -11
  30. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +4 -25
  31. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +3 -34
  32. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +11 -20
  33. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +4 -6
  34. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +1 -6
  35. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +3 -28
  36. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +7 -41
  37. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +2 -27
  38. package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +2 -10
  39. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +7 -37
  40. package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +1 -12
  41. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +8 -54
  42. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +1 -3
  43. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -5
  44. package/esm2022/lib/services/locale.service.mjs +75 -0
  45. package/esm2022/lib/services/types.mjs +5 -3
  46. package/esm2022/public-api.mjs +2 -7
  47. package/fesm2022/valtech-components.mjs +366 -2279
  48. package/fesm2022/valtech-components.mjs.map +1 -1
  49. package/lib/components/atoms/button/button.component.d.ts +12 -37
  50. package/lib/components/atoms/countdown/countdown.component.d.ts +0 -1
  51. package/lib/components/atoms/display/display.component.d.ts +8 -60
  52. package/lib/components/atoms/image/image.component.d.ts +0 -2
  53. package/lib/components/atoms/price-tag/price-tag.component.d.ts +0 -1
  54. package/lib/components/atoms/qr-code/qr-code.component.d.ts +2 -6
  55. package/lib/components/atoms/text/text.component.d.ts +20 -68
  56. package/lib/components/atoms/title/title.component.d.ts +7 -12
  57. package/lib/components/atoms/title/types.d.ts +11 -24
  58. package/lib/components/molecules/accordion/accordion.component.d.ts +2 -9
  59. package/lib/components/molecules/alert-box/alert-box.component.d.ts +3 -8
  60. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +2 -8
  61. package/lib/components/molecules/check-input/check-input.component.d.ts +2 -10
  62. package/lib/components/molecules/chip-group/chip-group.component.d.ts +2 -8
  63. package/lib/components/molecules/code-display/code-display.component.d.ts +0 -2
  64. package/lib/components/molecules/command-display/command-display.component.d.ts +0 -3
  65. package/lib/components/molecules/comment/comment.component.d.ts +2 -6
  66. package/lib/components/molecules/currency-input/currency-input.component.d.ts +0 -3
  67. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +0 -3
  68. package/lib/components/molecules/expandable-text/expandable-text.component.d.ts +0 -1
  69. package/lib/components/molecules/glow-card/glow-card.component.d.ts +5 -9
  70. package/lib/components/molecules/language-selector/language-selector.component.d.ts +7 -19
  71. package/lib/components/molecules/multi-select-search/multi-select-search.component.d.ts +0 -2
  72. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +0 -1
  73. package/lib/components/molecules/participant-card/participant-card.component.d.ts +0 -1
  74. package/lib/components/molecules/phone-input/phone-input.component.d.ts +0 -3
  75. package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +0 -3
  76. package/lib/components/molecules/popover-selector/popover-selector.component.d.ts +3 -4
  77. package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +0 -1
  78. package/lib/components/molecules/range-input/range-input.component.d.ts +3 -8
  79. package/lib/components/molecules/segment-control/segment-control.component.d.ts +2 -8
  80. package/lib/components/molecules/select-input/select-input.component.d.ts +2 -3
  81. package/lib/components/molecules/select-search/select-search.component.d.ts +0 -2
  82. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +0 -1
  83. package/lib/components/molecules/stepper/stepper.component.d.ts +2 -8
  84. package/lib/components/molecules/tabs/tabs.component.d.ts +2 -8
  85. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +2 -6
  86. package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +0 -1
  87. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +2 -8
  88. package/lib/components/molecules/winner-display/winner-display.component.d.ts +0 -1
  89. package/lib/components/organisms/comment-section/comment-section.component.d.ts +2 -6
  90. package/lib/components/organisms/data-table/data-table.component.d.ts +0 -1
  91. package/lib/components/organisms/wizard/wizard.component.d.ts +0 -2
  92. package/lib/services/locale.service.d.ts +52 -0
  93. package/lib/services/types.d.ts +1 -6
  94. package/package.json +1 -3
  95. package/public-api.d.ts +1 -5
  96. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
  97. package/esm2022/lib/services/lang-provider/content.mjs +0 -156
  98. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -530
  99. package/esm2022/lib/services/lang-provider/types.mjs +0 -23
  100. package/esm2022/lib/shared/utils/content.mjs +0 -186
  101. package/esm2022/lib/shared/utils/simple-content.mjs +0 -119
  102. package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
  103. package/lib/services/lang-provider/content.d.ts +0 -17
  104. package/lib/services/lang-provider/lang-provider.service.d.ts +0 -264
  105. package/lib/services/lang-provider/types.d.ts +0 -30
  106. package/lib/shared/utils/content.d.ts +0 -199
  107. package/lib/shared/utils/simple-content.d.ts +0 -120
@@ -1,5 +1,4 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { Observable } from 'rxjs';
1
+ import { EventEmitter } from '@angular/core';
3
2
  import { GlowCardClickEvent, GlowCardMetadata } from './types';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
@@ -23,21 +22,18 @@ import * as i0 from "@angular/core";
23
22
  * @input props: GlowCardMetadata - Configuration for the card
24
23
  * @output onClick - Emits GlowCardClickEvent when card, image, or CTA is clicked
25
24
  */
26
- export declare class GlowCardComponent implements OnInit {
25
+ export declare class GlowCardComponent {
27
26
  props: GlowCardMetadata;
28
27
  onClick: EventEmitter<GlowCardClickEvent>;
29
- private langService;
30
28
  private navigationService;
31
29
  private themeService;
32
- title$: Observable<string>;
33
- description$: Observable<string>;
34
- ctaText$: Observable<string>;
35
30
  private readonly ionicColors;
36
31
  private readonly colorRgbMap;
37
32
  constructor();
38
- ngOnInit(): void;
39
33
  get isDark(): boolean;
40
- private initializeContent;
34
+ getTitle(): string;
35
+ getDescription(): string;
36
+ getCtaText(): string;
41
37
  getGlowColor(): string;
42
38
  getGlowColorRgb(): string;
43
39
  private hexToRgb;
@@ -1,42 +1,30 @@
1
- import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { LangService } from '../../../services/lang-provider/lang-provider.service';
4
- import { LangOption } from '../../../services/lang-provider/types';
1
+ import { EventEmitter, OnInit } from '@angular/core';
5
2
  import { PopoverSelectorMetadata } from '../popover-selector/types';
6
3
  import { LanguageSelectorMetadata } from './types';
7
4
  import * as i0 from "@angular/core";
8
- export declare class LanguageSelectorComponent implements OnInit, OnDestroy {
9
- private langService;
5
+ export declare class LanguageSelectorComponent implements OnInit {
10
6
  /**
11
7
  * Language selector configuration object.
12
- * @type {LanguageSelectorMetadata}
13
8
  */
14
9
  props: LanguageSelectorMetadata;
15
10
  /**
16
11
  * Event emitted when the language selection changes.
17
12
  * Emits the selected language code.
13
+ * Note: Page will reload after this event.
18
14
  */
19
15
  languageChange: EventEmitter<string>;
20
16
  /** Popover selector configuration */
21
17
  popoverProps: PopoverSelectorMetadata;
22
- /** Current language observable */
23
- currentLanguage$: Observable<LangOption>;
24
- /** Available languages observable */
25
- availableLanguages$: Observable<LangOption[]>;
26
- /** Label observable for reactive content */
27
- label$: Observable<string>;
28
- private subscriptions;
18
+ private localeService;
29
19
  /** Default language display names */
30
20
  private readonly defaultLanguageNames;
31
21
  /** Default flag icons for languages */
32
22
  private readonly defaultLanguageFlags;
33
- constructor(langService: LangService);
23
+ /** Available languages */
24
+ private readonly availableLanguages;
25
+ constructor();
34
26
  ngOnInit(): void;
35
- ngOnDestroy(): void;
36
- private initializeLanguageState;
37
- private initializeLabel;
38
27
  private initializePopoverProps;
39
- private updatePopoverProps;
40
28
  private getLanguageDisplayName;
41
29
  /**
42
30
  * Handle language selection change.
@@ -9,8 +9,6 @@ export declare class MultiSelectSearchComponent implements OnChanges, OnDestroy
9
9
  labelProperty: string;
10
10
  valueProperty: string;
11
11
  placeholder: string;
12
- private langService;
13
- constructor();
14
12
  props: InputMetadata;
15
13
  icon: IconService;
16
14
  private changeDetector;
@@ -11,7 +11,6 @@ export declare class NumberStepperComponent implements OnInit, OnDestroy {
11
11
  ERROR: "ERROR";
12
12
  };
13
13
  private valueSubscription;
14
- private langService;
15
14
  ngOnInit(): void;
16
15
  ngOnDestroy(): void;
17
16
  get currentValue(): number;
@@ -6,7 +6,6 @@ export declare class ParticipantCardComponent {
6
6
  cardClick: EventEmitter<ParticipantCardClickEvent>;
7
7
  actionClick: EventEmitter<ParticipantCardActionEvent>;
8
8
  showAllTickets: boolean;
9
- private langService;
10
9
  get ticketNumbers(): (number | ParticipantTicket)[];
11
10
  get visibleTickets(): (number | ParticipantTicket)[];
12
11
  get hiddenTicketsCount(): number;
@@ -13,14 +13,11 @@ export declare class PhoneInputComponent implements OnInit, OnDestroy {
13
13
  };
14
14
  internalCountryControl: FormControl<string>;
15
15
  internalNumberControl: FormControl<string>;
16
- private langSubscription;
17
16
  private valueSubscription;
18
- private langService;
19
17
  ngOnInit(): void;
20
18
  ngOnDestroy(): void;
21
19
  private isInternalUpdate;
22
20
  private parsePhoneNumber;
23
- private hasReactiveContent;
24
21
  getLabel(): string;
25
22
  getPlaceholder(): string;
26
23
  getHint(): string;
@@ -5,16 +5,13 @@ import 'prismjs/components/prism-css';
5
5
  import 'prismjs/components/prism-javascript';
6
6
  import 'prismjs/components/prism-markup';
7
7
  import 'prismjs/components/prism-typescript';
8
- import { LangService } from '../../../services/lang-provider/lang-provider.service';
9
8
  import { PlainCodeBoxMetadata } from './types';
10
9
  import * as i0 from "@angular/core";
11
10
  export declare class PlainCodeBoxComponent implements AfterViewInit, OnChanges {
12
11
  toast: ToastController;
13
12
  cdr: ChangeDetectorRef;
14
- langService: LangService;
15
13
  props: PlainCodeBoxMetadata;
16
14
  codeBlock: ElementRef<HTMLElement>;
17
- constructor();
18
15
  ngOnChanges(changes: SimpleChanges): void;
19
16
  ngAfterViewInit(): void;
20
17
  private highlightCode;
@@ -12,18 +12,17 @@ export declare class PopoverSelectorComponent {
12
12
  * Emits the selected value(s).
13
13
  */
14
14
  selectionChange: EventEmitter<string | string[]>;
15
- private langService;
16
15
  constructor();
17
16
  /**
18
- * Get reactive placeholder text.
17
+ * Get placeholder text.
19
18
  */
20
19
  getPlaceholderText(): string;
21
20
  /**
22
- * Get reactive cancel text.
21
+ * Get cancel text.
23
22
  */
24
23
  getCancelText(): string;
25
24
  /**
26
- * Get reactive ok text.
25
+ * Get ok text.
27
26
  */
28
27
  getOkText(): string;
29
28
  /**
@@ -5,7 +5,6 @@ export declare class RaffleStatusCardComponent {
5
5
  props: RaffleStatusCardMetadata;
6
6
  primaryActionClick: EventEmitter<void>;
7
7
  secondaryActionClick: EventEmitter<void>;
8
- private langService;
9
8
  get isActiveOrUpcoming(): boolean;
10
9
  get progressPercentage(): number;
11
10
  getStatusLabel(): string;
@@ -1,7 +1,7 @@
1
- import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { RangeInputMetadata, RangeValue } from './types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class RangeInputComponent implements OnInit, OnDestroy {
4
+ export declare class RangeInputComponent {
5
5
  /**
6
6
  * Input configuration object.
7
7
  * @type {RangeInputMetadata}
@@ -17,14 +17,9 @@ export declare class RangeInputComponent implements OnInit, OnDestroy {
17
17
  WORKING: "WORKING";
18
18
  ERROR: "ERROR";
19
19
  };
20
- displayLabel: string;
21
- private langService;
22
- private subscription?;
23
20
  defaultPinFormatter: (value: number) => string;
24
- ngOnInit(): void;
25
- ngOnDestroy(): void;
21
+ get displayLabel(): string;
26
22
  onRangeChange(event: CustomEvent): void;
27
- private setupLabel;
28
23
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeInputComponent, never>;
29
24
  static ɵcmp: i0.ɵɵComponentDeclaration<RangeInputComponent, "val-range-input", never, { "props": { "alias": "props"; "required": false; }; }, { "rangeChange": "rangeChange"; }, never, never, true, never>;
30
25
  }
@@ -1,7 +1,7 @@
1
- import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { SegmentControlMetadata, SegmentOption } from './types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class SegmentControlComponent implements OnInit, OnDestroy {
4
+ export declare class SegmentControlComponent {
5
5
  /**
6
6
  * Input configuration object.
7
7
  * @type {SegmentControlMetadata}
@@ -17,14 +17,8 @@ export declare class SegmentControlComponent implements OnInit, OnDestroy {
17
17
  WORKING: "WORKING";
18
18
  ERROR: "ERROR";
19
19
  };
20
- optionLabels: Map<string, string>;
21
- private langService;
22
- private subscriptions;
23
- ngOnInit(): void;
24
- ngOnDestroy(): void;
25
20
  onSegmentChange(event: CustomEvent): void;
26
21
  getOptionLabel(option: SegmentOption): string;
27
- private setupOptionLabels;
28
22
  static ɵfac: i0.ɵɵFactoryDeclaration<SegmentControlComponent, never>;
29
23
  static ɵcmp: i0.ɵɵComponentDeclaration<SegmentControlComponent, "val-segment-control", never, { "props": { "alias": "props"; "required": false; }; }, { "segmentChange": "segmentChange"; }, never, never, true, never>;
30
24
  }
@@ -2,7 +2,6 @@ import { OnInit } from '@angular/core';
2
2
  import { InputMetadata } from '../../types';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SearchSelectorComponent implements OnInit {
5
- private langService;
6
5
  /**
7
6
  * Input configuration object.
8
7
  * @type {InputMetadata}
@@ -11,8 +10,8 @@ export declare class SearchSelectorComponent implements OnInit {
11
10
  * @property options - The available options for the select.
12
11
  * @property placeholder - The placeholder text.
13
12
  * @property modalHeader - Custom header text for the modal (optional, uses label if not provided).
14
- * @property cancelText - Custom cancel button text (optional, uses i18n default).
15
- * @property okText - Custom OK button text (optional, uses i18n default).
13
+ * @property cancelText - Custom cancel button text (default: 'Cancelar').
14
+ * @property okText - Custom OK button text (default: 'Aceptar').
16
15
  */
17
16
  props: InputMetadata;
18
17
  customModalOptions: {
@@ -10,8 +10,6 @@ export declare class SelectSearchComponent implements OnChanges, OnDestroy {
10
10
  valueProperty: string;
11
11
  multiple: boolean;
12
12
  placeholder: string;
13
- private langService;
14
- constructor();
15
13
  /**
16
14
  * Input configuration object.
17
15
  * @type {InputMetadata}
@@ -5,7 +5,6 @@ export declare class ShareButtonsComponent {
5
5
  props: ShareButtonsMetadata;
6
6
  shareComplete: EventEmitter<ShareEvent>;
7
7
  private toastController;
8
- private langService;
9
8
  getButtons(): ShareButtonConfig[];
10
9
  getButtonFill(): 'solid' | 'outline' | 'clear';
11
10
  getButtonIcon(button: ShareButtonConfig): string;
@@ -1,21 +1,15 @@
1
- import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { StepperMetadata, StepMetadata, StepChangeEvent, StepStatus } from './types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class StepperComponent implements OnInit, OnDestroy {
4
+ export declare class StepperComponent {
5
5
  props: StepperMetadata;
6
6
  stepChange: EventEmitter<StepChangeEvent>;
7
- private langService;
8
- private subscriptions;
9
- private stepLabels;
10
- ngOnInit(): void;
11
- ngOnDestroy(): void;
12
7
  getCurrentIndex(): number;
13
8
  getStepStatus(step: StepMetadata, index: number): StepStatus;
14
9
  getStepColor(step: StepMetadata, index: number): string;
15
10
  isStepClickable(step: StepMetadata, index: number): boolean;
16
11
  onStepClick(step: StepMetadata, index: number): void;
17
12
  getStepLabel(step: StepMetadata): string;
18
- private setupLabels;
19
13
  static ɵfac: i0.ɵɵFactoryDeclaration<StepperComponent, never>;
20
14
  static ɵcmp: i0.ɵɵComponentDeclaration<StepperComponent, "val-stepper", never, { "props": { "alias": "props"; "required": false; }; }, { "stepChange": "stepChange"; }, never, never, true, never>;
21
15
  }
@@ -1,17 +1,11 @@
1
- import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import { TabsMetadata, TabMetadata } from './types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TabsComponent implements OnInit, OnDestroy {
4
+ export declare class TabsComponent {
5
5
  props: TabsMetadata;
6
6
  tabChange: EventEmitter<TabMetadata>;
7
- private langService;
8
- private subscriptions;
9
- private tabLabels;
10
- ngOnInit(): void;
11
- ngOnDestroy(): void;
12
7
  onTabClick(tab: TabMetadata): void;
13
8
  getTabLabel(tab: TabMetadata): string;
14
- private setupLabels;
15
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
16
10
  static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "val-tabs", never, { "props": { "alias": "props"; "required": false; }; }, { "tabChange": "tabChange"; }, never, never, true, never>;
17
11
  }
@@ -1,7 +1,7 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { TextareaInputMetadata } from './types';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TextareaInputComponent implements OnInit, OnDestroy {
4
+ export declare class TextareaInputComponent implements OnInit {
5
5
  props: TextareaInputMetadata;
6
6
  states: {
7
7
  ENABLED: "ENABLED";
@@ -9,11 +9,7 @@ export declare class TextareaInputComponent implements OnInit, OnDestroy {
9
9
  WORKING: "WORKING";
10
10
  ERROR: "ERROR";
11
11
  };
12
- private langSubscription;
13
- private langService;
14
12
  ngOnInit(): void;
15
- ngOnDestroy(): void;
16
- private hasReactiveContent;
17
13
  getLabel(): string;
18
14
  getPlaceholder(): string;
19
15
  getHint(): string;
@@ -10,7 +10,6 @@ export declare class TicketGridComponent implements OnInit, OnChanges {
10
10
  selectedTickets: number[];
11
11
  searchTerm: string;
12
12
  highlightedNumbers: number[];
13
- private langService;
14
13
  ngOnInit(): void;
15
14
  ngOnChanges(changes: SimpleChanges): void;
16
15
  private buildTickets;
@@ -1,7 +1,6 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
2
1
  import { ToggleInputMetadata } from './types';
3
2
  import * as i0 from "@angular/core";
4
- export declare class ToggleInputComponent implements OnInit, OnDestroy {
3
+ export declare class ToggleInputComponent {
5
4
  /**
6
5
  * Input configuration object.
7
6
  * @type {ToggleInputMetadata}
@@ -13,12 +12,7 @@ export declare class ToggleInputComponent implements OnInit, OnDestroy {
13
12
  WORKING: "WORKING";
14
13
  ERROR: "ERROR";
15
14
  };
16
- displayLabel: string;
17
- private langService;
18
- private subscription?;
19
- ngOnInit(): void;
20
- ngOnDestroy(): void;
21
- private setupLabel;
15
+ getDisplayLabel(): string;
22
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleInputComponent, never>;
23
17
  static ɵcmp: i0.ɵɵComponentDeclaration<ToggleInputComponent, "val-toggle-input", never, { "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
24
18
  }
@@ -10,7 +10,6 @@ export declare class WinnerDisplayComponent implements OnInit, OnDestroy, AfterV
10
10
  confettiPieces: number[];
11
11
  private revealTimeout;
12
12
  private animationTimeout;
13
- private langService;
14
13
  private elementRef;
15
14
  ngOnInit(): void;
16
15
  ngAfterViewInit(): void;
@@ -1,8 +1,8 @@
1
- import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
2
  import { CommentSectionMetadata, CommentSortOption, CommentSortChangeEvent, CommentSubmitEvent, CommentSectionLoadMoreEvent } from './types';
3
3
  import { CommentAuthorClickEvent, CommentReactionClickEvent, CommentActionClickEvent, CommentMenuItemClickEvent, CommentLoadMoreEvent } from '../../molecules/comment/types';
4
4
  import * as i0 from "@angular/core";
5
- export declare class CommentSectionComponent implements OnInit, OnDestroy {
5
+ export declare class CommentSectionComponent implements OnInit {
6
6
  props: CommentSectionMetadata;
7
7
  sortChange: EventEmitter<CommentSortChangeEvent>;
8
8
  commentSubmit: EventEmitter<CommentSubmitEvent>;
@@ -23,11 +23,7 @@ export declare class CommentSectionComponent implements OnInit, OnDestroy {
23
23
  replyingTo: string | null;
24
24
  displayTitle: string;
25
25
  displayLoadMoreLabel: string;
26
- private langSubscription;
27
- private langService;
28
26
  ngOnInit(): void;
29
- ngOnDestroy(): void;
30
- private hasReactiveContent;
31
27
  private updateDisplayTexts;
32
28
  formatCount(count: number): string;
33
29
  getSortOptionLabel(option: CommentSortOption): string;
@@ -12,7 +12,6 @@ export declare class DataTableComponent<T = any> implements OnInit, OnChanges {
12
12
  selectedRows: Set<any>;
13
13
  /** Cached visible columns for performance */
14
14
  private _visibleColumns;
15
- private langService;
16
15
  private cdr;
17
16
  ngOnInit(): void;
18
17
  ngOnChanges(changes: SimpleChanges): void;
@@ -12,8 +12,6 @@ export declare class WizardComponent implements OnInit, OnChanges {
12
12
  currentStepTitles: any;
13
13
  loadingText: string;
14
14
  private cdr;
15
- private langService;
16
- constructor();
17
15
  ngOnInit(): void;
18
16
  ngOnChanges(changes: SimpleChanges): void;
19
17
  private updateCurrentStep;
@@ -0,0 +1,52 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Tipos de idioma soportados
4
+ */
5
+ export type SupportedLang = 'es' | 'en';
6
+ /**
7
+ * Servicio mínimo de localización.
8
+ *
9
+ * - Lee el idioma desde localStorage al iniciar
10
+ * - Proporciona método para cambiar idioma (recarga la página)
11
+ * - Sin observables ni subscripciones
12
+ *
13
+ * @example
14
+ * // En un componente
15
+ * locale = inject(LocaleService);
16
+ *
17
+ * // Obtener idioma actual
18
+ * console.log(this.locale.lang); // 'es' o 'en'
19
+ *
20
+ * // Cambiar idioma (recarga la página)
21
+ * this.locale.setLang('en');
22
+ */
23
+ export declare class LocaleService {
24
+ /**
25
+ * Idioma actual de la aplicación.
26
+ * Se lee una vez al iniciar desde localStorage.
27
+ */
28
+ readonly lang: SupportedLang;
29
+ constructor();
30
+ /**
31
+ * Cambia el idioma de la aplicación.
32
+ * Guarda en localStorage y recarga la página para aplicar el cambio.
33
+ *
34
+ * @param lang Nuevo idioma ('es' o 'en')
35
+ */
36
+ setLang(lang: SupportedLang): void;
37
+ /**
38
+ * Obtiene el idioma almacenado en localStorage.
39
+ * Si no existe o no es válido, retorna el idioma por defecto.
40
+ */
41
+ private getStoredLang;
42
+ /**
43
+ * Verifica si el idioma actual es español
44
+ */
45
+ get isSpanish(): boolean;
46
+ /**
47
+ * Verifica si el idioma actual es inglés
48
+ */
49
+ get isEnglish(): boolean;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocaleService, never>;
51
+ static ɵprov: i0.ɵɵInjectableDeclaration<LocaleService>;
52
+ }
@@ -1,6 +1 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { Provider } from './lang-provider/content';
3
- export interface ValtechConfig {
4
- content: Provider;
5
- }
6
- export declare const ValtechConfigService: InjectionToken<ValtechConfig>;
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.418",
3
+ "version": "2.0.420",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -10,10 +10,8 @@
10
10
  "peerDependencies": {
11
11
  "@angular/common": "^18.0.0",
12
12
  "@angular/core": "^18.0.0",
13
- "@angular/fire": "^18.0.0",
14
13
  "@capacitor/clipboard": "^6.0.1",
15
14
  "@ionic/angular": "^8.0.0",
16
- "firebase": "^10.0.0",
17
15
  "ionicons": "^7.2.1",
18
16
  "prismjs": "^1.30.0",
19
17
  "qr-code-styling": "^1.9.0",
package/public-api.d.ts CHANGED
@@ -197,11 +197,9 @@ export * from './lib/components/templates/page-wrapper/types';
197
197
  export * from './lib/services/download.service';
198
198
  export * from './lib/services/icons.service';
199
199
  export * from './lib/services/in-app-browser.service';
200
- export * from './lib/services/lang-provider/content';
201
- export * from './lib/services/lang-provider/lang-provider.service';
202
- export * from './lib/services/lang-provider/types';
203
200
  export * from './lib/services/link-processor.service';
204
201
  export * from './lib/services/local-storage.service';
202
+ export * from './lib/services/locale.service';
205
203
  export * from './lib/services/navigation.service';
206
204
  export * from './lib/services/theme.service';
207
205
  export * from './lib/services/toast.service';
@@ -214,9 +212,7 @@ export * from './lib/services/modal/modal.service';
214
212
  export * from './lib/services/modal/types';
215
213
  export * from './lib/components/types';
216
214
  export * from './lib/shared/pipes/process-links.pipe';
217
- export * from './lib/shared/utils/content';
218
215
  export * from './lib/shared/utils/dom';
219
216
  export * from './lib/shared/utils/form-defaults';
220
- export { createReactiveContentMetadata, extractContentConfig, extractContentConfigWithInterpolation, interpolateStaticContent, ReactiveContentMetadata, ReactiveContentWithInterpolation, ReactiveTextMetadata, shouldUseReactiveContent, shouldUseReactiveContentWithInterpolation, } from './lib/shared/utils/simple-content';
221
217
  export * from './lib/shared/utils/styles';
222
218
  export * from './lib/shared/utils/text';
@@ -1,13 +0,0 @@
1
- import { TextContent } from '../types';
2
- const text = {
3
- es: {
4
- spanish: 'Español',
5
- english: 'Inglés',
6
- },
7
- en: {
8
- spanish: 'Spanish',
9
- english: 'English',
10
- },
11
- };
12
- export default new TextContent(text);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekQsTUFBTSxJQUFJLEdBQXFCO0lBQzdCLEVBQUUsRUFBRTtRQUNGLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxRQUFRO0tBQ2xCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsT0FBTyxFQUFFLFNBQVM7UUFDbEIsT0FBTyxFQUFFLFNBQVM7S0FDbkI7Q0FDRixDQUFDO0FBRUYsZUFBZSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQsIFRleHRDb250ZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCB0ZXh0OiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIHNwYW5pc2g6ICdFc3Bhw7FvbCcsXG4gICAgZW5nbGlzaDogJ0luZ2zDqXMnLFxuICB9LFxuICBlbjoge1xuICAgIHNwYW5pc2g6ICdTcGFuaXNoJyxcbiAgICBlbmdsaXNoOiAnRW5nbGlzaCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBuZXcgVGV4dENvbnRlbnQodGV4dCk7XG4iXX0=