@akcelik/strct 5.25.0 → 5.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akcelik/strct",
3
- "version": "5.25.0",
3
+ "version": "5.27.0",
4
4
  "description": "UIStruct — a standalone Angular component library with a tokenised, multi-palette theme system, built for datacenter / infrastructure management UIs.",
5
5
  "author": "Serkan Akcelik <serkan.akcelik@gmail.com>",
6
6
  "license": "MIT",
@@ -925,6 +925,45 @@ declare class StrctSectionHeader {
925
925
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSectionHeader, "strct-section-header", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "divider": { "alias": "divider"; "required": false; "isSignal": true; }; }, {}, never, ["[strctSectionHeaderMeta]", "[strctSectionHeaderActions]", "*"], true, never>;
926
926
  }
927
927
 
928
+ /** Tooltip placement relative to the host element. */
929
+ type StrctTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
930
+ /**
931
+ * Raises the tooltip bubble beside `host` and returns the handle that takes it
932
+ * down. Shared, because a component that owns a reason of its own —
933
+ * `strct-button [disabledReason]` — must not apply `[strctTooltip]` to its own
934
+ * host: the same directive twice on one element is an error.
935
+ */
936
+ declare function strctShowTooltip(host: HTMLElement, text: string, position?: StrctTooltipPosition, doc?: Document): {
937
+ id: string;
938
+ dispose: () => void;
939
+ } | null;
940
+ /** Places a raised bubble beside its host, inside the viewport. */
941
+ declare function placeTooltip(host: HTMLElement, el: HTMLElement, position: StrctTooltipPosition): void;
942
+ /**
943
+ * Lightweight hover/focus tooltip. Renders a fixed-positioned bubble so it is
944
+ * never clipped by an ancestor's `overflow`.
945
+ * <button strct-button strctTooltip="More info">?</button>
946
+ */
947
+ declare class StrctTooltip implements OnDestroy {
948
+ private readonly host;
949
+ private readonly renderer;
950
+ private readonly doc;
951
+ private readonly bubbleId;
952
+ private bubble;
953
+ /** Tooltip text. */
954
+ readonly strctTooltip: _angular_core.InputSignal<string>;
955
+ /** Tooltip placement relative to the host. */
956
+ readonly tooltipPosition: _angular_core.InputSignal<StrctTooltipPosition>;
957
+ protected show(): void;
958
+ protected hide(): void;
959
+ protected onEscape(event: Event): void;
960
+ protected onScroll(): void;
961
+ ngOnDestroy(): void;
962
+ private place;
963
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTooltip, never>;
964
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctTooltip, "[strctTooltip]", never, { "strctTooltip": { "alias": "strctTooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
965
+ }
966
+
928
967
  /** Button visual variants. */
929
968
  type StrctButtonVariant = 'primary' | 'critical' | 'outline' | 'flat' | 'neutral' | 'link';
930
969
  /** Button size variants. */
@@ -939,7 +978,12 @@ type StrctButtonSize = 'md' | 'sm' | 'mini';
939
978
  * <button strct-button variant="primary" solid>Deploy</button>
940
979
  * <a strct-button variant="flat" size="sm" href="...">Cancel</a>
941
980
  */
942
- declare class StrctButton {
981
+ declare class StrctButton implements OnDestroy {
982
+ private readonly hostEl;
983
+ private readonly doc;
984
+ private reason;
985
+ /** The raised reason's id, so the host can describe itself with it. */
986
+ protected readonly reasonId: _angular_core.WritableSignal<string | null>;
943
987
  /** Visual variant. */
944
988
  readonly variant: _angular_core.InputSignal<StrctButtonVariant>;
945
989
  /** Size variant. */
@@ -950,8 +994,30 @@ declare class StrctButton {
950
994
  readonly block: _angular_core.InputSignalWithTransform<boolean, unknown>;
951
995
  /** Square padding for a single-icon button. */
952
996
  readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
997
+ /**
998
+ * Disabled. Declared here so `disabledReason` can decide *how* it is
999
+ * disabled; without a reason it is the native attribute, exactly as before.
1000
+ */
1001
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
1002
+ /**
1003
+ * Why the action cannot be taken. With one, the button keeps its tab stop
1004
+ * and says no through `aria-disabled`, and the reason appears on hover and
1005
+ * on focus (and in `aria-describedby`) — a disabled button cannot be
1006
+ * focused, so the reason it carries can never be read.
1007
+ */
1008
+ readonly disabledReason: _angular_core.InputSignal<string>;
1009
+ /** Where the reason appears. */
1010
+ readonly disabledReasonPosition: _angular_core.InputSignal<StrctTooltipPosition>;
1011
+ /** Disabled with no reason to give: the native attribute, as before. */
1012
+ protected readonly nativeDisabled: _angular_core.Signal<boolean>;
1013
+ /** Disabled with a reason: focusable, and refusing clicks itself. */
1014
+ protected readonly softDisabled: _angular_core.Signal<boolean>;
1015
+ protected onClick(event: Event): void;
1016
+ protected showReason(): void;
1017
+ protected hideReason(): void;
1018
+ ngOnDestroy(): void;
953
1019
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctButton, never>;
954
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctButton, "button[strct-button], a[strct-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1020
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctButton, "button[strct-button], a[strct-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "solid": { "alias": "solid"; "required": false; "isSignal": true; }; "block": { "alias": "block"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disabledReason": { "alias": "disabledReason"; "required": false; "isSignal": true; }; "disabledReasonPosition": { "alias": "disabledReasonPosition"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
955
1021
  }
956
1022
  /** Segments adjacent buttons into a single joined control. */
957
1023
  declare class StrctButtonGroup {
@@ -1625,6 +1691,12 @@ interface StrctTreeDropEvent {
1625
1691
  */
1626
1692
  position: 'into';
1627
1693
  }
1694
+ /** Payload of (dropRefused): a refusal the consumer gave a reason for. */
1695
+ interface StrctTreeDropRefusal {
1696
+ source: StrctTreeNodeData;
1697
+ target: StrctTreeNodeData;
1698
+ reason: string;
1699
+ }
1628
1700
  /** Payload of (nodeMenuSelect). */
1629
1701
  interface StrctTreeMenuEvent {
1630
1702
  node: StrctTreeNodeData;
@@ -1760,11 +1832,16 @@ declare class StrctTree {
1760
1832
  * Two rules are built in whatever this returns: a node is never dropped on
1761
1833
  * itself, and never into its own subtree (that would be a cycle).
1762
1834
  */
1763
- readonly canDrop: _angular_core.InputSignal<((source: StrctTreeNodeData, target: StrctTreeNodeData) => boolean) | null>;
1835
+ readonly canDrop: _angular_core.InputSignal<((source: StrctTreeNodeData, target: StrctTreeNodeData) => boolean | string) | null>;
1764
1836
  /** How long a collapsed node must be hovered mid-drag before it expands (ms). */
1765
1837
  readonly dragExpandDelay: _angular_core.InputSignal<number>;
1766
1838
  /** Emitted for an accepted drop only. */
1767
1839
  readonly nodeDrop: _angular_core.OutputEmitterRef<StrctTreeDropEvent>;
1840
+ /**
1841
+ * Emitted once per target when `canDrop` refuses with a sentence: the same
1842
+ * sentence the operator is shown and the screen reader hears.
1843
+ */
1844
+ readonly dropRefused: _angular_core.OutputEmitterRef<StrctTreeDropRefusal>;
1768
1845
  /** Wording of the row shown under a node whose children are being read (`node.loading`). */
1769
1846
  readonly loadingLabel: _angular_core.InputSignal<string>;
1770
1847
  /** Accessible label of each node's chevron toggle; receives the expanded state and the node label. */
@@ -1844,11 +1921,24 @@ declare class StrctTree {
1844
1921
  /** Whether the current drag may land on `target`: the built-in guards first,
1845
1922
  * then the consumer's rule. */
1846
1923
  acceptsDrop(target: StrctTreeNodeData): boolean;
1924
+ /**
1925
+ * The consumer's answer for this target: `true`, `false`, or the sentence
1926
+ * the operator should read. The two built-in guards answer first and have
1927
+ * no sentence — a node onto itself, or into its own subtree.
1928
+ */
1929
+ private verdictFor;
1930
+ /** The refusal sentence for the target being hovered, or '' . */
1931
+ readonly dropRefusal: _angular_core.WritableSignal<string>;
1932
+ /** Where the pointer is, so the sentence can stand beside it. */
1933
+ protected readonly pointer: _angular_core.WritableSignal<{
1934
+ x: number;
1935
+ y: number;
1936
+ }>;
1847
1937
  /** Whether `node` is somewhere inside `root`'s subtree. */
1848
1938
  private containsNode;
1849
1939
  beginDrag(node: StrctTreeNodeData): void;
1850
1940
  /** Called from every `dragover` on a row: highlight, hover-expand, scroll. */
1851
- dragOver(target: StrctTreeNodeData, clientY: number): void;
1941
+ dragOver(target: StrctTreeNodeData, clientY: number, clientX?: number): void;
1852
1942
  dragLeave(target: StrctTreeNodeData): void;
1853
1943
  dropOn(target: StrctTreeNodeData): void;
1854
1944
  /** Always runs, including when the drop lands outside the tree (dragend). */
@@ -1864,7 +1954,7 @@ declare class StrctTree {
1864
1954
  /** Toggle a node's expansion, updating state and emitting outputs. */
1865
1955
  toggleNode(node: StrctTreeNodeData): void;
1866
1956
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTree, never>;
1867
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTree, "strct-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "framed": { "alias": "framed"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "nodeMenu": { "alias": "nodeMenu"; "required": false; "isSignal": true; }; "canDrag": { "alias": "canDrag"; "required": false; "isSignal": true; }; "canDrop": { "alias": "canDrop"; "required": false; "isSignal": true; }; "dragExpandDelay": { "alias": "dragExpandDelay"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "chevronAriaLabel": { "alias": "chevronAriaLabel"; "required": false; "isSignal": true; }; "expandedIds": { "alias": "expandedIds"; "required": false; "isSignal": true; }; }, { "nodeDrop": "nodeDrop"; "nodeActivated": "nodeActivated"; "nodeMenuSelect": "nodeMenuSelect"; "expandedIds": "expandedIdsChange"; "expandedChange": "expandedChange"; "nodeToggled": "nodeToggled"; }, ["projectedNodes"], ["*"], true, never>;
1957
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTree, "strct-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "framed": { "alias": "framed"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "nodeMenu": { "alias": "nodeMenu"; "required": false; "isSignal": true; }; "canDrag": { "alias": "canDrag"; "required": false; "isSignal": true; }; "canDrop": { "alias": "canDrop"; "required": false; "isSignal": true; }; "dragExpandDelay": { "alias": "dragExpandDelay"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "chevronAriaLabel": { "alias": "chevronAriaLabel"; "required": false; "isSignal": true; }; "expandedIds": { "alias": "expandedIds"; "required": false; "isSignal": true; }; }, { "nodeDrop": "nodeDrop"; "dropRefused": "dropRefused"; "nodeActivated": "nodeActivated"; "nodeMenuSelect": "nodeMenuSelect"; "expandedIds": "expandedIdsChange"; "expandedChange": "expandedChange"; "nodeToggled": "nodeToggled"; }, ["projectedNodes"], ["*"], true, never>;
1868
1958
  }
1869
1959
 
1870
1960
  /** Fixed modal width presets: sm 480 · md 640 · lg 860 · xl 1080 (px). */
@@ -2940,8 +3030,12 @@ declare class StrctFilterBar {
2940
3030
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctFilterBar, "strct-filter-bar", never, { "query": { "alias": "query"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "countLabel": { "alias": "countLabel"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; }, { "query": "queryChange"; "search": "search"; "removed": "removed"; "cleared": "cleared"; }, never, ["*"], true, never>;
2941
3031
  }
2942
3032
 
2943
- /** Lifecycle of an async (or deferred) validation check. */
2944
- type StrctValidationStatus = 'idle' | 'checking' | 'ok' | 'warning' | 'error';
3033
+ /**
3034
+ * Lifecycle of an async (or deferred) validation check — plus the two tones a
3035
+ * line uses when it states a fact rather than a verdict: `accent` for
3036
+ * something offered ("an update is available") and `info` for a plain note.
3037
+ */
3038
+ type StrctValidationStatus = 'idle' | 'checking' | 'ok' | 'warning' | 'error' | 'accent' | 'info';
2945
3039
  /**
2946
3040
  * A first-class "validating… → ok / warning / error (reason)" model, so apps stop
2947
3041
  * composing a spinner + badge by hand (e.g. live reachability checks while typing).
@@ -2971,9 +3065,20 @@ declare class StrctCellStatus {
2971
3065
  readonly state: _angular_core.InputSignal<StrctValidationState>;
2972
3066
  /** Accessible label for the 'checking' spinner (localizable). */
2973
3067
  readonly loadingLabel: _angular_core.InputSignal<string>;
2974
- protected readonly icon: _angular_core.Signal<string>;
3068
+ /**
3069
+ * An icon of your own, in place of the one the status carries — "an update
3070
+ * is available" is an `arrowUp`, not a tick.
3071
+ */
3072
+ readonly icon: _angular_core.InputSignal<string>;
3073
+ /**
3074
+ * Whether the message is announced when it changes. True for a verdict that
3075
+ * has just arrived (the default, as before); false for a line that states a
3076
+ * fact, which is not a change to announce.
3077
+ */
3078
+ readonly announce: _angular_core.InputSignalWithTransform<boolean, unknown>;
3079
+ protected readonly shownIcon: _angular_core.Signal<string>;
2975
3080
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCellStatus, never>;
2976
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCellStatus, "strct-cell-status, [strct-cell-status]", never, { "state": { "alias": "state"; "required": true; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3081
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCellStatus, "strct-cell-status, [strct-cell-status]", never, { "state": { "alias": "state"; "required": true; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "announce": { "alias": "announce"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2977
3082
  }
2978
3083
 
2979
3084
  /** Text or a control rendered inside the field's box, before the input. */
@@ -4140,8 +4245,19 @@ declare class StrctDesc {
4140
4245
  readonly icon: _angular_core.InputSignal<string>;
4141
4246
  /** A quiet second line under the value — "last seen 12 s ago". */
4142
4247
  readonly note: _angular_core.InputSignal<string>;
4248
+ /**
4249
+ * The value is a destination: the whole value becomes the link, with the
4250
+ * library's link and focus style. `href` for an address outside the app.
4251
+ */
4252
+ readonly href: _angular_core.InputSignal<string>;
4253
+ /** The same, routed — takes what `[routerLink]` takes. */
4254
+ readonly routerLink: _angular_core.InputSignal<string | unknown[] | null>;
4255
+ /** `target="_blank"` opens a new tab; the safe `rel` comes with it. */
4256
+ readonly target: _angular_core.InputSignal<string>;
4257
+ /** A new tab never gets a handle on the opener. */
4258
+ protected relFor(target: string): string | null;
4143
4259
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDesc, never>;
4144
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDesc, "strct-desc, div[strctDesc]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; "muted": { "alias": "muted"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "note": { "alias": "note"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
4260
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDesc, "strct-desc, div[strctDesc]", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; "muted": { "alias": "muted"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusLabel": { "alias": "statusLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "note": { "alias": "note"; "required": false; "isSignal": true; }; "href": { "alias": "href"; "required": false; "isSignal": true; }; "routerLink": { "alias": "routerLink"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
4145
4261
  }
4146
4262
 
4147
4263
  /** Column definition for the table. */
@@ -6064,33 +6180,6 @@ declare class StrctAlert {
6064
6180
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctAlert, "strct-alert", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "dismissLabel": { "alias": "dismissLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["[strctAlertActions]", "*"], true, never>;
6065
6181
  }
6066
6182
 
6067
- /** Tooltip placement relative to the host element. */
6068
- type StrctTooltipPosition = 'top' | 'bottom' | 'left' | 'right';
6069
- /**
6070
- * Lightweight hover/focus tooltip. Renders a fixed-positioned bubble so it is
6071
- * never clipped by an ancestor's `overflow`.
6072
- * <button strct-button strctTooltip="More info">?</button>
6073
- */
6074
- declare class StrctTooltip implements OnDestroy {
6075
- private readonly host;
6076
- private readonly renderer;
6077
- private readonly doc;
6078
- private readonly bubbleId;
6079
- private bubble;
6080
- /** Tooltip text. */
6081
- readonly strctTooltip: _angular_core.InputSignal<string>;
6082
- /** Tooltip placement relative to the host. */
6083
- readonly tooltipPosition: _angular_core.InputSignal<StrctTooltipPosition>;
6084
- protected show(): void;
6085
- protected hide(): void;
6086
- protected onEscape(event: Event): void;
6087
- protected onScroll(): void;
6088
- ngOnDestroy(): void;
6089
- private place;
6090
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTooltip, never>;
6091
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctTooltip, "[strctTooltip]", never, { "strctTooltip": { "alias": "strctTooltip"; "required": true; "isSignal": true; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6092
- }
6093
-
6094
6183
  /** Signpost popover placement. */
6095
6184
  type StrctSignpostPosition = 'top' | 'bottom' | 'left' | 'right';
6096
6185
  /**
@@ -7790,16 +7879,30 @@ declare class StrctQr {
7790
7879
  * <strct-change from="v10.27" to="v10.28" mono />
7791
7880
  */
7792
7881
  declare class StrctChange {
7793
- /** The value before. */
7882
+ /**
7883
+ * The value before. Empty for something that did not exist — an install
7884
+ * reads "→ 1.4.2", and the sentence says "set to 1.4.2".
7885
+ */
7794
7886
  readonly from: _angular_core.InputSignal<string>;
7795
- /** The value after. */
7887
+ /**
7888
+ * The value after. Empty for something that is gone — a removal reads
7889
+ * "1.4.1 → —", and the sentence says "1.4.1 removed".
7890
+ */
7796
7891
  readonly to: _angular_core.InputSignal<string>;
7797
7892
  /** Monospace, for versions and identifiers. */
7798
7893
  readonly mono: _angular_core.InputSignalWithTransform<boolean, unknown>;
7799
7894
  /** What assistive tech hears in place of the arrow (localisable). */
7800
7895
  readonly label: _angular_core.InputSignal<(from: string, to: string) => string>;
7896
+ /** The sentence for a value that had no "before" (localisable). */
7897
+ readonly addedLabel: _angular_core.InputSignal<(to: string) => string>;
7898
+ /** The sentence for a value that is gone (localisable). */
7899
+ readonly removedLabel: _angular_core.InputSignal<(from: string) => string>;
7900
+ /** What stands where the new value would be when there is none. */
7901
+ readonly removedMark: _angular_core.InputSignal<string>;
7902
+ /** One side or two: the sentence assistive tech hears. */
7903
+ protected readonly sentence: _angular_core.Signal<string>;
7801
7904
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctChange, never>;
7802
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctChange, "strct-change", never, { "from": { "alias": "from"; "required": true; "isSignal": true; }; "to": { "alias": "to"; "required": true; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7905
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctChange, "strct-change", never, { "from": { "alias": "from"; "required": false; "isSignal": true; }; "to": { "alias": "to"; "required": false; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "addedLabel": { "alias": "addedLabel"; "required": false; "isSignal": true; }; "removedLabel": { "alias": "removedLabel"; "required": false; "isSignal": true; }; "removedMark": { "alias": "removedMark"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7803
7906
  }
7804
7907
 
7805
7908
  /**
@@ -8689,6 +8792,12 @@ interface StrctProductItem {
8689
8792
  status?: StrctStatus;
8690
8793
  /** The product's own colour (a token or value): the row's icon takes it. */
8691
8794
  tone?: string;
8795
+ /**
8796
+ * The product's accent, written on the row as `data-accent`: the library's
8797
+ * tints follow it (5.15.0), so the checked row is filled in **that
8798
+ * product's** accent rather than the shell's.
8799
+ */
8800
+ accent?: string;
8692
8801
  /**
8693
8802
  * The chip's own shade. The chip sits on `--hdr`, which is dark in every
8694
8803
  * scheme, and the menu rows on `--bg-1`: one colour measured 2.45–2.93 : 1
@@ -8748,5 +8857,5 @@ declare class StrctProductSwitcher {
8748
8857
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctProductSwitcher, "strct-product-switcher", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "footerItems": { "alias": "footerItems"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "switchLabel": { "alias": "switchLabel"; "required": false; "isSignal": true; }; "shortLabelWidth": { "alias": "shortLabelWidth"; "required": false; "isSignal": true; }; }, { "current": "currentChange"; "opened": "opened"; "select": "select"; }, never, never, true, never>;
8749
8858
  }
8750
8859
 
8751
- export { FOCUSABLE_SELECTOR, STRCT_DP_DOW, STRCT_DP_DOW_FULL, STRCT_DP_MONTHS, STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_MD_LIMITS, STRCT_NOTIFICATION_HISTORY_LIMIT, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, StrctAccordionPanelMeta, StrctAlert, StrctAlertActions, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCardHeaderActions, StrctCardHeaderLeading, StrctCardHeaderMeta, StrctCardHeaderNote, StrctCascadeColumn, StrctCascadeHost, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChange, StrctChart, StrctChatAttachment, StrctChatComposer, StrctChatMessage, StrctChatMessageActions, StrctChatThread, StrctCheckbox, StrctChips, StrctCode, StrctCodeInline, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctConfirmOutlet, StrctConfirmService, StrctContextMenu, StrctContextMenuTrigger, StrctControlDescription, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatagridActionBarCaption, StrctDatepicker, StrctDatetimePicker, StrctDesc, StrctDescriptionList, StrctDetailPaneActions, StrctDetailPaneMeta, StrctDetailPaneTitle, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownGroup, StrctDropdownItem, StrctDropdownItemAction, StrctDropdownItemDescription, StrctDropdownItemIcon, StrctDropdownItemLabel, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFieldGroup, StrctFieldHint, StrctFieldPrefix, StrctFieldSuffix, StrctFieldValue, StrctFile, StrctFilterBar, StrctFlow, StrctFlowNodeTemplate, StrctFooter, StrctGauge, StrctGroupHeaderDef, StrctHeader, StrctHeaderAction, StrctHeatmap, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInlineEdit, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLegend, StrctList, StrctListItem, StrctListItemDescription, StrctListItemLeading, StrctListItemMeta, StrctListItemTrailing, StrctLiveIndicator, StrctLogViewer, StrctLogin, StrctMarkdown, StrctMarkdownToken, StrctMediaFrame, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctModalContent, StrctNav, StrctNavItem, StrctNotificationCenter, StrctNumber, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPageHeaderTitleMeta, StrctPagination, StrctPassword, StrctPopover, StrctPopoverTrigger, StrctProductSwitcher, StrctProgress, StrctQr, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderGroup, StrctReorderHandle, StrctReorderItem, StrctResizeHandle, StrctRowDetailDef, StrctSearchbox, StrctSectionHeader, StrctSectionHeaderActions, StrctSectionHeaderMeta, StrctSectionMenu, StrctSegmented, StrctSelect, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSignpostTrigger, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStatusDot, StrctStep, StrctStepAction, StrctSteps, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctTagLeading, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctToolbar, StrctToolbarCaption, StrctToolbarSpacer, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctTreeSelect, StrctVerticalNav, StrctWatermark, StrctWindow, StrctWindowDock, StrctWindowDockItem, StrctWindowService, StrctWizard, StrctWizardAside, __qrInternals, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, parseInlines, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctCheckHostDisplay, strctCheckHostInputs, strctClassifyHref, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctParseMarkdown, strctQrMatrix, strctValidationIcon, strctValidationTone, unlockBodyScroll };
8752
- export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartAnnotation, StrctChartColor, StrctChartCurve, StrctChartSeries, StrctChartSlot, StrctChartStatus, StrctChartSummaryInfo, StrctChartThreshold, StrctChartType, StrctChatAuthor, StrctColumn, StrctCommandItem, StrctConfirmOptions, StrctConfirmTone, StrctDatagridColumn, StrctDatagridColumnState, StrctDatagridFilters, StrctDatagridGroup, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowColumn, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeaderActionConfig, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMdAlign, StrctMdBlock, StrctMdInline, StrctMdToken, StrctMdTokenizer, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProductItem, StrctProgressSegment, StrctProgressStatus, StrctQrEcc, StrctRailItem, StrctRailStatus, StrctReorderEvent, StrctReorderMoveEvent, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctStatusDotSize, StrctStepPhase, StrctStepState, StrctStepsLabels, StrctTagStatus, StrctThresholds, StrctTimeRange, StrctTimeRangePreset, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTourStep, StrctTransferItem, StrctTreeDropEvent, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus, StrctWindowBounds, StrctWindowLabels, StrctWindowOutsidePointer, StrctWizardDefaults };
8860
+ export { FOCUSABLE_SELECTOR, STRCT_DP_DOW, STRCT_DP_DOW_FULL, STRCT_DP_MONTHS, STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_MD_LIMITS, STRCT_NOTIFICATION_HISTORY_LIMIT, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, StrctAccordionPanelMeta, StrctAlert, StrctAlertActions, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCardHeaderActions, StrctCardHeaderLeading, StrctCardHeaderMeta, StrctCardHeaderNote, StrctCascadeColumn, StrctCascadeHost, StrctCascadeSelect, StrctCellDef, StrctCellStatus, StrctChange, StrctChart, StrctChatAttachment, StrctChatComposer, StrctChatMessage, StrctChatMessageActions, StrctChatThread, StrctCheckbox, StrctChips, StrctCode, StrctCodeInline, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctConfirmOutlet, StrctConfirmService, StrctContextMenu, StrctContextMenuTrigger, StrctControlDescription, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatagridActionBarCaption, StrctDatepicker, StrctDatetimePicker, StrctDesc, StrctDescriptionList, StrctDetailPaneActions, StrctDetailPaneMeta, StrctDetailPaneTitle, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownGroup, StrctDropdownItem, StrctDropdownItemAction, StrctDropdownItemDescription, StrctDropdownItemIcon, StrctDropdownItemLabel, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFieldGroup, StrctFieldHint, StrctFieldPrefix, StrctFieldSuffix, StrctFieldValue, StrctFile, StrctFilterBar, StrctFlow, StrctFlowNodeTemplate, StrctFooter, StrctGauge, StrctGroupHeaderDef, StrctHeader, StrctHeaderAction, StrctHeatmap, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInlineEdit, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLegend, StrctList, StrctListItem, StrctListItemDescription, StrctListItemLeading, StrctListItemMeta, StrctListItemTrailing, StrctLiveIndicator, StrctLogViewer, StrctLogin, StrctMarkdown, StrctMarkdownToken, StrctMediaFrame, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctModalContent, StrctNav, StrctNavItem, StrctNotificationCenter, StrctNumber, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPageHeaderTitleMeta, StrctPagination, StrctPassword, StrctPopover, StrctPopoverTrigger, StrctProductSwitcher, StrctProgress, StrctQr, StrctRadio, StrctRadioGroup, StrctRail, StrctRange, StrctRatePipe, StrctRating, StrctReorder, StrctReorderGroup, StrctReorderHandle, StrctReorderItem, StrctResizeHandle, StrctRowDetailDef, StrctSearchbox, StrctSectionHeader, StrctSectionHeaderActions, StrctSectionHeaderMeta, StrctSectionMenu, StrctSegmented, StrctSelect, StrctShell, StrctShellService, StrctSiPipe, StrctSignpost, StrctSignpostTrigger, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctSplitButton, StrctSplitter, StrctStack, StrctStackItem, StrctStatusDot, StrctStep, StrctStepAction, StrctSteps, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctTagLeading, StrctThemeService, StrctThemeSwitcher, StrctTimeRangePicker, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctToolbar, StrctToolbarCaption, StrctToolbarSpacer, StrctTooltip, StrctTour, StrctTransfer, StrctTree, StrctTreeNode, StrctTreeSelect, StrctVerticalNav, StrctWatermark, StrctWindow, StrctWindowDock, StrctWindowDockItem, StrctWindowService, StrctWizard, StrctWizardAside, __qrInternals, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, parseInlines, placeTooltip, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctCheckHostDisplay, strctCheckHostInputs, strctClassifyHref, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctParseMarkdown, strctQrMatrix, strctShowTooltip, strctValidationIcon, strctValidationTone, unlockBodyScroll };
8861
+ export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartAnnotation, StrctChartColor, StrctChartCurve, StrctChartSeries, StrctChartSlot, StrctChartStatus, StrctChartSummaryInfo, StrctChartThreshold, StrctChartType, StrctChatAuthor, StrctColumn, StrctCommandItem, StrctConfirmOptions, StrctConfirmTone, StrctDatagridColumn, StrctDatagridColumnState, StrctDatagridFilters, StrctDatagridGroup, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowColumn, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeaderActionConfig, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMdAlign, StrctMdBlock, StrctMdInline, StrctMdToken, StrctMdTokenizer, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProductItem, StrctProgressSegment, StrctProgressStatus, StrctQrEcc, StrctRailItem, StrctRailStatus, StrctReorderEvent, StrctReorderMoveEvent, StrctRow, StrctRowId, StrctSegmentedOption, StrctSegmentedSize, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctStatus, StrctStatusDotSize, StrctStepPhase, StrctStepState, StrctStepsLabels, StrctTagStatus, StrctThresholds, StrctTimeRange, StrctTimeRangePreset, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTourStep, StrctTransferItem, StrctTreeDropEvent, StrctTreeDropRefusal, StrctTreeMenuEvent, StrctTreeNodeData, StrctTreeNodeMenuFn, StrctValidationState, StrctValidationStatus, StrctWindowBounds, StrctWindowLabels, StrctWindowOutsidePointer, StrctWizardDefaults };