ps-helix 6.2.0 → 6.2.2

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": "6.2.0",
3
+ "version": "6.2.2",
4
4
  "description": "Helix Design System - A comprehensive Angular component library",
5
5
  "author": "Fabrice PEREZ - Design Engineer at PACK Solutions",
6
6
  "license": "MIT",
@@ -123,7 +123,7 @@ declare class PshAvatarComponent {
123
123
  hasIcon: _angular_core.Signal<boolean>;
124
124
  computedAriaLabel: _angular_core.Signal<string>;
125
125
  statusColor: _angular_core.Signal<string | undefined>;
126
- state: _angular_core.Signal<AvatarStatus | "default">;
126
+ state: _angular_core.Signal<"default" | AvatarStatus>;
127
127
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PshAvatarComponent, never>;
128
128
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PshAvatarComponent, "psh-avatar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "shape": "shapeChange"; "src": "srcChange"; "alt": "altChange"; }, never, never, true, never>;
129
129
  }
@@ -288,7 +288,7 @@ declare class PshCardComponent implements OnDestroy {
288
288
  /** État désactivé - réduit l'opacité */
289
289
  disabled: _angular_core.InputSignal<boolean>;
290
290
  /** Émis lors du clic sur la carte (si interactive) */
291
- clicked: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
291
+ clicked: _angular_core.OutputEmitterRef<KeyboardEvent | MouseEvent>;
292
292
  /** Classes CSS calculées selon les propriétés */
293
293
  computedClasses: _angular_core.Signal<string>;
294
294
  /** Styles calculés */
@@ -356,7 +356,7 @@ declare class PshStatCardComponent {
356
356
  /** Active la direction row pour le card-body (icône et contenu côte à côte en flex-row) */
357
357
  rowDirection: _angular_core.InputSignal<boolean>;
358
358
  /** Émis lors du clic sur la carte */
359
- clicked: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
359
+ clicked: _angular_core.OutputEmitterRef<KeyboardEvent | MouseEvent>;
360
360
  private computedValue;
361
361
  private computedDescription;
362
362
  private computedIcon;
@@ -450,7 +450,7 @@ declare class PshHorizontalCardComponent {
450
450
  /** Hauteur du contenu latéral sur mobile (utiliser les tokens de sizing) */
451
451
  mobileHeight: _angular_core.InputSignal<string>;
452
452
  /** Émis lors du clic sur la carte */
453
- clicked: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
453
+ clicked: _angular_core.OutputEmitterRef<KeyboardEvent | MouseEvent>;
454
454
  /** Classes CSS calculées selon les propriétés */
455
455
  computedClasses: _angular_core.Signal<string>;
456
456
  /** Styles calculés */
@@ -586,7 +586,7 @@ declare class PshInfoCardComponent implements AfterContentInit, OnDestroy {
586
586
  /** Whether the card is disabled */
587
587
  disabled: _angular_core.InputSignal<boolean>;
588
588
  /** Emitted when card is clicked */
589
- clicked: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
589
+ clicked: _angular_core.OutputEmitterRef<KeyboardEvent | MouseEvent>;
590
590
  /** Whether to show copy buttons on rows (opt-in) */
591
591
  copyable: _angular_core.InputSignal<boolean>;
592
592
  /** Label prefix for the copy button aria-label */
@@ -675,9 +675,11 @@ interface CheckboxConfig {
675
675
  }
676
676
 
677
677
  declare const CHECKBOX_CONFIG: InjectionToken<Partial<CheckboxConfig>>;
678
- declare class PshCheckboxComponent implements ControlValueAccessor, FormCheckboxControl {
678
+ declare class PshCheckboxComponent implements ControlValueAccessor, FormCheckboxControl, AfterViewInit {
679
679
  private readonly config;
680
680
  private readonly checkboxInput;
681
+ /** Holds the `label` input or the projected content — whichever provides the visible label. */
682
+ private readonly labelSlot;
681
683
  protected readonly uniqueId: string;
682
684
  private onChange;
683
685
  private onTouched;
@@ -695,8 +697,8 @@ declare class PshCheckboxComponent implements ControlValueAccessor, FormCheckbox
695
697
  ariaChecked: _angular_core.Signal<"mixed" | "true" | "false">;
696
698
  computedAriaLabel: _angular_core.Signal<string | undefined>;
697
699
  ariaDescribedBy: _angular_core.Signal<string | undefined>;
698
- state: _angular_core.Signal<"success" | "disabled" | "indeterminate" | "error" | "checked" | "unchecked">;
699
- constructor();
700
+ state: _angular_core.Signal<"disabled" | "checked" | "error" | "success" | "unchecked" | "indeterminate">;
701
+ ngAfterViewInit(): void;
700
702
  protected toggle(): void;
701
703
  protected handleKeydown(event: KeyboardEvent): void;
702
704
  writeValue(value: unknown): void;
@@ -735,7 +737,7 @@ declare class PshCollapseComponent {
735
737
  protected readonly headerId: _angular_core.Signal<string>;
736
738
  protected readonly contentId: _angular_core.Signal<string>;
737
739
  readonly state: _angular_core.Signal<"disabled" | "expanded" | "collapsed">;
738
- readonly animationClass: _angular_core.Signal<"" | "no-animation">;
740
+ readonly animationClass: _angular_core.Signal<"no-animation" | "">;
739
741
  toggle(): void;
740
742
  open(): void;
741
743
  close(): void;
@@ -1055,7 +1057,7 @@ declare class PshTextareaComponent implements ControlValueAccessor, FormValueCon
1055
1057
  hasError: _angular_core.Signal<boolean>;
1056
1058
  computedAriaLabel: _angular_core.Signal<string | null>;
1057
1059
  describedBy: _angular_core.Signal<string | null>;
1058
- state: _angular_core.Signal<"success" | "default" | "disabled" | "error" | "readonly" | "focused">;
1060
+ state: _angular_core.Signal<"default" | "disabled" | "error" | "success" | "readonly" | "focused">;
1059
1061
  characterCountLabel: "caractères";
1060
1062
  constructor();
1061
1063
  private onChange;
@@ -1496,6 +1498,13 @@ declare class PshPaginationComponent {
1496
1498
  totalPages: _angular_core.ModelSignal<number>;
1497
1499
  itemsPerPageInput: _angular_core.InputSignal<number>;
1498
1500
  itemsPerPage: _angular_core.WritableSignal<number>;
1501
+ /**
1502
+ * Number of pages used for rendering and navigation: never below 1, and never
1503
+ * written back to the `totalPages` input. `totalPages` is derived data owned by
1504
+ * the caller (`Math.ceil(total / pageSize)`, or a server-side page count), so the
1505
+ * component reads it and clamps its own view of it instead of correcting it.
1506
+ */
1507
+ private readonly effectiveTotalPages;
1499
1508
  constructor();
1500
1509
  readonly size: _angular_core.InputSignalWithTransform<PaginationSize, PaginationSize>;
1501
1510
  readonly variant: _angular_core.InputSignalWithTransform<PaginationVariant, PaginationVariant>;
@@ -1648,7 +1657,7 @@ declare class PshRadioComponent {
1648
1657
  value: _angular_core.InputSignal<unknown>;
1649
1658
  ariaLabel: _angular_core.InputSignal<string | undefined>;
1650
1659
  size: _angular_core.InputSignal<RadioSize>;
1651
- labelPosition: _angular_core.InputSignal<"left" | "right">;
1660
+ labelPosition: _angular_core.InputSignal<"right" | "left">;
1652
1661
  protected hasProjectedContent: _angular_core.WritableSignal<boolean>;
1653
1662
  checkedChange: EventEmitter<boolean>;
1654
1663
  disabledChange: EventEmitter<boolean>;
@@ -1661,6 +1670,11 @@ declare class PshRadioComponent {
1661
1670
  ariaDescribedBy: _angular_core.Signal<string | undefined>;
1662
1671
  constructor();
1663
1672
  private getState;
1673
+ /**
1674
+ * Declares whether a label is projected (`<psh-radio>Label</psh-radio>`). Not detected
1675
+ * automatically yet: until a consumer calls this, a projected label still triggers the
1676
+ * dev-only accessibility warning and `aria-label="Radio"` overrides the visible text.
1677
+ */
1664
1678
  updateProjectedContent(hasContent: boolean): void;
1665
1679
  handleChange(): void;
1666
1680
  protected handleKeydown(event: KeyboardEvent): void;
@@ -1737,7 +1751,7 @@ declare class PshSelectComponent<T = unknown> implements ControlValueAccessor, F
1737
1751
  scrollEnd: _angular_core.OutputEmitterRef<void>;
1738
1752
  isOpen: _angular_core.Signal<boolean>;
1739
1753
  searchTerm: _angular_core.Signal<string>;
1740
- state: _angular_core.Signal<"success" | "default" | "disabled" | "error">;
1754
+ state: _angular_core.Signal<"default" | "disabled" | "error" | "success">;
1741
1755
  computedAriaLabel: _angular_core.Signal<string>;
1742
1756
  describedBy: _angular_core.Signal<"error-message" | "success-message" | "hint-message" | null>;
1743
1757
  flatFilteredOptions: _angular_core.Signal<FlatOption<T>[]>;
@@ -2128,7 +2142,7 @@ declare class PshSwitchComponent implements ControlValueAccessor, FormCheckboxCo
2128
2142
  touched: _angular_core.ModelSignal<boolean>;
2129
2143
  required: _angular_core.InputSignal<boolean>;
2130
2144
  size: _angular_core.InputSignal<SwitchSize>;
2131
- labelPosition: _angular_core.InputSignal<"left" | "right">;
2145
+ labelPosition: _angular_core.InputSignal<"right" | "left">;
2132
2146
  label: _angular_core.InputSignal<string>;
2133
2147
  error: _angular_core.InputSignal<string>;
2134
2148
  success: _angular_core.InputSignal<string>;
@@ -2310,7 +2324,7 @@ declare const TABLE_CONFIG: InjectionToken<Partial<TableConfig>>;
2310
2324
  declare class PshTableComponent {
2311
2325
  private config;
2312
2326
  variant: _angular_core.InputSignal<"default" | "outline">;
2313
- size: _angular_core.InputSignal<"small" | "medium" | "large">;
2327
+ size: _angular_core.InputSignal<"medium" | "small" | "large">;
2314
2328
  striped: _angular_core.InputSignal<boolean>;
2315
2329
  hoverable: _angular_core.InputSignal<boolean>;
2316
2330
  bordered: _angular_core.InputSignal<boolean>;