@besaitech/ng-design-system 0.0.42 → 0.0.44

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
@@ -1,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnDestroy, WritableSignal, OnInit, TemplateRef } from '@angular/core';
2
+ import { OnDestroy, TemplateRef, WritableSignal, OnInit } from '@angular/core';
3
3
  import { SafeHtml } from '@angular/platform-browser';
4
4
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
5
5
  import * as _besaitech_ng_design_system from '@besaitech/ng-design-system';
@@ -99,7 +99,7 @@ type SdsIconSize = 'sm' | 'md' | 'lg' | 'xl';
99
99
  declare class SdsIcon {
100
100
  private readonly sanitizer;
101
101
  /** Icon identifier from the registry. */
102
- readonly name: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text">;
102
+ readonly name: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text">;
103
103
  /** Square size: a pixel number, a numeric string, or a keyword (sm·md·lg·xl). */
104
104
  readonly size: _angular_core.InputSignalWithTransform<number, string | number>;
105
105
  /** Stroke width of the line icon. */
@@ -129,7 +129,7 @@ declare class SdsButton {
129
129
  * most important control.
130
130
  */
131
131
  readonly shape: _angular_core.InputSignal<SdsButtonShape>;
132
- readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
132
+ readonly type: _angular_core.InputSignal<"reset" | "submit" | "button">;
133
133
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
134
134
  readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
135
135
  /** Full-width button. */
@@ -191,8 +191,8 @@ declare class SdsInput implements ControlValueAccessor {
191
191
  * is its only name.
192
192
  */
193
193
  readonly clearLabel: _angular_core.InputSignal<string>;
194
- readonly leadingIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
195
- readonly trailingIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
194
+ readonly leadingIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
195
+ readonly trailingIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
196
196
  /**
197
197
  * A CLICKABLE trailing icon, for the affordances that belong to the field itself — password reveal
198
198
  * above all. Distinct from {@link trailingIcon}, which is decorative and explicitly
@@ -202,7 +202,7 @@ declare class SdsInput implements ControlValueAccessor {
202
202
  * Always pair it with {@link trailingActionLabel} — an icon-only button with no accessible name is
203
203
  * unusable by a screen reader. For a toggle, also bind {@link trailingActionPressed}.
204
204
  */
205
- readonly trailingAction: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
205
+ readonly trailingAction: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
206
206
  /** Accessible name for {@link trailingAction}. Translate it in the consuming app. */
207
207
  readonly trailingActionLabel: _angular_core.InputSignal<string>;
208
208
  /** `aria-pressed` for a toggling action (e.g. show/hide password). Null renders no attribute. */
@@ -297,9 +297,9 @@ declare class SdsInputNumber implements ControlValueAccessor {
297
297
  readonly showButtons: _angular_core.InputSignalWithTransform<boolean, unknown>;
298
298
  readonly buttonLayout: _angular_core.InputSignal<SdsInputNumberButtonLayout>;
299
299
  /** Override the increment button icon (defaults: chevron-up when stacked, plus otherwise). */
300
- readonly incrementIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
300
+ readonly incrementIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
301
301
  /** Override the decrement button icon (defaults: chevron-down when stacked, minus otherwise). */
302
- readonly decrementIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
302
+ readonly decrementIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
303
303
  /** Allow an empty (null) value. When false, blurring an empty field falls back to {@link min} or 0. */
304
304
  readonly allowEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
305
305
  readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -316,8 +316,8 @@ declare class SdsInputNumber implements ControlValueAccessor {
316
316
  protected readonly isDisabled: _angular_core.Signal<boolean>;
317
317
  protected readonly describedBy: _angular_core.Signal<string | null>;
318
318
  protected readonly clearVisible: _angular_core.Signal<boolean>;
319
- protected readonly incrementIconName: _angular_core.Signal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text">;
320
- protected readonly decrementIconName: _angular_core.Signal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text">;
319
+ protected readonly incrementIconName: _angular_core.Signal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text">;
320
+ protected readonly decrementIconName: _angular_core.Signal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text">;
321
321
  protected readonly canIncrement: _angular_core.Signal<boolean>;
322
322
  protected readonly canDecrement: _angular_core.Signal<boolean>;
323
323
  /** Locale grouping/decimal separators, derived from Intl so parsing matches formatting. */
@@ -581,9 +581,9 @@ declare class SdsToggleSwitch implements ControlValueAccessor {
581
581
  /** Value emitted/stored when the switch is off. */
582
582
  readonly falseValue: _angular_core.InputSignal<unknown>;
583
583
  /** Icon shown on the knob when checked. */
584
- readonly onIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
584
+ readonly onIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
585
585
  /** Icon shown on the knob when unchecked. */
586
- readonly offIcon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
586
+ readonly offIcon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
587
587
  readonly hint: _angular_core.InputSignal<string>;
588
588
  readonly error: _angular_core.InputSignal<string>;
589
589
  /**
@@ -957,6 +957,94 @@ declare class SdsDatePicker implements ControlValueAccessor, OnDestroy {
957
957
  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; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "timeLabel": { "alias": "timeLabel"; "required": false; "isSignal": true; }; "hoursLabel": { "alias": "hoursLabel"; "required": false; "isSignal": true; }; "minutesLabel": { "alias": "minutesLabel"; "required": false; "isSignal": true; }; "doneLabel": { "alias": "doneLabel"; "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>;
958
958
  }
959
959
 
960
+ /**
961
+ * Context handed to a custom option template. Lets consumers destructure with
962
+ * `let-option`, `let-selected="selected"`, `let-label="label"`, etc., with full
963
+ * type inference (see {@link SdsSelectOption.ngTemplateContextGuard}).
964
+ */
965
+ interface SdsSelectOptionContext {
966
+ /** Same as {@link option} — enables the implicit `let-option` binding. Typed `any` so consumer templates
967
+ * can read their own option fields (e.g. `option.color`) without casting. */
968
+ $implicit: any;
969
+ /** The raw option object (or primitive) from the `options` array. */
970
+ option: any;
971
+ /** The resolved display label (via optionLabel). */
972
+ label: string;
973
+ /** The resolved option value (via optionValue). */
974
+ value: unknown;
975
+ /** Whether this option is currently selected. */
976
+ selected: boolean;
977
+ /** Whether this option is disabled. */
978
+ disabled: boolean;
979
+ /** Zero-based index within the currently displayed (filtered) options. */
980
+ index: number;
981
+ }
982
+ /**
983
+ * Supplies a custom template for each option row (and the selected value shown
984
+ * in the trigger) of an `<sds-select>` / `<sds-multi-select>`. Use as a
985
+ * structural template projected into the select:
986
+ *
987
+ * @example
988
+ * <sds-select [options]="categories" optionLabel="name" optionValue="id" [(ngModel)]="catId">
989
+ * <ng-template sdsSelectOption let-option let-selected="selected">
990
+ * <span class="dot" [style.background]="option.color"></span>
991
+ * <span class="truncate">{{ option.name }}</span>
992
+ * </ng-template>
993
+ * </sds-select>
994
+ */
995
+ declare class SdsSelectOption {
996
+ /** The wrapped template, rendered by the host select via ngTemplateOutlet. */
997
+ readonly template: TemplateRef<SdsSelectOptionContext>;
998
+ /** Lets the compiler type-check `let-*` bindings against SdsSelectOptionContext. */
999
+ static ngTemplateContextGuard(_dir: SdsSelectOption, _ctx: unknown): _ctx is SdsSelectOptionContext;
1000
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsSelectOption, never>;
1001
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SdsSelectOption, "ng-template[sdsSelectOption]", never, {}, {}, never, never, true, never>;
1002
+ }
1003
+ /** Context handed to a custom empty-state template. */
1004
+ interface SdsSelectEmptyContext {
1005
+ /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */
1006
+ $implicit: string;
1007
+ /** The current filter query (empty when the field isn't filterable or is blank). */
1008
+ filterText: string;
1009
+ }
1010
+ /**
1011
+ * Supplies a custom template shown in place of the default "no results" message
1012
+ * when a select has no (matching) options.
1013
+ *
1014
+ * @example
1015
+ * <ng-template sdsSelectEmpty let-q>No category matches "{{ q }}".</ng-template>
1016
+ */
1017
+ declare class SdsSelectEmpty {
1018
+ readonly template: TemplateRef<SdsSelectEmptyContext>;
1019
+ static ngTemplateContextGuard(_dir: SdsSelectEmpty, _ctx: unknown): _ctx is SdsSelectEmptyContext;
1020
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsSelectEmpty, never>;
1021
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SdsSelectEmpty, "ng-template[sdsSelectEmpty]", never, {}, {}, never, never, true, never>;
1022
+ }
1023
+ /** Context handed to a custom footer template. */
1024
+ interface SdsSelectFooterContext {
1025
+ /** Same as {@link filterText} — enables the implicit `let-filterText` binding. */
1026
+ $implicit: string;
1027
+ /** The current filter query. */
1028
+ filterText: string;
1029
+ /** Closes the open panel — handy for a footer action (e.g. "+ New…"). */
1030
+ close: () => void;
1031
+ }
1032
+ /**
1033
+ * Supplies a custom sticky footer rendered below the option list — e.g. a
1034
+ * "+ Create new" action. The `close` context callback dismisses the panel.
1035
+ *
1036
+ * @example
1037
+ * <ng-template sdsSelectFooter let-close="close">
1038
+ * <button (click)="createCategory(); close()">+ New category</button>
1039
+ * </ng-template>
1040
+ */
1041
+ declare class SdsSelectFooter {
1042
+ readonly template: TemplateRef<SdsSelectFooterContext>;
1043
+ static ngTemplateContextGuard(_dir: SdsSelectFooter, _ctx: unknown): _ctx is SdsSelectFooterContext;
1044
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsSelectFooter, never>;
1045
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SdsSelectFooter, "ng-template[sdsSelectFooter]", never, {}, {}, never, never, true, never>;
1046
+ }
1047
+
960
1048
  type SdsSelectSize = 'sm' | 'md' | 'lg';
961
1049
  /** Field skin. `filled` is borderless on a muted ground (to sit inside a page, matching sds-input's
962
1050
  * filled appearance); `on-brand` is tuned for a dark surface. */
@@ -965,6 +1053,8 @@ interface NormOption$1 {
965
1053
  label: string;
966
1054
  value: unknown;
967
1055
  disabled: boolean;
1056
+ /** The original option (object or primitive), passed to a custom option template. */
1057
+ raw: unknown;
968
1058
  }
969
1059
  /**
970
1060
  * Single-select dropdown. Options may be primitives or objects (configure via
@@ -976,9 +1066,25 @@ interface NormOption$1 {
976
1066
  * key; otherwise selection matching falls back to reference equality (a written
977
1067
  * copy of an option will not match).
978
1068
  *
1069
+ * Options render as plain text by default. To render richer options (an icon,
1070
+ * an avatar, a two-line row…) project template directives — the same content
1071
+ * also renders in the trigger for the selected value:
1072
+ * - `<ng-template sdsSelectOption let-option>` — one option row (see {@link SdsSelectOption});
1073
+ * context: the raw `option` (implicit), plus `label`, `value`, `selected`, `disabled`, `index`.
1074
+ * - `<ng-template sdsSelectEmpty let-query>` — replaces the "no results" message (see {@link SdsSelectEmpty}).
1075
+ * - `<ng-template sdsSelectFooter let-close="close">` — a sticky footer action, e.g. "+ New…"
1076
+ * (see {@link SdsSelectFooter}); `close()` dismisses the panel.
1077
+ *
979
1078
  * @example
980
1079
  * <sds-select [options]="services" optionLabel="name" optionValue="id"
981
1080
  * placeholder="Choisir un service" [(ngModel)]="serviceId" filter clearable />
1081
+ *
1082
+ * @example
1083
+ * <sds-select [options]="categories" optionLabel="name" optionValue="id" [(ngModel)]="categoryId">
1084
+ * <ng-template sdsSelectOption let-option>
1085
+ * <span class="dot" [style.background]="option.color"></span> {{ option.name }}
1086
+ * </ng-template>
1087
+ * </sds-select>
982
1088
  */
983
1089
  declare class SdsSelect implements ControlValueAccessor, OnDestroy {
984
1090
  private readonly host;
@@ -1003,6 +1109,12 @@ declare class SdsSelect implements ControlValueAccessor, OnDestroy {
1003
1109
  readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
1004
1110
  readonly filterPlaceholder: _angular_core.InputSignal<string>;
1005
1111
  readonly emptyMessage: _angular_core.InputSignal<string>;
1112
+ /** Optional projected `<ng-template sdsSelectOption>` — custom option + selected-value rendering. */
1113
+ protected readonly optionTpl: _angular_core.Signal<SdsSelectOption | undefined>;
1114
+ /** Optional projected `<ng-template sdsSelectEmpty>` — custom no-results content. */
1115
+ protected readonly emptyTpl: _angular_core.Signal<SdsSelectEmpty | undefined>;
1116
+ /** Optional projected `<ng-template sdsSelectFooter>` — a sticky footer action. */
1117
+ protected readonly footerTpl: _angular_core.Signal<SdsSelectFooter | undefined>;
1006
1118
  protected readonly value: _angular_core.WritableSignal<unknown>;
1007
1119
  protected readonly open: _angular_core.WritableSignal<boolean>;
1008
1120
  protected readonly filterText: _angular_core.WritableSignal<string>;
@@ -1020,6 +1132,16 @@ declare class SdsSelect implements ControlValueAccessor, OnDestroy {
1020
1132
  protected readonly activeDescId: _angular_core.Signal<string | null>;
1021
1133
  protected readonly wrapperClasses: _angular_core.Signal<string>;
1022
1134
  private norm;
1135
+ /** Context for a projected option template (an option row). */
1136
+ protected optionContext(opt: NormOption$1, index: number): SdsSelectOptionContext;
1137
+ /** Context for the option template reused in the trigger to render the selected value. */
1138
+ protected readonly triggerContext: _angular_core.Signal<SdsSelectOptionContext | null>;
1139
+ /** Context for a projected footer template. */
1140
+ protected footerContext(): {
1141
+ $implicit: string;
1142
+ filterText: string;
1143
+ close: () => void;
1144
+ };
1023
1145
  private equals;
1024
1146
  protected isSelected(v: unknown): boolean;
1025
1147
  protected optionId(i: number): string;
@@ -1058,7 +1180,7 @@ declare class SdsSelect implements ControlValueAccessor, OnDestroy {
1058
1180
  registerOnTouched(fn: () => void): void;
1059
1181
  setDisabledState(isDisabled: boolean): void;
1060
1182
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsSelect, never>;
1061
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsSelect, "sds-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1183
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsSelect, "sds-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, {}, ["optionTpl", "emptyTpl", "footerTpl"], never, true, never>;
1062
1184
  }
1063
1185
 
1064
1186
  type SdsMultiSelectSize = 'sm' | 'md' | 'lg';
@@ -1067,6 +1189,8 @@ interface NormOption {
1067
1189
  label: string;
1068
1190
  value: unknown;
1069
1191
  disabled: boolean;
1192
+ /** The original option (object or primitive), passed to a custom option template. */
1193
+ raw: unknown;
1070
1194
  }
1071
1195
  /**
1072
1196
  * Multi-select dropdown (value is an array). Options may be primitives or
@@ -1078,9 +1202,24 @@ interface NormOption {
1078
1202
  * For object options, set [optionValue] or [dataKey] so written values match by
1079
1203
  * key; otherwise matching falls back to reference equality.
1080
1204
  *
1205
+ * Project template directives to customise the panel:
1206
+ * - `<ng-template sdsSelectOption let-option>` — the content of each option row, after its
1207
+ * checkbox (see {@link SdsSelectOption}); context: the raw `option` (implicit), plus `label`,
1208
+ * `value`, `selected`, `disabled`, `index`.
1209
+ * - `<ng-template sdsSelectEmpty let-query>` — replaces the "no results" message (see {@link SdsSelectEmpty}).
1210
+ * - `<ng-template sdsSelectFooter let-close="close">` — a sticky footer action (see {@link SdsSelectFooter});
1211
+ * `close()` dismisses the panel.
1212
+ *
1081
1213
  * @example
1082
1214
  * <sds-multi-select [options]="services" optionLabel="name" optionValue="code"
1083
1215
  * display="chip" filter [(ngModel)]="codes" />
1216
+ *
1217
+ * @example
1218
+ * <sds-multi-select [options]="tags" optionLabel="name" optionValue="id" [(ngModel)]="tagIds">
1219
+ * <ng-template sdsSelectOption let-option>
1220
+ * <span class="dot" [style.background]="option.color"></span> {{ option.name }}
1221
+ * </ng-template>
1222
+ * </sds-multi-select>
1084
1223
  */
1085
1224
  declare class SdsMultiSelect implements ControlValueAccessor, OnDestroy {
1086
1225
  private readonly host;
@@ -1108,6 +1247,12 @@ declare class SdsMultiSelect implements ControlValueAccessor, OnDestroy {
1108
1247
  readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
1109
1248
  readonly filterPlaceholder: _angular_core.InputSignal<string>;
1110
1249
  readonly emptyMessage: _angular_core.InputSignal<string>;
1250
+ /** Optional projected `<ng-template sdsSelectOption>` — custom option-row rendering. */
1251
+ protected readonly optionTpl: _angular_core.Signal<SdsSelectOption | undefined>;
1252
+ /** Optional projected `<ng-template sdsSelectEmpty>` — custom no-results content. */
1253
+ protected readonly emptyTpl: _angular_core.Signal<SdsSelectEmpty | undefined>;
1254
+ /** Optional projected `<ng-template sdsSelectFooter>` — a sticky footer action. */
1255
+ protected readonly footerTpl: _angular_core.Signal<SdsSelectFooter | undefined>;
1111
1256
  protected readonly value: _angular_core.WritableSignal<unknown[]>;
1112
1257
  protected readonly open: _angular_core.WritableSignal<boolean>;
1113
1258
  protected readonly filterText: _angular_core.WritableSignal<string>;
@@ -1130,6 +1275,14 @@ declare class SdsMultiSelect implements ControlValueAccessor, OnDestroy {
1130
1275
  protected readonly activeDescId: _angular_core.Signal<string | null>;
1131
1276
  protected readonly wrapperClasses: _angular_core.Signal<string>;
1132
1277
  private norm;
1278
+ /** Context for a projected option template (an option row). */
1279
+ protected optionContext(opt: NormOption, index: number): SdsSelectOptionContext;
1280
+ /** Context for a projected footer template. */
1281
+ protected footerContext(): {
1282
+ $implicit: string;
1283
+ filterText: string;
1284
+ close: () => void;
1285
+ };
1133
1286
  private equals;
1134
1287
  protected isSelected(v: unknown): boolean;
1135
1288
  protected optionId(i: number): string;
@@ -1171,7 +1324,7 @@ declare class SdsMultiSelect implements ControlValueAccessor, OnDestroy {
1171
1324
  registerOnTouched(fn: () => void): void;
1172
1325
  setDisabledState(isDisabled: boolean): void;
1173
1326
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsMultiSelect, never>;
1174
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsMultiSelect, "sds-multi-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1327
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsMultiSelect, "sds-multi-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "selectedItemsLabel": { "alias": "selectedItemsLabel"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, {}, ["optionTpl", "emptyTpl", "footerTpl"], never, true, never>;
1175
1328
  }
1176
1329
 
1177
1330
  /**
@@ -2153,7 +2306,7 @@ declare class SdsNavGroup {
2153
2306
  /** Turn the label into an expand/collapse control. */
2154
2307
  readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
2155
2308
  /** Icon for a collapsible header, so it reads at the same weight as the items it sits among. */
2156
- readonly icon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
2309
+ readonly icon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
2157
2310
  /**
2158
2311
  * URL prefix owned by this group, e.g. `/payments`. While the active route starts with it the
2159
2312
  * group counts as active and opens itself — unless the person has explicitly toggled it since.
@@ -2205,7 +2358,7 @@ declare class SdsNavGroup {
2205
2358
  */
2206
2359
  declare class SdsNavItem {
2207
2360
  protected readonly store: SidebarStore;
2208
- readonly icon: _angular_core.InputSignal<"chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "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" | "chevron-up" | "plus" | "minus" | "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" | "bug" | "scroll-text" | null>;
2361
+ readonly icon: _angular_core.InputSignal<"filter" | "copy" | "menu" | "search" | "table" | "chart-column" | "clipboard-list" | "credit-card" | "external-link" | "languages" | "megaphone" | "monitor" | "store" | "user-round" | "home" | "user-plus" | "user-check" | "hand" | "users" | "bike" | "building-2" | "package" | "package-plus" | "package-open" | "rotate-ccw" | "bar-chart-3" | "log-out" | "panel-left-close" | "panel-left-open" | "panel-left" | "calendar" | "chevron-right" | "chevron-left" | "chevron-down" | "chevron-up" | "plus" | "minus" | "chevrons-left" | "chevrons-right" | "x" | "check" | "alert-circle" | "info" | "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" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "file-text" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "bug" | "scroll-text" | null>;
2209
2362
  readonly label: _angular_core.InputSignal<string>;
2210
2363
  /** Router link target; when null, the item behaves as a button. */
2211
2364
  readonly link: _angular_core.InputSignal<string | unknown[] | null>;
@@ -2219,5 +2372,5 @@ declare class SdsNavItem {
2219
2372
  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>;
2220
2373
  }
2221
2374
 
2222
- export { SDS_ICONS, SDS_PHONE_COUNTRIES, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAvatar, SdsBadge, SdsButton, SdsCalendar, SdsCard, SdsCheckbox, SdsDatePicker, SdsIcon, SdsInput, SdsInputNumber, SdsLocalizedInput, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsOtpInput, SdsPaginator, SdsPhoneInput, SdsSelect, SdsShell, SdsSidebar, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsToastHost, SdsToastService, SdsToggleSwitch, SdsTopbar, SidebarStore, addDays, addMonths, addMonthsKeepDay, formatDdMmYyyy, formatHhMm, isOutOfRange, isSameDay, isoDay, pad2, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth };
2223
- export type { SdsAccordionActive, SdsAccordionValue, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsCheckboxSize, SdsDatePickerSize, SdsIconName, SdsIconSize, SdsInputAppearance, SdsInputNumberAppearance, SdsInputNumberButtonLayout, SdsInputNumberCurrencyDisplay, SdsInputNumberMode, SdsInputNumberSize, SdsInputShape, SdsInputSize, SdsInputType, SdsLocalizedInputSize, SdsLocalizedValue, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsOtpInputSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsSelectAppearance, SdsSelectSize, SdsSortOrder, SdsTabValue, SdsTableCellContext, SdsTableColumn, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSize, SdsTableSortEvent, SdsTextareaResize, SdsTextareaSize, SdsToast, SdsToastKind, SdsToggleSwitchSize, SdsTopbarAppearance };
2375
+ export { SDS_ICONS, SDS_PHONE_COUNTRIES, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAvatar, SdsBadge, SdsButton, SdsCalendar, SdsCard, SdsCheckbox, SdsDatePicker, SdsIcon, SdsInput, SdsInputNumber, SdsLocalizedInput, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsOtpInput, SdsPaginator, SdsPhoneInput, SdsSelect, SdsSelectEmpty, SdsSelectFooter, SdsSelectOption, SdsShell, SdsSidebar, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsToastHost, SdsToastService, SdsToggleSwitch, SdsTopbar, SidebarStore, addDays, addMonths, addMonthsKeepDay, formatDdMmYyyy, formatHhMm, isOutOfRange, isSameDay, isoDay, pad2, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth };
2376
+ export type { SdsAccordionActive, SdsAccordionValue, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsCheckboxSize, SdsDatePickerSize, SdsIconName, SdsIconSize, SdsInputAppearance, SdsInputNumberAppearance, SdsInputNumberButtonLayout, SdsInputNumberCurrencyDisplay, SdsInputNumberMode, SdsInputNumberSize, SdsInputShape, SdsInputSize, SdsInputType, SdsLocalizedInputSize, SdsLocalizedValue, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsOtpInputSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsSelectAppearance, SdsSelectEmptyContext, SdsSelectFooterContext, SdsSelectOptionContext, SdsSelectSize, SdsSortOrder, SdsTabValue, SdsTableCellContext, SdsTableColumn, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSize, SdsTableSortEvent, SdsTextareaResize, SdsTextareaSize, SdsToast, SdsToastKind, SdsToggleSwitchSize, SdsTopbarAppearance };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@besaitech/ng-design-system",
3
- "version": "0.0.42",
3
+ "version": "0.0.44",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"