@akcelik/strct 0.1.0 → 0.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/README.md +2 -0
- package/fesm2022/akcelik-strct.mjs +636 -77
- package/fesm2022/akcelik-strct.mjs.map +1 -1
- package/package.json +1 -1
- package/types/akcelik-strct.d.ts +191 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akcelik/strct",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.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/types/akcelik-strct.d.ts
CHANGED
|
@@ -366,28 +366,69 @@ declare class StrctTabs {
|
|
|
366
366
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTabs, "strct-tabs", never, {}, {}, ["tabs"], ["*"], true, never>;
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
/**
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
369
|
+
/** A node in the data-driven tree (`<strct-tree [nodes]="...">`). */
|
|
370
|
+
interface StrctTreeNodeData {
|
|
371
|
+
label: string;
|
|
372
|
+
/** Optional leading icon name. */
|
|
373
|
+
icon?: string;
|
|
374
|
+
/** Status dot on the icon (running / maintenance / off …). */
|
|
375
|
+
badge?: StrctIconBadge;
|
|
376
|
+
/** Highlight as the selected node. */
|
|
377
|
+
active?: boolean;
|
|
378
|
+
/** Initial expanded state. */
|
|
379
|
+
expanded?: boolean;
|
|
380
|
+
children?: StrctTreeNodeData[];
|
|
381
|
+
/** Arbitrary payload returned with (nodeActivated). */
|
|
382
|
+
data?: unknown;
|
|
373
383
|
}
|
|
374
384
|
/**
|
|
375
|
-
* Tree node.
|
|
376
|
-
*
|
|
377
|
-
*
|
|
385
|
+
* Tree node. Two modes:
|
|
386
|
+
* - **Content:** nest `<strct-tree-node>` children manually.
|
|
387
|
+
* - **Data:** pass a `[node]` object that recurses over its `children` —
|
|
388
|
+
* used internally by `<strct-tree [nodes]>`.
|
|
389
|
+
*
|
|
390
|
+
* <strct-tree-node label="Group" icon="layers" badge="ok" [(expanded)]="open">
|
|
391
|
+
* <strct-tree-node label="Leaf" icon="vm" [active]="true" />
|
|
378
392
|
* </strct-tree-node>
|
|
379
393
|
*/
|
|
380
394
|
declare class StrctTreeNode {
|
|
395
|
+
/** Data-driven node; when set, label/icon/children come from it. */
|
|
396
|
+
readonly node: _angular_core.InputSignal<StrctTreeNodeData | null>;
|
|
381
397
|
readonly label: _angular_core.InputSignal<string>;
|
|
382
398
|
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
399
|
+
readonly badge: _angular_core.InputSignal<StrctIconBadge>;
|
|
383
400
|
readonly active: _angular_core.InputSignal<boolean>;
|
|
384
401
|
readonly expanded: _angular_core.ModelSignal<boolean>;
|
|
402
|
+
/** Content-mode click. */
|
|
385
403
|
readonly activated: _angular_core.OutputEmitterRef<void>;
|
|
404
|
+
/** Data-mode click — carries the activated node (bubbles to the tree). */
|
|
405
|
+
readonly nodeActivated: _angular_core.OutputEmitterRef<StrctTreeNodeData>;
|
|
386
406
|
private readonly childNodes;
|
|
407
|
+
/** Data-mode expansion (seeded from node.expanded on first toggle). */
|
|
408
|
+
private readonly dataExpanded;
|
|
409
|
+
protected readonly displayLabel: _angular_core.Signal<string>;
|
|
410
|
+
protected readonly displayIcon: _angular_core.Signal<string | undefined>;
|
|
411
|
+
protected readonly displayBadge: _angular_core.Signal<StrctIconBadge>;
|
|
412
|
+
protected readonly displayActive: _angular_core.Signal<boolean>;
|
|
387
413
|
protected readonly hasChildren: _angular_core.Signal<boolean>;
|
|
414
|
+
protected readonly isOpen: _angular_core.Signal<boolean>;
|
|
388
415
|
toggle(): void;
|
|
416
|
+
protected onActivate(): void;
|
|
389
417
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTreeNode, never>;
|
|
390
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTreeNode, "strct-tree-node", never, { "label": { "alias": "label"; "required":
|
|
418
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTreeNode, "strct-tree-node", never, { "node": { "alias": "node"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; "activated": "activated"; "nodeActivated": "nodeActivated"; }, ["childNodes"], ["[strctTreeTrailing]", "*"], true, never>;
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Root container for a tree. Either project `<strct-tree-node>` children, or
|
|
422
|
+
* pass `[nodes]` for a fully data-driven, self-recursing tree:
|
|
423
|
+
* <strct-tree [nodes]="roots" (nodeActivated)="select($event)" />
|
|
424
|
+
*/
|
|
425
|
+
declare class StrctTree {
|
|
426
|
+
/** Data-driven node list; when set, projected content is ignored. */
|
|
427
|
+
readonly nodes: _angular_core.InputSignal<StrctTreeNodeData[] | null>;
|
|
428
|
+
/** Emitted when any data-driven node is clicked. */
|
|
429
|
+
readonly nodeActivated: _angular_core.OutputEmitterRef<StrctTreeNodeData>;
|
|
430
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTree, never>;
|
|
431
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTree, "strct-tree", never, { "nodes": { "alias": "nodes"; "required": false; "isSignal": true; }; }, { "nodeActivated": "nodeActivated"; }, never, ["*"], true, never>;
|
|
391
432
|
}
|
|
392
433
|
|
|
393
434
|
type StrctModalSize = 'sm' | 'md' | 'lg';
|
|
@@ -503,28 +544,117 @@ declare class StrctSubmenu {
|
|
|
503
544
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctSubmenu, "strct-submenu", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, ["[strctSubmenuLabel]", "*"], true, never>;
|
|
504
545
|
}
|
|
505
546
|
|
|
547
|
+
/** A single entry in a data-driven menu. */
|
|
548
|
+
interface StrctMenuItem {
|
|
549
|
+
label: string;
|
|
550
|
+
icon?: string;
|
|
551
|
+
/** Destructive styling. */
|
|
552
|
+
danger?: boolean;
|
|
553
|
+
disabled?: boolean;
|
|
554
|
+
/** Render a separator instead of an entry (label is ignored). */
|
|
555
|
+
divider?: boolean;
|
|
556
|
+
/** Nested submenu. */
|
|
557
|
+
children?: StrctMenuItem[];
|
|
558
|
+
/** Invoked on selection, with the trigger's `strctContextMenuData`. */
|
|
559
|
+
action?: (data?: unknown) => void;
|
|
560
|
+
/** Arbitrary payload. */
|
|
561
|
+
data?: unknown;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Floating menu panel — portaled into `<body>` (so it escapes overflow /
|
|
565
|
+
* transform clipping), positioned by its real measured size, with full keyboard
|
|
566
|
+
* navigation and recursive submenus. Usually created by `[strctContextMenu]`,
|
|
567
|
+
* but can be embedded directly with `submenu`.
|
|
568
|
+
*/
|
|
569
|
+
declare class StrctMenuPanel {
|
|
570
|
+
private readonly host;
|
|
571
|
+
readonly items: _angular_core.InputSignal<StrctMenuItem[]>;
|
|
572
|
+
readonly data: _angular_core.InputSignal<unknown>;
|
|
573
|
+
readonly x: _angular_core.InputSignal<number>;
|
|
574
|
+
readonly y: _angular_core.InputSignal<number>;
|
|
575
|
+
readonly submenu: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
576
|
+
readonly select: _angular_core.OutputEmitterRef<StrctMenuItem>;
|
|
577
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
578
|
+
/** ArrowLeft inside a submenu — asks the parent to close it. */
|
|
579
|
+
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
580
|
+
protected readonly posX: _angular_core.WritableSignal<number>;
|
|
581
|
+
protected readonly posY: _angular_core.WritableSignal<number>;
|
|
582
|
+
protected readonly flipLeft: _angular_core.WritableSignal<boolean>;
|
|
583
|
+
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
584
|
+
protected readonly openSubIndex: _angular_core.WritableSignal<number | null>;
|
|
585
|
+
private readonly navIndices;
|
|
586
|
+
constructor();
|
|
587
|
+
private clampToViewport;
|
|
588
|
+
protected focusItem(i: number): void;
|
|
589
|
+
private move;
|
|
590
|
+
protected onHover(i: number): void;
|
|
591
|
+
protected onLeave(i: number): void;
|
|
592
|
+
protected onItemClick(item: StrctMenuItem, i: number, event: Event): void;
|
|
593
|
+
protected closeSub(): void;
|
|
594
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
595
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctMenuPanel, never>;
|
|
596
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctMenuPanel, "strct-menu-panel", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": false; "isSignal": true; }; "y": { "alias": "y"; "required": false; "isSignal": true; }; "submenu": { "alias": "submenu"; "required": false; "isSignal": true; }; }, { "select": "select"; "close": "close"; "back": "back"; }, never, never, true, never>;
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Right-click (context) menu driven by a data array. Attach to any trigger; the
|
|
600
|
+
* menu portals into `<body>` and runs each item's `action` on selection.
|
|
601
|
+
* <div [strctContextMenu]="menuFor(host)" [strctContextMenuData]="host"
|
|
602
|
+
* (menuSelect)="onPick($event)">…</div>
|
|
603
|
+
*/
|
|
604
|
+
declare class StrctContextMenuTrigger implements OnDestroy {
|
|
605
|
+
private readonly appRef;
|
|
606
|
+
private readonly envInjector;
|
|
607
|
+
private readonly zone;
|
|
608
|
+
private readonly doc;
|
|
609
|
+
readonly items: _angular_core.InputSignal<StrctMenuItem[]>;
|
|
610
|
+
readonly data: _angular_core.InputSignal<unknown>;
|
|
611
|
+
readonly menuSelect: _angular_core.OutputEmitterRef<StrctMenuItem>;
|
|
612
|
+
private ref;
|
|
613
|
+
private readonly onClose;
|
|
614
|
+
protected onContextMenu(event: MouseEvent): void;
|
|
615
|
+
private openAt;
|
|
616
|
+
private readonly onOutside;
|
|
617
|
+
private closeMenu;
|
|
618
|
+
ngOnDestroy(): void;
|
|
619
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctContextMenuTrigger, never>;
|
|
620
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctContextMenuTrigger, "[strctContextMenu]", never, { "items": { "alias": "strctContextMenu"; "required": true; "isSignal": true; }; "data": { "alias": "strctContextMenuData"; "required": false; "isSignal": true; }; }, { "menuSelect": "menuSelect"; }, never, never, true, never>;
|
|
621
|
+
}
|
|
622
|
+
|
|
506
623
|
/** A single wizard step. `label` names it in the step header. */
|
|
507
624
|
declare class StrctStep {
|
|
508
625
|
readonly label: _angular_core.InputSignal<string>;
|
|
626
|
+
/** When false, the wizard's Next / Finish is disabled on this step. */
|
|
627
|
+
readonly canAdvance: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
509
628
|
private readonly _active;
|
|
510
629
|
readonly active: _angular_core.Signal<boolean>;
|
|
511
630
|
/** @internal */
|
|
512
631
|
setActive(value: boolean): void;
|
|
513
632
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctStep, never>;
|
|
514
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctStep, "strct-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
633
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctStep, "strct-step", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "canAdvance": { "alias": "canAdvance"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
515
634
|
}
|
|
516
635
|
/** Multi-step flow with a numbered header and Back / Next / Finish controls. */
|
|
517
636
|
declare class StrctWizard {
|
|
518
637
|
readonly steps: _angular_core.Signal<readonly StrctStep[]>;
|
|
519
638
|
readonly current: _angular_core.WritableSignal<number>;
|
|
639
|
+
/** Label for the final-step button (default "Finish"). */
|
|
640
|
+
readonly finishLabel: _angular_core.InputSignal<string>;
|
|
641
|
+
/** Disable Finish and show a busy label while an async submit is in flight. */
|
|
642
|
+
readonly submitting: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
643
|
+
/** Show a Cancel button on the left. */
|
|
644
|
+
readonly cancelable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
520
645
|
readonly finished: _angular_core.OutputEmitterRef<void>;
|
|
646
|
+
readonly cancelled: _angular_core.OutputEmitterRef<void>;
|
|
647
|
+
/** Emits the new step index after a Back / Next move. */
|
|
648
|
+
readonly stepChange: _angular_core.OutputEmitterRef<number>;
|
|
521
649
|
protected readonly isLast: _angular_core.Signal<boolean>;
|
|
650
|
+
/** Whether the current step permits advancing (its `canAdvance`). */
|
|
651
|
+
protected readonly canAdvance: _angular_core.Signal<boolean>;
|
|
522
652
|
constructor();
|
|
523
653
|
next(): void;
|
|
524
654
|
back(): void;
|
|
525
655
|
finish(): void;
|
|
526
656
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctWizard, never>;
|
|
527
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWizard, "strct-wizard", never, {}, { "finished": "finished"; }, ["steps"], ["*"], true, never>;
|
|
657
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctWizard, "strct-wizard", never, { "finishLabel": { "alias": "finishLabel"; "required": false; "isSignal": true; }; "submitting": { "alias": "submitting"; "required": false; "isSignal": true; }; "cancelable": { "alias": "cancelable"; "required": false; "isSignal": true; }; }, { "finished": "finished"; "cancelled": "cancelled"; "stepChange": "stepChange"; }, ["steps"], ["*"], true, never>;
|
|
528
658
|
}
|
|
529
659
|
|
|
530
660
|
/**
|
|
@@ -1051,8 +1181,32 @@ interface StrctColumn {
|
|
|
1051
1181
|
width?: string;
|
|
1052
1182
|
}
|
|
1053
1183
|
type StrctRow = Record<string, unknown>;
|
|
1184
|
+
/** Context passed to a per-column cell template. */
|
|
1185
|
+
interface StrctCellContext {
|
|
1186
|
+
/** The row object. */
|
|
1187
|
+
$implicit: StrctRow;
|
|
1188
|
+
/** The raw value for this column (`row[column.key]`). */
|
|
1189
|
+
value: unknown;
|
|
1190
|
+
/** The column definition. */
|
|
1191
|
+
column: StrctColumn;
|
|
1192
|
+
}
|
|
1193
|
+
/**
|
|
1194
|
+
* Per-column cell template for `strct-table` / `strct-datagrid`. The column key
|
|
1195
|
+
* is the directive value; the row, value and column are the template context:
|
|
1196
|
+
*
|
|
1197
|
+
* <ng-template strctCell="status" let-row let-value="value">
|
|
1198
|
+
* <strct-badge [status]="row['ok'] ? 'success' : 'danger'">{{ value }}</strct-badge>
|
|
1199
|
+
* </ng-template>
|
|
1200
|
+
*/
|
|
1201
|
+
declare class StrctCellDef {
|
|
1202
|
+
readonly key: _angular_core.InputSignal<string>;
|
|
1203
|
+
readonly template: TemplateRef<StrctCellContext>;
|
|
1204
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctCellDef, never>;
|
|
1205
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StrctCellDef, "[strctCell]", never, { "key": { "alias": "strctCell"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1206
|
+
}
|
|
1054
1207
|
/**
|
|
1055
|
-
* Declarative data table.
|
|
1208
|
+
* Declarative data table. Cells render `row[col.key]` as text by default; supply
|
|
1209
|
+
* a `*strctCell` template per column for custom content.
|
|
1056
1210
|
* <strct-table [columns]="cols" [rows]="data" hover />
|
|
1057
1211
|
*/
|
|
1058
1212
|
declare class StrctTable {
|
|
@@ -1061,10 +1215,15 @@ declare class StrctTable {
|
|
|
1061
1215
|
readonly striped: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1062
1216
|
readonly hover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1063
1217
|
readonly emptyText: _angular_core.InputSignal<string>;
|
|
1218
|
+
private readonly cellDefs;
|
|
1219
|
+
private readonly cellMap;
|
|
1220
|
+
protected cellTemplate(key: string): TemplateRef<StrctCellContext> | null;
|
|
1064
1221
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctTable, never>;
|
|
1065
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTable, "strct-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; }, {},
|
|
1222
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctTable, "strct-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "striped": { "alias": "striped"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; }, {}, ["cellDefs"], never, true, never>;
|
|
1066
1223
|
}
|
|
1067
1224
|
|
|
1225
|
+
/** Resolves a stable identity for a row: a property key, or a function. */
|
|
1226
|
+
type StrctRowId = string | ((row: StrctRow) => unknown);
|
|
1068
1227
|
interface StrctDatagridColumn {
|
|
1069
1228
|
key: string;
|
|
1070
1229
|
label: string;
|
|
@@ -1106,14 +1265,24 @@ declare class StrctDatagrid {
|
|
|
1106
1265
|
readonly detailPane: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1107
1266
|
readonly compact: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1108
1267
|
readonly emptyText: _angular_core.InputSignal<string>;
|
|
1268
|
+
/**
|
|
1269
|
+
* Stable row identity (property key or function). Set this for live-refreshing
|
|
1270
|
+
* data so selection, expansion and the active detail row survive re-fetches
|
|
1271
|
+
* that replace the row objects. Defaults to object identity.
|
|
1272
|
+
*/
|
|
1273
|
+
readonly rowId: _angular_core.InputSignal<StrctRowId | null>;
|
|
1109
1274
|
readonly selectionChange: _angular_core.OutputEmitterRef<StrctRow[]>;
|
|
1110
1275
|
protected readonly detailDef: _angular_core.Signal<StrctRowDetailDef | undefined>;
|
|
1111
1276
|
protected readonly actionBarDef: _angular_core.Signal<StrctDatagridActionBar | undefined>;
|
|
1277
|
+
private readonly cellDefs;
|
|
1278
|
+
private readonly cellMap;
|
|
1112
1279
|
readonly page: _angular_core.WritableSignal<number>;
|
|
1113
1280
|
private readonly sort;
|
|
1281
|
+
/** Selection / expansion are tracked by row id (see {@link rowId}). */
|
|
1114
1282
|
private readonly selected;
|
|
1115
1283
|
private readonly expandedRows;
|
|
1116
|
-
|
|
1284
|
+
private readonly activeId;
|
|
1285
|
+
protected readonly activeRow: _angular_core.Signal<StrctRow | null>;
|
|
1117
1286
|
protected readonly canExpand: _angular_core.Signal<boolean>;
|
|
1118
1287
|
protected readonly canDetail: _angular_core.Signal<boolean>;
|
|
1119
1288
|
protected readonly paneOpen: _angular_core.Signal<boolean>;
|
|
@@ -1124,6 +1293,10 @@ declare class StrctDatagrid {
|
|
|
1124
1293
|
protected readonly selectedCount: _angular_core.Signal<number>;
|
|
1125
1294
|
protected readonly allPageSelected: _angular_core.Signal<boolean>;
|
|
1126
1295
|
protected readonly somePageSelected: _angular_core.Signal<boolean>;
|
|
1296
|
+
/** Resolve a row's stable identity (defaults to the row object itself). */
|
|
1297
|
+
private idOf;
|
|
1298
|
+
protected rowKey(row: StrctRow): unknown;
|
|
1299
|
+
protected cellTemplate(key: string): TemplateRef<StrctCellContext> | null;
|
|
1127
1300
|
constructor();
|
|
1128
1301
|
protected colspan(): number;
|
|
1129
1302
|
/** Toggle the detail pane for a row (triggered by its » button, not the row,
|
|
@@ -1140,10 +1313,12 @@ declare class StrctDatagrid {
|
|
|
1140
1313
|
toggleRow(row: StrctRow): void;
|
|
1141
1314
|
toggleAll(): void;
|
|
1142
1315
|
clearSelection(): void;
|
|
1316
|
+
/** Emit the current row objects whose id is selected (resolved against the
|
|
1317
|
+
* latest data, so consumers always get fresh references). */
|
|
1143
1318
|
private commitSelection;
|
|
1144
1319
|
private compare;
|
|
1145
1320
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StrctDatagrid, never>;
|
|
1146
|
-
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; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["detailDef", "actionBarDef"], ["[strctDatagridActionBar]", "[strctDatagridActions]"], true, never>;
|
|
1321
|
+
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; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "rowId": { "alias": "rowId"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; }, ["detailDef", "actionBarDef", "cellDefs"], ["[strctDatagridActionBar]", "[strctDatagridActions]"], true, never>;
|
|
1147
1322
|
}
|
|
1148
1323
|
|
|
1149
1324
|
type StrctTimelineState = 'default' | 'current' | 'success' | 'warning' | 'danger';
|
|
@@ -1371,5 +1546,5 @@ declare class StrctToastOutlet {
|
|
|
1371
1546
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StrctToastOutlet, "strct-toast-outlet", never, {}, {}, never, never, true, never>;
|
|
1372
1547
|
}
|
|
1373
1548
|
|
|
1374
|
-
export { STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_MASKS, STRCT_PALETTES, STRCT_RAW_ICONS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCascadeHost, StrctCascadeNode, StrctCascadeSelect, StrctChart, StrctCheckbox, StrctChips, StrctColorPicker, StrctCombobox, StrctContextMenu, StrctDatagrid, StrctDatagridActionBar, StrctDatepicker, StrctDivider, StrctDonut, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctFile, StrctFooter, StrctGauge, StrctHeader, StrctIcon, StrctInput, StrctInputMask, StrctInputOtp, StrctKnob, StrctLogin, StrctModal, StrctNav, StrctNavItem, StrctOverlay, StrctPagination, StrctPassword, StrctProgress, StrctRadio, StrctRadioGroup, StrctRange, StrctRating, StrctRowDetailDef, StrctShell, StrctSignpost, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctStack, StrctStackItem, StrctStep, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctThemeService, StrctThemeSwitcher, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctTooltip, StrctTree, StrctTreeNode, StrctVerticalNav, StrctWizard, registerStrctIcon };
|
|
1375
|
-
export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctChartStatus, StrctChartType, StrctColumn, StrctDatagridColumn, StrctDonutSegment, StrctIconBadge, StrctKnobStatus, StrctModalSize, StrctMode, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressStatus, StrctRow, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctTagStatus, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition };
|
|
1549
|
+
export { STRCT_ICONS, STRCT_ICON_GROUPS, STRCT_MASKS, STRCT_PALETTES, STRCT_RAW_ICONS, StrctAccordion, StrctAccordionPanel, StrctAlert, StrctAvatar, StrctBadge, StrctBreadcrumb, StrctBreadcrumbItem, StrctButton, StrctButtonGroup, StrctCard, StrctCardBlock, StrctCardFooter, StrctCardHeader, StrctCascadeHost, StrctCascadeNode, StrctCascadeSelect, StrctCellDef, StrctChart, StrctCheckbox, StrctChips, StrctColorPicker, StrctCombobox, StrctContextMenu, StrctContextMenuTrigger, StrctDatagrid, StrctDatagridActionBar, StrctDatepicker, StrctDivider, StrctDonut, StrctDropdown, StrctDropdownDivider, StrctDropdownItem, StrctFile, StrctFooter, StrctGauge, StrctHeader, StrctIcon, StrctInput, StrctInputMask, StrctInputOtp, StrctKnob, StrctLogin, StrctMenuPanel, StrctModal, StrctNav, StrctNavItem, StrctOverlay, StrctPagination, StrctPassword, StrctProgress, StrctRadio, StrctRadioGroup, StrctRange, StrctRating, StrctRowDetailDef, StrctShell, StrctSignpost, StrctSkeleton, StrctSparkline, StrctSpeedDial, StrctSpinner, StrctStack, StrctStackItem, StrctStep, StrctSubmenu, StrctTab, StrctTable, StrctTabs, StrctTag, StrctThemeService, StrctThemeSwitcher, StrctTimeline, StrctTimelineItem, StrctToastOutlet, StrctToastService, StrctToggle, StrctTooltip, StrctTree, StrctTreeNode, StrctVerticalNav, StrctWizard, registerStrctIcon };
|
|
1550
|
+
export type { StrctAlertType, StrctAvatarSize, StrctAvatarStatus, StrctBadgeStatus, StrctButtonSize, StrctButtonVariant, StrctCascadeOption, StrctCellContext, StrctChartStatus, StrctChartType, StrctColumn, StrctDatagridColumn, StrctDonutSegment, StrctIconBadge, StrctKnobStatus, StrctMenuItem, StrctModalSize, StrctMode, StrctOption, StrctOverlayPlacement, StrctPalette, StrctPaletteInfo, StrctProgressStatus, StrctRow, StrctRowId, StrctSignpostPosition, StrctSpeedDialDirection, StrctSpinnerSize, StrctTagStatus, StrctTimelineState, StrctToast, StrctToastOptions, StrctToastType, StrctTooltipPosition, StrctTreeNodeData };
|