@clr/angular 18.2.2 → 18.3.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/clr-angular-data-datagrid.mjs +558 -148
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/clr-angular-data-tree-view.mjs +2 -2
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-checkbox.mjs +11 -2
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-number-input.mjs +2 -2
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-radio.mjs +5 -12
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/clr-angular-icon.mjs +20 -6
- package/fesm2022/clr-angular-icon.mjs.map +1 -1
- package/fesm2022/clr-angular-modal.mjs +3 -1
- package/fesm2022/clr-angular-modal.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-common.mjs +1 -1
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
- package/fesm2022/clr-angular-timeline.mjs +1 -1
- package/fesm2022/clr-angular-timeline.mjs.map +1 -1
- package/fesm2022/clr-angular-utils.mjs +8 -1
- package/fesm2022/clr-angular-utils.mjs.map +1 -1
- package/package.json +2 -2
- package/types/clr-angular-data-datagrid.d.ts +140 -46
- package/types/clr-angular-forms-checkbox.d.ts +3 -0
- package/types/clr-angular-forms-radio.d.ts +1 -2
- package/types/clr-angular-icon.d.ts +8 -0
package/package.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@angular/cdk": ">= 21.1.0",
|
|
26
26
|
"@angular/common": ">= 21.1.0",
|
|
27
27
|
"@angular/core": ">= 21.1.0",
|
|
28
|
-
"@clr/ui": "18.
|
|
28
|
+
"@clr/ui": "18.3.0"
|
|
29
29
|
},
|
|
30
30
|
"module": "fesm2022/clr-angular.mjs",
|
|
31
31
|
"typings": "types/clr-angular.d.ts",
|
|
@@ -231,5 +231,5 @@
|
|
|
231
231
|
"dependencies": {
|
|
232
232
|
"tslib": "^2.3.0"
|
|
233
233
|
},
|
|
234
|
-
"version": "18.
|
|
234
|
+
"version": "18.3.0"
|
|
235
235
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnDestroy, OnInit, OnChanges, EventEmitter, ElementRef, ViewContainerRef, ChangeDetectorRef, SimpleChanges, DoCheck,
|
|
2
|
+
import { TemplateRef, OnDestroy, OnInit, OnChanges, EventEmitter, ElementRef, ViewContainerRef, ChangeDetectorRef, SimpleChanges, DoCheck, IterableDiffers, TrackByFunction, QueryList, AfterContentInit, AfterViewInit, Renderer2, NgZone, EnvironmentInjector, AfterViewChecked, EmbeddedViewRef, Type } from '@angular/core';
|
|
3
3
|
import * as i39 from '@clr/angular/utils';
|
|
4
4
|
import { ClrCommonStringsService, IfExpandService, ClrLoadingState, ClrExpandableAnimationDirective, DomAdapter, WillyWonka, OompaLoompa } from '@clr/angular/utils';
|
|
5
|
-
import { Observable,
|
|
5
|
+
import { Observable, BehaviorSubject, Subject, ReplaySubject } from 'rxjs';
|
|
6
6
|
import { ModalStackService } from '@clr/angular/modal';
|
|
7
7
|
import * as i1 from '@clr/angular/popover/common';
|
|
8
8
|
import { ClrPopoverPosition, ClrPopoverService, ClrPopoverType } from '@clr/angular/popover/common';
|
|
@@ -43,6 +43,27 @@ declare enum ClrDatagridAriaSortOrder {
|
|
|
43
43
|
DESC = "descending"
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
+
declare enum DatagridColumnChanges {
|
|
47
|
+
WIDTH = 0,
|
|
48
|
+
HIDDEN = 1,
|
|
49
|
+
INITIALIZE = 2,
|
|
50
|
+
PINNED = 3
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface ColumnState {
|
|
54
|
+
columnIndex?: number;
|
|
55
|
+
changes?: DatagridColumnChanges[];
|
|
56
|
+
width?: number;
|
|
57
|
+
strictWidth?: number;
|
|
58
|
+
hideable?: boolean;
|
|
59
|
+
hidden?: boolean;
|
|
60
|
+
pinned?: boolean;
|
|
61
|
+
titleTemplateRef?: TemplateRef<any>;
|
|
62
|
+
}
|
|
63
|
+
interface ColumnStateDiff extends ColumnState {
|
|
64
|
+
changes: DatagridColumnChanges[];
|
|
65
|
+
}
|
|
66
|
+
|
|
46
67
|
interface ClrDatagridComparatorInterface<T> {
|
|
47
68
|
compare(a: T, b: T): number;
|
|
48
69
|
}
|
|
@@ -55,9 +76,33 @@ interface ClrDatagridFilterInterface<T, S = any> {
|
|
|
55
76
|
equals?(other: ClrDatagridFilterInterface<T, any>): boolean;
|
|
56
77
|
}
|
|
57
78
|
|
|
79
|
+
declare class ColumnsService {
|
|
80
|
+
columns: BehaviorSubject<ColumnState>[];
|
|
81
|
+
columnsStateChange: BehaviorSubject<ColumnState>;
|
|
82
|
+
private _cache;
|
|
83
|
+
get columnStates(): ColumnState[];
|
|
84
|
+
get hasHideableColumns(): boolean;
|
|
85
|
+
get visibleColumns(): ColumnState[];
|
|
86
|
+
get hasPinnedColumns(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Tells whether the column at the given index is pinned (static). Columns and cells are
|
|
89
|
+
* matched by their declaration index, so this is what the header, the rows and a column aligned
|
|
90
|
+
* row detail use to decide which views belong in the static container.
|
|
91
|
+
*/
|
|
92
|
+
isPinned(columnIndex: number): boolean;
|
|
93
|
+
cache(): void;
|
|
94
|
+
hasCache(): boolean;
|
|
95
|
+
resetToLastCache(): void;
|
|
96
|
+
emitStateChangeAt(columnIndex: number, diff: ColumnStateDiff): void;
|
|
97
|
+
emitStateChange(column: BehaviorSubject<ColumnState>, diff: ColumnStateDiff): void;
|
|
98
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsService, never>;
|
|
99
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ColumnsService>;
|
|
100
|
+
}
|
|
101
|
+
|
|
58
102
|
declare class DetailService {
|
|
59
103
|
private readonly modalStackService;
|
|
60
104
|
id: string;
|
|
105
|
+
detailWidth: number;
|
|
61
106
|
private preventScroll;
|
|
62
107
|
private toggleState;
|
|
63
108
|
private cache;
|
|
@@ -256,7 +301,9 @@ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
256
301
|
private vcr;
|
|
257
302
|
private detailService;
|
|
258
303
|
private changeDetectorRef;
|
|
259
|
-
|
|
304
|
+
protected commonStrings: ClrCommonStringsService;
|
|
305
|
+
private columnsService;
|
|
306
|
+
private columnState;
|
|
260
307
|
filterStringPlaceholder: string;
|
|
261
308
|
filterNumberMaxPlaceholder: string;
|
|
262
309
|
filterNumberMinPlaceholder: string;
|
|
@@ -286,10 +333,24 @@ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
286
333
|
*/
|
|
287
334
|
private subscriptions;
|
|
288
335
|
private _showSeparator;
|
|
289
|
-
|
|
336
|
+
private _pinned;
|
|
337
|
+
constructor(el: ElementRef<HTMLElement>, _sort: Sort<T>, filters: FiltersProvider<T>, vcr: ViewContainerRef, detailService: DetailService, changeDetectorRef: ChangeDetectorRef, commonStrings: ClrCommonStringsService, columnsService: ColumnsService, columnState: BehaviorSubject<ColumnState>);
|
|
290
338
|
get isHidden(): boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Whether the column is currently rendered as pinned. This can differ from the `pinned` input
|
|
341
|
+
* while the detail pane is open, because pinning is suspended for as long as it shows a single
|
|
342
|
+
* column.
|
|
343
|
+
*/
|
|
344
|
+
get isPinned(): boolean;
|
|
291
345
|
get showSeparator(): boolean;
|
|
292
346
|
set showSeparator(value: boolean);
|
|
347
|
+
/**
|
|
348
|
+
* Pins the column to the left of the datagrid, so it stays visible while the remaining
|
|
349
|
+
* columns are scrolled horizontally. Pinned columns keep their declaration order and are
|
|
350
|
+
* rendered before the scrollable ones, right after the built-in row controls.
|
|
351
|
+
*/
|
|
352
|
+
get pinned(): boolean;
|
|
353
|
+
set pinned(value: boolean);
|
|
293
354
|
get colType(): "string" | "number";
|
|
294
355
|
set colType(value: 'string' | 'number');
|
|
295
356
|
get field(): string;
|
|
@@ -329,8 +390,9 @@ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrD
|
|
|
329
390
|
private setFilterToggleAriaLabel;
|
|
330
391
|
private listenForSortingChanges;
|
|
331
392
|
private setupDefaultFilter;
|
|
332
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>,
|
|
333
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "filterStringPlaceholder": { "alias": "clrFilterStringPlaceholder"; "required": false; }; "filterNumberMaxPlaceholder": { "alias": "clrFilterNumberMaxPlaceholder"; "required": false; }; "filterNumberMinPlaceholder": { "alias": "clrFilterNumberMinPlaceholder"; "required": false; }; "disableUnsort": { "alias": "clrDgDisableUnsort"; "required": false; }; "colType": { "alias": "clrDgColType"; "required": false; }; "field": { "alias": "clrDgField"; "required": false; }; "sortBy": { "alias": "clrDgSortBy"; "required": false; }; "sortOrder": { "alias": "clrDgSortOrder"; "required": false; }; "updateFilterValue": { "alias": "clrFilterValue"; "required": false; }; }, { "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
393
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>, [null, null, null, null, null, null, null, null, { optional: true; }]>;
|
|
394
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumn<any>, "clr-dg-column", never, { "filterStringPlaceholder": { "alias": "clrFilterStringPlaceholder"; "required": false; }; "filterNumberMaxPlaceholder": { "alias": "clrFilterNumberMaxPlaceholder"; "required": false; }; "filterNumberMinPlaceholder": { "alias": "clrFilterNumberMinPlaceholder"; "required": false; }; "disableUnsort": { "alias": "clrDgDisableUnsort"; "required": false; }; "pinned": { "alias": "clrDgPinned"; "required": false; }; "colType": { "alias": "clrDgColType"; "required": false; }; "field": { "alias": "clrDgField"; "required": false; }; "sortBy": { "alias": "clrDgSortBy"; "required": false; }; "sortOrder": { "alias": "clrDgSortOrder"; "required": false; }; "updateFilterValue": { "alias": "clrFilterValue"; "required": false; }; }, { "sortOrderChange": "clrDgSortOrderChange"; "filterValueChange": "clrFilterValueChange"; }, ["projectedFilter"], ["clr-dg-filter, clr-dg-string-filter, clr-dg-numeric-filter", "*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
395
|
+
static ngAcceptInputType_pinned: unknown;
|
|
334
396
|
}
|
|
335
397
|
|
|
336
398
|
type ClrDatagridItemsIdentityFunction<T> = (item: T) => any;
|
|
@@ -663,6 +725,7 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
663
725
|
el: ElementRef<HTMLElement>;
|
|
664
726
|
commonStrings: ClrCommonStringsService;
|
|
665
727
|
private items;
|
|
728
|
+
private columnsService;
|
|
666
729
|
private document;
|
|
667
730
|
selectedChanged: EventEmitter<boolean>;
|
|
668
731
|
expandedChange: EventEmitter<boolean>;
|
|
@@ -692,6 +755,7 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
692
755
|
expandAnimation: ClrExpandableAnimationDirective;
|
|
693
756
|
detailButton: ElementRef<HTMLButtonElement>;
|
|
694
757
|
_stickyCells: ViewContainerRef;
|
|
758
|
+
_pinnedCells: ViewContainerRef;
|
|
695
759
|
_scrollableCells: ViewContainerRef;
|
|
696
760
|
_calculatedCells: ViewContainerRef;
|
|
697
761
|
_fixedCellTemplate: TemplateRef<any>;
|
|
@@ -703,7 +767,7 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
703
767
|
private wrappedInjector;
|
|
704
768
|
private subscriptions;
|
|
705
769
|
private _selectable;
|
|
706
|
-
constructor(selection: Selection<T>, rowActionService: RowActionService, globalExpandable: ExpandableRowsCount, expand: DatagridIfExpandService, detailService: DetailService, displayMode: DisplayModeService, vcr: ViewContainerRef, renderer: Renderer2, el: ElementRef<HTMLElement>, commonStrings: ClrCommonStringsService, items: Items, document: any);
|
|
770
|
+
constructor(selection: Selection<T>, rowActionService: RowActionService, globalExpandable: ExpandableRowsCount, expand: DatagridIfExpandService, detailService: DetailService, displayMode: DisplayModeService, vcr: ViewContainerRef, renderer: Renderer2, el: ElementRef<HTMLElement>, commonStrings: ClrCommonStringsService, items: Items, columnsService: ColumnsService, document: any);
|
|
707
771
|
/**
|
|
708
772
|
* Model of the row, to use for selection
|
|
709
773
|
*/
|
|
@@ -744,6 +808,13 @@ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit
|
|
|
744
808
|
* @deprecated related to clrDgRowSelection, which is deprecated
|
|
745
809
|
*/
|
|
746
810
|
protected selectRow(selected: boolean, $event: any): void;
|
|
811
|
+
/**
|
|
812
|
+
* Projects the cells into the display containers. Cells of pinned columns go into their static
|
|
813
|
+
* container so they stay visible during horizontal scroll; the rest stay scrollable. Cells are
|
|
814
|
+
* matched with their column by declaration index, and iterating in that order keeps both groups
|
|
815
|
+
* aligned with the header.
|
|
816
|
+
*/
|
|
817
|
+
private insertCellViews;
|
|
747
818
|
private rangeSelect;
|
|
748
819
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridRow<any>, never>;
|
|
749
820
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridRow<any>, "clr-dg-row", never, { "detailDisabled": { "alias": "clrDgDetailDisabled"; "required": false; }; "detailHidden": { "alias": "clrDgDetailHidden"; "required": false; }; "skeletonLoading": { "alias": "clrDgSkeletonLoading"; "required": false; }; "item": { "alias": "clrDgItem"; "required": false; }; "clrDgSelectable": { "alias": "clrDgSelectable"; "required": false; }; "selected": { "alias": "clrDgSelected"; "required": false; }; "expanded": { "alias": "clrDgExpanded"; "required": false; }; "clrDgDetailOpenLabel": { "alias": "clrDgDetailOpenLabel"; "required": false; }; "clrDgDetailCloseLabel": { "alias": "clrDgDetailCloseLabel"; "required": false; }; "clrDgRowSelectionLabel": { "alias": "clrDgRowSelectionLabel"; "required": false; }; }, { "selectedChanged": "clrDgSelectedChange"; "expandedChange": "clrDgExpandedChange"; }, ["dgCells"], ["clr-dg-action-overflow", "clr-dg-cell", "clr-dg-row-detail"], false, never>;
|
|
@@ -902,6 +973,7 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
902
973
|
commonStrings: ClrCommonStringsService;
|
|
903
974
|
keyNavigation: KeyNavigationGridController;
|
|
904
975
|
private zone;
|
|
976
|
+
private columnsService;
|
|
905
977
|
loadingMoreItems: boolean;
|
|
906
978
|
clrDgSingleSelectionAriaLabel: string;
|
|
907
979
|
clrDgSingleActionableAriaLabel: string;
|
|
@@ -947,6 +1019,7 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
947
1019
|
rowsWrapper: ElementRef<HTMLElement>;
|
|
948
1020
|
scrollableColumns: ViewContainerRef;
|
|
949
1021
|
_projectedDisplayColumns: ViewContainerRef;
|
|
1022
|
+
_projectedStickyColumns: ViewContainerRef;
|
|
950
1023
|
_projectedCalculationColumns: ViewContainerRef;
|
|
951
1024
|
_displayedRows: ViewContainerRef;
|
|
952
1025
|
_calculationRows: ViewContainerRef;
|
|
@@ -956,6 +1029,7 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
956
1029
|
activeCellCoords: CellCoordinates;
|
|
957
1030
|
SELECTION_TYPE: typeof SelectionType;
|
|
958
1031
|
private selectAllCheckbox;
|
|
1032
|
+
private rowControls;
|
|
959
1033
|
/**
|
|
960
1034
|
* Subscriptions to all the services and queries changes
|
|
961
1035
|
*/
|
|
@@ -964,7 +1038,12 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
964
1038
|
private cachedRowsHeight;
|
|
965
1039
|
private cachedContentHeight;
|
|
966
1040
|
private resizeObserver;
|
|
967
|
-
|
|
1041
|
+
/**
|
|
1042
|
+
* Watches the row controls for anything that changes their width without going through a render
|
|
1043
|
+
* cycle - a density change, or an application restyling them.
|
|
1044
|
+
*/
|
|
1045
|
+
private rowControlsObserver;
|
|
1046
|
+
constructor(organizer: DatagridRenderOrganizer, items: Items<T>, expandableRows: ExpandableRowsCount, selection: Selection<T>, rowActionService: RowActionService, stateProvider: StateProvider<T>, displayMode: DisplayModeService, renderer: Renderer2, detailService: DetailService, document: any, el: ElementRef<HTMLElement>, page: Page, commonStrings: ClrCommonStringsService, keyNavigation: KeyNavigationGridController, zone: NgZone, columnsService: ColumnsService);
|
|
968
1047
|
/**
|
|
969
1048
|
* Freezes the datagrid while data is loading
|
|
970
1049
|
*/
|
|
@@ -998,6 +1077,7 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
998
1077
|
get allSelected(): boolean;
|
|
999
1078
|
set allSelected(value: boolean);
|
|
1000
1079
|
get virtualScroll(): ClrDatagridVirtualScrollDirective<any>;
|
|
1080
|
+
protected get isDetailOverlay(): boolean;
|
|
1001
1081
|
ngAfterContentInit(): void;
|
|
1002
1082
|
/**
|
|
1003
1083
|
* Our setup happens in the view of some of our components, so we wait for it to be done before starting
|
|
@@ -1017,6 +1097,27 @@ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, O
|
|
|
1017
1097
|
*/
|
|
1018
1098
|
dataChanged(): void;
|
|
1019
1099
|
private toggleVirtualScrollSubscriptions;
|
|
1100
|
+
/**
|
|
1101
|
+
* Publishes the width of the row controls - the static container holding the select, action and
|
|
1102
|
+
* caret cells - as a custom property, which is where the pinned columns read the offset they
|
|
1103
|
+
* became static at. They are static right after the controls rather than at the edge of the datagrid,
|
|
1104
|
+
* and `position: sticky` always measures its offsets from that edge, so the distance between the
|
|
1105
|
+
* two has to be measured and handed to the stylesheet.
|
|
1106
|
+
*
|
|
1107
|
+
* The header and the rows get their own value: the header renders one caret column for both
|
|
1108
|
+
* kinds of caret where a row renders one cell per caret, so the two containers are not
|
|
1109
|
+
* necessarily the same width.
|
|
1110
|
+
*
|
|
1111
|
+
* Nothing reads this property unless a column is pinned - `.datagrid-pinned-cells` is the only
|
|
1112
|
+
* consumer, and it is `display: none` while empty - so the measurement is skipped entirely
|
|
1113
|
+
* otherwise. It matters on a datagrid with many rows: `getBoundingClientRect()` forces the
|
|
1114
|
+
* browser to resolve any pending layout first, and on a large datagrid that resolution is not
|
|
1115
|
+
* cheap. Both boxes are read before either write for the same reason - writing the custom
|
|
1116
|
+
* property is itself layout-affecting (`.datagrid-pinned-cells` reads it back for its own
|
|
1117
|
+
* position and width), so reading again in between would force that resolution twice.
|
|
1118
|
+
*/
|
|
1119
|
+
private updateRowControlsWidth;
|
|
1120
|
+
private setRowControlsWidth;
|
|
1020
1121
|
private handleResizeChanges;
|
|
1021
1122
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagrid<any>, never>;
|
|
1022
1123
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagrid<any>, "clr-datagrid", never, { "loadingMoreItems": { "alias": "clrLoadingMoreItems"; "required": false; }; "clrDgSingleSelectionAriaLabel": { "alias": "clrDgSingleSelectionAriaLabel"; "required": false; }; "clrDgSingleActionableAriaLabel": { "alias": "clrDgSingleActionableAriaLabel"; "required": false; }; "clrDetailExpandableAriaLabel": { "alias": "clrDetailExpandableAriaLabel"; "required": false; }; "clrDgDisablePageFocus": { "alias": "clrDgDisablePageFocus"; "required": false; }; "customSelectAllEnabled": { "alias": "clrDgCustomSelectAllEnabled"; "required": false; }; "selectAllDisabled": { "alias": "clrDgSelectAllDisabled"; "required": false; }; "loading": { "alias": "clrDgLoading"; "required": false; }; "selectionType": { "alias": "clrDgSelectionType"; "required": false; }; "selected": { "alias": "clrDgSelected"; "required": false; }; "clrDgPreserveSelection": { "alias": "clrDgPreserveSelection"; "required": false; }; "rowSelectionMode": { "alias": "clrDgRowSelection"; "required": false; }; "identityFn": { "alias": "clrDgItemsIdentityFn"; "required": false; }; }, { "selectedChanged": "clrDgSelectedChange"; "refresh": "clrDgRefresh"; "customSelectAll": "clrDgCustomSelectAll"; }, ["iterator", "placeholder", "_virtualScroll", "columns", "rows"], ["clr-dg-action-bar", "clr-dg-placeholder", "clr-dg-footer", "[clrIfDetail],clr-dg-detail"], false, never>;
|
|
@@ -1051,41 +1152,6 @@ declare class ClrDatagridActionOverflow implements OnDestroy {
|
|
|
1051
1152
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridActionOverflow, "clr-dg-action-overflow", never, { "buttonLabel": { "alias": "clrDgActionOverflowButtonLabel"; "required": false; }; "open": { "alias": "clrDgActionOverflowOpen"; "required": false; }; }, { "openChange": "clrDgActionOverflowOpenChange"; }, never, ["*"], false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
|
|
1052
1153
|
}
|
|
1053
1154
|
|
|
1054
|
-
declare enum DatagridColumnChanges {
|
|
1055
|
-
WIDTH = 0,
|
|
1056
|
-
HIDDEN = 1,
|
|
1057
|
-
INITIALIZE = 2
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
interface ColumnState {
|
|
1061
|
-
columnIndex?: number;
|
|
1062
|
-
changes?: DatagridColumnChanges[];
|
|
1063
|
-
width?: number;
|
|
1064
|
-
strictWidth?: number;
|
|
1065
|
-
hideable?: boolean;
|
|
1066
|
-
hidden?: boolean;
|
|
1067
|
-
titleTemplateRef?: TemplateRef<any>;
|
|
1068
|
-
}
|
|
1069
|
-
interface ColumnStateDiff extends ColumnState {
|
|
1070
|
-
changes: DatagridColumnChanges[];
|
|
1071
|
-
}
|
|
1072
|
-
|
|
1073
|
-
declare class ColumnsService {
|
|
1074
|
-
columns: BehaviorSubject<ColumnState>[];
|
|
1075
|
-
columnsStateChange: BehaviorSubject<ColumnState>;
|
|
1076
|
-
private _cache;
|
|
1077
|
-
get columnStates(): ColumnState[];
|
|
1078
|
-
get hasHideableColumns(): boolean;
|
|
1079
|
-
get visibleColumns(): ColumnState[];
|
|
1080
|
-
cache(): void;
|
|
1081
|
-
hasCache(): boolean;
|
|
1082
|
-
resetToLastCache(): void;
|
|
1083
|
-
emitStateChangeAt(columnIndex: number, diff: ColumnStateDiff): void;
|
|
1084
|
-
emitStateChange(column: BehaviorSubject<ColumnState>, diff: ColumnStateDiff): void;
|
|
1085
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsService, never>;
|
|
1086
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<ColumnsService>;
|
|
1087
|
-
}
|
|
1088
|
-
|
|
1089
1155
|
declare class ClrDatagridColumnToggle implements OnDestroy {
|
|
1090
1156
|
commonStrings: ClrCommonStringsService;
|
|
1091
1157
|
private columnsService;
|
|
@@ -1208,11 +1274,15 @@ declare class ClrDatagridDetail {
|
|
|
1208
1274
|
ariaLabel: string;
|
|
1209
1275
|
header: ClrDatagridDetailHeader;
|
|
1210
1276
|
constructor(detailService: DetailService, commonStrings: ClrCommonStringsService);
|
|
1277
|
+
get detailWidth(): number;
|
|
1278
|
+
set detailWidth(value: number | null | undefined);
|
|
1279
|
+
get isCustomWidth(): boolean;
|
|
1280
|
+
get width(): number | null;
|
|
1211
1281
|
get labelledBy(): string;
|
|
1212
1282
|
get label(): string;
|
|
1213
1283
|
close(): void;
|
|
1214
1284
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridDetail, never>;
|
|
1215
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridDetail, "clr-dg-detail", never, { "ariaLabelledBy": { "alias": "clrDetailAriaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "clrDetailAriaLabel"; "required": false; }; }, {}, ["header"], ["*"], false, never>;
|
|
1285
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridDetail, "clr-dg-detail", never, { "ariaLabelledBy": { "alias": "clrDetailAriaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "clrDetailAriaLabel"; "required": false; }; "detailWidth": { "alias": "clrDetailWidth"; "required": false; }; }, {}, ["header"], ["*"], false, never>;
|
|
1216
1286
|
}
|
|
1217
1287
|
|
|
1218
1288
|
declare class ClrDatagridDetailBody {
|
|
@@ -1320,24 +1390,46 @@ declare class ClrIfDetail implements OnInit, OnDestroy {
|
|
|
1320
1390
|
* Generic bland container serving various purposes for Datagrid.
|
|
1321
1391
|
* For instance, it can help span a text over multiple rows in detail view.
|
|
1322
1392
|
*/
|
|
1323
|
-
declare class ClrDatagridRowDetail implements AfterContentInit, OnDestroy {
|
|
1393
|
+
declare class ClrDatagridRowDetail implements AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
|
|
1324
1394
|
selection: Selection;
|
|
1325
1395
|
rowActionService: RowActionService;
|
|
1326
1396
|
expand: DatagridIfExpandService;
|
|
1327
1397
|
expandableRows: ExpandableRowsCount;
|
|
1328
1398
|
commonStrings: ClrCommonStringsService;
|
|
1399
|
+
private columnsService;
|
|
1400
|
+
private displayMode;
|
|
1329
1401
|
_beginningOfExpandableContentAriaText: string;
|
|
1330
1402
|
_endOfExpandableContentAriaText: string;
|
|
1331
1403
|
replacedRow: boolean;
|
|
1404
|
+
/**
|
|
1405
|
+
* Whether the detail lays its cells out in the same columns as the row, which it does when it
|
|
1406
|
+
* holds one cell per column and at least one of those columns is pinned. The cells of the pinned
|
|
1407
|
+
* columns are then static alongside the ones in the row above.
|
|
1408
|
+
*/
|
|
1409
|
+
columnAligned: boolean;
|
|
1332
1410
|
SELECTION_TYPE: typeof SelectionType;
|
|
1333
1411
|
cells: QueryList<ClrDatagridCell>;
|
|
1412
|
+
private _pinnedCells;
|
|
1413
|
+
private _scrollableCells;
|
|
1414
|
+
private _plainCells;
|
|
1334
1415
|
private subscriptions;
|
|
1335
|
-
|
|
1416
|
+
private cellsMoved;
|
|
1417
|
+
private lastLayout;
|
|
1418
|
+
private hadCells;
|
|
1419
|
+
constructor(selection: Selection, rowActionService: RowActionService, expand: DatagridIfExpandService, expandableRows: ExpandableRowsCount, commonStrings: ClrCommonStringsService, columnsService: ColumnsService, displayMode: DisplayModeService);
|
|
1336
1420
|
set replace(value: boolean);
|
|
1337
1421
|
get beginningOfExpandableContentAriaText(): string;
|
|
1338
1422
|
get endOfExpandableContentAriaText(): string;
|
|
1339
1423
|
ngAfterContentInit(): void;
|
|
1424
|
+
ngAfterViewInit(): void;
|
|
1425
|
+
ngAfterViewChecked(): void;
|
|
1340
1426
|
ngOnDestroy(): void;
|
|
1427
|
+
/**
|
|
1428
|
+
* Moves the cells into the containers that lay them out in the same columns as the row, or back
|
|
1429
|
+
* out of them once that stops making sense.
|
|
1430
|
+
*/
|
|
1431
|
+
private syncColumnAlignment;
|
|
1432
|
+
private moveCell;
|
|
1341
1433
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridRowDetail, never>;
|
|
1342
1434
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridRowDetail, "clr-dg-row-detail", never, { "_beginningOfExpandableContentAriaText": { "alias": "clrRowDetailBeginningAriaText"; "required": false; }; "_endOfExpandableContentAriaText": { "alias": "clrRowDetailEndAriaText"; "required": false; }; "replace": { "alias": "clrDgReplace"; "required": false; }; }, {}, ["cells"], ["*"], false, never>;
|
|
1343
1435
|
}
|
|
@@ -1708,6 +1800,7 @@ declare class DatagridCellRenderer implements OnDestroy {
|
|
|
1708
1800
|
resetState(state: ColumnState): void;
|
|
1709
1801
|
setWidth(state: ColumnState): void;
|
|
1710
1802
|
setHidden(state: ColumnState): void;
|
|
1803
|
+
setPinned(state: ColumnState): void;
|
|
1711
1804
|
private clearWidth;
|
|
1712
1805
|
static ɵfac: i0.ɵɵFactoryDeclaration<DatagridCellRenderer, never>;
|
|
1713
1806
|
static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridCellRenderer, "clr-dg-cell", never, {}, {}, never, never, false, never>;
|
|
@@ -1733,6 +1826,7 @@ declare class DatagridHeaderRenderer implements OnDestroy {
|
|
|
1733
1826
|
setColumnState(index: number): void;
|
|
1734
1827
|
setWidth(state: ColumnState): void;
|
|
1735
1828
|
setHidden(state: ColumnState): void;
|
|
1829
|
+
setPinned(state: ColumnState): void;
|
|
1736
1830
|
private clearWidth;
|
|
1737
1831
|
private detectStrictWidth;
|
|
1738
1832
|
private computeWidth;
|
|
@@ -47,14 +47,17 @@ declare class ClrCheckboxContainer extends ClrAbstractContainer implements After
|
|
|
47
47
|
protected controlClassService: ControlClassService;
|
|
48
48
|
protected ngControlService: NgControlService;
|
|
49
49
|
role: string;
|
|
50
|
+
ariaLabelledBy: string;
|
|
50
51
|
checkboxes: QueryList<ClrCheckbox>;
|
|
51
52
|
private inline;
|
|
53
|
+
private _generatedId;
|
|
52
54
|
constructor(layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService);
|
|
53
55
|
get clrInline(): boolean | string;
|
|
54
56
|
set clrInline(value: boolean | string);
|
|
55
57
|
protected get allCheckboxesDisabled(): boolean;
|
|
56
58
|
ngAfterContentInit(): void;
|
|
57
59
|
private setAriaRoles;
|
|
60
|
+
private setAriaLabelledBy;
|
|
58
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrCheckboxContainer, [{ optional: true; }, null, null]>;
|
|
59
62
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrCheckboxContainer, "clr-checkbox-container,clr-toggle-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["checkboxes"], ["label", "clr-checkbox-wrapper,clr-toggle-wrapper", "clr-control-helper", "clr-control-error", "clr-control-success"], false, never>;
|
|
60
63
|
}
|
|
@@ -27,7 +27,6 @@ declare class ClrRadioContainer extends ClrAbstractContainer implements AfterCon
|
|
|
27
27
|
role: string;
|
|
28
28
|
ariaLabelledBy: string;
|
|
29
29
|
radios: QueryList<ClrRadio>;
|
|
30
|
-
groupLabel: ElementRef<HTMLElement>;
|
|
31
30
|
private inline;
|
|
32
31
|
private _generatedId;
|
|
33
32
|
constructor(layoutService: LayoutService, controlClassService: ControlClassService, ngControlService: NgControlService);
|
|
@@ -37,7 +36,7 @@ declare class ClrRadioContainer extends ClrAbstractContainer implements AfterCon
|
|
|
37
36
|
private setAriaRoles;
|
|
38
37
|
private setAriaLabelledBy;
|
|
39
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrRadioContainer, [{ optional: true; }, null, null]>;
|
|
40
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ClrRadioContainer, "clr-radio-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClrRadioContainer, "clr-radio-container", never, { "clrInline": { "alias": "clrInline"; "required": false; }; }, {}, ["radios"], ["label", "clr-radio-wrapper", "clr-control-helper", "clr-control-error", "clr-control-success"], false, never>;
|
|
41
40
|
}
|
|
42
41
|
|
|
43
42
|
declare class ClrRadioModule {
|
|
@@ -115,6 +115,14 @@ declare class ClarityIcons {
|
|
|
115
115
|
* Returns a readonly reference of the icon registry.
|
|
116
116
|
*/
|
|
117
117
|
static get registry(): Readonly<IconRegistry>;
|
|
118
|
+
/**
|
|
119
|
+
* Looks up a single icon shape by name without copying the entire registry.
|
|
120
|
+
*
|
|
121
|
+
* Prefer this over indexing into `registry` (e.g. `registry[name]`) in hot paths like icon
|
|
122
|
+
* rendering: `registry` spreads the whole (potentially large) registry into a new object on
|
|
123
|
+
* every access, which becomes expensive/memory-churning when many icons render or re-render.
|
|
124
|
+
*/
|
|
125
|
+
static getIconShape(name: string): IconRegistrySources[string] | undefined;
|
|
118
126
|
static addIcons(...shapes: IconShapeTuple[]): void;
|
|
119
127
|
/**
|
|
120
128
|
* @description
|