@akcelik/strct 5.6.1 → 5.8.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.6.1",
3
+ "version": "5.8.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",
package/styles/_base.scss CHANGED
@@ -193,7 +193,20 @@ kbd,
193
193
  color: var(--acc);
194
194
  }
195
195
 
196
- .strct-reorder__handle {
196
+ /* Text that is read but not shown — a column's name where an icon stands for
197
+ it, an instruction a pointer user never needs. In flow and 1x1, so it never
198
+ extends a page's scrollable area the way an out-of-flow box can. The
199
+ library had this inlined in five components. */
200
+ .strct-sr-only {
201
+ display: inline-block;
202
+ width: 1px;
203
+ height: 1px;
204
+ overflow: hidden;
205
+ clip-path: inset(50%);
206
+ white-space: nowrap;
207
+ }
208
+
209
+ [strctReorderItem][draggable='true'] .strct-reorder__handle {
197
210
  cursor: grab;
198
211
  }
199
212
  [strctReorderItem][draggable='true']:not(:has(.strct-reorder__handle)) {
@@ -452,6 +452,10 @@ declare class StrctShell {
452
452
  readonly skipLinkTarget: _angular_core.InputSignal<string | null>;
453
453
  /** The link's text (localisable). */
454
454
  readonly skipLinkLabel: _angular_core.InputSignal<string>;
455
+ /** The name of the backdrop that closes the navigation drawer on a phone. */
456
+ readonly closeNavLabel: _angular_core.InputSignal<string>;
457
+ /** The drawer's open state lives on the shell, and so does its backdrop. */
458
+ protected readonly shell: StrctShellService;
455
459
  private readonly doc;
456
460
  /**
457
461
  * Moves focus rather than only the scroll position: an href alone scrolls
@@ -459,7 +463,7 @@ declare class StrctShell {
459
463
  */
460
464
  protected skipToMain(event: Event): void;
461
465
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctShell, never>;
462
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctShell, "strct-shell", never, { "skipLinkTarget": { "alias": "skipLinkTarget"; "required": false; "isSignal": true; }; "skipLinkLabel": { "alias": "skipLinkLabel"; "required": false; "isSignal": true; }; }, {}, never, ["strct-header", "*", "strct-footer"], true, never>;
466
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctShell, "strct-shell", never, { "skipLinkTarget": { "alias": "skipLinkTarget"; "required": false; "isSignal": true; }; "skipLinkLabel": { "alias": "skipLinkLabel"; "required": false; "isSignal": true; }; "closeNavLabel": { "alias": "closeNavLabel"; "required": false; "isSignal": true; }; }, {}, never, ["strct-header", "*", "strct-footer"], true, never>;
463
467
  }
464
468
  /** Top application bar. Holds brand on the left and actions on the right. */
465
469
  declare class StrctHeader {
@@ -730,6 +734,11 @@ declare class StrctList {
730
734
  * `strct-list-item [wrap]` turns it on for one row.
731
735
  */
732
736
  readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
737
+ /**
738
+ * Drop the rows' inline padding, so a list of statements lines up with the
739
+ * paragraphs around it instead of sitting 12px inside them.
740
+ */
741
+ readonly flush: _angular_core.InputSignalWithTransform<boolean, unknown>;
733
742
  /** Hairline between rows. */
734
743
  readonly dividers: _angular_core.InputSignalWithTransform<boolean, unknown>;
735
744
  /** Shown when the list has no items. */
@@ -738,7 +747,7 @@ declare class StrctList {
738
747
  readonly label: _angular_core.InputSignal<string>;
739
748
  protected readonly items: _angular_core.Signal<readonly StrctListItem[]>;
740
749
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctList, never>;
741
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctList, "strct-list", never, { "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "dividers": { "alias": "dividers"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
750
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctList, "strct-list", never, { "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; "dividers": { "alias": "dividers"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, ["items"], ["*"], true, never>;
742
751
  }
743
752
 
744
753
  /** Follows the heading on its line — a badge, a count, a status dot. */
@@ -2522,17 +2531,24 @@ declare class StrctCodeInline {
2522
2531
  readonly value: _angular_core.InputSignal<string>;
2523
2532
  /** Long ids wrap instead of overflowing a narrow card. */
2524
2533
  readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
2534
+ /**
2535
+ * What the copy button is called. Two spans in the same drawer are both
2536
+ * "Copy" without it; these are "Copy thumbprint" and "Copy serial number".
2537
+ */
2538
+ readonly copyLabel: _angular_core.InputSignal<string>;
2525
2539
  private readonly host;
2526
2540
  private readonly vcr;
2527
2541
  private readonly destroyRef;
2528
2542
  /** The button, once it exists; and a counter the observer bumps. */
2529
2543
  private readonly copyRef;
2530
2544
  private readonly revision;
2545
+ /** The host exists: nothing may be created into it before that. */
2546
+ private readonly rendered;
2531
2547
  constructor();
2532
2548
  /** What the element says, without the copy button's own content. */
2533
2549
  private ownText;
2534
2550
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCodeInline, never>;
2535
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctCodeInline, "[strctCode]", never, { "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2551
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctCodeInline, "[strctCode]", never, { "copyable": { "alias": "copyable"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "copyLabel": { "alias": "copyLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2536
2552
  }
2537
2553
 
2538
2554
  /** One active filter chip in a {@link StrctFilterBar}. */
@@ -2641,8 +2657,15 @@ declare class StrctFieldHint {
2641
2657
  * 9px above the label's line, because the column centres on a 34px control.
2642
2658
  */
2643
2659
  declare class StrctFieldValue {
2660
+ /**
2661
+ * What the slot holds. Text (the default) reads on the label's own line; a
2662
+ * `control` — a segmented picker, a small button, a switch with its own box
2663
+ * — is centred where a real control in this column would be, rather than
2664
+ * pushed down by the padding that puts text on the line.
2665
+ */
2666
+ readonly strctFieldValue: _angular_core.InputSignal<"" | "text" | "control">;
2644
2667
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctFieldValue, never>;
2645
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctFieldValue, "[strctFieldValue]", never, {}, {}, never, never, true, never>;
2668
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctFieldValue, "[strctFieldValue]", never, { "strctFieldValue": { "alias": "strctFieldValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2646
2669
  }
2647
2670
  /**
2648
2671
  * Wrapper that opts a run of `layout="inline"` fields out of the hairlines
@@ -2806,6 +2829,8 @@ declare class StrctToggle implements ControlValueAccessor {
2806
2829
  * `[strctControlDescription]` projects one with markup in it.
2807
2830
  */
2808
2831
  readonly description: _angular_core.InputSignal<string>;
2832
+ /** The switch's accessible name, where no visible label gives it one. */
2833
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
2809
2834
  private readonly n;
2810
2835
  protected readonly descId: string;
2811
2836
  protected readonly labelId: string;
@@ -2823,7 +2848,7 @@ declare class StrctToggle implements ControlValueAccessor {
2823
2848
  registerOnTouched(fn: () => void): void;
2824
2849
  setDisabledState(isDisabled: boolean): void;
2825
2850
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctToggle, never>;
2826
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctToggle, "strct-toggle", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, ["projected"], ["[strctControlDescription]", "*"], true, never>;
2851
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctToggle, "strct-toggle", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, ["projected"], ["[strctControlDescription]", "*"], true, never>;
2827
2852
  }
2828
2853
 
2829
2854
  /**
@@ -3414,6 +3439,12 @@ declare class StrctSelect implements ControlValueAccessor {
3414
3439
  readonly options: _angular_core.InputSignal<StrctOption[]>;
3415
3440
  /** Muted text shown while no value is selected (localizable). */
3416
3441
  readonly placeholder: _angular_core.InputSignal<string>;
3442
+ /**
3443
+ * The control's accessible name, where it is not inside a `strct-field`.
3444
+ * ARIA does not let a `combobox` take its name from its content, so a bare
3445
+ * select — a filter above a list, a cell editor — has none without this.
3446
+ */
3447
+ readonly ariaLabel: _angular_core.InputSignal<string | null>;
3417
3448
  /** Accessible name of the listbox (localizable). */
3418
3449
  readonly listLabel: _angular_core.InputSignal<string>;
3419
3450
  /** Text shown when `options` is empty (localizable). */
@@ -3460,7 +3491,7 @@ declare class StrctSelect implements ControlValueAccessor {
3460
3491
  registerOnTouched(fn: () => void): void;
3461
3492
  setDisabledState(isDisabled: boolean): void;
3462
3493
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctSelect, never>;
3463
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSelect, "strct-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "listLabel": { "alias": "listLabel"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3494
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSelect, "strct-select", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "listLabel": { "alias": "listLabel"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "compareWith": { "alias": "compareWith"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3464
3495
  }
3465
3496
 
3466
3497
  interface DayCell {
@@ -3841,6 +3872,10 @@ interface StrctDatagridLabels {
3841
3872
  editCell: string;
3842
3873
  /** How an editable cell says, to assistive tech, that it can be edited. */
3843
3874
  editCellInstructions: string;
3875
+ /** The names of the utility columns, read but not shown. */
3876
+ detailColumn: string;
3877
+ expandColumn: string;
3878
+ selectColumn: string;
3844
3879
  toggleChildren: string;
3845
3880
  quickFilter: string;
3846
3881
  /** `paging="more"`: the button that asks for the next slice. */
@@ -3884,7 +3919,12 @@ interface StrctDatagridColumn {
3884
3919
  */
3885
3920
  editor?: 'text' | 'number' | 'select';
3886
3921
  /** Options for `editor: 'select'` (the library's own option shape). */
3887
- editorOptions?: StrctOption[];
3922
+ /**
3923
+ * The choices an `editor: 'select'` offers. A function is asked per row: a
3924
+ * rule that holds a value the host no longer reports lists it for that row
3925
+ * only, rather than every row's picker carrying every other row's.
3926
+ */
3927
+ editorOptions?: StrctOption[] | ((row: StrctRow) => StrctOption[]);
3888
3928
  /** Bounds and step for `editor: 'number'`. */
3889
3929
  editorMin?: number;
3890
3930
  editorMax?: number;
@@ -4078,6 +4118,9 @@ declare class StrctDatagrid {
4078
4118
  clearFilter: string;
4079
4119
  editCell: string;
4080
4120
  editCellInstructions: string;
4121
+ detailColumn: string;
4122
+ expandColumn: string;
4123
+ selectColumn: string;
4081
4124
  toggleChildren: string;
4082
4125
  quickFilter: string;
4083
4126
  loadMore: string;
@@ -4314,6 +4357,8 @@ declare class StrctDatagrid {
4314
4357
  protected onEditCellKeydown(row: StrctRow, col: StrctDatagridColumn, event: KeyboardEvent): void;
4315
4358
  /** Put focus back on the cell an editor just left, so the keys keep working. */
4316
4359
  private refocusCell;
4360
+ /** A column's choices, asked per row when the column gives a function. */
4361
+ protected editorOptionsFor(row: StrctRow, col: StrctDatagridColumn): StrctOption[];
4317
4362
  protected startEdit(row: StrctRow, col: StrctDatagridColumn): void;
4318
4363
  protected readonly captionId: string;
4319
4364
  /** Whether a cell has nothing to show and the column says what to show then. */
@@ -4482,6 +4527,8 @@ declare class StrctDatagrid {
4482
4527
  toggleRow(row: StrctRow): void;
4483
4528
  toggleAll(): void;
4484
4529
  clearSelection(): void;
4530
+ /** Whether `selectedId` has ever been given a value — see the effect. */
4531
+ private selectedIdDriven;
4485
4532
  /** Last known row object per selected id — selections made on one page stay
4486
4533
  * in the payload when the data set no longer contains them (lazy paging),
4487
4534
  * so `selectionChange` and `selectedCount` never disagree. */
@@ -6531,6 +6578,12 @@ interface StrctLegendItem {
6531
6578
  disabled?: boolean;
6532
6579
  /** Why a `disabled` row cannot be picked; its title and its description. */
6533
6580
  reason?: string;
6581
+ /**
6582
+ * What the row is, for any row — "vm.cpu.wait — CPU ready (written by the
6583
+ * agent)". `reason` is the why-not of a row that cannot be picked; this is
6584
+ * the what of one that can.
6585
+ */
6586
+ description?: string;
6534
6587
  }
6535
6588
  /**
6536
6589
  * A chart's key is a component. The same swatch · label · value rows serve a
@@ -6662,6 +6715,12 @@ declare class StrctMediaFrame {
6662
6715
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctMediaFrame, "strct-media-frame", never, { "ratio": { "alias": "ratio"; "required": false; "isSignal": true; }; "fit": { "alias": "fit"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "activateLabel": { "alias": "activateLabel"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, ["*"], true, never>;
6663
6716
  }
6664
6717
 
6718
+ /** What `(outsidePointer)` carries: where the pointer landed, and a veto. */
6719
+ interface StrctWindowOutsidePointer {
6720
+ target: Node;
6721
+ /** Keep the window open; the library does nothing further with this event. */
6722
+ cancel: () => void;
6723
+ }
6665
6724
  /** Where a window sits and how big it is, in viewport px. */
6666
6725
  interface StrctWindowBounds {
6667
6726
  x: number;
@@ -6741,6 +6800,12 @@ declare class StrctWindow {
6741
6800
  readonly resizeLabel: _angular_core.InputSignal<(corner: string) => string>;
6742
6801
  /** A leading icon in the title bar, as `strct-page-header [icon]` has. */
6743
6802
  readonly icon: _angular_core.InputSignal<string>;
6803
+ /**
6804
+ * Whatever the consumer needs to recognise this window elsewhere — a session
6805
+ * id, the object it shows. The dock passes it to `[strctWindowDockItem]`, so
6806
+ * an app no longer keeps its own window-to-thing index.
6807
+ */
6808
+ readonly data: _angular_core.InputSignal<unknown>;
6744
6809
  /**
6745
6810
  * What a double-click on the title bar does. A console whose content has a
6746
6811
  * real full screen of its own wants `none` and its own answer to
@@ -6751,6 +6816,12 @@ declare class StrctWindow {
6751
6816
  readonly closed: _angular_core.OutputEmitterRef<void>;
6752
6817
  /** The title bar was double-clicked, whatever `titleDblclick` then did. */
6753
6818
  readonly titleDblclicked: _angular_core.OutputEmitterRef<void>;
6819
+ /**
6820
+ * A pointer landed outside the window while `closeOnOutside="minimize"`,
6821
+ * before it is acted on. Call `cancel()` to keep the window as it is — a
6822
+ * console that owns its own shade, a drag that started on the page.
6823
+ */
6824
+ readonly outsidePointer: _angular_core.OutputEmitterRef<StrctWindowOutsidePointer>;
6754
6825
  protected readonly CORNERS: readonly ["nw", "ne", "sw", "se"];
6755
6826
  protected readonly titleId: string;
6756
6827
  protected readonly L: _angular_core.Signal<StrctWindowLabels>;
@@ -6768,6 +6839,12 @@ declare class StrctWindow {
6768
6839
  private restoreTo;
6769
6840
  /** A click beside the window, when `closeOnOutside` asks for one. */
6770
6841
  private readonly onOutside;
6842
+ /**
6843
+ * Whether the pointer landed in something stacked at or above this window:
6844
+ * a menu, a modal, a toast, a popover. They are rendered at the document's
6845
+ * root, so containment cannot answer this — the stacking order can.
6846
+ */
6847
+ private inOverlayAbove;
6771
6848
  constructor();
6772
6849
  /** Raise this window above the others when it is clicked. */
6773
6850
  protected focusWindow(): void;
@@ -6807,7 +6884,7 @@ declare class StrctWindow {
6807
6884
  private clamp;
6808
6885
  private setRect;
6809
6886
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWindow, never>;
6810
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindow, "strct-window", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "minimized": { "alias": "minimized"; "required": false; "isSignal": true; }; "maximized": { "alias": "maximized"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "closeOnOutside": { "alias": "closeOnOutside"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "resizeLabel": { "alias": "resizeLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "titleDblclick": { "alias": "titleDblclick"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "minimized": "minimizedChange"; "maximized": "maximizedChange"; "bounds": "boundsChange"; "closed": "closed"; "titleDblclicked": "titleDblclicked"; }, never, ["[strctWindowTitleMeta]", "[strctWindowActions]", "*", "[strctWindowStatus]"], true, never>;
6887
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindow, "strct-window", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "minimized": { "alias": "minimized"; "required": false; "isSignal": true; }; "maximized": { "alias": "maximized"; "required": false; "isSignal": true; }; "bounds": { "alias": "bounds"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "closeOnOutside": { "alias": "closeOnOutside"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "resizeLabel": { "alias": "resizeLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "titleDblclick": { "alias": "titleDblclick"; "required": false; "isSignal": true; }; }, { "open": "openChange"; "minimized": "minimizedChange"; "maximized": "maximizedChange"; "bounds": "boundsChange"; "closed": "closed"; "titleDblclicked": "titleDblclicked"; "outsidePointer": "outsidePointer"; }, never, ["[strctWindowTitleMeta]", "[strctWindowActions]", "*", "[strctWindowStatus]"], true, never>;
6811
6888
  }
6812
6889
  /**
6813
6890
  * What a dock chip shows, when the window's heading is not enough — a status
@@ -6832,6 +6909,11 @@ declare class StrctWindowDock {
6832
6909
  readonly label: _angular_core.InputSignal<string>;
6833
6910
  /** The name of each chip's close button. */
6834
6911
  readonly closeLabel: _angular_core.InputSignal<(heading: string) => string>;
6912
+ /**
6913
+ * The name of each chip itself — what restoring it does: "Show the console
6914
+ * of APP02". The window is passed, so its `data` can shape the sentence.
6915
+ */
6916
+ readonly restoreLabel: _angular_core.InputSignal<(w: StrctWindow) => string>;
6835
6917
  /** What each chip shows, when a heading is not enough. */
6836
6918
  protected readonly itemTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
6837
6919
  /**
@@ -6846,7 +6928,7 @@ declare class StrctWindowDock {
6846
6928
  readonly restoreRequest: _angular_core.OutputEmitterRef<StrctWindow>;
6847
6929
  protected onRestore(w: StrctWindow): void;
6848
6930
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWindowDock, never>;
6849
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindowDock, "strct-window-dock", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "restoreMode": { "alias": "restoreMode"; "required": false; "isSignal": true; }; }, { "restoreRequest": "restoreRequest"; }, ["itemTpl"], never, true, never>;
6931
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWindowDock, "strct-window-dock", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "closeLabel": { "alias": "closeLabel"; "required": false; "isSignal": true; }; "restoreLabel": { "alias": "restoreLabel"; "required": false; "isSignal": true; }; "restoreMode": { "alias": "restoreMode"; "required": false; "isSignal": true; }; }, { "restoreRequest": "restoreRequest"; }, ["itemTpl"], never, true, never>;
6850
6932
  }
6851
6933
 
6852
6934
  /** Who wrote a message. */
@@ -7679,4 +7761,4 @@ declare function strctCheckHostInputs(host: HTMLElement, selector: string, owns:
7679
7761
  declare function strctCheckHostDisplay(host: HTMLElement, selector: string, expected: string): void;
7680
7762
 
7681
7763
  export { FOCUSABLE_SELECTOR, STRCT_DP_DOW, STRCT_DP_DOW_FULL, STRCT_DP_MONTHS, STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_ICON_NAMES, STRCT_MASKS, STRCT_NOTIFICATION_HISTORY_LIMIT, STRCT_PALETTES, STRCT_RAW_ICONS, STRCT_TIME_RANGE_PRESETS, STRCT_WIZARD_DEFAULTS, StrctAccordion, StrctAccordionPanel, 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, StrctChatThread, StrctCheckbox, StrctChips, StrctCode, StrctCodeInline, StrctColorPicker, StrctCombobox, StrctCommandPalette, StrctConfirmOutlet, StrctConfirmService, StrctContextMenu, StrctContextMenuTrigger, StrctControlDescription, StrctCopy, StrctDatagrid, StrctDatagridActionBar, StrctDatagridActionBarCaption, StrctDatepicker, StrctDatetimePicker, StrctDesc, StrctDescriptionList, StrctDiff, StrctDivider, StrctDonut, StrctDrawer, StrctDrawerFooter, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctDropdownItemAction, StrctDropdownTrigger, StrctDurationPipe, StrctEmptyState, StrctField, StrctFieldGroup, StrctFieldHint, StrctFieldPrefix, StrctFieldSuffix, StrctFieldValue, StrctFile, StrctFilterBar, StrctFlow, StrctFlowNodeTemplate, StrctFooter, StrctGauge, StrctHeader, StrctHeatmap, StrctHero, StrctHotkeysHelp, StrctHotkeysService, StrctIcon, StrctInlineEdit, StrctInput, StrctInputMask, StrctInputOtp, StrctKbd, StrctKnob, StrctLegend, StrctList, StrctListItem, StrctListItemDescription, StrctListItemLeading, StrctListItemMeta, StrctListItemTrailing, StrctLiveIndicator, StrctLogViewer, StrctLogin, StrctMediaFrame, StrctMenuPanel, StrctMenuService, StrctMenubar, StrctMetricTile, StrctModal, StrctModalContent, StrctNav, StrctNavItem, StrctNotificationCenter, StrctNumber, StrctOverlay, StrctPageHeader, StrctPageHeaderActions, StrctPageHeaderCrumbs, StrctPageHeaderTitleMeta, StrctPagination, StrctPassword, StrctPopover, StrctPopoverTrigger, 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, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctCheckHostDisplay, strctCheckHostInputs, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctQrMatrix, strctValidationIcon, strctValidationTone, unlockBodyScroll };
7682
- 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, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowColumn, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, 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, StrctWizardDefaults };
7764
+ 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, StrctDatagridLabels, StrctDatagridLazyState, StrctDescAlign, StrctDescItem, StrctDiffRow, StrctDonutSegment, StrctDrawerSide, StrctDrawerSize, StrctEmptyVariant, StrctFilterChip, StrctFlowColumn, StrctFlowDirection, StrctFlowEdge, StrctFlowNode, StrctFlowOrientation, StrctHeatmapCell, StrctHeatmapSummaryInfo, StrctHotkey, StrctIconBadge, StrctIconName, StrctKnobStatus, StrctLegendItem, StrctLiveLabels, StrctLiveState, StrctLogLine, StrctMediaState, StrctMenuItem, StrctMenuLink, StrctMenuOpenOptions, StrctMenuPlacement, StrctMenuSection, StrctMenubarItem, StrctMetricStatus, StrctModalSize, StrctMode, StrctNotification, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, 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 };