@besaitech/ng-design-system 0.0.32 → 0.0.33

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/index.d.ts CHANGED
@@ -459,6 +459,26 @@ declare class SdsCalendar {
459
459
  readonly firstDayOfWeek: _angular_core.InputSignal<0 | 1>;
460
460
  readonly locale: _angular_core.InputSignal<string>;
461
461
  readonly showActions: _angular_core.InputSignal<boolean>;
462
+ /**
463
+ * Accessible name for the calendar container. French default so existing consumers are unchanged,
464
+ * but an app serving more than one language MUST translate it.
465
+ */
466
+ readonly calendarLabel: _angular_core.InputSignal<string>;
467
+ /**
468
+ * Accessible name for the "previous" nav button. It is icon-only, so this string is its ONLY
469
+ * accessible name — a hardcoded French one is simply wrong in every other locale. Translate it in
470
+ * the consuming app.
471
+ */
472
+ readonly previousLabel: _angular_core.InputSignal<string>;
473
+ /** Accessible name for the icon-only "next" nav button. See {@link previousLabel}. */
474
+ readonly nextLabel: _angular_core.InputSignal<string>;
475
+ /**
476
+ * Visible text of the "today" action (shown when {@link showActions} is true). Translate it in the
477
+ * consuming app — the library ships no i18n of its own.
478
+ */
479
+ readonly todayActionLabel: _angular_core.InputSignal<string>;
480
+ /** Visible text of the "clear" action. See {@link todayActionLabel}. */
481
+ readonly clearActionLabel: _angular_core.InputSignal<string>;
462
482
  /** Emitted when a concrete date is picked (day click or "Aujourd'hui"). */
463
483
  readonly dateSelect: _angular_core.OutputEmitterRef<Date>;
464
484
  protected readonly view: _angular_core.WritableSignal<CalView>;
@@ -505,7 +525,7 @@ declare class SdsCalendar {
505
525
  protected dayClass(cell: DayCell): string;
506
526
  protected cellClass(selected: boolean, current: boolean, disabled: boolean): string;
507
527
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsCalendar, never>;
508
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsCalendar, "sds-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "dateSelect": "dateSelect"; }, never, never, true, never>;
528
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsCalendar, "sds-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "calendarLabel": { "alias": "calendarLabel"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "todayActionLabel": { "alias": "todayActionLabel"; "required": false; "isSignal": true; }; "clearActionLabel": { "alias": "clearActionLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "dateSelect": "dateSelect"; }, never, never, true, never>;
509
529
  }
510
530
 
511
531
  type SdsDatePickerSize = 'sm' | 'md' | 'lg';
@@ -537,6 +557,31 @@ declare class SdsDatePicker implements ControlValueAccessor, OnDestroy {
537
557
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
538
558
  /** Custom display formatter (default dd/MM/yyyy). */
539
559
  readonly format: _angular_core.InputSignal<(d: Date) => string>;
560
+ /**
561
+ * Accessible name for the clear button. French default so existing consumers are unchanged, but an
562
+ * app serving more than one language MUST translate it — it is an icon-only control, so this string
563
+ * is its only name.
564
+ */
565
+ readonly clearLabel: _angular_core.InputSignal<string>;
566
+ /**
567
+ * Accessible name for the icon-only calendar toggle while the panel is CLOSED. See
568
+ * {@link clearLabel} for why this has to be translatable.
569
+ */
570
+ readonly openCalendarLabel: _angular_core.InputSignal<string>;
571
+ /** Accessible name for the calendar toggle while the panel is OPEN. See {@link openCalendarLabel}. */
572
+ readonly closeCalendarLabel: _angular_core.InputSignal<string>;
573
+ /** Accessible name for the overlay dialog that holds the calendar. */
574
+ readonly panelLabel: _angular_core.InputSignal<string>;
575
+ /**
576
+ * Labels forwarded to the embedded <sds-calendar>. They live here because the picker is how the
577
+ * calendar is normally reached — without forwarding, a consumer could translate the field but not
578
+ * the panel it opens. Defaults match SdsCalendar's own, so nothing changes for existing consumers.
579
+ */
580
+ readonly calendarLabel: _angular_core.InputSignal<string>;
581
+ readonly previousLabel: _angular_core.InputSignal<string>;
582
+ readonly nextLabel: _angular_core.InputSignal<string>;
583
+ readonly todayActionLabel: _angular_core.InputSignal<string>;
584
+ readonly clearActionLabel: _angular_core.InputSignal<string>;
540
585
  protected readonly value: _angular_core.WritableSignal<Date | null>;
541
586
  protected readonly open: _angular_core.WritableSignal<boolean>;
542
587
  private readonly cvaDisabled;
@@ -569,7 +614,7 @@ declare class SdsDatePicker implements ControlValueAccessor, OnDestroy {
569
614
  registerOnTouched(fn: () => void): void;
570
615
  setDisabledState(isDisabled: boolean): void;
571
616
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsDatePicker, never>;
572
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsDatePicker, "sds-date-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
617
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsDatePicker, "sds-date-picker", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "openCalendarLabel": { "alias": "openCalendarLabel"; "required": false; "isSignal": true; }; "closeCalendarLabel": { "alias": "closeCalendarLabel"; "required": false; "isSignal": true; }; "panelLabel": { "alias": "panelLabel"; "required": false; "isSignal": true; }; "calendarLabel": { "alias": "calendarLabel"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "todayActionLabel": { "alias": "todayActionLabel"; "required": false; "isSignal": true; }; "clearActionLabel": { "alias": "clearActionLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
573
618
  }
574
619
 
575
620
  type SdsSelectSize = 'sm' | 'md' | 'lg';
@@ -863,6 +908,40 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
863
908
  /** Show an example number as a hint when no [hint] is provided. */
864
909
  readonly showExampleHint: _angular_core.InputSignalWithTransform<boolean, unknown>;
865
910
  readonly requiredMessage: _angular_core.InputSignal<string>;
911
+ /**
912
+ * Accessible name of the country selector. `{country}` is replaced with the selected country's
913
+ * name. A token rather than a prefix because word order differs per language. French default so
914
+ * existing consumers are unchanged; translate it in any app serving more than one language.
915
+ *
916
+ * Note the interpolated country NAME still comes from the library's built-in country table, which
917
+ * is French-only — translating this template fixes the wrapper, not the name inside it.
918
+ */
919
+ readonly countryLabel: _angular_core.InputSignal<string>;
920
+ /**
921
+ * Accessible name for the clear button. It is icon-only, so this string is its ONLY accessible
922
+ * name — a hardcoded French one is simply wrong in every other locale.
923
+ */
924
+ readonly clearLabel: _angular_core.InputSignal<string>;
925
+ /** Accessible name for the country-search field inside the dropdown. */
926
+ readonly searchLabel: _angular_core.InputSignal<string>;
927
+ /** Placeholder text of the country-search field. */
928
+ readonly searchPlaceholder: _angular_core.InputSignal<string>;
929
+ /** Shown in place of the list when no country matches the filter. */
930
+ readonly noResultsLabel: _angular_core.InputSignal<string>;
931
+ /**
932
+ * Built-in validation messages. `{lengths}` is replaced with the country's accepted national
933
+ * lengths, joined with {@link lengthSeparator}. Siblings of {@link requiredMessage}, which was
934
+ * already translatable — these two were not, so an English or Dutch app showed French errors.
935
+ */
936
+ readonly incompleteMessage: _angular_core.InputSignal<string>;
937
+ readonly invalidMessage: _angular_core.InputSignal<string>;
938
+ /** Joins the accepted lengths when a country allows more than one (e.g. "8 ou 9"). */
939
+ readonly lengthSeparator: _angular_core.InputSignal<string>;
940
+ /**
941
+ * Auto-generated example hint (see {@link showExampleHint}). `{number}` is replaced with the
942
+ * formatted international example number.
943
+ */
944
+ readonly exampleHintTemplate: _angular_core.InputSignal<string>;
866
945
  /** Emitted with the parsed parts whenever the number or country changes. */
867
946
  readonly phoneChange: _angular_core.OutputEmitterRef<SdsPhoneValue>;
868
947
  protected readonly national: _angular_core.WritableSignal<string>;
@@ -883,6 +962,7 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
883
962
  protected readonly display: _angular_core.Signal<string>;
884
963
  protected readonly placeholderText: _angular_core.Signal<string>;
885
964
  protected readonly autoHint: _angular_core.Signal<string>;
965
+ protected readonly countryAriaLabel: _angular_core.Signal<string>;
886
966
  protected readonly e164: _angular_core.Signal<string>;
887
967
  /** Non-empty but national length is not valid for the country. */
888
968
  protected readonly invalid: _angular_core.Signal<boolean>;
@@ -923,7 +1003,7 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
923
1003
  validate(_control: AbstractControl): ValidationErrors | null;
924
1004
  registerOnValidatorChange(fn: () => void): void;
925
1005
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsPhoneInput, never>;
926
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsPhoneInput, "sds-phone-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; "isSignal": true; }; "preferredCountries": { "alias": "preferredCountries"; "required": false; "isSignal": true; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; "isSignal": true; }; "showExampleHint": { "alias": "showExampleHint"; "required": false; "isSignal": true; }; "requiredMessage": { "alias": "requiredMessage"; "required": false; "isSignal": true; }; }, { "phoneChange": "phoneChange"; }, never, never, true, never>;
1006
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsPhoneInput, "sds-phone-input", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; "isSignal": true; }; "preferredCountries": { "alias": "preferredCountries"; "required": false; "isSignal": true; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; "isSignal": true; }; "showExampleHint": { "alias": "showExampleHint"; "required": false; "isSignal": true; }; "requiredMessage": { "alias": "requiredMessage"; "required": false; "isSignal": true; }; "countryLabel": { "alias": "countryLabel"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "noResultsLabel": { "alias": "noResultsLabel"; "required": false; "isSignal": true; }; "incompleteMessage": { "alias": "incompleteMessage"; "required": false; "isSignal": true; }; "invalidMessage": { "alias": "invalidMessage"; "required": false; "isSignal": true; }; "lengthSeparator": { "alias": "lengthSeparator"; "required": false; "isSignal": true; }; "exampleHintTemplate": { "alias": "exampleHintTemplate"; "required": false; "isSignal": true; }; }, { "phoneChange": "phoneChange"; }, never, never, true, never>;
927
1007
  }
928
1008
 
929
1009
  type SdsPaginatorSize = 'sm' | 'md' | 'lg';
@@ -978,6 +1058,28 @@ declare class SdsPaginator {
978
1058
  readonly showJumpToPageInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
979
1059
  readonly rowsPerPageLabel: _angular_core.InputSignal<string>;
980
1060
  readonly jumpToPageLabel: _angular_core.InputSignal<string>;
1061
+ /**
1062
+ * Accessible name for the <nav> wrapping the page controls, and for the four icon-only
1063
+ * first/prev/next/last buttons. Those buttons have no text, so these strings are their ONLY
1064
+ * accessible names — the French defaults keep existing consumers unchanged, but an app serving more
1065
+ * than one language MUST pass translated values.
1066
+ */
1067
+ readonly paginationLabel: _angular_core.InputSignal<string>;
1068
+ readonly firstPageLabel: _angular_core.InputSignal<string>;
1069
+ readonly previousPageLabel: _angular_core.InputSignal<string>;
1070
+ readonly nextPageLabel: _angular_core.InputSignal<string>;
1071
+ readonly lastPageLabel: _angular_core.InputSignal<string>;
1072
+ /**
1073
+ * Accessible name of a numbered page link. `{page}` is replaced with the 1-based page number —
1074
+ * a token rather than a prefix because word order is not the same in every language.
1075
+ */
1076
+ readonly pageLinkLabel: _angular_core.InputSignal<string>;
1077
+ /**
1078
+ * Accessible name of the jump-to-page field. Separate from the visible {@link jumpToPageLabel}
1079
+ * ("Aller à") on purpose: the visible text is terse because it sits next to the field, while the
1080
+ * accessible name has to stand alone.
1081
+ */
1082
+ readonly jumpToPageAriaLabel: _angular_core.InputSignal<string>;
981
1083
  readonly size: _angular_core.InputSignal<SdsPaginatorSize>;
982
1084
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
983
1085
  /** Fires after any page or page-size change with the full paginator state. */
@@ -990,6 +1092,7 @@ declare class SdsPaginator {
990
1092
  protected readonly pageLinks: _angular_core.Signal<number[]>;
991
1093
  protected readonly reportText: _angular_core.Signal<string>;
992
1094
  protected readonly hostClass: _angular_core.Signal<string>;
1095
+ protected pageLinkAriaLabel(page: number): string;
993
1096
  protected navClass(isDisabled: boolean): string;
994
1097
  protected linkClass(active: boolean): string;
995
1098
  protected firstPage(): void;
@@ -1001,7 +1104,7 @@ declare class SdsPaginator {
1001
1104
  protected onJump(event: Event): void;
1002
1105
  private emit;
1003
1106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsPaginator, never>;
1004
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsPaginator, "sds-paginator", never, { "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "first": { "alias": "first"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "pageLinkSize": { "alias": "pageLinkSize"; "required": false; "isSignal": true; }; "showFirstLastIcon": { "alias": "showFirstLastIcon"; "required": false; "isSignal": true; }; "showPageLinks": { "alias": "showPageLinks"; "required": false; "isSignal": true; }; "showCurrentPageReport": { "alias": "showCurrentPageReport"; "required": false; "isSignal": true; }; "currentPageReportTemplate": { "alias": "currentPageReportTemplate"; "required": false; "isSignal": true; }; "showJumpToPageInput": { "alias": "showJumpToPageInput"; "required": false; "isSignal": true; }; "rowsPerPageLabel": { "alias": "rowsPerPageLabel"; "required": false; "isSignal": true; }; "jumpToPageLabel": { "alias": "jumpToPageLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "first": "firstChange"; "rows": "rowsChange"; "pageChange": "pageChange"; }, never, never, true, never>;
1107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsPaginator, "sds-paginator", never, { "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "first": { "alias": "first"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "rowsPerPageOptions": { "alias": "rowsPerPageOptions"; "required": false; "isSignal": true; }; "pageLinkSize": { "alias": "pageLinkSize"; "required": false; "isSignal": true; }; "showFirstLastIcon": { "alias": "showFirstLastIcon"; "required": false; "isSignal": true; }; "showPageLinks": { "alias": "showPageLinks"; "required": false; "isSignal": true; }; "showCurrentPageReport": { "alias": "showCurrentPageReport"; "required": false; "isSignal": true; }; "currentPageReportTemplate": { "alias": "currentPageReportTemplate"; "required": false; "isSignal": true; }; "showJumpToPageInput": { "alias": "showJumpToPageInput"; "required": false; "isSignal": true; }; "rowsPerPageLabel": { "alias": "rowsPerPageLabel"; "required": false; "isSignal": true; }; "jumpToPageLabel": { "alias": "jumpToPageLabel"; "required": false; "isSignal": true; }; "paginationLabel": { "alias": "paginationLabel"; "required": false; "isSignal": true; }; "firstPageLabel": { "alias": "firstPageLabel"; "required": false; "isSignal": true; }; "previousPageLabel": { "alias": "previousPageLabel"; "required": false; "isSignal": true; }; "nextPageLabel": { "alias": "nextPageLabel"; "required": false; "isSignal": true; }; "lastPageLabel": { "alias": "lastPageLabel"; "required": false; "isSignal": true; }; "pageLinkLabel": { "alias": "pageLinkLabel"; "required": false; "isSignal": true; }; "jumpToPageAriaLabel": { "alias": "jumpToPageAriaLabel"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "first": "firstChange"; "rows": "rowsChange"; "pageChange": "pageChange"; }, never, never, true, never>;
1005
1108
  }
1006
1109
 
1007
1110
  /** Identifier of a tab / panel pair. Keep types consistent across a tab set. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@besaitech/ng-design-system",
3
- "version": "0.0.32",
3
+ "version": "0.0.33",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"