@besaitech/ng-design-system 0.0.65 → 0.0.66

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,8 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { OnDestroy, ElementRef, TemplateRef, WritableSignal, OnInit } from '@angular/core';
2
+ import { OnDestroy, ElementRef, TemplateRef, WritableSignal, OnInit, InjectionToken, Provider } 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';
6
+ import * as d3_scale from 'd3-scale';
6
7
 
7
8
  /**
8
9
  * Curated set of line icons (Lucide-style, 24x24 viewBox, stroke-based).
@@ -11,6 +12,16 @@ import * as _besaitech_ng_design_system from '@besaitech/ng-design-system';
11
12
  */
12
13
  declare const SDS_ICONS: {
13
14
  readonly 'chart-column': "<path d=\"M3 3v16a2 2 0 0 0 2 2h16\"/><path d=\"M18 17V9\"/><path d=\"M13 17V5\"/><path d=\"M8 17v-3\"/>";
15
+ readonly 'chart-line': "<path d=\"M3 3v16a2 2 0 0 0 2 2h16\"/><path d=\"m19 9-5 5-4-4-3 3\"/>";
16
+ readonly 'chart-bar': "<path d=\"M3 3v16a2 2 0 0 0 2 2h16\"/><path d=\"M7 16h8\"/><path d=\"M7 11h12\"/><path d=\"M7 6h3\"/>";
17
+ readonly 'chart-area': "<path d=\"M3 3v16a2 2 0 0 0 2 2h16\"/><path d=\"M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z\"/>";
18
+ readonly 'chart-pie': "<path d=\"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z\"/><path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"/>";
19
+ readonly 'chart-scatter': "<circle cx=\"7.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"18.5\" cy=\"5.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"11.5\" cy=\"11.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"7.5\" cy=\"16.5\" r=\".5\" fill=\"currentColor\"/><circle cx=\"17.5\" cy=\"14.5\" r=\".5\" fill=\"currentColor\"/><path d=\"M3 3v16a2 2 0 0 0 2 2h16\"/>";
20
+ readonly 'grid-3x3': "<rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M3 9h18\"/><path d=\"M3 15h18\"/><path d=\"M9 3v18\"/><path d=\"M15 3v18\"/>";
21
+ readonly activity: "<path d=\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\"/>";
22
+ readonly gauge: "<path d=\"m12 14 4-4\"/><path d=\"M3.34 19a10 10 0 1 1 17.32 0\"/>";
23
+ readonly 'trending-up': "<polyline points=\"22 7 13.5 15.5 8.5 10.5 2 17\"/><polyline points=\"16 7 22 7 22 13\"/>";
24
+ readonly 'trending-down': "<polyline points=\"22 17 13.5 8.5 8.5 13.5 2 7\"/><polyline points=\"16 17 22 17 22 11\"/>";
14
25
  readonly 'clipboard-list': "<rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\"/><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"/><path d=\"M12 11h4\"/><path d=\"M12 16h4\"/><path d=\"M8 11h.01\"/><path d=\"M8 16h.01\"/>";
15
26
  readonly 'credit-card': "<rect width=\"20\" height=\"14\" x=\"2\" y=\"5\" rx=\"2\"/><line x1=\"2\" x2=\"22\" y1=\"10\" y2=\"10\"/>";
16
27
  readonly 'external-link': "<path d=\"M15 3h6v6\"/><path d=\"M10 14 21 3\"/><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"/>";
@@ -147,7 +158,7 @@ type SdsIconSize = 'sm' | 'md' | 'lg' | 'xl';
147
158
  declare class SdsIcon {
148
159
  private readonly sanitizer;
149
160
  /** Icon identifier from the registry. */
150
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
161
+ readonly name: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
151
162
  /** Square size: a pixel number, a numeric string, or a keyword (sm·md·lg·xl). */
152
163
  readonly size: _angular_core.InputSignalWithTransform<number, string | number>;
153
164
  /** Stroke width of the line icon. */
@@ -270,8 +281,8 @@ declare class SdsInput implements ControlValueAccessor {
270
281
  * translate it — it is an icon-only control, so this string is its only name.
271
282
  */
272
283
  readonly clearLabel: _angular_core.InputSignal<string>;
273
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
274
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
284
+ readonly leadingIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
285
+ readonly trailingIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
275
286
  /**
276
287
  * A CLICKABLE trailing icon, for the affordances that belong to the field itself — password reveal
277
288
  * above all. Distinct from {@link trailingIcon}, which is decorative and explicitly
@@ -281,7 +292,7 @@ declare class SdsInput implements ControlValueAccessor {
281
292
  * Always pair it with {@link trailingActionLabel} — an icon-only button with no accessible name is
282
293
  * unusable by a screen reader. For a toggle, also bind {@link trailingActionPressed}.
283
294
  */
284
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
295
+ readonly trailingAction: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
285
296
  /** Accessible name for {@link trailingAction}. Translate it in the consuming app. */
286
297
  readonly trailingActionLabel: _angular_core.InputSignal<string>;
287
298
  /** `aria-pressed` for a toggling action (e.g. show/hide password). Null renders no attribute. */
@@ -393,9 +404,9 @@ declare class SdsInputNumber implements ControlValueAccessor {
393
404
  readonly showButtons: _angular_core.InputSignalWithTransform<boolean, unknown>;
394
405
  readonly buttonLayout: _angular_core.InputSignal<SdsInputNumberButtonLayout>;
395
406
  /** Override the increment button icon (defaults: chevron-up when stacked, plus otherwise). */
396
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
407
+ readonly incrementIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
397
408
  /** Override the decrement button icon (defaults: chevron-down when stacked, minus otherwise). */
398
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
409
+ readonly decrementIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
399
410
  /** Allow an empty (null) value. When false, blurring an empty field falls back to {@link min} or 0. */
400
411
  readonly allowEmpty: _angular_core.InputSignalWithTransform<boolean, unknown>;
401
412
  readonly clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -412,8 +423,8 @@ declare class SdsInputNumber implements ControlValueAccessor {
412
423
  protected readonly isDisabled: _angular_core.Signal<boolean>;
413
424
  protected readonly describedBy: _angular_core.Signal<string | null>;
414
425
  protected readonly clearVisible: _angular_core.Signal<boolean>;
415
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
416
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
426
+ protected readonly incrementIconName: _angular_core.Signal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
427
+ protected readonly decrementIconName: _angular_core.Signal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
417
428
  protected readonly canIncrement: _angular_core.Signal<boolean>;
418
429
  protected readonly canDecrement: _angular_core.Signal<boolean>;
419
430
  /** Locale grouping/decimal separators, derived from Intl so parsing matches formatting. */
@@ -841,9 +852,9 @@ declare class SdsToggleSwitch implements ControlValueAccessor {
841
852
  /** Value emitted/stored when the switch is off. */
842
853
  readonly falseValue: _angular_core.InputSignal<unknown>;
843
854
  /** Icon shown on the knob when checked. */
844
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
855
+ readonly onIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
845
856
  /** Icon shown on the knob when unchecked. */
846
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
857
+ readonly offIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
847
858
  readonly hint: _angular_core.InputSignal<string>;
848
859
  readonly error: _angular_core.InputSignal<string>;
849
860
  /**
@@ -1022,7 +1033,7 @@ declare class SdsAvatar {
1022
1033
  * Icon shown instead of initials when there is no usable image (e.g. `utensils` or `image` for a dish).
1023
1034
  * Null (default) keeps the initials.
1024
1035
  */
1025
- readonly fallbackIcon: _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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1036
+ readonly fallbackIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1026
1037
  /** Classes of the placeholder tile behind {@link fallbackIcon}: background and icon colour. */
1027
1038
  readonly placeholderClass: _angular_core.InputSignal<string>;
1028
1039
  /**
@@ -1109,7 +1120,7 @@ declare class SdsAllergenIcon {
1109
1120
  readonly size: _angular_core.InputSignal<string | number>;
1110
1121
  /** Stroke width of the line icon. */
1111
1122
  readonly strokeWidth: _angular_core.InputSignal<number>;
1112
- protected readonly iconName: _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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1123
+ protected readonly iconName: _angular_core.Signal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1113
1124
  constructor();
1114
1125
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsAllergenIcon, never>;
1115
1126
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsAllergenIcon, "sds-allergen-icon", never, { "allergen": { "alias": "allergen"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -1143,7 +1154,7 @@ declare class SdsTriStateChip {
1143
1154
  /** Visible name (e.g. the allergen). Required — the chip has no other accessible name. */
1144
1155
  readonly label: _angular_core.InputSignal<string>;
1145
1156
  /** Optional leading registry icon, e.g. an `allergen-*` pictogram. */
1146
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1157
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1147
1158
  readonly size: _angular_core.InputSignal<SdsTriStateChipSize>;
1148
1159
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
1149
1160
  /** Show the state as a small visible caption under the label. */
@@ -1260,7 +1271,7 @@ declare class SdsChip {
1260
1271
  readonly label: _angular_core.InputSignal<string>;
1261
1272
  /** On/off. Two-way: `[(selected)]`. */
1262
1273
  readonly selected: _angular_core.ModelSignal<boolean>;
1263
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1274
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
1264
1275
  readonly count: _angular_core.InputSignal<number | null | undefined>;
1265
1276
  readonly size: _angular_core.InputSignal<SdsChipSize>;
1266
1277
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -1572,7 +1583,7 @@ declare class SdsMenu implements OnDestroy {
1572
1583
  /** Accessible name of the built-in icon trigger (required when there is no [triggerText]). */
1573
1584
  readonly triggerLabel: _angular_core.InputSignal<string>;
1574
1585
  /** Icon of the built-in trigger. */
1575
- readonly triggerIcon: _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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
1586
+ readonly triggerIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs">;
1576
1587
  /** Optional visible text on the built-in trigger (then it is its name). */
1577
1588
  readonly triggerText: _angular_core.InputSignal<string>;
1578
1589
  /** Accessible name of the menu itself; defaults to the trigger's name. */
@@ -3073,7 +3084,7 @@ declare class SdsAddressAutocomplete implements ControlValueAccessor, OnDestroy
3073
3084
  readonly appearance: _angular_core.InputSignal<SdsAddressAutocompleteAppearance>;
3074
3085
  readonly shape: _angular_core.InputSignal<SdsAddressAutocompleteShape>;
3075
3086
  /** Decorative icon at the start of the field; `null` for none. */
3076
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
3087
+ readonly leadingIcon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
3077
3088
  readonly useLocationText: _angular_core.InputSignal<string>;
3078
3089
  readonly locatingText: _angular_core.InputSignal<string>;
3079
3090
  readonly locateFailedText: _angular_core.InputSignal<string>;
@@ -3455,7 +3466,7 @@ declare class SdsTab implements OnInit, OnDestroy {
3455
3466
  readonly value: _angular_core.InputSignal<SdsTabValue>;
3456
3467
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
3457
3468
  /** An icon from the library registry, drawn before the label. */
3458
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
3469
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
3459
3470
  /** A count badge after the label (`null` / unset: none; `0` is shown). */
3460
3471
  readonly count: _angular_core.InputSignal<string | number | null>;
3461
3472
  protected readonly active: _angular_core.Signal<boolean>;
@@ -4514,7 +4525,7 @@ declare class SdsNavGroup {
4514
4525
  /** Turn the label into an expand/collapse control. */
4515
4526
  readonly collapsible: _angular_core.InputSignalWithTransform<boolean, unknown>;
4516
4527
  /** Icon for a collapsible header, so it reads at the same weight as the items it sits among. */
4517
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4528
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4518
4529
  /**
4519
4530
  * URL prefix owned by this group, e.g. `/payments`. While the active route starts with it the
4520
4531
  * group counts as active and opens itself — unless the person has explicitly toggled it since.
@@ -4579,7 +4590,7 @@ type SdsNavItemBadgeTone = 'brand' | 'danger' | 'neutral';
4579
4590
  */
4580
4591
  declare class SdsNavItem {
4581
4592
  protected readonly store: SidebarStore;
4582
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4593
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4583
4594
  readonly label: _angular_core.InputSignal<string>;
4584
4595
  /** Router link target; when null, the item behaves as a button. */
4585
4596
  readonly link: _angular_core.InputSignal<string | unknown[] | null>;
@@ -4695,7 +4706,7 @@ type SdsMenuItemTone = 'default' | 'danger';
4695
4706
  * <sds-menu-item icon="log-out" label="Sign out" tone="danger" (select)="signOut()" />
4696
4707
  */
4697
4708
  declare class SdsMenuItem {
4698
- 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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4709
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
4699
4710
  readonly label: _angular_core.InputSignal<string>;
4700
4711
  /** Router link target for an in-app route; when null (default) the item is not a Router link. */
4701
4712
  readonly link: _angular_core.InputSignal<string | unknown[] | null>;
@@ -4951,5 +4962,1241 @@ declare class SdsEnvBanner {
4951
4962
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsEnvBanner, "sds-env-banner", never, { "env": { "alias": "env"; "required": false; "isSignal": true; }; "devSrLabel": { "alias": "devSrLabel"; "required": false; "isSignal": true; }; "testSrLabel": { "alias": "testSrLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
4952
4963
  }
4953
4964
 
4954
- export { SDS_ALLERGENS, SDS_ALLERGEN_ICONS, SDS_ALLERGEN_LABELS_EN, SDS_ICONS, SDS_PHONE_COUNTRIES, SDS_THEME_STORAGE_KEY, SDS_UI_PREF_LANG_PARAM, SDS_UI_PREF_THEME_PARAM, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAddressAutocomplete, SdsAddressExtra, SdsAllergenIcon, SdsAvatar, SdsBadge, SdsBulkBar, SdsButton, SdsCalendar, SdsCard, SdsCheckbox, SdsChecklistRow, SdsChip, SdsChipGroup, SdsDatePicker, SdsEnvBanner, SdsFileDrop, SdsIcon, SdsImageCropper, SdsInput, SdsInputNumber, SdsLanguageSwitcher, SdsLocalizedInput, SdsMenu, SdsMenuItem, SdsMenuTrigger, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsOtpInput, SdsPaginator, SdsPhoneInput, SdsRadio, SdsScore, SdsSearchCommand, SdsSegmented, SdsSelect, SdsSelectEmpty, SdsSelectFooter, SdsSelectOption, SdsShell, SdsSidebar, SdsSortableHandle, SdsSortableItem, SdsSortableList, SdsStatusTile, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableEmpty, SdsTableHeader, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsThemeService, SdsThemeToggle, SdsTimeInput, SdsToastHost, SdsToastService, SdsToggleSwitch, SdsTopbar, SdsTriStateChip, SdsUserMenu, SidebarStore, addDays, addMonths, addMonthsKeepDay, appendUiPrefs, formatDdMmYyyy, formatHhMm, isOutOfRange, isSameDay, isSdsThemeMode, isoDay, pad2, readUiPrefs, sdsFileMatchesAccept, sdsFormatBytes, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth, stripUiPrefs };
4955
- export type { SdsAccordionActive, SdsAccordionValue, SdsAddressAutocompleteAppearance, SdsAddressAutocompleteShape, SdsAddressAutocompleteSize, SdsAddressExtraContext, SdsAddressExtraPosition, SdsAddressLocateFn, SdsAddressSearchFn, SdsAddressSuggestion, SdsAllergen, SdsAvatarShape, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsBulkBarPosition, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsCheckboxSize, SdsChecklistStatus, SdsChipOption, SdsChipSize, SdsCropRect, SdsDatePickerSize, SdsEnvBannerEnv, SdsFileDropAppearance, SdsFileRejection, SdsFileRejectionReason, SdsIconName, SdsIconSize, SdsImageCropperBlobOptions, SdsImageCropperShape, SdsInputAppearance, SdsInputNumberAppearance, SdsInputNumberButtonLayout, SdsInputNumberCurrencyDisplay, SdsInputNumberMode, SdsInputNumberSize, SdsInputShape, SdsInputSize, SdsInputType, SdsLanguageOption, SdsLanguageSwitcherAlign, SdsLanguageSwitcherAppearance, SdsLanguageSwitcherDirection, SdsLocalizedInputSize, SdsLocalizedValue, SdsMenuAction, SdsMenuAlign, SdsMenuEntry, SdsMenuItemTone, SdsMenuSeparator, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsNavItemBadgeTone, SdsOtpInputSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsRadioSize, SdsScoreSize, SdsScoreTier, SdsScoreVariant, SdsSearchAppearance, SdsSearchItem, SdsSegmentedOption, SdsSegmentedSize, SdsSelectAppearance, SdsSelectEmptyContext, SdsSelectFooterContext, SdsSelectOptionContext, SdsSelectSize, SdsShellBackground, SdsSidebarAppearance, SdsSortOrder, SdsSortableAppearance, SdsSortableItemContext, SdsSortableReorderEvent, SdsStatusTileState, SdsTabValue, SdsTableCellCommitEvent, SdsTableCellContext, SdsTableCellErrors, SdsTableColumn, SdsTableEditTrigger, SdsTableEditor, SdsTableEmptyContext, SdsTableHeaderContext, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSelectOption, SdsTableSize, SdsTableSortEvent, SdsTabsVariant, SdsTextareaAppearance, SdsTextareaResize, SdsTextareaSize, SdsTheme, SdsThemeMode, SdsThemeToggleAppearance, SdsTimeInputAppearance, SdsTimeInputSize, SdsToast, SdsToastKind, SdsToggleSwitchSize, SdsTopbarAppearance, SdsTriState, SdsTriStateChipSize, SdsUiPrefs, SdsUserMenuAlign, SdsUserMenuAppearance };
4965
+ /** A value the x / category axis can carry. ISO date strings (`2026-03-01`) are read as dates. */
4966
+ type SdsXValue = string | number | Date;
4967
+ /**
4968
+ * How a chart reads a field from a row: either the property name, or a function. The function form
4969
+ * covers derived values (`row => row.cost / row.units`) and nested data (`row => row.stats.total`).
4970
+ */
4971
+ type SdsAccessor<T, R> = (keyof T & string) | ((row: T, index: number) => R);
4972
+ /** A number format: `Intl.NumberFormatOptions` (locale-aware, the default) or your own function. */
4973
+ type SdsNumberFormat = Intl.NumberFormatOptions | ((value: number) => string);
4974
+ /**
4975
+ * An x-axis format. Options objects are interpreted from the axis kind: `Intl.DateTimeFormatOptions`
4976
+ * on a time axis, `Intl.NumberFormatOptions` on a numeric one. Category axes print the value as-is
4977
+ * unless a function is given.
4978
+ */
4979
+ type SdsXFormat = Intl.DateTimeFormatOptions | Intl.NumberFormatOptions | ((value: SdsXValue) => string);
4980
+ /** What the x axis is. `auto` infers it from the data: Date / ISO string → time, number → linear. */
4981
+ type SdsChartXType = 'auto' | 'time' | 'linear' | 'category';
4982
+ /** Value-axis scale. `log` needs strictly positive values (non-positive points are dropped). */
4983
+ type SdsChartScale = 'linear' | 'log';
4984
+ /**
4985
+ * Where the legend sits. `auto` picks the chart's natural place (top for two or more series, none for
4986
+ * one; right for a donut). `right` falls back to below on narrow containers.
4987
+ */
4988
+ type SdsChartLegend = 'auto' | 'top' | 'bottom' | 'right' | 'none';
4989
+ /** Which gridlines to draw. They are always solid hairlines, never dashed. */
4990
+ type SdsChartGrid = 'y' | 'x' | 'both' | 'none';
4991
+ /** Stacking: `stacked` piles the series, `percent` normalises every stack to 100 %. */
4992
+ type SdsChartStack = 'none' | 'stacked' | 'percent';
4993
+ /** Semantic tone for annotations and single-colour charts. */
4994
+ type SdsChartTone = 'neutral' | 'brand' | 'success' | 'warning' | 'danger';
4995
+ /** One plotted measure. `key` is both the row property it reads and the series' identity. */
4996
+ interface SdsChartSeries<T = any> {
4997
+ /** Row property holding the value — and the stable id used for colour, legend and toggling. */
4998
+ key: string;
4999
+ /** Human label (legend, tooltip, table header). Defaults to `key`. */
5000
+ label?: string;
5001
+ /** Read the value with a function instead of `row[key]` (derived or nested values). */
5002
+ value?: (row: T, index: number) => number | null | undefined;
5003
+ /** Any CSS colour, including `var(--token)`. Defaults to the categorical slot of its index. */
5004
+ color?: string;
5005
+ /** Per-series value format (tooltip, labels, table). Falls back to the chart's `valueFormat`. */
5006
+ format?: SdsNumberFormat;
5007
+ /** Line charts: draw dashed — a forecast, a target or a projection. */
5008
+ dashed?: boolean;
5009
+ /** Bar charts: draw this series as a line over the bars (a combo chart, on the SAME axis). */
5010
+ type?: 'bar' | 'line';
5011
+ }
5012
+ /** A horizontal/vertical reference line — a target, a threshold, a mean. */
5013
+ interface SdsChartReferenceLine {
5014
+ type: 'line';
5015
+ /** `y` (default) draws across the plot at a value; `x` draws down it at an x position. */
5016
+ axis?: 'x' | 'y';
5017
+ value: SdsXValue;
5018
+ label?: string;
5019
+ tone?: SdsChartTone;
5020
+ }
5021
+ /** A shaded range — a normal range, a target zone, a holiday period. */
5022
+ interface SdsChartReferenceBand {
5023
+ type: 'band';
5024
+ axis?: 'x' | 'y';
5025
+ from: SdsXValue;
5026
+ to: SdsXValue;
5027
+ label?: string;
5028
+ tone?: SdsChartTone;
5029
+ }
5030
+ type SdsChartAnnotation = SdsChartReferenceLine | SdsChartReferenceBand;
5031
+ /** One line of the tooltip. `value` is already formatted; `raw` is the number behind it. */
5032
+ interface SdsChartTooltipRow {
5033
+ key: string;
5034
+ label: string;
5035
+ value: string;
5036
+ raw: number | null;
5037
+ color: string;
5038
+ /** Shape of the key glyph: a short line for lines, a square for bars/areas/slices, a dot for points. */
5039
+ shape: 'line' | 'rect' | 'dot';
5040
+ }
5041
+ /** Context handed to a custom `<ng-template sdsChartTooltip let-tip>` template. */
5042
+ interface SdsChartTooltipContext<T = any> {
5043
+ /** Formatted heading (the x value, the category, the slice…). */
5044
+ title: string;
5045
+ rows: SdsChartTooltipRow[];
5046
+ /** Optional footer line (a total, a share…). */
5047
+ footer?: string;
5048
+ /** The source row(s) behind the hovered position. */
5049
+ data: T[];
5050
+ index: number;
5051
+ }
5052
+ /** Emitted when a mark is clicked (or activated with Enter on the keyboard). */
5053
+ interface SdsChartPointEvent<T = any> {
5054
+ /** Series key — or the slice / cell / node id on charts without series. */
5055
+ key: string;
5056
+ /** The source row (null when the mark aggregates several rows, e.g. the "Other" slice). */
5057
+ row: T | null;
5058
+ index: number;
5059
+ value: number | null;
5060
+ x?: SdsXValue;
5061
+ /** The row dimension (heatmap). */
5062
+ y?: SdsXValue;
5063
+ }
5064
+ /** App-wide defaults for every chart. Provide once with `provideSdsCharts()`. */
5065
+ interface SdsChartConfig {
5066
+ /** BCP-47 locale for numbers and dates. A function may read a signal (it is tracked). */
5067
+ locale?: string | (() => string);
5068
+ /** Turn entrance / update animation off everywhere. Reduced-motion users never get it anyway. */
5069
+ animate?: boolean;
5070
+ /** Replace the 8 categorical slots (CSS colours, `var(--x)` allowed). Validate any new order! */
5071
+ palette?: readonly string[];
5072
+ }
5073
+ declare const SDS_CHART_CONFIG: InjectionToken<SdsChartConfig>;
5074
+ /**
5075
+ * App-wide chart defaults.
5076
+ *
5077
+ * @example
5078
+ * providers: [provideSdsCharts({ locale: () => translate.currentLang() })]
5079
+ */
5080
+ declare function provideSdsCharts(config: SdsChartConfig): Provider;
5081
+
5082
+ /**
5083
+ * Replace a chart's default tooltip body with your own markup. The template receives the hovered
5084
+ * position as `$implicit` ({ title, rows, footer, data, index }) — `data` holds the source rows, so the
5085
+ * tooltip can show fields the chart does not plot (a comment, a status, a unit).
5086
+ *
5087
+ * Works on line, bar, scatter, donut, heatmap and treemap charts (not the sparkline). The chart still
5088
+ * positions, flips and clamps the box; you style the body. The box is visual and pointer-transparent:
5089
+ * never put links or buttons in it, and keep anything essential in the plotted data too — keyboard and
5090
+ * screen-reader users get the default rows through the live region and the table twin.
5091
+ *
5092
+ * @example
5093
+ * <sds-line-chart [data]="rows" x="day" [series]="series">
5094
+ * <ng-template sdsChartTooltip let-tip>
5095
+ * <p class="font-semibold">{{ tip.title }}</p>
5096
+ * <p>{{ tip.data[0].comment }}</p>
5097
+ * </ng-template>
5098
+ * </sds-line-chart>
5099
+ */
5100
+ declare class SdsChartTooltip {
5101
+ readonly template: TemplateRef<{
5102
+ $implicit: SdsChartTooltipContext;
5103
+ }>;
5104
+ static ngTemplateContextGuard(_dir: SdsChartTooltip, ctx: unknown): ctx is {
5105
+ $implicit: SdsChartTooltipContext;
5106
+ };
5107
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsChartTooltip, never>;
5108
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SdsChartTooltip, "ng-template[sdsChartTooltip]", never, {}, {}, never, never, true, never>;
5109
+ }
5110
+
5111
+ interface PlotRect {
5112
+ left: number;
5113
+ top: number;
5114
+ width: number;
5115
+ height: number;
5116
+ }
5117
+ interface AxisTick {
5118
+ pos: number;
5119
+ label: string;
5120
+ }
5121
+ interface ResolvedAnnotation {
5122
+ kind: 'line' | 'band';
5123
+ x1: number;
5124
+ y1: number;
5125
+ x2: number;
5126
+ y2: number;
5127
+ label: string;
5128
+ color: string;
5129
+ labelX: number;
5130
+ labelY: number;
5131
+ anchor: 'start' | 'middle' | 'end';
5132
+ }
5133
+
5134
+ interface LegendItem {
5135
+ key: string;
5136
+ label: string;
5137
+ color: string;
5138
+ shape: 'line' | 'rect' | 'dot';
5139
+ /** Optional trailing text — a value or a share (the donut's direct labels). */
5140
+ detail?: string;
5141
+ dashed?: boolean;
5142
+ }
5143
+ interface ChartTable {
5144
+ columns: string[];
5145
+ rows: string[][];
5146
+ }
5147
+
5148
+ /** Line interpolation. `monotone` (default) is smooth but never overshoots the data. */
5149
+ type SdsLineCurve = 'linear' | 'monotone' | 'step' | 'natural';
5150
+ /** Point markers: `auto` = every point on sparse plain lines (≤ 16), only the last on dense lines and plain areas, none on stacks. */
5151
+ type SdsLineMarkers = 'auto' | 'all' | 'last' | 'none';
5152
+ interface Point<T> {
5153
+ row: T;
5154
+ index: number;
5155
+ x: SdsXValue;
5156
+ key: string;
5157
+ }
5158
+ /** [x, y, y0] in pixels; undefined where the value is missing (the line breaks there). */
5159
+ type P3 = readonly number[];
5160
+ /**
5161
+ * Line and area chart for anything over an ordered axis — time series, numeric x, or categories.
5162
+ * Multi-series, stacked or 100 % areas, smooth / step curves, log scale, reference lines and bands,
5163
+ * dashed forecast series, a crosshair tooltip listing every series, legend toggling, keyboard
5164
+ * navigation and a data-table twin. Rows are read with accessors, so API data plots as-is.
5165
+ *
5166
+ * @example
5167
+ * <sds-line-chart
5168
+ * heading="Admissions"
5169
+ * [data]="rows"
5170
+ * x="date"
5171
+ * [series]="[{ key: 'urgences', label: 'Urgences' }, { key: 'programmees', label: 'Programmées' }]"
5172
+ * />
5173
+ */
5174
+ declare class SdsLineChart<T = any> {
5175
+ /** The rows to plot — any shape; fields are read through `x` and each series' `key` / `value`. */
5176
+ readonly data: _angular_core.InputSignal<readonly T[] | null | undefined>;
5177
+ /** The x field: a property name or `(row, i) => value`. Dates, ISO strings, numbers or labels. */
5178
+ readonly x: _angular_core.InputSignal<SdsAccessor<T, SdsXValue>>;
5179
+ /** The measures to draw. A series keeps its colour slot (its index here) even when hidden. */
5180
+ readonly series: _angular_core.InputSignal<readonly SdsChartSeries<T>[]>;
5181
+ /** Force the x-axis kind instead of inferring it from the data. */
5182
+ readonly xType: _angular_core.InputSignal<SdsChartXType>;
5183
+ readonly heading: _angular_core.InputSignal<string>;
5184
+ readonly subtitle: _angular_core.InputSignal<string>;
5185
+ /** Plot height in px, axis labels included (the chart never scrolls inside itself). */
5186
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
5187
+ readonly curve: _angular_core.InputSignal<SdsLineCurve>;
5188
+ /** Fill under each line with a soft wash of its colour. */
5189
+ readonly area: _angular_core.InputSignalWithTransform<boolean, unknown>;
5190
+ /** Stack the series as areas (`stacked`) or as shares of 100 % (`percent`). */
5191
+ readonly stack: _angular_core.InputSignal<SdsChartStack>;
5192
+ readonly markers: _angular_core.InputSignal<SdsLineMarkers>;
5193
+ /** Label each line at its last point; converging labels spread apart with leader lines (dropped if they cannot fit). */
5194
+ readonly endLabels: _angular_core.InputSignalWithTransform<boolean, unknown>;
5195
+ readonly grid: _angular_core.InputSignal<SdsChartGrid>;
5196
+ readonly legend: _angular_core.InputSignal<SdsChartLegend>;
5197
+ /** Emphasise one series: the others fade back. */
5198
+ readonly highlight: _angular_core.InputSignal<string | null>;
5199
+ readonly annotations: _angular_core.InputSignal<readonly SdsChartAnnotation[]>;
5200
+ readonly yScale: _angular_core.InputSignal<SdsChartScale>;
5201
+ readonly yMin: _angular_core.InputSignal<number | null>;
5202
+ readonly yMax: _angular_core.InputSignal<number | null>;
5203
+ /** Start the value axis at zero. Defaults to true for areas/stacks, false for plain lines. */
5204
+ readonly includeZero: _angular_core.InputSignal<boolean | null>;
5205
+ /** Format of values in the tooltip, labels and table. Axis ticks derive a compact version. */
5206
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5207
+ /** Override the value-axis tick format. */
5208
+ readonly axisFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5209
+ /** Format of x values (ticks + tooltip heading). Time axes pick a sensible multi-scale default. */
5210
+ readonly xFormat: _angular_core.InputSignal<SdsXFormat | null>;
5211
+ readonly xLabel: _angular_core.InputSignal<string>;
5212
+ readonly yLabel: _angular_core.InputSignal<string>;
5213
+ /** BCP-47 locale for numbers and dates. Defaults to provideSdsCharts() / LOCALE_ID. */
5214
+ readonly locale: _angular_core.InputSignal<string | null>;
5215
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5216
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5217
+ /** Hold the current render at reduced opacity while new data loads (no skeleton flash). */
5218
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5219
+ readonly emptyText: _angular_core.InputSignal<string>;
5220
+ /** Show a button that swaps the plot for its data table. */
5221
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5222
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5223
+ /** Keys of the series currently hidden (legend toggles write it back — two-way bindable). */
5224
+ readonly hidden: _angular_core.ModelSignal<readonly string[]>;
5225
+ /** A point was clicked (the series nearest the pointer) or activated with Enter. */
5226
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<T>>;
5227
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5228
+ protected readonly uid: string;
5229
+ protected readonly legendFocus: _angular_core.WritableSignal<string | null>;
5230
+ protected readonly active: _angular_core.WritableSignal<number | null>;
5231
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5232
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5233
+ protected onBlur(): void;
5234
+ private readonly pointerY;
5235
+ private readonly width;
5236
+ private readonly loc;
5237
+ private readonly animates;
5238
+ private readonly palette;
5239
+ protected readonly stacked: _angular_core.Signal<boolean>;
5240
+ private readonly model;
5241
+ private readonly allSeries;
5242
+ private readonly visible;
5243
+ /** Raw values per series, aligned with the sorted points (null = missing → a gap). */
5244
+ private readonly values;
5245
+ /** [y0, y1] per series and point — stacked offsets, or a baseline of 0 for plain lines. */
5246
+ private readonly bands;
5247
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5248
+ /** Axis formatter at a given precision (uniqueLabels raises it until ticks stop repeating). */
5249
+ private readonly axisMaker;
5250
+ private readonly fmtX;
5251
+ protected readonly layout: _angular_core.Signal<{
5252
+ width: number;
5253
+ height: number;
5254
+ plot: PlotRect;
5255
+ y: d3_scale.ScaleLinear<number, number, never>;
5256
+ xPos: (p: Point<T>) => number;
5257
+ mapX: (v: SdsXValue) => number | null;
5258
+ xTicks: AxisTick[];
5259
+ yTicks: AxisTick[];
5260
+ baseline: number;
5261
+ baseY: number;
5262
+ } | null>;
5263
+ private timeTicks;
5264
+ private readonly target;
5265
+ /** Boolean, so a resize (width A → B) never counts as a data change: resizes snap, data animates. */
5266
+ private readonly ready;
5267
+ private readonly version;
5268
+ private readonly geometry;
5269
+ protected readonly drawn: _angular_core.Signal<{
5270
+ key: string;
5271
+ color: string;
5272
+ dashed: boolean;
5273
+ dim: boolean;
5274
+ line: string;
5275
+ area: string | null;
5276
+ markers: P3[];
5277
+ }[]>;
5278
+ protected readonly annotationsPx: _angular_core.Signal<ResolvedAnnotation[]>;
5279
+ /**
5280
+ * End labels. Where lines converge the labels are spread apart (never stacked on each other) and a
5281
+ * hairline leader ties each displaced label back to its line end. If they cannot all fit in the plot
5282
+ * height the set is dropped — the legend then carries identity.
5283
+ */
5284
+ protected readonly endLabelsPx: _angular_core.Signal<{
5285
+ tx: number;
5286
+ leader: boolean;
5287
+ key: string;
5288
+ label: string;
5289
+ x: number;
5290
+ anchorY: number;
5291
+ y: number;
5292
+ dim: boolean;
5293
+ }[]>;
5294
+ protected readonly activePx: _angular_core.Signal<{
5295
+ x: number;
5296
+ dots: {
5297
+ key: string;
5298
+ y: number;
5299
+ color: string;
5300
+ }[];
5301
+ } | null>;
5302
+ protected readonly tooltipY: _angular_core.Signal<number>;
5303
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<T> | null>;
5304
+ protected readonly liveText: _angular_core.Signal<string>;
5305
+ protected onPointer(event: PointerEvent): void;
5306
+ private nearestIndex;
5307
+ protected onClick(): void;
5308
+ protected onKey(event: KeyboardEvent): void;
5309
+ protected toggleSeries(key: string): void;
5310
+ protected readonly legendPosition: _angular_core.Signal<"none" | "bottom" | "top" | "right">;
5311
+ protected readonly legendItems: _angular_core.Signal<LegendItem[]>;
5312
+ protected readonly label: _angular_core.Signal<string>;
5313
+ protected readonly table: _angular_core.Signal<ChartTable>;
5314
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsLineChart<any>, never>;
5315
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsLineChart<any>, "sds-line-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": true; "isSignal": true; }; "series": { "alias": "series"; "required": true; "isSignal": true; }; "xType": { "alias": "xType"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "area": { "alias": "area"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "markers": { "alias": "markers"; "required": false; "isSignal": true; }; "endLabels": { "alias": "endLabels"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "highlight": { "alias": "highlight"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "yScale": { "alias": "yScale"; "required": false; "isSignal": true; }; "yMin": { "alias": "yMin"; "required": false; "isSignal": true; }; "yMax": { "alias": "yMax"; "required": false; "isSignal": true; }; "includeZero": { "alias": "includeZero"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "xLabel": { "alias": "xLabel"; "required": false; "isSignal": true; }; "yLabel": { "alias": "yLabel"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, { "hidden": "hiddenChange"; "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
5316
+ }
5317
+
5318
+ /** `vertical` = columns rising from the category axis; `horizontal` = bars (best for long labels / rankings). */
5319
+ type SdsBarOrientation = 'vertical' | 'horizontal';
5320
+ /** Order the categories by their total. `none` keeps the data order. */
5321
+ type SdsBarSort = 'none' | 'asc' | 'desc';
5322
+ /**
5323
+ * Bar and column chart for comparing categories: grouped, stacked or 100 % stacked, vertical or
5324
+ * horizontal, with negative values, value labels that are only drawn where they fit, sorting,
5325
+ * per-bar colours, a combo `type: 'line'` series on the same axis, reference lines (targets) and a
5326
+ * per-category tooltip listing every series. Bars are capped in thickness, rounded on their data end
5327
+ * only, and separated by a 2 px surface gap — never outlined.
5328
+ *
5329
+ * @example
5330
+ * <sds-bar-chart
5331
+ * heading="Séjours par service"
5332
+ * [data]="rows"
5333
+ * x="mois"
5334
+ * [series]="[{ key: 'cardio', label: 'Cardiologie' }, { key: 'neuro', label: 'Neurologie' }]"
5335
+ * stack="stacked"
5336
+ * />
5337
+ */
5338
+ declare class SdsBarChart<T = any> {
5339
+ readonly data: _angular_core.InputSignal<readonly T[] | null | undefined>;
5340
+ /** The category field: a property name or `(row, i) => value`. */
5341
+ readonly x: _angular_core.InputSignal<SdsAccessor<T, SdsXValue>>;
5342
+ /** The measures. A `type: 'line'` series is drawn as a line over the bars (vertical only). */
5343
+ readonly series: _angular_core.InputSignal<readonly SdsChartSeries<T>[]>;
5344
+ readonly heading: _angular_core.InputSignal<string>;
5345
+ readonly subtitle: _angular_core.InputSignal<string>;
5346
+ readonly orientation: _angular_core.InputSignal<SdsBarOrientation>;
5347
+ readonly stack: _angular_core.InputSignal<SdsChartStack>;
5348
+ /** Height in px, axes included. Defaults to 300 (vertical) or one row per category (horizontal). */
5349
+ readonly height: _angular_core.InputSignalWithTransform<number | null, unknown>;
5350
+ /** Maximum bar thickness in px — bars never fill their slot; the leftover is air. */
5351
+ readonly maxBarSize: _angular_core.InputSignalWithTransform<number, unknown>;
5352
+ /** Corner radius of the bar's data end (its baseline end stays square). */
5353
+ readonly radius: _angular_core.InputSignalWithTransform<number, unknown>;
5354
+ /** Print each bar's value at its tip (each stack's total when stacked) — only where it fits. */
5355
+ readonly showValues: _angular_core.InputSignalWithTransform<boolean, unknown>;
5356
+ readonly sort: _angular_core.InputSignal<SdsBarSort>;
5357
+ /** Emphasise some categories (their x values): the other bars fade back. (Series emphasis: hover the legend.) */
5358
+ readonly highlightCategories: _angular_core.InputSignal<SdsXValue | readonly SdsXValue[] | null>;
5359
+ /** Colour one bar from its data — e.g. negatives in red, or a status. Return null to keep the series colour. */
5360
+ readonly barColor: _angular_core.InputSignal<((row: T, seriesKey: string, value: number) => string | null | undefined) | null>;
5361
+ readonly grid: _angular_core.InputSignal<SdsChartGrid | null>;
5362
+ readonly legend: _angular_core.InputSignal<SdsChartLegend>;
5363
+ /** Reference lines / bands. `axis: 'y'` (default) is the VALUE axis in both orientations. */
5364
+ readonly annotations: _angular_core.InputSignal<readonly SdsChartAnnotation[]>;
5365
+ readonly yMin: _angular_core.InputSignal<number | null>;
5366
+ readonly yMax: _angular_core.InputSignal<number | null>;
5367
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5368
+ readonly axisFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5369
+ /** Format of the category labels (dates are formatted at their granularity by default). */
5370
+ readonly xFormat: _angular_core.InputSignal<SdsXFormat | null>;
5371
+ readonly xLabel: _angular_core.InputSignal<string>;
5372
+ readonly yLabel: _angular_core.InputSignal<string>;
5373
+ readonly locale: _angular_core.InputSignal<string | null>;
5374
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5375
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5376
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5377
+ readonly emptyText: _angular_core.InputSignal<string>;
5378
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5379
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5380
+ readonly hidden: _angular_core.ModelSignal<readonly string[]>;
5381
+ /** A bar (or a category, from the keyboard) was clicked. */
5382
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<T>>;
5383
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5384
+ protected readonly legendFocus: _angular_core.WritableSignal<string | null>;
5385
+ protected readonly active: _angular_core.WritableSignal<number | null>;
5386
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5387
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5388
+ protected onBlur(): void;
5389
+ private readonly pointer;
5390
+ private readonly width;
5391
+ private readonly loc;
5392
+ private readonly animates;
5393
+ private readonly palette;
5394
+ private readonly horizontal;
5395
+ private readonly stacked;
5396
+ private readonly allSeries;
5397
+ private readonly visible;
5398
+ private readonly barSeries;
5399
+ private readonly lineSeries;
5400
+ private readonly raw;
5401
+ private readonly rawValues;
5402
+ /** Categories in display order (sorted by total of the visible bar series when asked). */
5403
+ private readonly order;
5404
+ /** [v0, v1] per bar series per category (value space). */
5405
+ private readonly extents;
5406
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5407
+ private readonly axisMaker;
5408
+ private readonly fmtCat;
5409
+ /** Bars-per-group (1 when stacked) — drives row height for auto-sized horizontal charts. */
5410
+ private readonly groupCount;
5411
+ protected readonly resolvedHeight: _angular_core.Signal<number>;
5412
+ protected readonly layout: _angular_core.Signal<{
5413
+ readonly width: number;
5414
+ readonly height: number;
5415
+ readonly horizontal: boolean;
5416
+ readonly plot: PlotRect;
5417
+ readonly value: d3_scale.ScaleLinear<number, number, never>;
5418
+ readonly band: d3_scale.ScaleBand<number>;
5419
+ readonly bw: number;
5420
+ readonly barSize: number;
5421
+ readonly groupSize: number;
5422
+ readonly base: number;
5423
+ readonly grid: SdsChartGrid;
5424
+ readonly xTicks: AxisTick[];
5425
+ readonly yTicks: AxisTick[];
5426
+ } | null>;
5427
+ /** Formatted values that may be printed as labels (for margin sizing). */
5428
+ private readonly labelTexts;
5429
+ /** Target pixel geometry per bar / line point, plus the non-animated facts about each bar. */
5430
+ private readonly targetModel;
5431
+ private readonly target;
5432
+ private readonly meta;
5433
+ /** Boolean, so a resize (width A → B) never counts as a data change: resizes snap, data animates. */
5434
+ private readonly ready;
5435
+ private readonly version;
5436
+ private readonly geometry;
5437
+ private readonly highlightSet;
5438
+ protected readonly bars: _angular_core.Signal<{
5439
+ id: string;
5440
+ d: string;
5441
+ color: string;
5442
+ dim: boolean;
5443
+ }[]>;
5444
+ protected readonly lines: _angular_core.Signal<{
5445
+ key: string;
5446
+ color: string;
5447
+ dashed: boolean;
5448
+ dim: boolean;
5449
+ d: string;
5450
+ points: (readonly number[])[];
5451
+ }[]>;
5452
+ /** Value labels at the bar tips — dropped wherever they would not fit or would collide. */
5453
+ protected readonly valueLabels: _angular_core.Signal<{
5454
+ id: string;
5455
+ x: number;
5456
+ y: number;
5457
+ text: string;
5458
+ anchor: "start" | "middle" | "end";
5459
+ }[]>;
5460
+ protected readonly annotationsPx: _angular_core.Signal<ResolvedAnnotation[]>;
5461
+ /** One hit target per category — the whole band step, bigger than any bar in it. */
5462
+ protected readonly hits: _angular_core.Signal<{
5463
+ index: number;
5464
+ x: number;
5465
+ y: number;
5466
+ w: number;
5467
+ h: number;
5468
+ }[]>;
5469
+ protected readonly hoverBand: _angular_core.Signal<{
5470
+ x: number;
5471
+ y: number;
5472
+ w: number;
5473
+ h: number;
5474
+ } | null>;
5475
+ protected readonly tooltipAt: _angular_core.Signal<{
5476
+ x: number;
5477
+ y: number;
5478
+ }>;
5479
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<T> | null>;
5480
+ protected readonly liveText: _angular_core.Signal<string>;
5481
+ private local;
5482
+ protected enter(index: number, event: PointerEvent): void;
5483
+ protected move(event: PointerEvent): void;
5484
+ protected onClick(index: number, event?: MouseEvent): void;
5485
+ protected onKey(event: KeyboardEvent): void;
5486
+ protected toggleSeries(key: string): void;
5487
+ protected readonly legendPosition: _angular_core.Signal<"none" | "bottom" | "top" | "right">;
5488
+ protected readonly legendItems: _angular_core.Signal<LegendItem[]>;
5489
+ protected readonly label: _angular_core.Signal<string>;
5490
+ protected readonly table: _angular_core.Signal<ChartTable>;
5491
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsBarChart<any>, never>;
5492
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsBarChart<any>, "sds-bar-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": true; "isSignal": true; }; "series": { "alias": "series"; "required": true; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxBarSize": { "alias": "maxBarSize"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "highlightCategories": { "alias": "highlightCategories"; "required": false; "isSignal": true; }; "barColor": { "alias": "barColor"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "yMin": { "alias": "yMin"; "required": false; "isSignal": true; }; "yMax": { "alias": "yMax"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "xLabel": { "alias": "xLabel"; "required": false; "isSignal": true; }; "yLabel": { "alias": "yLabel"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, { "hidden": "hiddenChange"; "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
5493
+ }
5494
+
5495
+ interface Dot<T> {
5496
+ row: T;
5497
+ index: number;
5498
+ id: string;
5499
+ x: number;
5500
+ xDate: boolean;
5501
+ y: number;
5502
+ size: number | null;
5503
+ group: string;
5504
+ label: string;
5505
+ }
5506
+ /**
5507
+ * Scatter and bubble chart for relationships between two measures — with an optional third measure
5508
+ * as bubble area and a categorical group as colour. Linear / log / time axes, per-group least-squares
5509
+ * trend lines, reference lines and bands on either axis, nearest-point hover (a Delaunay search, so
5510
+ * the pointer only has to be closest — never dead-centre on an 8 px dot), keyboard stepping and a
5511
+ * data-table twin. Keep groups to three or fewer: past that, colours stop separating in a cloud.
5512
+ *
5513
+ * @example
5514
+ * <sds-scatter-chart
5515
+ * [data]="patients"
5516
+ * x="age"
5517
+ * y="duree"
5518
+ * group="service"
5519
+ * size="cout"
5520
+ * xLabel="Âge"
5521
+ * yLabel="Durée de séjour (j)"
5522
+ * trendline
5523
+ * />
5524
+ */
5525
+ declare class SdsScatterChart<T = any> {
5526
+ readonly data: _angular_core.InputSignal<readonly T[] | null | undefined>;
5527
+ /** Horizontal measure: numbers, Dates or ISO strings. */
5528
+ readonly x: _angular_core.InputSignal<SdsAccessor<T, SdsXValue>>;
5529
+ /** Vertical measure. */
5530
+ readonly y: _angular_core.InputSignal<SdsAccessor<T, number | null | undefined>>;
5531
+ /** Optional third measure, encoded as bubble AREA (not radius — area reads true). */
5532
+ readonly size: _angular_core.InputSignal<SdsAccessor<T, number | null | undefined> | null>;
5533
+ /** Optional categorical field coloured by slot. Three groups or fewer read best. */
5534
+ readonly group: _angular_core.InputSignal<SdsAccessor<T, string | null | undefined> | null>;
5535
+ /** Optional point name for the tooltip heading and the table (also the point's animation identity). */
5536
+ readonly pointLabel: _angular_core.InputSignal<SdsAccessor<T, string | null | undefined> | null>;
5537
+ /** Fix the group order (and so their colours) instead of first-appearance order. */
5538
+ readonly groupOrder: _angular_core.InputSignal<readonly string[] | null>;
5539
+ readonly heading: _angular_core.InputSignal<string>;
5540
+ readonly subtitle: _angular_core.InputSignal<string>;
5541
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
5542
+ /** Dot radius when there is no `size` measure. */
5543
+ readonly radius: _angular_core.InputSignalWithTransform<number, unknown>;
5544
+ /** Largest bubble radius when `size` is set. */
5545
+ readonly maxRadius: _angular_core.InputSignalWithTransform<number, unknown>;
5546
+ /** Draw a least-squares trend line per group (dashed — it is a model, not data). Linear axes only. */
5547
+ readonly trendline: _angular_core.InputSignalWithTransform<boolean, unknown>;
5548
+ readonly grid: _angular_core.InputSignal<SdsChartGrid>;
5549
+ readonly legend: _angular_core.InputSignal<SdsChartLegend>;
5550
+ readonly annotations: _angular_core.InputSignal<readonly SdsChartAnnotation[]>;
5551
+ readonly xScale: _angular_core.InputSignal<SdsChartScale>;
5552
+ readonly yScale: _angular_core.InputSignal<SdsChartScale>;
5553
+ readonly xMin: _angular_core.InputSignal<number | null>;
5554
+ readonly xMax: _angular_core.InputSignal<number | null>;
5555
+ readonly yMin: _angular_core.InputSignal<number | null>;
5556
+ readonly yMax: _angular_core.InputSignal<number | null>;
5557
+ readonly includeZero: _angular_core.InputSignalWithTransform<boolean, unknown>;
5558
+ readonly xFormat: _angular_core.InputSignal<SdsXFormat | null>;
5559
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5560
+ /** Override the y-axis tick format (defaults to a compact form of `valueFormat`). */
5561
+ readonly axisFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5562
+ readonly sizeFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5563
+ readonly xLabel: _angular_core.InputSignal<string>;
5564
+ readonly yLabel: _angular_core.InputSignal<string>;
5565
+ readonly sizeLabel: _angular_core.InputSignal<string>;
5566
+ readonly locale: _angular_core.InputSignal<string | null>;
5567
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5568
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5569
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5570
+ readonly emptyText: _angular_core.InputSignal<string>;
5571
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5572
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5573
+ /** Hidden group names (two-way bindable; the legend toggles them). */
5574
+ readonly hidden: _angular_core.ModelSignal<readonly string[]>;
5575
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<T>>;
5576
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5577
+ protected readonly uid: string;
5578
+ protected readonly legendFocus: _angular_core.WritableSignal<string | null>;
5579
+ protected readonly active: _angular_core.WritableSignal<number | null>;
5580
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5581
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5582
+ protected onBlur(): void;
5583
+ private readonly width;
5584
+ private readonly loc;
5585
+ private readonly animates;
5586
+ private readonly palette;
5587
+ protected readonly bubbles: _angular_core.Signal<boolean>;
5588
+ private readonly points;
5589
+ private readonly xIsTime;
5590
+ /** Groups in colour order; a group keeps its slot when others are hidden. */
5591
+ protected readonly groups: _angular_core.Signal<{
5592
+ name: string;
5593
+ color: string;
5594
+ }[]>;
5595
+ private readonly colorOf;
5596
+ private readonly visiblePoints;
5597
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5598
+ private readonly fmtY;
5599
+ private readonly fmtSize;
5600
+ private readonly fmtX;
5601
+ protected readonly layout: _angular_core.Signal<{
5602
+ width: number;
5603
+ height: number;
5604
+ plot: PlotRect;
5605
+ x: (v: number) => number;
5606
+ y: (v: number) => number;
5607
+ radius: (p: Dot<T>) => number;
5608
+ xTicks: AxisTick[];
5609
+ yTicks: {
5610
+ pos: number;
5611
+ label: string;
5612
+ }[];
5613
+ clipPad: number;
5614
+ } | null>;
5615
+ private readonly target;
5616
+ /** Boolean, so a resize (width A → B) never counts as a data change: resizes snap, data animates. */
5617
+ private readonly ready;
5618
+ private readonly version;
5619
+ private readonly geometry;
5620
+ protected readonly dots: _angular_core.Signal<{
5621
+ id: string;
5622
+ cx: number;
5623
+ cy: number;
5624
+ r: number;
5625
+ color: string;
5626
+ dim: boolean;
5627
+ size: number;
5628
+ }[]>;
5629
+ /** Least-squares fit per visible group, drawn across that group's own x range. */
5630
+ protected readonly trends: _angular_core.Signal<{
5631
+ group: string;
5632
+ x1: number;
5633
+ y1: number;
5634
+ x2: number;
5635
+ y2: number;
5636
+ color: string;
5637
+ dim: boolean;
5638
+ }[]>;
5639
+ protected readonly annotationsPx: _angular_core.Signal<ResolvedAnnotation[]>;
5640
+ /** Nearest-point index, rebuilt only when the geometry settles. */
5641
+ private readonly delaunay;
5642
+ protected readonly activeDot: _angular_core.Signal<{
5643
+ cx: number;
5644
+ cy: number;
5645
+ r: number;
5646
+ color: string;
5647
+ } | null>;
5648
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<T> | null>;
5649
+ protected readonly liveText: _angular_core.Signal<string>;
5650
+ protected onPointer(event: PointerEvent): void;
5651
+ protected onClick(): void;
5652
+ /** Arrow keys step through the points in x order. */
5653
+ protected onKey(event: KeyboardEvent): void;
5654
+ protected toggleGroup(name: string): void;
5655
+ protected readonly legendPosition: _angular_core.Signal<"none" | "bottom" | "top" | "right">;
5656
+ protected readonly legendItems: _angular_core.Signal<LegendItem[]>;
5657
+ protected readonly label: _angular_core.Signal<string>;
5658
+ protected readonly table: _angular_core.Signal<ChartTable>;
5659
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsScatterChart<any>, never>;
5660
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsScatterChart<any>, "sds-scatter-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "pointLabel": { "alias": "pointLabel"; "required": false; "isSignal": true; }; "groupOrder": { "alias": "groupOrder"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "maxRadius": { "alias": "maxRadius"; "required": false; "isSignal": true; }; "trendline": { "alias": "trendline"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; "xScale": { "alias": "xScale"; "required": false; "isSignal": true; }; "yScale": { "alias": "yScale"; "required": false; "isSignal": true; }; "xMin": { "alias": "xMin"; "required": false; "isSignal": true; }; "xMax": { "alias": "xMax"; "required": false; "isSignal": true; }; "yMin": { "alias": "yMin"; "required": false; "isSignal": true; }; "yMax": { "alias": "yMax"; "required": false; "isSignal": true; }; "includeZero": { "alias": "includeZero"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "axisFormat": { "alias": "axisFormat"; "required": false; "isSignal": true; }; "sizeFormat": { "alias": "sizeFormat"; "required": false; "isSignal": true; }; "xLabel": { "alias": "xLabel"; "required": false; "isSignal": true; }; "yLabel": { "alias": "yLabel"; "required": false; "isSignal": true; }; "sizeLabel": { "alias": "sizeLabel"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, { "hidden": "hiddenChange"; "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
5661
+ }
5662
+
5663
+ /** `donut` has a hole for a headline figure; `pie` is solid. */
5664
+ type SdsDonutVariant = 'donut' | 'pie';
5665
+ /** What the legend prints after each label (the chart's direct labels). */
5666
+ type SdsDonutLegendValue = 'percent' | 'value' | 'both' | 'none';
5667
+ /** Slice order: `desc` = largest first, `none` = data order. */
5668
+ type SdsDonutSort = 'desc' | 'none';
5669
+ /** Key of the folded "Autres" slice — in `hidden` and in `pointClick.key`. */
5670
+ declare const SDS_DONUT_OTHER_KEY = "__sds_other__";
5671
+ /**
5672
+ * Donut, pie and half-donut for part-to-whole at a glance. Small tails fold into "Autres" past
5673
+ * `maxSlices` (a pie stops reading beyond ~6 parts), the legend doubles as direct labels with each
5674
+ * share, the centre states the total and swaps to the hovered slice, slices separate with a
5675
+ * constant 2 px gap, and the whole thing is keyboard-navigable with a data-table twin. Colour follows
5676
+ * the category (its position in the data), never its rank.
5677
+ *
5678
+ * @example
5679
+ * <sds-donut-chart heading="Motifs de séjour" [data]="rows" category="motif" value="sejours" />
5680
+ */
5681
+ declare class SdsDonutChart<T = any> {
5682
+ readonly data: _angular_core.InputSignal<readonly T[] | null | undefined>;
5683
+ /** The part's name. Rows sharing a name are summed into one slice. */
5684
+ readonly category: _angular_core.InputSignal<SdsAccessor<T, string | null | undefined>>;
5685
+ /** The part's size (negative and missing values are ignored). */
5686
+ readonly value: _angular_core.InputSignal<SdsAccessor<T, number | null | undefined>>;
5687
+ /** Optional per-row colour (any CSS colour) — e.g. a status palette. */
5688
+ readonly color: _angular_core.InputSignal<SdsAccessor<T, string | null | undefined> | null>;
5689
+ readonly heading: _angular_core.InputSignal<string>;
5690
+ readonly subtitle: _angular_core.InputSignal<string>;
5691
+ readonly variant: _angular_core.InputSignal<SdsDonutVariant>;
5692
+ /** Draw a half-donut (a gauge-like arc) instead of a full circle. */
5693
+ readonly half: _angular_core.InputSignalWithTransform<boolean, unknown>;
5694
+ /** Diameter cap in px (the chart also shrinks to its container). */
5695
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
5696
+ /** Ring thickness in px. Defaults to ~26 % of the radius. */
5697
+ readonly thickness: _angular_core.InputSignalWithTransform<number | null, unknown>;
5698
+ /** Beyond this many slices the smallest fold into one "Autres" slice. */
5699
+ readonly maxSlices: _angular_core.InputSignalWithTransform<number, unknown>;
5700
+ readonly otherLabel: _angular_core.InputSignal<string>;
5701
+ /** `desc` (default) orders slices largest first; `none` keeps the data order. */
5702
+ readonly sort: _angular_core.InputSignal<SdsDonutSort>;
5703
+ /** `auto` = right of the ring (below it on narrow containers). */
5704
+ readonly legend: _angular_core.InputSignal<SdsChartLegend>;
5705
+ readonly legendValue: _angular_core.InputSignal<SdsDonutLegendValue>;
5706
+ /** Headline in the hole. `null` hides it; default "Total". */
5707
+ readonly centerLabel: _angular_core.InputSignal<string | null>;
5708
+ /** Override the centre figure (e.g. "72 %" for a completion donut). */
5709
+ readonly centerValue: _angular_core.InputSignal<string | null>;
5710
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5711
+ readonly locale: _angular_core.InputSignal<string | null>;
5712
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5713
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5714
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5715
+ readonly emptyText: _angular_core.InputSignal<string>;
5716
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5717
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5718
+ /** Hidden slice keys (category names, or the "Autres" slice). Two-way bindable. */
5719
+ readonly hidden: _angular_core.ModelSignal<readonly string[]>;
5720
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<T>>;
5721
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5722
+ protected readonly focus: _angular_core.WritableSignal<string | null>;
5723
+ protected readonly active: _angular_core.WritableSignal<string | null>;
5724
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5725
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5726
+ protected onBlur(): void;
5727
+ protected readonly pointer: _angular_core.WritableSignal<{
5728
+ x: number;
5729
+ y: number;
5730
+ }>;
5731
+ private readonly width;
5732
+ private readonly loc;
5733
+ private readonly animates;
5734
+ private readonly palette;
5735
+ private readonly fmt;
5736
+ private readonly pct;
5737
+ /** Slices after grouping, sorting and folding the tail into "Autres". */
5738
+ private readonly slices;
5739
+ private readonly visible;
5740
+ private readonly total;
5741
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5742
+ protected readonly size: _angular_core.Signal<number>;
5743
+ protected readonly boxHeight: _angular_core.Signal<number>;
5744
+ protected readonly showCenter: _angular_core.Signal<boolean>;
5745
+ protected readonly showTooltip: _angular_core.Signal<boolean>;
5746
+ protected readonly geo: _angular_core.Signal<{
5747
+ cx: number;
5748
+ cy: number;
5749
+ outer: number;
5750
+ inner: number;
5751
+ start: number;
5752
+ end: number;
5753
+ valueSize: number;
5754
+ labelSize: number;
5755
+ labelY: number;
5756
+ valueY: number;
5757
+ subY: number;
5758
+ } | null>;
5759
+ private readonly target;
5760
+ /** Boolean, so a resize (width A → B) never counts as a data change: resizes snap, data animates. */
5761
+ private readonly ready;
5762
+ private readonly version;
5763
+ private readonly tween;
5764
+ protected readonly arcs: _angular_core.Signal<{
5765
+ key: string;
5766
+ color: string;
5767
+ d: string;
5768
+ shift: string | null;
5769
+ dim: boolean;
5770
+ }[]>;
5771
+ protected readonly center: _angular_core.Signal<{
5772
+ label: string;
5773
+ value: string;
5774
+ sub: string;
5775
+ }>;
5776
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<T> | null>;
5777
+ /** Spoken readout — from the full label (the centre one is truncated to fit the hole). */
5778
+ protected readonly liveText: _angular_core.Signal<string>;
5779
+ protected readonly legendPosition: _angular_core.Signal<"none" | "bottom" | "top" | "right">;
5780
+ protected hover(key: string, event: PointerEvent): void;
5781
+ protected track(event: PointerEvent): void;
5782
+ protected emit(key: string): void;
5783
+ protected onKey(event: KeyboardEvent): void;
5784
+ protected toggleSlice(key: string): void;
5785
+ protected readonly legendItems: _angular_core.Signal<LegendItem[]>;
5786
+ protected readonly label: _angular_core.Signal<string>;
5787
+ protected readonly table: _angular_core.Signal<ChartTable>;
5788
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsDonutChart<any>, never>;
5789
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsDonutChart<any>, "sds-donut-chart", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "category": { "alias": "category"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "half": { "alias": "half"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "maxSlices": { "alias": "maxSlices"; "required": false; "isSignal": true; }; "otherLabel": { "alias": "otherLabel"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "legendValue": { "alias": "legendValue"; "required": false; "isSignal": true; }; "centerLabel": { "alias": "centerLabel"; "required": false; "isSignal": true; }; "centerValue": { "alias": "centerValue"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; }, { "hidden": "hiddenChange"; "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
5790
+ }
5791
+
5792
+ /** `sequential` = magnitude (one hue, pale → strong); `diverging` = polarity around a midpoint. */
5793
+ type SdsHeatmapScheme = 'sequential' | 'diverging';
5794
+ /**
5795
+ * Heatmap — a matrix of two categorical dimensions coloured by a measure: weekday × hour, service ×
5796
+ * month, product × region. Sequential (one hue, light → dark) or diverging (two opposite hues around
5797
+ * a neutral gray midpoint) colour, mixed by the browser in OKLab from theme tokens so it re-themes and
5798
+ * flips to dark mode on its own. Values print inside cells only where they fit, missing cells read
5799
+ * as empty (not as zero), arrow keys move cell by cell, and a scale legend states the range.
5800
+ *
5801
+ * @example
5802
+ * <sds-heatmap [data]="rows" x="heure" y="jour" value="arrivees" heading="Arrivées aux urgences" />
5803
+ */
5804
+ declare class SdsHeatmap<T = any> {
5805
+ readonly data: _angular_core.InputSignal<readonly T[] | null | undefined>;
5806
+ /** Column dimension. */
5807
+ readonly x: _angular_core.InputSignal<SdsAccessor<T, SdsXValue>>;
5808
+ /** Row dimension. */
5809
+ readonly y: _angular_core.InputSignal<SdsAccessor<T, SdsXValue>>;
5810
+ /** The measure colouring each cell. Rows sharing an (x, y) pair are summed. */
5811
+ readonly value: _angular_core.InputSignal<SdsAccessor<T, number | null | undefined>>;
5812
+ /** Fix column order (default: first appearance). */
5813
+ readonly xOrder: _angular_core.InputSignal<readonly SdsXValue[] | null>;
5814
+ /** Fix row order (default: first appearance). */
5815
+ readonly yOrder: _angular_core.InputSignal<readonly SdsXValue[] | null>;
5816
+ readonly heading: _angular_core.InputSignal<string>;
5817
+ readonly subtitle: _angular_core.InputSignal<string>;
5818
+ readonly scheme: _angular_core.InputSignal<SdsHeatmapScheme>;
5819
+ /** Fix the colour domain instead of the data extent. */
5820
+ readonly domain: _angular_core.InputSignal<readonly [number, number] | null>;
5821
+ /** The diverging scheme's neutral value. */
5822
+ readonly midpoint: _angular_core.InputSignalWithTransform<number, unknown>;
5823
+ /** Height in px. Defaults to `cellHeight` per row. */
5824
+ readonly height: _angular_core.InputSignalWithTransform<number | null, unknown>;
5825
+ readonly cellHeight: _angular_core.InputSignalWithTransform<number, unknown>;
5826
+ readonly radius: _angular_core.InputSignalWithTransform<number, unknown>;
5827
+ /** Print each value inside its cell — only when every value fits (never a partial matrix). */
5828
+ readonly showValues: _angular_core.InputSignalWithTransform<boolean, unknown>;
5829
+ /** Show the colour-scale legend under the matrix. */
5830
+ readonly scaleLegend: _angular_core.InputSignalWithTransform<boolean, unknown>;
5831
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5832
+ /** Format of the column / row labels (a function; dates default to their day). */
5833
+ readonly xFormat: _angular_core.InputSignal<SdsXFormat | null>;
5834
+ /** Name of the measure in the tooltip (e.g. "Arrivées"). */
5835
+ readonly valueLabel: _angular_core.InputSignal<string>;
5836
+ /** Column-axis title, drawn under the matrix. */
5837
+ readonly xLabel: _angular_core.InputSignal<string>;
5838
+ /** Row-axis title, drawn vertically on the left (and the table's first column header). */
5839
+ readonly yLabel: _angular_core.InputSignal<string>;
5840
+ readonly locale: _angular_core.InputSignal<string | null>;
5841
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5842
+ /** Cross-fade cell colours when the data changes. */
5843
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5844
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5845
+ readonly emptyText: _angular_core.InputSignal<string>;
5846
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5847
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5848
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<T>>;
5849
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5850
+ protected readonly active: _angular_core.WritableSignal<number | null>;
5851
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5852
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5853
+ protected onBlur(): void;
5854
+ private readonly width;
5855
+ private readonly loc;
5856
+ protected readonly animates: _angular_core.Signal<boolean>;
5857
+ private readonly fmt;
5858
+ private readonly matrix;
5859
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5860
+ private readonly fmtX;
5861
+ /** Colour domain; the diverging arms are made symmetric so equal distances read as equal. */
5862
+ protected readonly scale: _angular_core.Signal<{
5863
+ lo: number;
5864
+ hi: number;
5865
+ mid: number;
5866
+ minLabel: string;
5867
+ maxLabel: string;
5868
+ midLabel: string;
5869
+ gradient: string;
5870
+ }>;
5871
+ /** Signed position on the scale: 0…1 sequential, −1…1 diverging. */
5872
+ private position;
5873
+ /**
5874
+ * Where a cell label switches to the strong-end ink — measured, not guessed: the point where the
5875
+ * strong ink starts to out-contrast the pale one, per ramp, in both modes.
5876
+ */
5877
+ private strongEnd;
5878
+ protected readonly resolvedHeight: _angular_core.Signal<number>;
5879
+ protected readonly layout: _angular_core.Signal<{
5880
+ width: number;
5881
+ height: number;
5882
+ plot: {
5883
+ left: number;
5884
+ top: number;
5885
+ width: number;
5886
+ height: number;
5887
+ };
5888
+ bx: d3_scale.ScaleBand<number>;
5889
+ by: d3_scale.ScaleBand<number>;
5890
+ xTicks: AxisTick[];
5891
+ yTicks: {
5892
+ pos: number;
5893
+ label: string;
5894
+ }[];
5895
+ } | null>;
5896
+ protected readonly cells: _angular_core.Signal<{
5897
+ id: string;
5898
+ i: number;
5899
+ x: number;
5900
+ y: number;
5901
+ w: number;
5902
+ h: number;
5903
+ fill: string;
5904
+ text: string;
5905
+ ink: string;
5906
+ missing: boolean;
5907
+ }[]>;
5908
+ protected readonly activeCell: _angular_core.Signal<{
5909
+ id: string;
5910
+ i: number;
5911
+ x: number;
5912
+ y: number;
5913
+ w: number;
5914
+ h: number;
5915
+ fill: string;
5916
+ text: string;
5917
+ ink: string;
5918
+ missing: boolean;
5919
+ } | null>;
5920
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<T> | null>;
5921
+ protected readonly liveText: _angular_core.Signal<string>;
5922
+ protected hover(i: number, _event: PointerEvent): void;
5923
+ protected emit(i: number): void;
5924
+ /** Arrow keys move one cell in any direction. */
5925
+ protected onKey(event: KeyboardEvent): void;
5926
+ protected readonly label: _angular_core.Signal<string>;
5927
+ protected readonly table: _angular_core.Signal<ChartTable>;
5928
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsHeatmap<any>, never>;
5929
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsHeatmap<any>, "sds-heatmap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "xOrder": { "alias": "xOrder"; "required": false; "isSignal": true; }; "yOrder": { "alias": "yOrder"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "scheme": { "alias": "scheme"; "required": false; "isSignal": true; }; "domain": { "alias": "domain"; "required": false; "isSignal": true; }; "midpoint": { "alias": "midpoint"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "cellHeight": { "alias": "cellHeight"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "scaleLegend": { "alias": "scaleLegend"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "xFormat": { "alias": "xFormat"; "required": false; "isSignal": true; }; "valueLabel": { "alias": "valueLabel"; "required": false; "isSignal": true; }; "xLabel": { "alias": "xLabel"; "required": false; "isSignal": true; }; "yLabel": { "alias": "yLabel"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
5930
+ }
5931
+
5932
+ /** A treemap node: a leaf carries `value`; a branch carries `children` (its value is their sum). */
5933
+ interface SdsTreemapNode {
5934
+ name: string;
5935
+ value?: number | null;
5936
+ children?: readonly SdsTreemapNode[];
5937
+ /** Override the colour of this node's whole branch (top-level nodes) or of one leaf. */
5938
+ color?: string;
5939
+ /** Label ink for a custom `color` (defaults to white). */
5940
+ ink?: string;
5941
+ }
5942
+ /**
5943
+ * Treemap for part-to-whole across many items or a hierarchy — budget lines, stock by family, stays
5944
+ * by service and unit. Squarified tiles sized by value, coloured by their top-level branch,
5945
+ * separated by surface gaps (wider between branches), labelled only where the name fits, with a
5946
+ * breadcrumb drill-down: click a branch to zoom into it, the breadcrumb to come back. Leaf clicks
5947
+ * emit `pointClick`.
5948
+ *
5949
+ * @example
5950
+ * <sds-treemap heading="Budget 2026" [data]="[{ name: 'Personnel', children: [{ name: 'Soins', value: 48 }] }]" />
5951
+ */
5952
+ declare class SdsTreemap {
5953
+ readonly data: _angular_core.InputSignal<readonly SdsTreemapNode[] | null | undefined>;
5954
+ readonly heading: _angular_core.InputSignal<string>;
5955
+ readonly subtitle: _angular_core.InputSignal<string>;
5956
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
5957
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
5958
+ /** Click a branch to zoom into it (with a breadcrumb back). */
5959
+ readonly drilldown: _angular_core.InputSignalWithTransform<boolean, unknown>;
5960
+ /** Name of the top of the breadcrumb. */
5961
+ readonly rootLabel: _angular_core.InputSignal<string>;
5962
+ /** Print the value under the name inside tiles large enough. */
5963
+ readonly showValues: _angular_core.InputSignalWithTransform<boolean, unknown>;
5964
+ /** `auto` = the branch legend below the tiles when there are two or more branches. */
5965
+ readonly legend: _angular_core.InputSignal<SdsChartLegend>;
5966
+ readonly locale: _angular_core.InputSignal<string | null>;
5967
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
5968
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
5969
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
5970
+ readonly emptyText: _angular_core.InputSignal<string>;
5971
+ readonly tableToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
5972
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
5973
+ /** A leaf tile was clicked (branches zoom instead while `drilldown` is on). `key` is the path "A › B". */
5974
+ readonly pointClick: _angular_core.OutputEmitterRef<SdsChartPointEvent<SdsTreemapNode>>;
5975
+ protected readonly customTooltip: _angular_core.Signal<SdsChartTooltip | undefined>;
5976
+ /** Requested zoom: data indices from the root down to the zoomed branch. */
5977
+ private readonly path;
5978
+ protected readonly active: _angular_core.WritableSignal<string | null>;
5979
+ protected readonly keyboard: _angular_core.WritableSignal<boolean>;
5980
+ private readonly announcement;
5981
+ protected readonly pointer: _angular_core.WritableSignal<{
5982
+ x: number;
5983
+ y: number;
5984
+ }>;
5985
+ protected readonly width: _angular_core.Signal<number>;
5986
+ private readonly loc;
5987
+ private readonly animates;
5988
+ private readonly palette;
5989
+ private readonly fmt;
5990
+ private readonly pct;
5991
+ /** Leaving the chart dismisses a keyboard-driven readout (a pointer one clears on pointerleave). */
5992
+ protected onBlur(): void;
5993
+ /** Full hierarchy, summed once. */
5994
+ private readonly root;
5995
+ private build;
5996
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
5997
+ /**
5998
+ * The zoom that actually applies: the requested path walked against the CURRENT data, stopping at
5999
+ * the first index that no longer names a branch — so new data can never leave a stale zoom behind.
6000
+ */
6001
+ protected readonly zoom: _angular_core.Signal<{
6002
+ node: SdsTreemapNode;
6003
+ indices: number[];
6004
+ names: string[];
6005
+ }>;
6006
+ /** Branch colour + label ink per top-level data index (colour follows the entity, not its size). */
6007
+ private readonly branchStyle;
6008
+ /** The zoomed sub-tree, laid out at the current size. */
6009
+ private readonly layoutRoot;
6010
+ private readonly tiles;
6011
+ private readonly target;
6012
+ private readonly ready;
6013
+ private readonly version;
6014
+ private readonly geometry;
6015
+ protected readonly rects: _angular_core.Signal<{
6016
+ key: string;
6017
+ x: number;
6018
+ y: number;
6019
+ w: number;
6020
+ h: number;
6021
+ color: string;
6022
+ ink: string;
6023
+ name: string;
6024
+ value: string;
6025
+ }[]>;
6026
+ protected readonly activeRect: _angular_core.Signal<{
6027
+ key: string;
6028
+ x: number;
6029
+ y: number;
6030
+ w: number;
6031
+ h: number;
6032
+ color: string;
6033
+ ink: string;
6034
+ name: string;
6035
+ value: string;
6036
+ } | null>;
6037
+ private readonly activeTile;
6038
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<SdsTreemapNode> | null>;
6039
+ protected readonly liveText: _angular_core.Signal<string>;
6040
+ protected hover(key: string, event: PointerEvent): void;
6041
+ protected track(event: PointerEvent): void;
6042
+ /** Zoom to a breadcrumb depth (0 = everything) and say so to screen readers. */
6043
+ protected zoomTo(depth: number): void;
6044
+ private announceZoom;
6045
+ /** Zoom into the tile's branch — or, at the deepest level, report the leaf. */
6046
+ protected activate(key: string): void;
6047
+ protected onKey(event: KeyboardEvent): void;
6048
+ protected readonly legendItems: _angular_core.Signal<LegendItem[]>;
6049
+ protected readonly legendPosition: _angular_core.Signal<"none" | "bottom" | "top" | "right">;
6050
+ protected readonly label: _angular_core.Signal<string>;
6051
+ protected readonly table: _angular_core.Signal<ChartTable>;
6052
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsTreemap, never>;
6053
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsTreemap, "sds-treemap", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "drilldown": { "alias": "drilldown"; "required": false; "isSignal": true; }; "rootLabel": { "alias": "rootLabel"; "required": false; "isSignal": true; }; "showValues": { "alias": "showValues"; "required": false; "isSignal": true; }; "legend": { "alias": "legend"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "tableToggle": { "alias": "tableToggle"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; }, ["customTooltip"], never, true, never>;
6054
+ }
6055
+
6056
+ type SdsSparklineVariant = 'line' | 'area' | 'bar';
6057
+ /**
6058
+ * A word-sized trend — in a table cell, a KPI tile, a list row. No axes, no legend: the shape is the
6059
+ * message. Line, area or micro-bars; an optional normal range band and reference value; the last
6060
+ * point (and optionally min / max) marked; a tiny hover readout; and an accessible summary (first,
6061
+ * last, min, max) so the trend is never visual-only.
6062
+ *
6063
+ * @example
6064
+ * <sds-sparkline [data]="[12, 14, 13, 18, 21, 19, 24]" label="Admissions sur 7 jours" />
6065
+ */
6066
+ declare class SdsSparkline {
6067
+ /** The values in order. `null` leaves a gap. */
6068
+ readonly data: _angular_core.InputSignal<readonly (number | null | undefined)[] | null | undefined>;
6069
+ /** Optional name per point (dates, weeks) for the hover readout. */
6070
+ readonly labels: _angular_core.InputSignal<readonly string[] | null>;
6071
+ readonly variant: _angular_core.InputSignal<SdsSparklineVariant>;
6072
+ /** Width in px; `null` (default) fills the container. */
6073
+ readonly width: _angular_core.InputSignalWithTransform<number | null, unknown>;
6074
+ readonly height: _angular_core.InputSignalWithTransform<number, unknown>;
6075
+ /** Any CSS colour. Defaults to the first categorical slot. */
6076
+ readonly color: _angular_core.InputSignal<string | null>;
6077
+ readonly strokeWidth: _angular_core.InputSignalWithTransform<number, unknown>;
6078
+ /** Mark the last point. */
6079
+ readonly showLast: _angular_core.InputSignalWithTransform<boolean, unknown>;
6080
+ /** Mark the lowest and highest points. */
6081
+ readonly showMinMax: _angular_core.InputSignalWithTransform<boolean, unknown>;
6082
+ /** Shade a normal range, e.g. [60, 100]. */
6083
+ readonly band: _angular_core.InputSignal<readonly [number, number] | null>;
6084
+ /** Draw a reference value (a target, zero, last year's mean). */
6085
+ readonly reference: _angular_core.InputSignal<number | null>;
6086
+ /** Include zero in the value range (bars always do). */
6087
+ readonly includeZero: _angular_core.InputSignalWithTransform<boolean, unknown>;
6088
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
6089
+ /** What the trend measures — prefixes the spoken summary. */
6090
+ readonly label: _angular_core.InputSignal<string>;
6091
+ /** Replace the generated summary ("de 12 à 24 — min…") entirely. */
6092
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
6093
+ readonly tooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
6094
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
6095
+ readonly locale: _angular_core.InputSignal<string | null>;
6096
+ protected readonly uid: string;
6097
+ protected readonly active: _angular_core.WritableSignal<number | null>;
6098
+ private readonly measured;
6099
+ private readonly loc;
6100
+ private readonly animates;
6101
+ private readonly fmt;
6102
+ private readonly palette;
6103
+ protected readonly tint: _angular_core.Signal<string>;
6104
+ protected readonly barTint: _angular_core.Signal<string>;
6105
+ private readonly values;
6106
+ protected readonly geo: _angular_core.Signal<{
6107
+ width: number;
6108
+ x: (i: number) => number;
6109
+ y: (v: number) => number;
6110
+ base: number;
6111
+ band: {
6112
+ y: number;
6113
+ h: number;
6114
+ } | null;
6115
+ ref: number | null;
6116
+ } | null>;
6117
+ private readonly target;
6118
+ private readonly ready;
6119
+ private readonly version;
6120
+ private readonly tween;
6121
+ private readonly seq;
6122
+ protected readonly paths: _angular_core.Signal<{
6123
+ line: string;
6124
+ area: string;
6125
+ }>;
6126
+ protected readonly bars: _angular_core.Signal<{
6127
+ d: string;
6128
+ last: boolean;
6129
+ }[]>;
6130
+ protected readonly markers: _angular_core.Signal<{
6131
+ kind: string;
6132
+ x: number;
6133
+ y: number;
6134
+ }[]>;
6135
+ protected readonly activePoint: _angular_core.Signal<{
6136
+ x: number;
6137
+ y: number;
6138
+ } | null>;
6139
+ protected readonly tooltipCtx: _angular_core.Signal<SdsChartTooltipContext<any> | null>;
6140
+ /** "Admissions : de 12 à 24 — min 12, max 24, 7 points." */
6141
+ protected readonly summary: _angular_core.Signal<string>;
6142
+ protected onPointer(event: PointerEvent): void;
6143
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsSparkline, never>;
6144
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsSparkline, "sds-sparkline", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "showLast": { "alias": "showLast"; "required": false; "isSignal": true; }; "showMinMax": { "alias": "showMinMax"; "required": false; "isSignal": true; }; "band": { "alias": "band"; "required": false; "isSignal": true; }; "reference": { "alias": "reference"; "required": false; "isSignal": true; }; "includeZero": { "alias": "includeZero"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6145
+ }
6146
+
6147
+ /** How the change is expressed: relative (+12,4 %) or in the value's own unit (+38). */
6148
+ type SdsKpiDeltaMode = 'percent' | 'absolute';
6149
+ type SdsKpiSize = 'md' | 'lg';
6150
+ /** `card` draws its own surface; `plain` sits inside a card or grid you already have. */
6151
+ type SdsKpiAppearance = 'card' | 'plain';
6152
+ /**
6153
+ * A stat tile — the number IS the chart. Label, headline value, a signed change against a named
6154
+ * period whose colour means "good" or "bad" (set `upIsGood` false for waits, costs, incidents), an
6155
+ * arrow glyph and a spoken sentence so the change never relies on colour, and an optional sparkline
6156
+ * of the recent trend. Values auto-compact (12 900 → 12,9 k) unless a format says otherwise.
6157
+ *
6158
+ * @example
6159
+ * <sds-kpi label="Admissions" [value]="1284" [previous]="1150" deltaLabel="vs semaine passée" [trend]="last12Weeks" />
6160
+ */
6161
+ declare class SdsKpi {
6162
+ readonly label: _angular_core.InputSignal<string>;
6163
+ readonly value: _angular_core.InputSignal<number | null | undefined>;
6164
+ /** Value format. Default: exact below 10 000, compact above (12,9 k · 4,2 M). */
6165
+ readonly valueFormat: _angular_core.InputSignal<SdsNumberFormat | null>;
6166
+ /** The comparison value — the change is computed from it. */
6167
+ readonly previous: _angular_core.InputSignal<number | null | undefined>;
6168
+ /** Give the change directly instead of `previous` (a ratio in `percent` mode: 0.124 = +12,4 %). */
6169
+ readonly delta: _angular_core.InputSignal<number | null | undefined>;
6170
+ readonly deltaMode: _angular_core.InputSignal<SdsKpiDeltaMode>;
6171
+ /** The named period, e.g. "vs mois dernier". */
6172
+ readonly deltaLabel: _angular_core.InputSignal<string>;
6173
+ /** False when a rise is bad news (waiting time, cost, incidents). */
6174
+ readonly upIsGood: _angular_core.InputSignalWithTransform<boolean, unknown>;
6175
+ readonly trend: _angular_core.InputSignal<readonly (number | null)[] | null>;
6176
+ readonly trendLabels: _angular_core.InputSignal<readonly string[] | null>;
6177
+ readonly trendVariant: _angular_core.InputSignal<SdsSparklineVariant>;
6178
+ readonly trendColor: _angular_core.InputSignal<string | null>;
6179
+ readonly icon: _angular_core.InputSignal<"chart-column" | "chart-line" | "chart-bar" | "chart-area" | "chart-pie" | "chart-scatter" | "grid-3x3" | "activity" | "gauge" | "trending-up" | "trending-down" | "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" | "ticket" | "square" | "square-check" | "circle-dot" | "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" | "chevrons-up" | "chevrons-down" | "star" | "message-square" | "filter" | "table" | "qr-code" | "eye" | "eye-off" | "user" | "check-circle" | "arrows-clockwise" | "menu" | "file-text" | "file-check" | "hash" | "map-pin" | "inbox" | "arrow-right" | "refresh-cw" | "loader-circle" | "locate-fixed" | "locate-off" | "bug" | "scroll-text" | "moon" | "sun" | "search-x" | "command" | "sparkles" | "triangle-alert" | "octagon-x" | "ban" | "ellipsis" | "ellipsis-vertical" | "grip-vertical" | "upload" | "image" | "image-off" | "utensils" | "zoom-in" | "zoom-out" | "trash-2" | "clock" | "pencil" | "circle-help" | "stock" | "allergen-cereals-gluten" | "allergen-crustaceans" | "allergen-eggs" | "allergen-fish" | "allergen-peanuts" | "allergen-soybeans" | "allergen-milk" | "allergen-nuts" | "allergen-celery" | "allergen-mustard" | "allergen-sesame" | "allergen-sulphites" | "allergen-lupin" | "allergen-molluscs" | null>;
6180
+ /** Shown under the value when there is no change to report. */
6181
+ readonly hint: _angular_core.InputSignal<string>;
6182
+ readonly size: _angular_core.InputSignal<SdsKpiSize>;
6183
+ readonly appearance: _angular_core.InputSignal<SdsKpiAppearance>;
6184
+ readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
6185
+ readonly locale: _angular_core.InputSignal<string | null>;
6186
+ private readonly loc;
6187
+ protected readonly display: _angular_core.Signal<string>;
6188
+ private readonly deltaValue;
6189
+ /** The change, signed, with a tone that means good/bad — never colour alone (glyph + words). */
6190
+ protected readonly deltaView: _angular_core.Signal<{
6191
+ text: string;
6192
+ tone: string;
6193
+ icon: "trending-up" | "trending-down" | "minus";
6194
+ spoken: string;
6195
+ } | null>;
6196
+ private absoluteFormat;
6197
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SdsKpi, never>;
6198
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SdsKpi, "sds-kpi", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "previous": { "alias": "previous"; "required": false; "isSignal": true; }; "delta": { "alias": "delta"; "required": false; "isSignal": true; }; "deltaMode": { "alias": "deltaMode"; "required": false; "isSignal": true; }; "deltaLabel": { "alias": "deltaLabel"; "required": false; "isSignal": true; }; "upIsGood": { "alias": "upIsGood"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "trendLabels": { "alias": "trendLabels"; "required": false; "isSignal": true; }; "trendVariant": { "alias": "trendVariant"; "required": false; "isSignal": true; }; "trendColor": { "alias": "trendColor"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6199
+ }
6200
+
6201
+ export { SDS_ALLERGENS, SDS_ALLERGEN_ICONS, SDS_ALLERGEN_LABELS_EN, SDS_CHART_CONFIG, SDS_DONUT_OTHER_KEY, SDS_ICONS, SDS_PHONE_COUNTRIES, SDS_THEME_STORAGE_KEY, SDS_UI_PREF_LANG_PARAM, SDS_UI_PREF_THEME_PARAM, SdsAccordion, SdsAccordionContent, SdsAccordionHeader, SdsAccordionPanel, SdsAccordionStore, SdsAddressAutocomplete, SdsAddressExtra, SdsAllergenIcon, SdsAvatar, SdsBadge, SdsBarChart, SdsBulkBar, SdsButton, SdsCalendar, SdsCard, SdsChartTooltip, SdsCheckbox, SdsChecklistRow, SdsChip, SdsChipGroup, SdsDatePicker, SdsDonutChart, SdsEnvBanner, SdsFileDrop, SdsHeatmap, SdsIcon, SdsImageCropper, SdsInput, SdsInputNumber, SdsKpi, SdsLanguageSwitcher, SdsLineChart, SdsLocalizedInput, SdsMenu, SdsMenuItem, SdsMenuTrigger, SdsMultiSelect, SdsNavGroup, SdsNavItem, SdsOtpInput, SdsPaginator, SdsPhoneInput, SdsRadio, SdsScatterChart, SdsScore, SdsSearchCommand, SdsSegmented, SdsSelect, SdsSelectEmpty, SdsSelectFooter, SdsSelectOption, SdsShell, SdsSidebar, SdsSortableHandle, SdsSortableItem, SdsSortableList, SdsSparkline, SdsStatusTile, SdsTab, SdsTabList, SdsTabPanel, SdsTabPanels, SdsTable, SdsTableCell, SdsTableEmpty, SdsTableHeader, SdsTableRowExpansion, SdsTabs, SdsTabsStore, SdsTextarea, SdsThemeService, SdsThemeToggle, SdsTimeInput, SdsToastHost, SdsToastService, SdsToggleSwitch, SdsTopbar, SdsTreemap, SdsTriStateChip, SdsUserMenu, SidebarStore, addDays, addMonths, addMonthsKeepDay, appendUiPrefs, formatDdMmYyyy, formatHhMm, isOutOfRange, isSameDay, isSdsThemeMode, isoDay, pad2, provideSdsCharts, readUiPrefs, sdsFileMatchesAccept, sdsFormatBytes, sdsFormatNational, sdsMatchDialCode, sdsNormalizeSignificant, startOfDay, startOfMonth, stripUiPrefs };
6202
+ export type { SdsAccessor, SdsAccordionActive, SdsAccordionValue, SdsAddressAutocompleteAppearance, SdsAddressAutocompleteShape, SdsAddressAutocompleteSize, SdsAddressExtraContext, SdsAddressExtraPosition, SdsAddressLocateFn, SdsAddressSearchFn, SdsAddressSuggestion, SdsAllergen, SdsAvatarShape, SdsAvatarStatus, SdsBadgeSize, SdsBadgeVariant, SdsBarOrientation, SdsBarSort, SdsBulkBarPosition, SdsButtonShape, SdsButtonSize, SdsButtonVariant, SdsCardVariant, SdsChartAnnotation, SdsChartConfig, SdsChartGrid, SdsChartLegend, SdsChartPointEvent, SdsChartReferenceBand, SdsChartReferenceLine, SdsChartScale, SdsChartSeries, SdsChartStack, SdsChartTone, SdsChartTooltipContext, SdsChartTooltipRow, SdsChartXType, SdsCheckboxSize, SdsChecklistStatus, SdsChipOption, SdsChipSize, SdsCropRect, SdsDatePickerSize, SdsDonutLegendValue, SdsDonutSort, SdsDonutVariant, SdsEnvBannerEnv, SdsFileDropAppearance, SdsFileRejection, SdsFileRejectionReason, SdsHeatmapScheme, SdsIconName, SdsIconSize, SdsImageCropperBlobOptions, SdsImageCropperShape, SdsInputAppearance, SdsInputNumberAppearance, SdsInputNumberButtonLayout, SdsInputNumberCurrencyDisplay, SdsInputNumberMode, SdsInputNumberSize, SdsInputShape, SdsInputSize, SdsInputType, SdsKpiAppearance, SdsKpiDeltaMode, SdsKpiSize, SdsLanguageOption, SdsLanguageSwitcherAlign, SdsLanguageSwitcherAppearance, SdsLanguageSwitcherDirection, SdsLineCurve, SdsLineMarkers, SdsLocalizedInputSize, SdsLocalizedValue, SdsMenuAction, SdsMenuAlign, SdsMenuEntry, SdsMenuItemTone, SdsMenuSeparator, SdsMultiSelectDisplay, SdsMultiSelectSize, SdsNavItemBadgeTone, SdsNumberFormat, SdsOtpInputSize, SdsPaginatorSize, SdsPaginatorState, SdsPhoneCountry, SdsPhoneInputSize, SdsPhoneValue, SdsRadioSize, SdsScoreSize, SdsScoreTier, SdsScoreVariant, SdsSearchAppearance, SdsSearchItem, SdsSegmentedOption, SdsSegmentedSize, SdsSelectAppearance, SdsSelectEmptyContext, SdsSelectFooterContext, SdsSelectOptionContext, SdsSelectSize, SdsShellBackground, SdsSidebarAppearance, SdsSortOrder, SdsSortableAppearance, SdsSortableItemContext, SdsSortableReorderEvent, SdsSparklineVariant, SdsStatusTileState, SdsTabValue, SdsTableCellCommitEvent, SdsTableCellContext, SdsTableCellErrors, SdsTableColumn, SdsTableEditTrigger, SdsTableEditor, SdsTableEmptyContext, SdsTableHeaderContext, SdsTableLazyEvent, SdsTableRowExpansionContext, SdsTableSelectOption, SdsTableSize, SdsTableSortEvent, SdsTabsVariant, SdsTextareaAppearance, SdsTextareaResize, SdsTextareaSize, SdsTheme, SdsThemeMode, SdsThemeToggleAppearance, SdsTimeInputAppearance, SdsTimeInputSize, SdsToast, SdsToastKind, SdsToggleSwitchSize, SdsTopbarAppearance, SdsTreemapNode, SdsTriState, SdsTriStateChipSize, SdsUiPrefs, SdsUserMenuAlign, SdsUserMenuAppearance, SdsXFormat, SdsXValue };