@akcelik/strct 5.0.2 → 5.2.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/fesm2022/akcelik-strct.mjs +432 -80
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_base.scss +16 -0
- package/types/akcelik-strct.d.ts +104 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.2.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
|
@@ -177,6 +177,22 @@ kbd,
|
|
|
177
177
|
/* The affordance itself: a row that can be dragged says so, and a row that
|
|
178
178
|
delegates to a handle points at the handle instead. A display-only list
|
|
179
179
|
(reorderDisabled -> draggable="false") gets neither. */
|
|
180
|
+
/* FR-49-17 — a status word inside a grid cell ("blocked", "fits") needs its
|
|
181
|
+
tone without the box a badge draws. Same tokens the badges use, so the
|
|
182
|
+
vocabulary stays one vocabulary; each is AA on --bg-1 in all six schemes. */
|
|
183
|
+
.strct-text-success {
|
|
184
|
+
color: var(--success);
|
|
185
|
+
}
|
|
186
|
+
.strct-text-warning {
|
|
187
|
+
color: var(--warning);
|
|
188
|
+
}
|
|
189
|
+
.strct-text-critical {
|
|
190
|
+
color: var(--critical);
|
|
191
|
+
}
|
|
192
|
+
.strct-text-accent {
|
|
193
|
+
color: var(--acc);
|
|
194
|
+
}
|
|
195
|
+
|
|
180
196
|
.strct-reorder__handle {
|
|
181
197
|
cursor: grab;
|
|
182
198
|
}
|
package/types/akcelik-strct.d.ts
CHANGED
|
@@ -684,6 +684,12 @@ declare class StrctListItemTrailing {
|
|
|
684
684
|
declare class StrctListItem {
|
|
685
685
|
/** The row activates on click / Enter / Space and emits `activated`. */
|
|
686
686
|
readonly interactive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
687
|
+
/**
|
|
688
|
+
* Let the title and description wrap instead of ending in an ellipsis — for
|
|
689
|
+
* rows that carry a sentence. `strct-list [wrap]` does the same for every
|
|
690
|
+
* row at once; this is the per-row form.
|
|
691
|
+
*/
|
|
692
|
+
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
687
693
|
/** Marks the current row (`aria-current`). */
|
|
688
694
|
readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
689
695
|
/** Optional leading rail, as `strct-card [status]`. */
|
|
@@ -692,7 +698,7 @@ declare class StrctListItem {
|
|
|
692
698
|
readonly activated: _angular_core.OutputEmitterRef<void>;
|
|
693
699
|
protected onActivate(): void;
|
|
694
700
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctListItem, never>;
|
|
695
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctListItem, "strct-list-item", never, { "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, ["[strctListItemLeading]", "*", "[strctListItemDescription]", "[strctListItemMeta]", "[strctListItemTrailing]"], true, never>;
|
|
701
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctListItem, "strct-list-item", never, { "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, ["[strctListItemLeading]", "*", "[strctListItemDescription]", "[strctListItemMeta]", "[strctListItemTrailing]"], true, never>;
|
|
696
702
|
}
|
|
697
703
|
/**
|
|
698
704
|
* A short list of things with a status — alarms, findings, clusters in a
|
|
@@ -713,6 +719,11 @@ declare class StrctListItem {
|
|
|
713
719
|
declare class StrctList {
|
|
714
720
|
/** 32px rows instead of 44px. */
|
|
715
721
|
readonly dense: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
722
|
+
/**
|
|
723
|
+
* Every row's title and description wrap instead of ending in an ellipsis.
|
|
724
|
+
* `strct-list-item [wrap]` turns it on for one row.
|
|
725
|
+
*/
|
|
726
|
+
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
716
727
|
/** Hairline between rows. */
|
|
717
728
|
readonly dividers: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
718
729
|
/** Shown when the list has no items. */
|
|
@@ -721,7 +732,7 @@ declare class StrctList {
|
|
|
721
732
|
readonly label: _angular_core.InputSignal<string>;
|
|
722
733
|
protected readonly items: _angular_core.Signal<readonly StrctListItem[]>;
|
|
723
734
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctList, never>;
|
|
724
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctList, "strct-list", never, { "dense": { "alias": "dense"; "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>;
|
|
735
|
+
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>;
|
|
725
736
|
}
|
|
726
737
|
|
|
727
738
|
/** Follows the heading on its line — a badge, a count, a status dot. */
|
|
@@ -833,6 +844,13 @@ declare class StrctTag {
|
|
|
833
844
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
834
845
|
/** Accessible label for the remove button. */
|
|
835
846
|
readonly removeLabel: _angular_core.InputSignal<string>;
|
|
847
|
+
/**
|
|
848
|
+
* What activating the tag's body does, for assistive tech. The body's own
|
|
849
|
+
* name is its text plus the leading slot — "Connected APP02" — which says
|
|
850
|
+
* what the tag *is*, not what pressing it does ("Show the console of APP02").
|
|
851
|
+
* The × keeps `removeLabel`.
|
|
852
|
+
*/
|
|
853
|
+
readonly activateLabel: _angular_core.InputSignal<string>;
|
|
836
854
|
/**
|
|
837
855
|
* The body becomes a control: pointer, hover, focus ring, and `activated` on
|
|
838
856
|
* click / Enter / Space. The × stays a separate tab stop, so "open it" and
|
|
@@ -849,7 +867,7 @@ declare class StrctTag {
|
|
|
849
867
|
readonly activated: _angular_core.OutputEmitterRef<void>;
|
|
850
868
|
protected onActivate(): void;
|
|
851
869
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTag, never>;
|
|
852
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTag, "strct-tag", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; }, { "removed": "removed"; "activated": "activated"; }, never, ["[strctTagLeading]", "*"], true, never>;
|
|
870
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTag, "strct-tag", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "activateLabel": { "alias": "activateLabel"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "mono": { "alias": "mono"; "required": false; "isSignal": true; }; }, { "removed": "removed"; "activated": "activated"; }, never, ["[strctTagLeading]", "*"], true, never>;
|
|
853
871
|
}
|
|
854
872
|
|
|
855
873
|
/** Avatar size variants. */
|
|
@@ -1036,6 +1054,12 @@ declare class StrctCard {
|
|
|
1036
1054
|
readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1037
1055
|
/** Tighter paddings for dense dashboards. */
|
|
1038
1056
|
readonly dense: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1057
|
+
/**
|
|
1058
|
+
* Fill the height the layout gives the card (a stretched grid cell) as a
|
|
1059
|
+
* column: the block takes the slack and the footer sits on the bottom edge,
|
|
1060
|
+
* so a row of cards has its actions on one line.
|
|
1061
|
+
*/
|
|
1062
|
+
readonly fill: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1039
1063
|
/** Indeterminate top bar + aria-busy; body/footer dim and ignore input. */
|
|
1040
1064
|
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1041
1065
|
/** Allow collapsing to just the header (a chevron appears in the header). */
|
|
@@ -1044,7 +1068,7 @@ declare class StrctCard {
|
|
|
1044
1068
|
readonly collapsed: _angular_core.ModelSignal<boolean>;
|
|
1045
1069
|
toggle(): void;
|
|
1046
1070
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCard, never>;
|
|
1047
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCard, "strct-card", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["*"], true, never>;
|
|
1071
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCard, "strct-card", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "dense": { "alias": "dense"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "collapsible": { "alias": "collapsible"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["*"], true, never>;
|
|
1048
1072
|
}
|
|
1049
1073
|
/** Header section of a {@link StrctCard}. */
|
|
1050
1074
|
declare class StrctCardHeader {
|
|
@@ -1054,12 +1078,25 @@ declare class StrctCardHeader {
|
|
|
1054
1078
|
readonly heading: _angular_core.InputSignal<string>;
|
|
1055
1079
|
/** `title` — as today; `overline` — uppercase, letter-spaced, quieter. */
|
|
1056
1080
|
readonly appearance: _angular_core.InputSignal<"title" | "overline">;
|
|
1081
|
+
/**
|
|
1082
|
+
* Render `heading` as a real heading element at this level, so the card's
|
|
1083
|
+
* title joins the page outline. `null` (the default) keeps the span, which
|
|
1084
|
+
* is what a card inside an already-titled section wants.
|
|
1085
|
+
*/
|
|
1086
|
+
readonly level: _angular_core.InputSignal<2 | 3 | 5 | 4 | 6 | null>;
|
|
1087
|
+
/** Let a long heading wrap instead of ending in an ellipsis. */
|
|
1088
|
+
readonly wrap: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1057
1089
|
/** Accessible labels for the collapse toggle (localizable). */
|
|
1058
1090
|
readonly collapseLabel: _angular_core.InputSignal<string>;
|
|
1059
1091
|
readonly expandLabel: _angular_core.InputSignal<string>;
|
|
1060
1092
|
protected readonly card: StrctCard | null;
|
|
1061
1093
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCardHeader, never>;
|
|
1062
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCardHeader, "strct-card-header", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; }, {}, never, ["[strctCardHeaderMeta]", "*", "[strctCardHeaderNote]", "[strctCardHeaderActions]"], true, never>;
|
|
1094
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctCardHeader, "strct-card-header", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "wrap": { "alias": "wrap"; "required": false; "isSignal": true; }; "collapseLabel": { "alias": "collapseLabel"; "required": false; "isSignal": true; }; "expandLabel": { "alias": "expandLabel"; "required": false; "isSignal": true; }; }, {}, never, ["[strctCardHeaderLeading]", "[strctCardHeaderMeta]", "*", "[strctCardHeaderNote]", "[strctCardHeaderActions]"], true, never>;
|
|
1095
|
+
}
|
|
1096
|
+
/** Leads the card's heading — a drag grip, a status dot, an avatar. */
|
|
1097
|
+
declare class StrctCardHeaderLeading {
|
|
1098
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCardHeaderLeading, never>;
|
|
1099
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctCardHeaderLeading, "[strctCardHeaderLeading]", never, {}, {}, never, never, true, never>;
|
|
1063
1100
|
}
|
|
1064
1101
|
/** Follows the card's heading on its line — a badge, a count. */
|
|
1065
1102
|
declare class StrctCardHeaderMeta {
|
|
@@ -3739,6 +3776,8 @@ interface StrctDatagridLabels {
|
|
|
3739
3776
|
filterPlaceholder: string;
|
|
3740
3777
|
clearFilter: string;
|
|
3741
3778
|
editCell: string;
|
|
3779
|
+
/** How an editable cell says, to assistive tech, that it can be edited. */
|
|
3780
|
+
editCellInstructions: string;
|
|
3742
3781
|
toggleChildren: string;
|
|
3743
3782
|
quickFilter: string;
|
|
3744
3783
|
/** `paging="more"`: the button that asks for the next slice. */
|
|
@@ -3945,6 +3984,14 @@ declare class StrctDatagrid {
|
|
|
3945
3984
|
* selection; the user's subsequent toggles are preserved until the next change.
|
|
3946
3985
|
*/
|
|
3947
3986
|
readonly initialSelection: _angular_core.InputSignal<readonly unknown[] | null>;
|
|
3987
|
+
/**
|
|
3988
|
+
* The selection itself, two-way, for `selectionMode="multiple"` — what
|
|
3989
|
+
* `selectedId` is for single mode. Write it and the grid checks those rows
|
|
3990
|
+
* and counts them; the user's own picks write back, in the order they were
|
|
3991
|
+
* made. `null` (the default) means the consumer does not drive the
|
|
3992
|
+
* selection, so a grid that only seeds with `initialSelection` is unchanged.
|
|
3993
|
+
*/
|
|
3994
|
+
readonly selectedIds: _angular_core.ModelSignal<readonly unknown[] | null>;
|
|
3948
3995
|
/** Override any user-visible / assistive string (partial; merged over defaults). */
|
|
3949
3996
|
readonly labels: _angular_core.InputSignal<Partial<StrctDatagridLabels>>;
|
|
3950
3997
|
/** Effective labels (defaults + overrides). */
|
|
@@ -3967,6 +4014,7 @@ declare class StrctDatagrid {
|
|
|
3967
4014
|
filterPlaceholder: string;
|
|
3968
4015
|
clearFilter: string;
|
|
3969
4016
|
editCell: string;
|
|
4017
|
+
editCellInstructions: string;
|
|
3970
4018
|
toggleChildren: string;
|
|
3971
4019
|
quickFilter: string;
|
|
3972
4020
|
loadMore: string;
|
|
@@ -3981,6 +4029,17 @@ declare class StrctDatagrid {
|
|
|
3981
4029
|
readonly virtual: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3982
4030
|
/** Scroll viewport height in px (virtual mode). */
|
|
3983
4031
|
readonly viewportHeight: _angular_core.InputSignal<number>;
|
|
4032
|
+
/**
|
|
4033
|
+
* Bound the grid's own scroll box (px), with a sticky header — what
|
|
4034
|
+
* `viewportHeight` does for `virtual`, for every other grid: a grouped
|
|
4035
|
+
* picker inside a dialog scrolls instead of growing the page.
|
|
4036
|
+
*/
|
|
4037
|
+
readonly maxHeight: _angular_core.InputSignal<number | null>;
|
|
4038
|
+
/**
|
|
4039
|
+
* Show a pencil on an editable cell when it is hovered or focused. A mouse
|
|
4040
|
+
* user finds an editable cell by double-clicking one; nothing said so.
|
|
4041
|
+
*/
|
|
4042
|
+
readonly editHint: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
3984
4043
|
/** Uniform row height in px (virtual mode; tune when `compact`). */
|
|
3985
4044
|
readonly rowHeight: _angular_core.InputSignal<number>;
|
|
3986
4045
|
/**
|
|
@@ -4075,6 +4134,8 @@ declare class StrctDatagrid {
|
|
|
4075
4134
|
private readonly menu;
|
|
4076
4135
|
protected readonly detailDef: _angular_core.Signal<StrctRowDetailDef | undefined>;
|
|
4077
4136
|
protected readonly actionBarDef: _angular_core.Signal<StrctDatagridActionBar | undefined>;
|
|
4137
|
+
/** A read-only grid with a note needed an empty action bar to show it. */
|
|
4138
|
+
protected readonly actionBarCaptionDef: _angular_core.Signal<StrctDatagridActionBarCaption | undefined>;
|
|
4078
4139
|
private readonly cellDefs;
|
|
4079
4140
|
private readonly cellMap;
|
|
4080
4141
|
readonly page: _angular_core.WritableSignal<number>;
|
|
@@ -4160,6 +4221,36 @@ declare class StrctDatagrid {
|
|
|
4160
4221
|
protected isEditingCell(row: StrctRow, col: StrctDatagridColumn): boolean;
|
|
4161
4222
|
/** The value a typed editor holds while it is open (committed on Enter / blur). */
|
|
4162
4223
|
protected readonly editDraft: _angular_core.WritableSignal<unknown>;
|
|
4224
|
+
/**
|
|
4225
|
+
* Keyboard access to editable cells (FR-49-02). An editable cell opened only
|
|
4226
|
+
* on double-click, so a keyboard user could not reach one at all.
|
|
4227
|
+
*
|
|
4228
|
+
* The editable cells of a grid form one roving tab stop, as a toolbar's
|
|
4229
|
+
* buttons do: Tab reaches the grid, the arrow keys move between cells,
|
|
4230
|
+
* Enter or F2 opens the editor and Escape closes it — focus coming back to
|
|
4231
|
+
* the cell either way, so the next key press continues from where the user
|
|
4232
|
+
* was. While an editor is open, Tab commits it and opens the next cell, the
|
|
4233
|
+
* way a spreadsheet fills a row.
|
|
4234
|
+
*/
|
|
4235
|
+
protected readonly editHintId: string;
|
|
4236
|
+
/** The cell that currently holds the grid's editable-cell tab stop. */
|
|
4237
|
+
private readonly activeEditCell;
|
|
4238
|
+
private readonly editableColumns;
|
|
4239
|
+
protected readonly hasEditableColumn: _angular_core.Signal<boolean>;
|
|
4240
|
+
protected editCellTabindex(row: StrctRow, col: StrctDatagridColumn): number;
|
|
4241
|
+
protected onEditCellFocus(row: StrctRow, col: StrctDatagridColumn): void;
|
|
4242
|
+
/** Every editable cell in DOM order — the order the arrows walk. */
|
|
4243
|
+
private editCells;
|
|
4244
|
+
/**
|
|
4245
|
+
* Move focus `delta` cells along (or `delta` rows, when `byRow`). Focusing
|
|
4246
|
+
* the cell runs its own focus handler, so the roving tab stop follows.
|
|
4247
|
+
*/
|
|
4248
|
+
private moveEditFocus;
|
|
4249
|
+
/** Commit whatever the open editor holds, by the kind of editor it is. */
|
|
4250
|
+
private commitOpenEditor;
|
|
4251
|
+
protected onEditCellKeydown(row: StrctRow, col: StrctDatagridColumn, event: KeyboardEvent): void;
|
|
4252
|
+
/** Put focus back on the cell an editor just left, so the keys keep working. */
|
|
4253
|
+
private refocusCell;
|
|
4163
4254
|
protected startEdit(row: StrctRow, col: StrctDatagridColumn): void;
|
|
4164
4255
|
protected readonly captionId: string;
|
|
4165
4256
|
/** Whether a cell has nothing to show and the column says what to show then. */
|
|
@@ -4204,6 +4295,12 @@ declare class StrctDatagrid {
|
|
|
4204
4295
|
private readonly treeFlat;
|
|
4205
4296
|
protected readonly sorted: _angular_core.Signal<StrctRow[]>;
|
|
4206
4297
|
protected readonly paged: _angular_core.Signal<StrctRow[]>;
|
|
4298
|
+
/**
|
|
4299
|
+
* The footer exists for the count, the column chooser, the sync button and
|
|
4300
|
+
* whichever pager applies — `paging="more"` used to replace all of it, and a
|
|
4301
|
+
* chooser on a grid with no pager had nowhere to live.
|
|
4302
|
+
*/
|
|
4303
|
+
protected readonly showFooter: _angular_core.Signal<boolean>;
|
|
4207
4304
|
/** Full count for the pager / footer (server total in lazy mode). */
|
|
4208
4305
|
protected readonly totalCount: _angular_core.Signal<number>;
|
|
4209
4306
|
private readonly scrollTop;
|
|
@@ -4331,7 +4428,7 @@ declare class StrctDatagrid {
|
|
|
4331
4428
|
private commitSelection;
|
|
4332
4429
|
private compare;
|
|
4333
4430
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDatagrid, never>;
|
|
4334
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedId": { "alias": "selectedId"; "required": false; "isSignal": true; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "paging": { "alias": "paging"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "loadingMore": { "alias": "loadingMore"; "required": false; "isSignal": true; }; "moreTotal": { "alias": "moreTotal"; "required": false; "isSignal": true; }; "groupSelect": { "alias": "groupSelect"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "quickFilterAlign": { "alias": "quickFilterAlign"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "selectedId": "selectedIdChange"; "loadMore": "loadMore"; "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBarCaption]", "[strctDatagridActionBar]"], true, never>;
|
|
4431
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctDatagrid, "strct-datagrid", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "expandable": { "alias": "expandable"; "required": false; "isSignal": true; }; "detailPane": { "alias": "detailPane"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "singleLine": { "alias": "singleLine"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "resizable": { "alias": "resizable"; "required": false; "isSignal": true; }; "columnChooser": { "alias": "columnChooser"; "required": false; "isSignal": true; }; "sync": { "alias": "sync"; "required": false; "isSignal": true; }; "footerActionsDisabled": { "alias": "footerActionsDisabled"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedId": { "alias": "selectedId"; "required": false; "isSignal": true; }; "rowSelectable": { "alias": "rowSelectable"; "required": false; "isSignal": true; }; "flush": { "alias": "flush"; "required": false; "isSignal": true; }; "caption": { "alias": "caption"; "required": false; "isSignal": true; }; "paging": { "alias": "paging"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "loadingMore": { "alias": "loadingMore"; "required": false; "isSignal": true; }; "moreTotal": { "alias": "moreTotal"; "required": false; "isSignal": true; }; "groupSelect": { "alias": "groupSelect"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; "selectedIds": { "alias": "selectedIds"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "virtual": { "alias": "virtual"; "required": false; "isSignal": true; }; "viewportHeight": { "alias": "viewportHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "editHint": { "alias": "editHint"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "stateKey": { "alias": "stateKey"; "required": false; "isSignal": true; }; "columnState": { "alias": "columnState"; "required": false; "isSignal": true; }; "reorderable": { "alias": "reorderable"; "required": false; "isSignal": true; }; "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "quickFilter": { "alias": "quickFilter"; "required": false; "isSignal": true; }; "quickFilterFields": { "alias": "quickFilterFields"; "required": false; "isSignal": true; }; "quickFilterable": { "alias": "quickFilterable"; "required": false; "isSignal": true; }; "quickFilterAlign": { "alias": "quickFilterAlign"; "required": false; "isSignal": true; }; "childrenKey": { "alias": "childrenKey"; "required": false; "isSignal": true; }; }, { "selectedId": "selectedIdChange"; "loadMore": "loadMore"; "selectedIds": "selectedIdsChange"; "columnState": "columnStateChange"; "filters": "filtersChange"; "quickFilter": "quickFilterChange"; "selectionChange": "selectionChange"; "syncChange": "syncChange"; "rowAction": "rowAction"; "lazyLoad": "lazyLoad"; "cellEdit": "cellEdit"; }, ["detailDef", "actionBarDef", "actionBarCaptionDef", "cellDefs"], ["[strctDatagridActionBarCaption]", "[strctDatagridActionBar]"], true, never>;
|
|
4335
4432
|
}
|
|
4336
4433
|
|
|
4337
4434
|
/** Timeline node state colors. */
|
|
@@ -7363,5 +7460,5 @@ declare function strctCheckHostInputs(host: HTMLElement, selector: string, owns:
|
|
|
7363
7460
|
*/
|
|
7364
7461
|
declare function strctCheckHostDisplay(host: HTMLElement, selector: string, expected: string): void;
|
|
7365
7462
|
|
|
7366
|
-
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, StrctAnnouncer, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctBytesPipe, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCardHeaderActions, 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, 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, StrctWindowService, StrctWizard, StrctWizardAside, __qrInternals, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctCheckHostDisplay, strctCheckHostInputs, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctQrMatrix, strctValidationIcon, strctValidationTone, unlockBodyScroll };
|
|
7463
|
+
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, 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, 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, StrctWindowService, StrctWizard, StrctWizardAside, __qrInternals, focusFirstIn, keepTabInside, lockBodyScroll, parseAnsi, provideStrctWizardDefaults, registerStrctIcon, restoreFocus, saveFocusedElement, strctCheckHostDisplay, strctCheckHostInputs, strctComputeDiff, strctDpPad, strctFormatBytes, strctFormatDuration, strctFormatRate, strctFormatSi, strctQrMatrix, strctValidationIcon, strctValidationTone, unlockBodyScroll };
|
|
7367
7464
|
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, 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 };
|