ps-helix 4.0.0 → 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": "4.0.0",
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",
@@ -596,69 +596,59 @@ declare class PshInfoCardComponent implements AfterContentInit {
596
596
  }
597
597
 
598
598
  /**
599
- * Tailles disponibles pour la checkbox
599
+ * Tailles disponibles pour la checkbox (mappées en rem dans le CSS)
600
600
  */
601
601
  type CheckboxSize = 'small' | 'medium' | 'large';
602
602
  /**
603
- * 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
604
608
  */
605
609
  interface CheckboxConfig {
606
- /** État coché */
607
- checked: boolean;
608
- /** État désactivé */
609
- disabled: boolean;
610
- /** État requis */
611
- required: boolean;
612
- /** État indéterminé */
613
- indeterminate: boolean;
614
- /** Label de la checkbox */
615
- label: string;
616
- /** Taille de la checkbox */
617
- size: CheckboxSize;
618
- /** Position du label */
619
- labelPosition: 'left' | 'right';
620
- /** Label ARIA pour l'accessibilité */
621
- ariaLabel?: string;
622
- /** Message d'erreur */
623
- error?: string;
624
- /** Message de succès */
625
- 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;
626
620
  }
627
621
 
628
622
  declare const CHECKBOX_CONFIG: InjectionToken<Partial<CheckboxConfig>>;
629
623
  declare class PshCheckboxComponent implements ControlValueAccessor, FormCheckboxControl {
630
- private config;
631
- private uniqueId;
632
- private checkboxInput;
624
+ private readonly config;
625
+ private readonly checkboxInput;
626
+ protected readonly uniqueId: string;
633
627
  private onChange;
634
628
  private onTouched;
635
629
  readonly checked: _angular_core.ModelSignal<boolean>;
636
630
  readonly disabled: _angular_core.ModelSignal<boolean>;
637
631
  readonly indeterminate: _angular_core.ModelSignal<boolean>;
638
- touched: _angular_core.ModelSignal<boolean>;
632
+ readonly touched: _angular_core.ModelSignal<boolean>;
639
633
  required: _angular_core.InputSignal<boolean>;
640
634
  label: _angular_core.InputSignal<string>;
641
- error: _angular_core.InputSignal<string>;
642
- success: _angular_core.InputSignal<string>;
635
+ error: _angular_core.InputSignal<string | null | undefined>;
636
+ success: _angular_core.InputSignal<string | null | undefined>;
643
637
  ariaLabel: _angular_core.InputSignal<string | undefined>;
644
638
  size: _angular_core.InputSignal<CheckboxSize>;
645
- labelPosition: _angular_core.InputSignal<"left" | "right">;
646
- ariaChecked: _angular_core.Signal<"true" | "false" | "mixed">;
639
+ labelPosition: _angular_core.InputSignal<CheckboxLabelPosition>;
640
+ ariaChecked: _angular_core.Signal<"mixed" | "true" | "false">;
647
641
  computedAriaLabel: _angular_core.Signal<string | undefined>;
648
- errorMessageId: _angular_core.Signal<string | undefined>;
649
- successMessageId: _angular_core.Signal<string | undefined>;
650
642
  ariaDescribedBy: _angular_core.Signal<string | undefined>;
651
- state: _angular_core.Signal<string>;
643
+ state: _angular_core.Signal<"success" | "disabled" | "indeterminate" | "error" | "checked" | "unchecked">;
652
644
  constructor();
653
- private getState;
654
645
  protected toggle(): void;
655
646
  protected handleKeydown(event: KeyboardEvent): void;
656
- writeValue(value: boolean): void;
657
- registerOnChange(fn: (value: boolean) => void): void;
647
+ writeValue(value: unknown): void;
648
+ registerOnChange(fn: (v: boolean) => void): void;
658
649
  registerOnTouched(fn: () => void): void;
659
650
  setDisabledState(isDisabled: boolean): void;
660
651
  focus(): void;
661
- blur(): void;
662
652
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshCheckboxComponent, never>;
663
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>;
664
654
  }
@@ -807,16 +797,16 @@ declare const INPUT_LABELS: {
807
797
  };
808
798
 
809
799
  declare class PshInputComponent implements ControlValueAccessor, FormValueControl<string> {
810
- private elementRef;
811
- private cdr;
812
- private destroyRef;
800
+ private readonly elementRef;
801
+ private readonly cdr;
802
+ private readonly destroyRef;
813
803
  private static nextId;
814
804
  readonly inputId: string;
815
805
  readonly value: _angular_core.ModelSignal<string>;
816
806
  readonly disabled: _angular_core.ModelSignal<boolean>;
817
807
  readonly readonly: _angular_core.ModelSignal<boolean>;
818
- loading: _angular_core.ModelSignal<boolean>;
819
- touched: _angular_core.ModelSignal<boolean>;
808
+ readonly loading: _angular_core.ModelSignal<boolean>;
809
+ readonly touched: _angular_core.ModelSignal<boolean>;
820
810
  variant: _angular_core.InputSignal<InputVariant>;
821
811
  size: _angular_core.InputSignal<InputSize>;
822
812
  fullWidth: _angular_core.InputSignal<boolean>;
@@ -833,11 +823,11 @@ declare class PshInputComponent implements ControlValueAccessor, FormValueContro
833
823
  hint: _angular_core.InputSignal<string | null | undefined>;
834
824
  suggestions: _angular_core.InputSignal<string[] | ((query: string) => Promise<string[]>)>;
835
825
  autocompleteConfig: _angular_core.InputSignal<AutocompleteConfig>;
836
- private suggestionsVisible;
837
- private focusedSignal;
838
- private filteredSuggestionsSignal;
839
- focusedSuggestionIndex: _angular_core.WritableSignal<number>;
840
- 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;
841
831
  private blurTimeoutId;
842
832
  private debounceTimeoutId;
843
833
  inputFocus: _angular_core.OutputEmitterRef<void>;
@@ -856,7 +846,7 @@ declare class PshInputComponent implements ControlValueAccessor, FormValueContro
856
846
  private onChange;
857
847
  private onTouched;
858
848
  writeValue(value: unknown): void;
859
- registerOnChange(fn: (_: unknown) => void): void;
849
+ registerOnChange(fn: (v: string) => void): void;
860
850
  registerOnTouched(fn: () => void): void;
861
851
  setDisabledState(isDisabled: boolean): void;
862
852
  handleInput(event: Event): void;
@@ -1486,14 +1476,14 @@ interface SearchConfig {
1486
1476
  minLength: number;
1487
1477
  }
1488
1478
 
1489
- declare class PshSelectComponent<T = unknown> implements ControlValueAccessor, FormValueControl<T | T[] | null>, AfterContentInit {
1490
- private elementRef;
1491
- private cdr;
1492
- private destroyRef;
1493
- readonly selectId: string;
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;
1494
1484
  readonly value: _angular_core.ModelSignal<T | T[] | null>;
1495
1485
  readonly disabled: _angular_core.ModelSignal<boolean>;
1496
- touched: _angular_core.ModelSignal<boolean>;
1486
+ readonly touched: _angular_core.ModelSignal<boolean>;
1497
1487
  size: _angular_core.InputSignal<SelectSize>;
1498
1488
  searchable: _angular_core.InputSignal<boolean>;
1499
1489
  multiple: _angular_core.InputSignal<boolean>;
@@ -1503,67 +1493,45 @@ declare class PshSelectComponent<T = unknown> implements ControlValueAccessor, F
1503
1493
  required: _angular_core.InputSignal<boolean>;
1504
1494
  options: _angular_core.InputSignal<(SelectOption<T> | SelectOptionGroup<T>)[]>;
1505
1495
  label: _angular_core.InputSignal<string>;
1506
- ariaLabel: _angular_core.InputSignal<string | null>;
1507
1496
  placeholder: _angular_core.InputSignal<string>;
1508
1497
  multiplePlaceholder: _angular_core.InputSignal<string>;
1509
- error: _angular_core.InputSignal<string>;
1510
- success: _angular_core.InputSignal<string>;
1511
- hint: _angular_core.InputSignal<string>;
1512
- maxSelections: _angular_core.InputSignal<number | undefined>;
1513
- minSelections: _angular_core.InputSignal<number | undefined>;
1498
+ error: _angular_core.InputSignal<string | null | undefined>;
1514
1499
  compareWith: _angular_core.InputSignal<(a: T, b: T) => boolean>;
1515
1500
  searchConfig: _angular_core.InputSignal<SearchConfig>;
1516
- private isOpenSignal;
1517
- private searchTermSignal;
1518
- private selectedLabelSignal;
1519
- private focusedOptionIndex;
1520
- private hasLabelContentSignal;
1521
- private initializedSignal;
1522
- private activeDescendantId;
1501
+ private readonly isOpenSignal;
1502
+ private readonly searchTermSignal;
1503
+ private readonly initializedSignal;
1523
1504
  opened: _angular_core.OutputEmitterRef<void>;
1524
1505
  closed: _angular_core.OutputEmitterRef<void>;
1525
- scrollEnd: _angular_core.OutputEmitterRef<void>;
1526
1506
  searched: _angular_core.OutputEmitterRef<string>;
1507
+ scrollEnd: _angular_core.OutputEmitterRef<void>;
1527
1508
  isOpen: _angular_core.Signal<boolean>;
1528
1509
  searchTerm: _angular_core.Signal<string>;
1529
- hasLabelContent: _angular_core.Signal<boolean>;
1530
- activeDescendant: _angular_core.Signal<string | null>;
1531
- computedAriaLabel: _angular_core.Signal<string>;
1510
+ state: _angular_core.Signal<"default" | "disabled" | "error">;
1532
1511
  selectedLabel: _angular_core.Signal<string>;
1533
1512
  filteredOptions: _angular_core.Signal<(SelectOption<T> | SelectOptionGroup<T>)[]>;
1534
1513
  constructor();
1535
1514
  ngAfterContentInit(): void;
1536
- handleKeyDown(event: KeyboardEvent): void;
1537
- handleOptionKeyDown(event: KeyboardEvent, option: SelectOption<T>): void;
1538
- private focusNextOption;
1539
- private focusPreviousOption;
1540
- private focusFirstOption;
1541
- private focusLastOption;
1542
- private scrollOptionIntoView;
1543
- private updateActiveDescendant;
1544
- isFocused(option: SelectOption<T>): boolean;
1545
1515
  private onChange;
1546
1516
  private onTouched;
1547
1517
  writeValue(value: unknown): void;
1548
- registerOnChange(fn: (_: unknown) => void): void;
1549
- registerOnTouched(fn: () => void): void;
1518
+ registerOnChange(fn: any): void;
1519
+ registerOnTouched(fn: any): void;
1550
1520
  setDisabledState(isDisabled: boolean): void;
1551
- isOptionGroup(option: SelectOption<T> | SelectOptionGroup<T>): option is SelectOptionGroup<T>;
1552
- getOptionKey(option: SelectOption<T> | SelectOptionGroup<T>): string;
1553
- hasValue(): boolean;
1554
- focus(): void;
1555
- focusSelect(): void;
1556
- select(option: SelectOption<T>): void;
1557
- isSelected(option: SelectOption<T>): boolean;
1558
1521
  toggle(): void;
1559
1522
  close(): void;
1560
- clear(event: Event): void;
1523
+ select(option: SelectOption<T>): void;
1524
+ clear(event: MouseEvent): void;
1561
1525
  onSearch(event: Event): void;
1562
1526
  onScroll(event: Event): void;
1563
- 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;
1564
1531
  private flattenOptions;
1532
+ protected focusSelect(): void;
1565
1533
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshSelectComponent<any>, never>;
1566
- 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; }; "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; }; }, { "value": "valueChange"; "disabled": "disabledChange"; "touched": "touchedChange"; "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>;
1567
1535
  }
1568
1536
 
1569
1537
  /**
@@ -2398,4 +2366,4 @@ declare class ScrollService {
2398
2366
  }
2399
2367
 
2400
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 };
2401
- 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 };