ps-helix 3.0.9 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ps-helix",
3
- "version": "3.0.9",
3
+ "version": "4.0.1",
4
4
  "description": "Helix Design System - A comprehensive Angular component library",
5
5
  "author": "Fabrice PEREZ - Product designer at PACK Solutions",
6
6
  "license": "MIT",
@@ -35,13 +35,13 @@
35
35
  "*.css"
36
36
  ],
37
37
  "module": "fesm2022/ps-helix.mjs",
38
- "typings": "index.d.ts",
38
+ "typings": "types/ps-helix.d.ts",
39
39
  "exports": {
40
40
  "./package.json": {
41
41
  "default": "./package.json"
42
42
  },
43
43
  ".": {
44
- "types": "./index.d.ts",
44
+ "types": "./types/ps-helix.d.ts",
45
45
  "default": "./fesm2022/ps-helix.mjs"
46
46
  }
47
47
  }
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterContentChecked, OnDestroy, AfterContentInit, InjectionToken, EventEmitter, AfterViewInit, TemplateRef, Type } from '@angular/core';
2
+ import { AfterContentChecked, OnDestroy, AfterContentInit, InjectionToken, AfterViewInit, EventEmitter, TemplateRef, Type } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
+ import { FormCheckboxControl, FormValueControl } from '@angular/forms/signals';
4
5
  import * as ps_helix from 'ps-helix';
5
6
  import { Observable } from 'rxjs';
6
7
  import { Router } from '@angular/router';
@@ -595,76 +596,61 @@ declare class PshInfoCardComponent implements AfterContentInit {
595
596
  }
596
597
 
597
598
  /**
598
- * Tailles disponibles pour la checkbox
599
+ * Tailles disponibles pour la checkbox (mappées en rem dans le CSS)
599
600
  */
600
601
  type CheckboxSize = 'small' | 'medium' | 'large';
601
602
  /**
602
- * Configuration complète d'une checkbox
603
+ * Positionnement du label par rapport au contrôle visuel
604
+ */
605
+ type CheckboxLabelPosition = 'left' | 'right';
606
+ /**
607
+ * Configuration immuable pour l'injection via InjectionToken
603
608
  */
604
609
  interface CheckboxConfig {
605
- /** État coché */
606
- checked: boolean;
607
- /** État désactivé */
608
- disabled: boolean;
609
- /** État requis */
610
- required: boolean;
611
- /** État indéterminé */
612
- indeterminate: boolean;
613
- /** Label de la checkbox */
614
- label: string;
615
- /** Taille de la checkbox */
616
- size: CheckboxSize;
617
- /** Position du label */
618
- labelPosition: 'left' | 'right';
619
- /** Label ARIA pour l'accessibilité */
620
- ariaLabel?: string;
621
- /** Message d'erreur */
622
- error?: string;
623
- /** Message de succès */
624
- success?: string;
610
+ readonly checked: boolean;
611
+ readonly disabled: boolean;
612
+ readonly required: boolean;
613
+ readonly indeterminate: boolean;
614
+ readonly label: string;
615
+ readonly size: CheckboxSize;
616
+ readonly labelPosition: CheckboxLabelPosition;
617
+ readonly ariaLabel?: string;
618
+ readonly error?: string | null;
619
+ readonly success?: string | null;
625
620
  }
626
621
 
627
622
  declare const CHECKBOX_CONFIG: InjectionToken<Partial<CheckboxConfig>>;
628
- declare class PshCheckboxComponent implements ControlValueAccessor {
629
- private config;
630
- private uniqueId;
631
- private checkboxInput;
623
+ declare class PshCheckboxComponent implements ControlValueAccessor, FormCheckboxControl {
624
+ private readonly config;
625
+ private readonly checkboxInput;
626
+ protected readonly uniqueId: string;
632
627
  private onChange;
633
628
  private onTouched;
634
- checked: _angular_core.WritableSignal<boolean>;
635
- set checkedInput(v: boolean);
636
- disabled: _angular_core.WritableSignal<boolean>;
637
- set disabledInput(v: boolean);
638
- indeterminate: _angular_core.WritableSignal<boolean>;
639
- set indeterminateInput(v: boolean);
629
+ readonly checked: _angular_core.ModelSignal<boolean>;
630
+ readonly disabled: _angular_core.ModelSignal<boolean>;
631
+ readonly indeterminate: _angular_core.ModelSignal<boolean>;
632
+ readonly touched: _angular_core.ModelSignal<boolean>;
640
633
  required: _angular_core.InputSignal<boolean>;
641
- checkedChange: EventEmitter<boolean>;
642
- disabledChange: EventEmitter<boolean>;
643
- indeterminateChange: EventEmitter<boolean>;
644
634
  label: _angular_core.InputSignal<string>;
645
- error: _angular_core.InputSignal<string>;
646
- success: _angular_core.InputSignal<string>;
635
+ error: _angular_core.InputSignal<string | null | undefined>;
636
+ success: _angular_core.InputSignal<string | null | undefined>;
647
637
  ariaLabel: _angular_core.InputSignal<string | undefined>;
648
638
  size: _angular_core.InputSignal<CheckboxSize>;
649
- labelPosition: _angular_core.InputSignal<"left" | "right">;
650
- ariaChecked: _angular_core.Signal<"true" | "false" | "mixed">;
639
+ labelPosition: _angular_core.InputSignal<CheckboxLabelPosition>;
640
+ ariaChecked: _angular_core.Signal<"mixed" | "true" | "false">;
651
641
  computedAriaLabel: _angular_core.Signal<string | undefined>;
652
- errorMessageId: _angular_core.Signal<string | undefined>;
653
- successMessageId: _angular_core.Signal<string | undefined>;
654
642
  ariaDescribedBy: _angular_core.Signal<string | undefined>;
655
- state: _angular_core.Signal<string>;
643
+ state: _angular_core.Signal<"success" | "disabled" | "indeterminate" | "error" | "checked" | "unchecked">;
656
644
  constructor();
657
- private getState;
658
645
  protected toggle(): void;
659
646
  protected handleKeydown(event: KeyboardEvent): void;
660
- writeValue(value: boolean): void;
661
- registerOnChange(fn: (value: boolean) => void): void;
647
+ writeValue(value: unknown): void;
648
+ registerOnChange(fn: (v: boolean) => void): void;
662
649
  registerOnTouched(fn: () => void): void;
663
650
  setDisabledState(isDisabled: boolean): void;
664
651
  focus(): void;
665
- blur(): void;
666
652
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshCheckboxComponent, never>;
667
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshCheckboxComponent, "psh-checkbox", never, { "checkedInput": { "alias": "checked"; "required": false; }; "disabledInput": { "alias": "disabled"; "required": false; }; "indeterminateInput": { "alias": "indeterminate"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; "indeterminateChange": "indeterminateChange"; }, never, ["*"], true, never>;
653
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshCheckboxComponent, "psh-checkbox", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; "indeterminate": "indeterminateChange"; "touched": "touchedChange"; }, never, ["*"], true, never>;
668
654
  }
669
655
 
670
656
  /**
@@ -810,18 +796,17 @@ declare const INPUT_LABELS: {
810
796
  readonly hidePassword: "Masquer le mot de passe";
811
797
  };
812
798
 
813
- declare class PshInputComponent implements ControlValueAccessor {
814
- private elementRef;
815
- private cdr;
816
- private destroyRef;
799
+ declare class PshInputComponent implements ControlValueAccessor, FormValueControl<string> {
800
+ private readonly elementRef;
801
+ private readonly cdr;
802
+ private readonly destroyRef;
817
803
  private static nextId;
818
804
  readonly inputId: string;
819
- value: _angular_core.WritableSignal<string>;
820
- set valueInput(v: string);
821
- disabled: _angular_core.WritableSignal<boolean>;
822
- set disabledInput(v: boolean);
823
- readonly: _angular_core.ModelSignal<boolean>;
824
- loading: _angular_core.ModelSignal<boolean>;
805
+ readonly value: _angular_core.ModelSignal<string>;
806
+ readonly disabled: _angular_core.ModelSignal<boolean>;
807
+ readonly readonly: _angular_core.ModelSignal<boolean>;
808
+ readonly loading: _angular_core.ModelSignal<boolean>;
809
+ readonly touched: _angular_core.ModelSignal<boolean>;
825
810
  variant: _angular_core.InputSignal<InputVariant>;
826
811
  size: _angular_core.InputSignal<InputSize>;
827
812
  fullWidth: _angular_core.InputSignal<boolean>;
@@ -838,15 +823,13 @@ declare class PshInputComponent implements ControlValueAccessor {
838
823
  hint: _angular_core.InputSignal<string | null | undefined>;
839
824
  suggestions: _angular_core.InputSignal<string[] | ((query: string) => Promise<string[]>)>;
840
825
  autocompleteConfig: _angular_core.InputSignal<AutocompleteConfig>;
841
- private suggestionsVisible;
842
- private focusedSignal;
843
- private filteredSuggestionsSignal;
844
- focusedSuggestionIndex: _angular_core.WritableSignal<number>;
845
- private passwordVisibleSignal;
826
+ private readonly suggestionsVisible;
827
+ private readonly focusedSignal;
828
+ private readonly filteredSuggestionsSignal;
829
+ readonly focusedSuggestionIndex: _angular_core.WritableSignal<number>;
830
+ private readonly passwordVisibleSignal;
846
831
  private blurTimeoutId;
847
832
  private debounceTimeoutId;
848
- valueChange: EventEmitter<string>;
849
- disabledChange: EventEmitter<boolean>;
850
833
  inputFocus: _angular_core.OutputEmitterRef<void>;
851
834
  inputBlur: _angular_core.OutputEmitterRef<void>;
852
835
  suggestionSelect: _angular_core.OutputEmitterRef<string>;
@@ -862,9 +845,9 @@ declare class PshInputComponent implements ControlValueAccessor {
862
845
  constructor();
863
846
  private onChange;
864
847
  private onTouched;
865
- writeValue(value: any): void;
866
- registerOnChange(fn: any): void;
867
- registerOnTouched(fn: any): void;
848
+ writeValue(value: unknown): void;
849
+ registerOnChange(fn: (v: string) => void): void;
850
+ registerOnTouched(fn: () => void): void;
868
851
  setDisabledState(isDisabled: boolean): void;
869
852
  handleInput(event: Event): void;
870
853
  handleFocus(): void;
@@ -873,11 +856,12 @@ declare class PshInputComponent implements ControlValueAccessor {
873
856
  handleSuggestionClick(suggestion: string): void;
874
857
  togglePasswordVisibility(): void;
875
858
  protected hasLabelContent(): boolean;
859
+ focus(): void;
876
860
  focusSelect(): void;
877
861
  private debouncedUpdateSuggestions;
878
862
  private updateSuggestions;
879
863
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshInputComponent, never>;
880
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshInputComponent, "psh-input", never, { "valueInput": { "alias": "value"; "required": false; }; "disabledInput": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "iconStart": { "alias": "iconStart"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "autocompleteConfig": { "alias": "autocompleteConfig"; "required": false; "isSignal": true; }; }, { "readonly": "readonlyChange"; "loading": "loadingChange"; "valueChange": "valueChange"; "disabledChange": "disabledChange"; "inputFocus": "inputFocus"; "inputBlur": "inputBlur"; "suggestionSelect": "suggestionSelect"; }, never, ["[input-label]", "[input-error]", "[input-success]", "[input-hint]"], true, never>;
864
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshInputComponent, "psh-input", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "iconStart": { "alias": "iconStart"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "autocompleteConfig": { "alias": "autocompleteConfig"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; "readonly": "readonlyChange"; "loading": "loadingChange"; "touched": "touchedChange"; "inputFocus": "inputFocus"; "inputBlur": "inputBlur"; "suggestionSelect": "suggestionSelect"; }, never, ["[input-label]", "[input-error]", "[input-success]", "[input-hint]"], true, never>;
881
865
  }
882
866
 
883
867
  /**
@@ -1492,15 +1476,14 @@ interface SearchConfig {
1492
1476
  minLength: number;
1493
1477
  }
1494
1478
 
1495
- declare class PshSelectComponent<T = any> implements ControlValueAccessor, AfterContentInit {
1496
- private elementRef;
1497
- private cdr;
1498
- private destroyRef;
1499
- readonly selectId: string;
1500
- value: _angular_core.WritableSignal<T | T[] | null>;
1501
- set valueInput(v: T | T[] | null);
1502
- disabled: _angular_core.WritableSignal<boolean>;
1503
- set disabledInput(v: boolean);
1479
+ declare class PshSelectComponent<T = unknown> implements ControlValueAccessor, AfterContentInit, FormValueControl<T | T[] | null> {
1480
+ private readonly elementRef;
1481
+ private readonly cdr;
1482
+ private readonly destroyRef;
1483
+ protected readonly selectId: string;
1484
+ readonly value: _angular_core.ModelSignal<T | T[] | null>;
1485
+ readonly disabled: _angular_core.ModelSignal<boolean>;
1486
+ readonly touched: _angular_core.ModelSignal<boolean>;
1504
1487
  size: _angular_core.InputSignal<SelectSize>;
1505
1488
  searchable: _angular_core.InputSignal<boolean>;
1506
1489
  multiple: _angular_core.InputSignal<boolean>;
@@ -1510,68 +1493,45 @@ declare class PshSelectComponent<T = any> implements ControlValueAccessor, After
1510
1493
  required: _angular_core.InputSignal<boolean>;
1511
1494
  options: _angular_core.InputSignal<(SelectOption<T> | SelectOptionGroup<T>)[]>;
1512
1495
  label: _angular_core.InputSignal<string>;
1513
- ariaLabel: _angular_core.InputSignal<string | null>;
1514
1496
  placeholder: _angular_core.InputSignal<string>;
1515
1497
  multiplePlaceholder: _angular_core.InputSignal<string>;
1516
- error: _angular_core.InputSignal<string>;
1517
- success: _angular_core.InputSignal<string>;
1518
- hint: _angular_core.InputSignal<string>;
1519
- maxSelections: _angular_core.InputSignal<number | undefined>;
1520
- minSelections: _angular_core.InputSignal<number | undefined>;
1498
+ error: _angular_core.InputSignal<string | null | undefined>;
1521
1499
  compareWith: _angular_core.InputSignal<(a: T, b: T) => boolean>;
1522
1500
  searchConfig: _angular_core.InputSignal<SearchConfig>;
1523
- private isOpenSignal;
1524
- private searchTermSignal;
1525
- private selectedLabelSignal;
1526
- private focusedOptionIndex;
1527
- private hasLabelContentSignal;
1528
- private initializedSignal;
1529
- private activeDescendantId;
1530
- valueChange: EventEmitter<T | T[] | null>;
1531
- disabledChange: EventEmitter<boolean>;
1501
+ private readonly isOpenSignal;
1502
+ private readonly searchTermSignal;
1503
+ private readonly initializedSignal;
1532
1504
  opened: _angular_core.OutputEmitterRef<void>;
1533
1505
  closed: _angular_core.OutputEmitterRef<void>;
1534
- scrollEnd: _angular_core.OutputEmitterRef<void>;
1535
1506
  searched: _angular_core.OutputEmitterRef<string>;
1507
+ scrollEnd: _angular_core.OutputEmitterRef<void>;
1536
1508
  isOpen: _angular_core.Signal<boolean>;
1537
1509
  searchTerm: _angular_core.Signal<string>;
1538
- hasLabelContent: _angular_core.Signal<boolean>;
1539
- activeDescendant: _angular_core.Signal<string | null>;
1540
- computedAriaLabel: _angular_core.Signal<string>;
1510
+ state: _angular_core.Signal<"default" | "disabled" | "error">;
1541
1511
  selectedLabel: _angular_core.Signal<string>;
1542
1512
  filteredOptions: _angular_core.Signal<(SelectOption<T> | SelectOptionGroup<T>)[]>;
1543
1513
  constructor();
1544
1514
  ngAfterContentInit(): void;
1545
- handleKeyDown(event: KeyboardEvent): void;
1546
- handleOptionKeyDown(event: KeyboardEvent, option: SelectOption<T>): void;
1547
- private focusNextOption;
1548
- private focusPreviousOption;
1549
- private focusFirstOption;
1550
- private focusLastOption;
1551
- private scrollOptionIntoView;
1552
- private updateActiveDescendant;
1553
- isFocused(option: SelectOption<T>): boolean;
1554
1515
  private onChange;
1555
1516
  private onTouched;
1556
- writeValue(value: any): void;
1517
+ writeValue(value: unknown): void;
1557
1518
  registerOnChange(fn: any): void;
1558
1519
  registerOnTouched(fn: any): void;
1559
1520
  setDisabledState(isDisabled: boolean): void;
1560
- isOptionGroup(option: SelectOption<T> | SelectOptionGroup<T>): option is SelectOptionGroup<T>;
1561
- getOptionKey(option: SelectOption<T> | SelectOptionGroup<T>): string;
1562
- hasValue(): boolean;
1563
- focusSelect(): void;
1564
- select(option: SelectOption<T>): void;
1565
- isSelected(option: SelectOption<T>): boolean;
1566
1521
  toggle(): void;
1567
1522
  close(): void;
1568
- clear(event: Event): void;
1523
+ select(option: SelectOption<T>): void;
1524
+ clear(event: MouseEvent): void;
1569
1525
  onSearch(event: Event): void;
1570
1526
  onScroll(event: Event): void;
1571
- private updateSelectedLabel;
1527
+ protected isOptionGroup(item: SelectOption<T> | SelectOptionGroup<T>): item is SelectOptionGroup<T>;
1528
+ protected getOptionKey(item: SelectOption<T> | SelectOptionGroup<T>): string;
1529
+ protected isSelected(option: SelectOption<T>): boolean;
1530
+ protected hasValue(): boolean;
1572
1531
  private flattenOptions;
1532
+ protected focusSelect(): void;
1573
1533
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshSelectComponent<any>, never>;
1574
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshSelectComponent<any>, "psh-select", never, { "valueInput": { "alias": "value"; "required": false; }; "disabledInput": { "alias": "disabled"; "required": false; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiplePlaceholder": { "alias": "multiplePlaceholder"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "maxSelections": { "alias": "maxSelections"; "required": false; "isSignal": true; }; "minSelections": { "alias": "minSelections"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "searchConfig": { "alias": "searchConfig"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "disabledChange": "disabledChange"; "opened": "opened"; "closed": "closed"; "scrollEnd": "scrollEnd"; "searched": "searched"; }, never, ["[select-label]", "[select-error]", "[select-success]", "[select-hint]"], true, never>;
1534
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshSelectComponent<any>, "psh-select", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "multiplePlaceholder": { "alias": "multiplePlaceholder"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; "searchConfig": { "alias": "searchConfig"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; "touched": "touchedChange"; "opened": "opened"; "closed": "closed"; "searched": "searched"; "scrollEnd": "scrollEnd"; }, never, never, true, never>;
1575
1535
  }
1576
1536
 
1577
1537
  /**
@@ -1835,18 +1795,15 @@ interface SwitchConfig {
1835
1795
  }
1836
1796
 
1837
1797
  declare const SWITCH_CONFIG: InjectionToken<Partial<SwitchConfig>>;
1838
- declare class PshSwitchComponent implements ControlValueAccessor {
1798
+ declare class PshSwitchComponent implements ControlValueAccessor, FormCheckboxControl {
1839
1799
  private config;
1840
1800
  private uniqueId;
1841
1801
  private switchInput;
1842
1802
  private onChange;
1843
1803
  private onTouched;
1844
- checked: _angular_core.WritableSignal<boolean>;
1845
- set checkedInput(v: boolean);
1846
- disabled: _angular_core.WritableSignal<boolean>;
1847
- set disabledInput(v: boolean);
1848
- checkedChange: EventEmitter<boolean>;
1849
- disabledChange: EventEmitter<boolean>;
1804
+ readonly checked: _angular_core.ModelSignal<boolean>;
1805
+ readonly disabled: _angular_core.ModelSignal<boolean>;
1806
+ touched: _angular_core.ModelSignal<boolean>;
1850
1807
  required: _angular_core.InputSignal<boolean>;
1851
1808
  size: _angular_core.InputSignal<SwitchSize>;
1852
1809
  labelPosition: _angular_core.InputSignal<"left" | "right">;
@@ -1854,7 +1811,7 @@ declare class PshSwitchComponent implements ControlValueAccessor {
1854
1811
  error: _angular_core.InputSignal<string>;
1855
1812
  success: _angular_core.InputSignal<string>;
1856
1813
  ariaLabel: _angular_core.InputSignal<string | undefined>;
1857
- name: _angular_core.InputSignal<string | undefined>;
1814
+ name: _angular_core.InputSignal<string>;
1858
1815
  id: _angular_core.InputSignal<string>;
1859
1816
  computedAriaLabel: _angular_core.Signal<string>;
1860
1817
  errorId: _angular_core.Signal<string | null>;
@@ -1868,7 +1825,7 @@ declare class PshSwitchComponent implements ControlValueAccessor {
1868
1825
  focus(): void;
1869
1826
  blur(): void;
1870
1827
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshSwitchComponent, never>;
1871
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshSwitchComponent, "psh-switch", never, { "checkedInput": { "alias": "checked"; "required": false; }; "disabledInput": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; }, never, ["*"], true, never>;
1828
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshSwitchComponent, "psh-switch", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "disabled": "disabledChange"; "touched": "touchedChange"; }, never, ["*"], true, never>;
1872
1829
  }
1873
1830
 
1874
1831
  /**
@@ -2409,4 +2366,4 @@ declare class ScrollService {
2409
2366
  }
2410
2367
 
2411
2368
  export { CHECKBOX_CONFIG, INPUT_LABELS, INSURER_CONTEXT_SERVICE, MODAL_CONFIG, ModalService, NgxTranslateProvider, PAGINATION_CONFIG, PROGRESSBAR_CONFIG, PshAlertComponent, PshAvatarComponent, PshBadgeComponent, PshButtonComponent, PshCardComponent, PshCheckboxComponent, PshCollapseComponent, PshDropdownComponent, PshHorizontalCardComponent, PshInfoCardComponent, PshInputComponent, PshMenuComponent, PshModalComponent, PshPaginationComponent, PshProgressbarComponent, PshRadioComponent, PshSelectComponent, PshSidebarComponent, PshSpinLoaderComponent, PshStatCardComponent, PshStepperComponent, PshSwitchComponent, PshTabBarComponent, PshTabComponent, PshTableComponent, PshTabsComponent, PshTagComponent, PshToastComponent, PshToastService, PshTooltipComponent, RADIO_CONFIG, RADIO_STYLES, SIDEBAR_CONFIG, SPINLOADER_CONFIG, STEPPER_CONFIG, SWITCH_CONFIG, ScrollService, TABLE_CONFIG, TABS_CONFIG, TAB_BAR_CONFIG, TAG_CONFIG, TOAST_CONFIG, TOOLTIP_CONFIG, TRANSLATION_PROVIDER, ThemeService, ToastComponent, ToastService, provideTranslation };
2412
- export type { AlertConfig, AlertLabels, AlertRole, AlertSize, AlertType, AutocompleteConfig, AvatarConfig, AvatarShape, AvatarSize, AvatarStatus, BadgeDisplayType, BadgePosition, BadgeSize, BadgeVariant, ButtonAppearance, ButtonIconPosition, ButtonSize, ButtonVariant, CardActionsAlignment, CardColorVariant, CardDensity, CardVariant, CheckboxConfig, CheckboxSize, CollapseSize, CollapseVariant, DropdownConfig, DropdownItem, DropdownPlacement, DropdownSize, IconPosition, InfoCardData, InfoCardOptions, InfoCardVariant, InputConfig, InputSize, InputType, InputVariant, InsurerContextService, MenuItem, MenuMode, MenuVariant, ModalConfig, ModalSize, PaginationConfig, PaginationSize, PaginationVariant, ProgressbarConfig, ProgressbarLabelPosition, ProgressbarMode, ProgressbarSize, ProgressbarVariant, RadioConfig, RadioSize, SearchConfig, SelectOption, SelectOptionGroup, SelectSize, SidebarConfig, SidebarMode, SidebarPosition, SpinLoaderColor, SpinLoaderConfig, SpinLoaderSize, SpinLoaderVariant, StatCardLayout, StatCardVariant, StatTagVariant, StepConfig, StepperAriaLabels, StepperConfig, StepperVariant, SuggestionResult, SwitchConfig, SwitchSize, Tab, TabBarChangeEvent, TabBarConfig, TabBarItem, TabChangeEvent, TableCellContext, TableColumn, TableConfig, TableRow, TableRowClickEvent, TableSort, TabsConfig, TabsSize, TabsVariant, TagConfig, TagSize, TagVariant, Theme, ThemeConfig, Toast, ToastConfig, ToastPosition, ToastType, TooltipConfig, TooltipPosition, TooltipVariant, TranslationConfig, TranslationEntry, TranslationProvider };
2369
+ export type { AlertConfig, AlertLabels, AlertRole, AlertSize, AlertType, AutocompleteConfig, AvatarConfig, AvatarShape, AvatarSize, AvatarStatus, BadgeDisplayType, BadgePosition, BadgeSize, BadgeVariant, ButtonAppearance, ButtonIconPosition, ButtonSize, ButtonVariant, CardActionsAlignment, CardColorVariant, CardDensity, CardVariant, CheckboxConfig, CheckboxLabelPosition, CheckboxSize, CollapseSize, CollapseVariant, DropdownConfig, DropdownItem, DropdownPlacement, DropdownSize, IconPosition, InfoCardData, InfoCardOptions, InfoCardVariant, InputConfig, InputSize, InputType, InputVariant, InsurerContextService, MenuItem, MenuMode, MenuVariant, ModalConfig, ModalSize, PaginationConfig, PaginationSize, PaginationVariant, ProgressbarConfig, ProgressbarLabelPosition, ProgressbarMode, ProgressbarSize, ProgressbarVariant, RadioConfig, RadioSize, SearchConfig, SelectOption, SelectOptionGroup, SelectSize, SidebarConfig, SidebarMode, SidebarPosition, SpinLoaderColor, SpinLoaderConfig, SpinLoaderSize, SpinLoaderVariant, StatCardLayout, StatCardVariant, StatTagVariant, StepConfig, StepperAriaLabels, StepperConfig, StepperVariant, SuggestionResult, SwitchConfig, SwitchSize, Tab, TabBarChangeEvent, TabBarConfig, TabBarItem, TabChangeEvent, TableCellContext, TableColumn, TableConfig, TableRow, TableRowClickEvent, TableSort, TabsConfig, TabsSize, TabsVariant, TagConfig, TagSize, TagVariant, Theme, ThemeConfig, Toast, ToastConfig, ToastPosition, ToastType, TooltipConfig, TooltipPosition, TooltipVariant, TranslationConfig, TranslationEntry, TranslationProvider };