@besaitech/ng-design-system 0.0.32 → 0.0.34

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
@@ -93,7 +93,7 @@ type SdsIconSize = 'sm' | 'md' | 'lg' | 'xl';
93
93
  declare class SdsIcon {
94
94
  private readonly sanitizer;
95
95
  /** Icon identifier from the registry. */
96
- readonly name: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle">;
96
+ readonly name: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle">;
97
97
  /** Square size: a pixel number, a numeric string, or a keyword (sm·md·lg·xl). */
98
98
  readonly size: _angular_core.InputSignalWithTransform<number, string | number>;
99
99
  /** Stroke width of the line icon. */
@@ -185,8 +185,8 @@ declare class SdsInput implements ControlValueAccessor {
185
185
  * is its only name.
186
186
  */
187
187
  readonly clearLabel: _angular_core.InputSignal<string>;
188
- readonly leadingIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
189
- readonly trailingIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
188
+ readonly leadingIcon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
189
+ readonly trailingIcon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
190
190
  /**
191
191
  * A CLICKABLE trailing icon, for the affordances that belong to the field itself — password reveal
192
192
  * above all. Distinct from {@link trailingIcon}, which is decorative and explicitly
@@ -196,7 +196,7 @@ declare class SdsInput implements ControlValueAccessor {
196
196
  * Always pair it with {@link trailingActionLabel} — an icon-only button with no accessible name is
197
197
  * unusable by a screen reader. For a toggle, also bind {@link trailingActionPressed}.
198
198
  */
199
- readonly trailingAction: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
199
+ readonly trailingAction: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
200
200
  /** Accessible name for {@link trailingAction}. Translate it in the consuming app. */
201
201
  readonly trailingActionLabel: _angular_core.InputSignal<string>;
202
202
  /** `aria-pressed` for a toggling action (e.g. show/hide password). Null renders no attribute. */
@@ -224,6 +224,75 @@ declare class SdsInput implements ControlValueAccessor {
224
224
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsInput, "sds-input", 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; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "trailingAction": { "alias": "trailingAction"; "required": false; "isSignal": true; }; "trailingActionLabel": { "alias": "trailingActionLabel"; "required": false; "isSignal": true; }; "trailingActionPressed": { "alias": "trailingActionPressed"; "required": false; "isSignal": true; }; }, { "trailingActionClick": "trailingActionClick"; }, never, never, true, never>;
225
225
  }
226
226
 
227
+ type SdsOtpInputSize = 'md' | 'lg';
228
+ /**
229
+ * A segmented one-time-code field: one box per character, for the short numeric codes emailed or
230
+ * texted for sign-in and verification. Implements ControlValueAccessor — bind
231
+ * `formControlName`/`[(ngModel)]`; the value is the concatenated string (e.g. `"483920"`), and
232
+ * {@link completed} fires the moment every box is filled.
233
+ *
234
+ * <p>Only digits are accepted (`inputMode` is `numeric` by default). Typing auto-advances,
235
+ * Backspace steps back and clears, the arrow keys move between boxes, and pasting a whole code
236
+ * distributes it across the boxes from the focused one — so a user can paste `483920` into the
237
+ * first box and have it land correctly.
238
+ */
239
+ declare class SdsOtpInput implements ControlValueAccessor {
240
+ readonly groupId: string;
241
+ /** How many boxes / characters the code has. */
242
+ readonly length: _angular_core.InputSignalWithTransform<number, unknown>;
243
+ readonly label: _angular_core.InputSignal<string>;
244
+ /** Accessible name for the whole group when no visible [label] is provided. */
245
+ readonly ariaLabel: _angular_core.InputSignal<string>;
246
+ readonly hint: _angular_core.InputSignal<string>;
247
+ readonly error: _angular_core.InputSignal<string>;
248
+ readonly size: _angular_core.InputSignal<SdsOtpInputSize>;
249
+ /** `numeric` for digit codes (the default); `text` for alphanumeric codes. */
250
+ readonly inputMode: _angular_core.InputSignal<"numeric" | "text">;
251
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
252
+ /** Focus the first box on first render. */
253
+ readonly autoFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
254
+ /**
255
+ * Accessible name for an individual box, suffixed with its 1-based position ("Digit 1", "Digit
256
+ * 2", …). French default so existing consumers are unchanged; translate it in an app serving more
257
+ * than one language, since each box is an icon-less control whose only name this is.
258
+ */
259
+ readonly cellLabel: _angular_core.InputSignal<string>;
260
+ /** Emitted with the full value the moment the last box is filled. */
261
+ readonly completed: _angular_core.OutputEmitterRef<string>;
262
+ private readonly cells;
263
+ /** One entry per box; the source of truth, kept exactly {@link length} long. */
264
+ private readonly chars;
265
+ private readonly cvaDisabled;
266
+ protected readonly indexes: _angular_core.Signal<number[]>;
267
+ protected readonly isDisabled: _angular_core.Signal<boolean>;
268
+ protected readonly describedBy: _angular_core.Signal<string | null>;
269
+ protected readonly cellClasses: _angular_core.Signal<string>;
270
+ constructor();
271
+ private onChange;
272
+ protected onTouched: () => void;
273
+ writeValue(value: string | null): void;
274
+ registerOnChange(fn: (value: string) => void): void;
275
+ registerOnTouched(fn: () => void): void;
276
+ setDisabledState(isDisabled: boolean): void;
277
+ protected charAt(index: number): string;
278
+ protected onInput(event: Event, index: number): void;
279
+ protected onKeydown(event: KeyboardEvent, index: number): void;
280
+ protected onPaste(event: ClipboardEvent, index: number): void;
281
+ protected onFocus(event: FocusEvent): void;
282
+ private sanitize;
283
+ /** Normalize any input string into an array exactly {@link length} long. */
284
+ private spread;
285
+ private setChar;
286
+ /** Write `digits` across the boxes starting at `start`, then focus the next empty box. */
287
+ private fill;
288
+ private commit;
289
+ /** The current boxes as a fresh, correctly-sized array to mutate. */
290
+ private normalized;
291
+ private focusIndex;
292
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsOtpInput, never>;
293
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsOtpInput, "sds-otp-input", never, { "length": { "alias": "length"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "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; }; "inputMode": { "alias": "inputMode"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "cellLabel": { "alias": "cellLabel"; "required": false; "isSignal": true; }; }, { "completed": "completed"; }, never, never, true, never>;
294
+ }
295
+
227
296
  type SdsTextareaSize = 'sm' | 'md' | 'lg';
228
297
  type SdsTextareaResize = 'none' | 'vertical' | 'both';
229
298
  /**
@@ -306,9 +375,9 @@ declare class SdsToggleSwitch implements ControlValueAccessor {
306
375
  /** Value emitted/stored when the switch is off. */
307
376
  readonly falseValue: _angular_core.InputSignal<unknown>;
308
377
  /** Icon shown on the knob when checked. */
309
- readonly onIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
378
+ readonly onIcon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
310
379
  /** Icon shown on the knob when unchecked. */
311
- readonly offIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
380
+ readonly offIcon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
312
381
  readonly hint: _angular_core.InputSignal<string>;
313
382
  readonly error: _angular_core.InputSignal<string>;
314
383
  /**
@@ -459,6 +528,26 @@ declare class SdsCalendar {
459
528
  readonly firstDayOfWeek: _angular_core.InputSignal<0 | 1>;
460
529
  readonly locale: _angular_core.InputSignal<string>;
461
530
  readonly showActions: _angular_core.InputSignal<boolean>;
531
+ /**
532
+ * Accessible name for the calendar container. French default so existing consumers are unchanged,
533
+ * but an app serving more than one language MUST translate it.
534
+ */
535
+ readonly calendarLabel: _angular_core.InputSignal<string>;
536
+ /**
537
+ * Accessible name for the "previous" nav button. It is icon-only, so this string is its ONLY
538
+ * accessible name — a hardcoded French one is simply wrong in every other locale. Translate it in
539
+ * the consuming app.
540
+ */
541
+ readonly previousLabel: _angular_core.InputSignal<string>;
542
+ /** Accessible name for the icon-only "next" nav button. See {@link previousLabel}. */
543
+ readonly nextLabel: _angular_core.InputSignal<string>;
544
+ /**
545
+ * Visible text of the "today" action (shown when {@link showActions} is true). Translate it in the
546
+ * consuming app — the library ships no i18n of its own.
547
+ */
548
+ readonly todayActionLabel: _angular_core.InputSignal<string>;
549
+ /** Visible text of the "clear" action. See {@link todayActionLabel}. */
550
+ readonly clearActionLabel: _angular_core.InputSignal<string>;
462
551
  /** Emitted when a concrete date is picked (day click or "Aujourd'hui"). */
463
552
  readonly dateSelect: _angular_core.OutputEmitterRef<Date>;
464
553
  protected readonly view: _angular_core.WritableSignal<CalView>;
@@ -505,7 +594,7 @@ declare class SdsCalendar {
505
594
  protected dayClass(cell: DayCell): string;
506
595
  protected cellClass(selected: boolean, current: boolean, disabled: boolean): string;
507
596
  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>;
597
+ 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
598
  }
510
599
 
511
600
  type SdsDatePickerSize = 'sm' | 'md' | 'lg';
@@ -537,6 +626,31 @@ declare class SdsDatePicker implements ControlValueAccessor, OnDestroy {
537
626
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
538
627
  /** Custom display formatter (default dd/MM/yyyy). */
539
628
  readonly format: _angular_core.InputSignal<(d: Date) => string>;
629
+ /**
630
+ * Accessible name for the clear button. French default so existing consumers are unchanged, but an
631
+ * app serving more than one language MUST translate it — it is an icon-only control, so this string
632
+ * is its only name.
633
+ */
634
+ readonly clearLabel: _angular_core.InputSignal<string>;
635
+ /**
636
+ * Accessible name for the icon-only calendar toggle while the panel is CLOSED. See
637
+ * {@link clearLabel} for why this has to be translatable.
638
+ */
639
+ readonly openCalendarLabel: _angular_core.InputSignal<string>;
640
+ /** Accessible name for the calendar toggle while the panel is OPEN. See {@link openCalendarLabel}. */
641
+ readonly closeCalendarLabel: _angular_core.InputSignal<string>;
642
+ /** Accessible name for the overlay dialog that holds the calendar. */
643
+ readonly panelLabel: _angular_core.InputSignal<string>;
644
+ /**
645
+ * Labels forwarded to the embedded <sds-calendar>. They live here because the picker is how the
646
+ * calendar is normally reached — without forwarding, a consumer could translate the field but not
647
+ * the panel it opens. Defaults match SdsCalendar's own, so nothing changes for existing consumers.
648
+ */
649
+ readonly calendarLabel: _angular_core.InputSignal<string>;
650
+ readonly previousLabel: _angular_core.InputSignal<string>;
651
+ readonly nextLabel: _angular_core.InputSignal<string>;
652
+ readonly todayActionLabel: _angular_core.InputSignal<string>;
653
+ readonly clearActionLabel: _angular_core.InputSignal<string>;
540
654
  protected readonly value: _angular_core.WritableSignal<Date | null>;
541
655
  protected readonly open: _angular_core.WritableSignal<boolean>;
542
656
  private readonly cvaDisabled;
@@ -569,7 +683,7 @@ declare class SdsDatePicker implements ControlValueAccessor, OnDestroy {
569
683
  registerOnTouched(fn: () => void): void;
570
684
  setDisabledState(isDisabled: boolean): void;
571
685
  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>;
686
+ 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
687
  }
574
688
 
575
689
  type SdsSelectSize = 'sm' | 'md' | 'lg';
@@ -863,6 +977,40 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
863
977
  /** Show an example number as a hint when no [hint] is provided. */
864
978
  readonly showExampleHint: _angular_core.InputSignalWithTransform<boolean, unknown>;
865
979
  readonly requiredMessage: _angular_core.InputSignal<string>;
980
+ /**
981
+ * Accessible name of the country selector. `{country}` is replaced with the selected country's
982
+ * name. A token rather than a prefix because word order differs per language. French default so
983
+ * existing consumers are unchanged; translate it in any app serving more than one language.
984
+ *
985
+ * Note the interpolated country NAME still comes from the library's built-in country table, which
986
+ * is French-only — translating this template fixes the wrapper, not the name inside it.
987
+ */
988
+ readonly countryLabel: _angular_core.InputSignal<string>;
989
+ /**
990
+ * Accessible name for the clear button. It is icon-only, so this string is its ONLY accessible
991
+ * name — a hardcoded French one is simply wrong in every other locale.
992
+ */
993
+ readonly clearLabel: _angular_core.InputSignal<string>;
994
+ /** Accessible name for the country-search field inside the dropdown. */
995
+ readonly searchLabel: _angular_core.InputSignal<string>;
996
+ /** Placeholder text of the country-search field. */
997
+ readonly searchPlaceholder: _angular_core.InputSignal<string>;
998
+ /** Shown in place of the list when no country matches the filter. */
999
+ readonly noResultsLabel: _angular_core.InputSignal<string>;
1000
+ /**
1001
+ * Built-in validation messages. `{lengths}` is replaced with the country's accepted national
1002
+ * lengths, joined with {@link lengthSeparator}. Siblings of {@link requiredMessage}, which was
1003
+ * already translatable — these two were not, so an English or Dutch app showed French errors.
1004
+ */
1005
+ readonly incompleteMessage: _angular_core.InputSignal<string>;
1006
+ readonly invalidMessage: _angular_core.InputSignal<string>;
1007
+ /** Joins the accepted lengths when a country allows more than one (e.g. "8 ou 9"). */
1008
+ readonly lengthSeparator: _angular_core.InputSignal<string>;
1009
+ /**
1010
+ * Auto-generated example hint (see {@link showExampleHint}). `{number}` is replaced with the
1011
+ * formatted international example number.
1012
+ */
1013
+ readonly exampleHintTemplate: _angular_core.InputSignal<string>;
866
1014
  /** Emitted with the parsed parts whenever the number or country changes. */
867
1015
  readonly phoneChange: _angular_core.OutputEmitterRef<SdsPhoneValue>;
868
1016
  protected readonly national: _angular_core.WritableSignal<string>;
@@ -883,6 +1031,7 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
883
1031
  protected readonly display: _angular_core.Signal<string>;
884
1032
  protected readonly placeholderText: _angular_core.Signal<string>;
885
1033
  protected readonly autoHint: _angular_core.Signal<string>;
1034
+ protected readonly countryAriaLabel: _angular_core.Signal<string>;
886
1035
  protected readonly e164: _angular_core.Signal<string>;
887
1036
  /** Non-empty but national length is not valid for the country. */
888
1037
  protected readonly invalid: _angular_core.Signal<boolean>;
@@ -923,7 +1072,7 @@ declare class SdsPhoneInput implements ControlValueAccessor, Validator, OnDestro
923
1072
  validate(_control: AbstractControl): ValidationErrors | null;
924
1073
  registerOnValidatorChange(fn: () => void): void;
925
1074
  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>;
1075
+ 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
1076
  }
928
1077
 
929
1078
  type SdsPaginatorSize = 'sm' | 'md' | 'lg';
@@ -978,6 +1127,28 @@ declare class SdsPaginator {
978
1127
  readonly showJumpToPageInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
979
1128
  readonly rowsPerPageLabel: _angular_core.InputSignal<string>;
980
1129
  readonly jumpToPageLabel: _angular_core.InputSignal<string>;
1130
+ /**
1131
+ * Accessible name for the <nav> wrapping the page controls, and for the four icon-only
1132
+ * first/prev/next/last buttons. Those buttons have no text, so these strings are their ONLY
1133
+ * accessible names — the French defaults keep existing consumers unchanged, but an app serving more
1134
+ * than one language MUST pass translated values.
1135
+ */
1136
+ readonly paginationLabel: _angular_core.InputSignal<string>;
1137
+ readonly firstPageLabel: _angular_core.InputSignal<string>;
1138
+ readonly previousPageLabel: _angular_core.InputSignal<string>;
1139
+ readonly nextPageLabel: _angular_core.InputSignal<string>;
1140
+ readonly lastPageLabel: _angular_core.InputSignal<string>;
1141
+ /**
1142
+ * Accessible name of a numbered page link. `{page}` is replaced with the 1-based page number —
1143
+ * a token rather than a prefix because word order is not the same in every language.
1144
+ */
1145
+ readonly pageLinkLabel: _angular_core.InputSignal<string>;
1146
+ /**
1147
+ * Accessible name of the jump-to-page field. Separate from the visible {@link jumpToPageLabel}
1148
+ * ("Aller à") on purpose: the visible text is terse because it sits next to the field, while the
1149
+ * accessible name has to stand alone.
1150
+ */
1151
+ readonly jumpToPageAriaLabel: _angular_core.InputSignal<string>;
981
1152
  readonly size: _angular_core.InputSignal<SdsPaginatorSize>;
982
1153
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
983
1154
  /** Fires after any page or page-size change with the full paginator state. */
@@ -990,6 +1161,7 @@ declare class SdsPaginator {
990
1161
  protected readonly pageLinks: _angular_core.Signal<number[]>;
991
1162
  protected readonly reportText: _angular_core.Signal<string>;
992
1163
  protected readonly hostClass: _angular_core.Signal<string>;
1164
+ protected pageLinkAriaLabel(page: number): string;
993
1165
  protected navClass(isDisabled: boolean): string;
994
1166
  protected linkClass(active: boolean): string;
995
1167
  protected firstPage(): void;
@@ -1001,7 +1173,7 @@ declare class SdsPaginator {
1001
1173
  protected onJump(event: Event): void;
1002
1174
  private emit;
1003
1175
  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>;
1176
+ 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
1177
  }
1006
1178
 
1007
1179
  /** Identifier of a tab / panel pair. Keep types consistent across a tab set. */
@@ -1630,7 +1802,7 @@ declare class SdsNavGroup {
1630
1802
  /** Turn the label into an expand/collapse control. */
1631
1803
  readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
1632
1804
  /** Icon for a collapsible header, so it reads at the same weight as the items it sits among. */
1633
- readonly icon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
1805
+ readonly icon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
1634
1806
  /**
1635
1807
  * URL prefix owned by this group, e.g. `/payments`. While the active route starts with it the
1636
1808
  * group counts as active and opens itself — unless the person has explicitly toggled it since.
@@ -1682,7 +1854,7 @@ declare class SdsNavGroup {
1682
1854
  */
1683
1855
  declare class SdsNavItem {
1684
1856
  protected readonly store: SidebarStore;
1685
- readonly icon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "filter" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
1857
+ readonly icon: _angular_core.InputSignal<"filter" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "search" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "copy" | "type" | "tag" | "square" | "circle-user" | "layout-grid" | "panels-top-left" | "panel-top" | "rows-3" | "book-open" | "palette" | "bell" | "phone" | "settings" | "align-left" | "toggle-left" | "arrow-up" | "arrow-down" | "chevrons-up-down" | "table" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | null>;
1686
1858
  readonly label: _angular_core.InputSignal<string>;
1687
1859
  /** Router link target; when null, the item behaves as a button. */
1688
1860
  readonly link: _angular_core.InputSignal<string | unknown[] | null>;
@@ -1696,5 +1868,5 @@ declare class SdsNavItem {
1696
1868
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsNavItem, "sds-nav-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "exact": { "alias": "exact"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "select": "select"; }, never, never, true, never>;
1697
1869
  }
1698
1870
 
1699
- export { SDS_ICONS, SDS_PHONE_COUNTRIES, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAvatar, SdsBadge, SdsButton, SdsCalendar, SdsCard, SdsCheckbox, SdsDatePicker, SdsIcon, SdsInput, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsPaginator, SdsPhoneInput, SdsSelect, SdsShell, SdsSidebar, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsToggleSwitch, SdsTopbar, SidebarStore, addDays, addMonths, addMonthsKeepDay, formatDdMmYyyy, isOutOfRange, isSameDay, isoDay, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth };
1700
- export type { SdsAccordionActive, SdsAccordionValue, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsCheckboxSize, SdsDatePickerSize, SdsIconName, SdsIconSize, SdsInputAppearance, SdsInputShape, SdsInputSize, SdsInputType, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsSelectSize, SdsSortOrder, SdsTabValue, SdsTableCellContext, SdsTableColumn, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSize, SdsTableSortEvent, SdsTextareaResize, SdsTextareaSize, SdsToggleSwitchSize, SdsTopbarAppearance };
1871
+ export { SDS_ICONS, SDS_PHONE_COUNTRIES, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAvatar, SdsBadge, SdsButton, SdsCalendar, SdsCard, SdsCheckbox, SdsDatePicker, SdsIcon, SdsInput, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsOtpInput, SdsPaginator, SdsPhoneInput, SdsSelect, SdsShell, SdsSidebar, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsToggleSwitch, SdsTopbar, SidebarStore, addDays, addMonths, addMonthsKeepDay, formatDdMmYyyy, isOutOfRange, isSameDay, isoDay, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth };
1872
+ export type { SdsAccordionActive, SdsAccordionValue, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsCheckboxSize, SdsDatePickerSize, SdsIconName, SdsIconSize, SdsInputAppearance, SdsInputShape, SdsInputSize, SdsInputType, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsOtpInputSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsSelectSize, SdsSortOrder, SdsTabValue, SdsTableCellContext, SdsTableColumn, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSize, SdsTableSortEvent, SdsTextareaResize, SdsTextareaSize, SdsToggleSwitchSize, SdsTopbarAppearance };
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.34",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"