valtech-components 2.0.293 → 2.0.295

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.
@@ -0,0 +1,50 @@
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ContentService } from '../../../services/content.service';
4
+ import { LangService } from '../../../services/lang-provider/lang-provider.service';
5
+ import { LangOption } from '../../../services/lang-provider/types';
6
+ import { PopoverSelectorMetadata } from '../popover-selector/types';
7
+ import { LanguageSelectorMetadata } from './types';
8
+ import * as i0 from "@angular/core";
9
+ export declare class LanguageSelectorComponent implements OnInit, OnDestroy {
10
+ private langService;
11
+ private contentService;
12
+ /**
13
+ * Language selector configuration object.
14
+ * @type {LanguageSelectorMetadata}
15
+ */
16
+ props: LanguageSelectorMetadata;
17
+ /**
18
+ * Event emitted when the language selection changes.
19
+ * Emits the selected language code.
20
+ */
21
+ languageChange: EventEmitter<string>;
22
+ /** Popover selector configuration */
23
+ popoverProps: PopoverSelectorMetadata;
24
+ /** Current language observable */
25
+ currentLanguage$: Observable<LangOption>;
26
+ /** Available languages observable */
27
+ availableLanguages$: Observable<LangOption[]>;
28
+ /** Label observable for reactive content */
29
+ label$: Observable<string>;
30
+ private subscriptions;
31
+ /** Default language display names */
32
+ private readonly defaultLanguageNames;
33
+ /** Default flag icons for languages */
34
+ private readonly defaultLanguageFlags;
35
+ constructor(langService: LangService, contentService: ContentService);
36
+ ngOnInit(): void;
37
+ ngOnDestroy(): void;
38
+ private initializeLanguageState;
39
+ private initializeLabel;
40
+ private initializePopoverProps;
41
+ private updatePopoverProps;
42
+ private getLanguageDisplayName;
43
+ /**
44
+ * Handle language selection change.
45
+ * @param selectedLanguage - The selected language code(s)
46
+ */
47
+ onLanguageChange(selectedLanguage: string | string[]): void;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "val-language-selector", never, { "props": { "alias": "props"; "required": false; }; }, { "languageChange": "languageChange"; }, never, never, true, never>;
50
+ }
@@ -0,0 +1,52 @@
1
+ import { Color } from '@ionic/core';
2
+ /**
3
+ * Props for val-language-selector component.
4
+ * A specialized component for language selection.
5
+ *
6
+ * @property currentLanguage - Currently selected language code.
7
+ * @property availableLanguages - Array of available language codes.
8
+ * @property showLabel - Whether to show the label.
9
+ * @property label - Custom label text (static).
10
+ * @property labelConfig - Reactive content configuration for label.
11
+ * @property showFlags - Whether to show flag icons for languages.
12
+ * @property color - Button color (Ionic color string).
13
+ * @property size - Button size ('small' | 'default' | 'large').
14
+ * @property fill - Button fill style ('clear' | 'outline' | 'solid' | 'default').
15
+ * @property shape - Button shape ('round' | undefined).
16
+ * @property expand - Button expansion ('full' | 'block' | undefined).
17
+ * @property disabled - Whether the selector is disabled.
18
+ * @property customLanguageNames - Custom display names for languages.
19
+ */
20
+ export interface LanguageSelectorMetadata {
21
+ /** Currently selected language code */
22
+ currentLanguage?: string;
23
+ /** Array of available language codes */
24
+ availableLanguages?: string[];
25
+ /** Whether to show the label */
26
+ showLabel?: boolean;
27
+ /** Static label text (takes precedence over labelConfig) */
28
+ label?: string;
29
+ /** Reactive content configuration for label */
30
+ labelConfig?: {
31
+ className?: string;
32
+ key: string;
33
+ fallback?: string;
34
+ interpolation?: Record<string, any>;
35
+ };
36
+ /** Whether to show flag icons for languages */
37
+ showFlags?: boolean;
38
+ /** Button color */
39
+ color?: Color;
40
+ /** Button size */
41
+ size?: 'small' | 'default' | 'large';
42
+ /** Button fill style */
43
+ fill?: 'clear' | 'outline' | 'solid' | 'default';
44
+ /** Button shape */
45
+ shape?: 'round';
46
+ /** Button expansion */
47
+ expand?: 'full' | 'block';
48
+ /** Whether the selector is disabled */
49
+ disabled?: boolean;
50
+ /** Custom display names for languages */
51
+ customLanguageNames?: Record<string, string>;
52
+ }
@@ -0,0 +1,29 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { PopoverSelectorMetadata } from './types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PopoverSelectorComponent {
5
+ /**
6
+ * Popover selector configuration object.
7
+ * @type {PopoverSelectorMetadata}
8
+ */
9
+ props: PopoverSelectorMetadata;
10
+ /**
11
+ * Event emitted when the selection changes.
12
+ * Emits the selected value(s).
13
+ */
14
+ selectionChange: EventEmitter<string | string[]>;
15
+ constructor();
16
+ /**
17
+ * Handle selection change from the ion-select.
18
+ * @param event - The ion-select change event
19
+ */
20
+ onSelectionChange(event: any): void;
21
+ /**
22
+ * Get the display text for the trigger button.
23
+ * Shows the selected option's label or placeholder.
24
+ * @returns The display text
25
+ */
26
+ getDisplayText(): string;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<PopoverSelectorComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopoverSelectorComponent, "val-popover-selector", never, { "props": { "alias": "props"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, true, never>;
29
+ }
@@ -0,0 +1,69 @@
1
+ import { Color } from '@ionic/core';
2
+ /**
3
+ * Option for the popover selector.
4
+ */
5
+ export interface PopoverOption {
6
+ /** Option value */
7
+ value: string;
8
+ /** Option display label */
9
+ label: string;
10
+ /** Option icon (optional) */
11
+ icon?: string;
12
+ /** Whether the option is disabled */
13
+ disabled?: boolean;
14
+ }
15
+ /**
16
+ * Props for val-popover-selector component.
17
+ * A generic reusable popover selector component.
18
+ *
19
+ * @property options - Array of selectable options.
20
+ * @property selectedValue - Currently selected value.
21
+ * @property label - Display label for the selector.
22
+ * @property icon - Icon to display in the trigger button (optional).
23
+ * @property placeholder - Placeholder text when no option is selected.
24
+ * @property color - Button color (Ionic color string).
25
+ * @property size - Button size ('small' | 'default' | 'large').
26
+ * @property fill - Button fill style ('clear' | 'outline' | 'solid' | 'default').
27
+ * @property shape - Button shape ('round' | undefined).
28
+ * @property expand - Button expansion ('full' | 'block' | undefined).
29
+ * @property disabled - Whether the selector is disabled.
30
+ * @property interface - Popover interface style ('popover' | 'action-sheet' | 'alert').
31
+ * @property showCheckmark - Whether to show checkmarks for selected options.
32
+ * @property multiple - Whether multiple selection is allowed.
33
+ * @property cancelText - Text for cancel button.
34
+ * @property okText - Text for OK button.
35
+ */
36
+ export interface PopoverSelectorMetadata {
37
+ /** Array of selectable options */
38
+ options: PopoverOption[];
39
+ /** Currently selected value(s) */
40
+ selectedValue?: string | string[];
41
+ /** Display label for the selector */
42
+ label?: string;
43
+ /** Icon to display in the trigger */
44
+ icon?: string;
45
+ /** Placeholder text when no option is selected */
46
+ placeholder?: string;
47
+ /** Button color */
48
+ color?: Color;
49
+ /** Button size */
50
+ size?: 'small' | 'default' | 'large';
51
+ /** Button fill style */
52
+ fill?: 'clear' | 'outline' | 'solid' | 'default';
53
+ /** Button shape */
54
+ shape?: 'round';
55
+ /** Button expansion */
56
+ expand?: 'full' | 'block';
57
+ /** Whether the selector is disabled */
58
+ disabled?: boolean;
59
+ /** Popover interface style */
60
+ interface?: 'popover' | 'action-sheet' | 'alert';
61
+ /** Whether to show checkmarks for selected options */
62
+ showCheckmark?: boolean;
63
+ /** Whether multiple selection is allowed */
64
+ multiple?: boolean;
65
+ /** Cancel button text */
66
+ cancelText?: string;
67
+ /** OK button text */
68
+ okText?: string;
69
+ }
@@ -1,6 +1,7 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { DisplayMetadata } from '../components/atoms/display/types';
4
+ import { LanguageSelectorMetadata } from '../components/molecules/language-selector/types';
4
5
  import { ContentService } from '../services/content.service';
5
6
  import { LangService } from '../services/lang-provider/lang-provider.service';
6
7
  import * as i0 from "@angular/core";
@@ -29,6 +30,7 @@ export declare class DisplayDemoComponent implements OnInit {
29
30
  currentLanguage$: Observable<string>;
30
31
  availableLanguages$: Observable<string[]>;
31
32
  private counter;
33
+ languageSelectorProps: LanguageSelectorMetadata;
32
34
  smallStaticDisplay: DisplayMetadata;
33
35
  mediumStaticDisplay: DisplayMetadata;
34
36
  largeStaticDisplay: DisplayMetadata;
@@ -53,6 +55,7 @@ export declare class DisplayDemoComponent implements OnInit {
53
55
  private initializeContent;
54
56
  private initializeLanguageState;
55
57
  changeLanguage(language: string): void;
58
+ onLanguageChange(language: string): void;
56
59
  updateCounter(): void;
57
60
  static ɵfac: i0.ɵɵFactoryDeclaration<DisplayDemoComponent, never>;
58
61
  static ɵcmp: i0.ɵɵComponentDeclaration<DisplayDemoComponent, "val-display-demo", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,20 @@
1
+ import { LanguageSelectorMetadata } from '../components/molecules/language-selector/types';
2
+ import { PopoverSelectorMetadata } from '../components/molecules/popover-selector/types';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Ejemplo de uso de los componentes popover-selector y language-selector
6
+ */
7
+ export declare class SelectorExamplesComponent {
8
+ categorySelector: PopoverSelectorMetadata;
9
+ prioritySelector: PopoverSelectorMetadata;
10
+ multipleSelector: PopoverSelectorMetadata;
11
+ basicLanguageSelector: LanguageSelectorMetadata;
12
+ flagLanguageSelector: LanguageSelectorMetadata;
13
+ customLanguageSelector: LanguageSelectorMetadata;
14
+ onCategoryChange(category: string | string[]): void;
15
+ onPriorityChange(priority: string | string[]): void;
16
+ onMultipleChange(notifications: string | string[]): void;
17
+ onLanguageChange(language: string): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectorExamplesComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectorExamplesComponent, "app-selector-examples", never, {}, {}, never, never, true, never>;
20
+ }
@@ -0,0 +1,3 @@
1
+ import { TextContent } from '../types';
2
+ declare const _default: TextContent;
3
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "2.0.293",
3
+ "version": "2.0.295",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.0.0",
6
6
  "@angular/core": "^18.0.0",
package/public-api.d.ts CHANGED
@@ -37,6 +37,8 @@ export * from './lib/components/molecules/expandable-text/types';
37
37
  export * from './lib/components/molecules/file-input/file-input.component';
38
38
  export * from './lib/components/molecules/hint/hint.component';
39
39
  export * from './lib/components/molecules/hour-input/hour-input.component';
40
+ export * from './lib/components/molecules/language-selector/language-selector.component';
41
+ export * from './lib/components/molecules/language-selector/types';
40
42
  export * from './lib/components/molecules/layered-card/layered-card.component';
41
43
  export * from './lib/components/molecules/layered-card/types';
42
44
  export * from './lib/components/molecules/link/link.component';
@@ -48,6 +50,8 @@ export * from './lib/components/molecules/notes-box/types';
48
50
  export * from './lib/components/molecules/number-input/number-input.component';
49
51
  export * from './lib/components/molecules/password-input/password-input.component';
50
52
  export * from './lib/components/molecules/pin-input/pin-input.component';
53
+ export * from './lib/components/molecules/popover-selector/popover-selector.component';
54
+ export * from './lib/components/molecules/popover-selector/types';
51
55
  export * from './lib/components/molecules/progress-status/progress-status.component';
52
56
  export * from './lib/components/molecules/progress-status/types';
53
57
  export * from './lib/components/molecules/prompter/prompter.component';
@@ -85,6 +89,7 @@ export * from './lib/examples/display-demo.component';
85
89
  export * from './lib/examples/display-simple-example.component';
86
90
  export * from './lib/examples/link-processing-example.component';
87
91
  export * from './lib/examples/multi-language-demo.component';
92
+ export * from './lib/examples/selector-examples.component';
88
93
  export * from './lib/services/content.service';
89
94
  export * from './lib/services/download.service';
90
95
  export * from './lib/services/icons.service';