@rossigee/clarity-angular 18.2.1-fixed.1 → 18.2.1

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.
Files changed (180) hide show
  1. package/fesm2022/clr-angular-accordion.mjs +355 -0
  2. package/fesm2022/clr-angular-accordion.mjs.map +1 -0
  3. package/fesm2022/clr-angular-button.mjs +713 -0
  4. package/fesm2022/clr-angular-button.mjs.map +1 -0
  5. package/fesm2022/clr-angular-collapsible-panel.mjs +201 -0
  6. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -0
  7. package/fesm2022/clr-angular-data-datagrid.mjs +7635 -0
  8. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -0
  9. package/fesm2022/clr-angular-data-stack-view.mjs +442 -0
  10. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -0
  11. package/fesm2022/clr-angular-data-tree-view.mjs +1106 -0
  12. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -0
  13. package/fesm2022/clr-angular-data.mjs +40 -0
  14. package/fesm2022/clr-angular-data.mjs.map +1 -0
  15. package/fesm2022/clr-angular-emphasis-alert.mjs +624 -0
  16. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -0
  17. package/fesm2022/clr-angular-emphasis-badge.mjs +69 -0
  18. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -0
  19. package/fesm2022/clr-angular-emphasis-common.mjs +25 -0
  20. package/fesm2022/clr-angular-emphasis-common.mjs.map +1 -0
  21. package/fesm2022/clr-angular-emphasis-label.mjs +105 -0
  22. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -0
  23. package/fesm2022/clr-angular-emphasis.mjs +41 -0
  24. package/fesm2022/clr-angular-emphasis.mjs.map +1 -0
  25. package/fesm2022/clr-angular-forms-checkbox.mjs +270 -0
  26. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -0
  27. package/fesm2022/clr-angular-forms-combobox.mjs +1775 -0
  28. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -0
  29. package/fesm2022/clr-angular-forms-common.mjs +1251 -0
  30. package/fesm2022/clr-angular-forms-common.mjs.map +1 -0
  31. package/fesm2022/clr-angular-forms-datalist.mjs +263 -0
  32. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -0
  33. package/fesm2022/clr-angular-forms-datepicker.mjs +3274 -0
  34. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -0
  35. package/fesm2022/clr-angular-forms-file-input.mjs +826 -0
  36. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -0
  37. package/fesm2022/clr-angular-forms-input.mjs +153 -0
  38. package/fesm2022/clr-angular-forms-input.mjs.map +1 -0
  39. package/fesm2022/clr-angular-forms-number-input.mjs +236 -0
  40. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -0
  41. package/fesm2022/clr-angular-forms-password.mjs +233 -0
  42. package/fesm2022/clr-angular-forms-password.mjs.map +1 -0
  43. package/fesm2022/clr-angular-forms-radio.mjs +231 -0
  44. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -0
  45. package/fesm2022/clr-angular-forms-range.mjs +186 -0
  46. package/fesm2022/clr-angular-forms-range.mjs.map +1 -0
  47. package/fesm2022/clr-angular-forms-select.mjs +153 -0
  48. package/fesm2022/clr-angular-forms-select.mjs.map +1 -0
  49. package/fesm2022/clr-angular-forms-textarea.mjs +136 -0
  50. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -0
  51. package/fesm2022/clr-angular-forms.mjs +100 -0
  52. package/fesm2022/clr-angular-forms.mjs.map +1 -0
  53. package/fesm2022/clr-angular-icon.mjs +7397 -0
  54. package/fesm2022/clr-angular-icon.mjs.map +1 -0
  55. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +120 -0
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -0
  57. package/fesm2022/clr-angular-layout-main-container.mjs +100 -0
  58. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -0
  59. package/fesm2022/clr-angular-layout-nav.mjs +582 -0
  60. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -0
  61. package/fesm2022/clr-angular-layout-tabs.mjs +807 -0
  62. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -0
  63. package/fesm2022/clr-angular-layout-vertical-nav.mjs +507 -0
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -0
  65. package/fesm2022/clr-angular-layout.mjs +44 -0
  66. package/fesm2022/clr-angular-layout.mjs.map +1 -0
  67. package/fesm2022/clr-angular-modal.mjs +617 -0
  68. package/fesm2022/clr-angular-modal.mjs.map +1 -0
  69. package/fesm2022/clr-angular-popover-common.mjs +1082 -0
  70. package/fesm2022/clr-angular-popover-common.mjs.map +1 -0
  71. package/fesm2022/clr-angular-popover-dropdown.mjs +492 -0
  72. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -0
  73. package/fesm2022/clr-angular-popover-signpost.mjs +494 -0
  74. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -0
  75. package/fesm2022/clr-angular-popover-tooltip.mjs +293 -0
  76. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -0
  77. package/fesm2022/clr-angular-popover.mjs +41 -0
  78. package/fesm2022/clr-angular-popover.mjs.map +1 -0
  79. package/fesm2022/clr-angular-progress-progress-bars.mjs +217 -0
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -0
  81. package/fesm2022/clr-angular-progress-spinner.mjs +132 -0
  82. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -0
  83. package/fesm2022/clr-angular-stepper.mjs +694 -0
  84. package/fesm2022/clr-angular-stepper.mjs.map +1 -0
  85. package/fesm2022/clr-angular-timeline.mjs +316 -0
  86. package/fesm2022/clr-angular-timeline.mjs.map +1 -0
  87. package/fesm2022/clr-angular-utils-conditional.mjs +351 -0
  88. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -0
  89. package/fesm2022/clr-angular-utils-loading.mjs +107 -0
  90. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -0
  91. package/fesm2022/clr-angular-utils.mjs +2079 -0
  92. package/fesm2022/clr-angular-utils.mjs.map +1 -0
  93. package/fesm2022/clr-angular-wizard.mjs +3074 -0
  94. package/fesm2022/clr-angular-wizard.mjs.map +1 -0
  95. package/fesm2022/clr-angular.mjs +2 -2
  96. package/fesm2022/clr-angular.mjs.map +1 -1
  97. package/package.json +7 -5
  98. package/schematics/ng-update/index.d.ts +2 -0
  99. package/schematics/ng-update/index.js +69 -0
  100. package/schematics/ng-update/index.js.map +1 -0
  101. package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
  102. package/schematics/ng-update/migrations/css-migration.js +177 -0
  103. package/schematics/ng-update/migrations/css-migration.js.map +1 -0
  104. package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
  105. package/schematics/ng-update/migrations/import-migration.js +187 -0
  106. package/schematics/ng-update/migrations/import-migration.js.map +1 -0
  107. package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
  108. package/schematics/ng-update/migrations/template-migration.js +261 -0
  109. package/schematics/ng-update/migrations/template-migration.js.map +1 -0
  110. package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
  111. package/schematics/ng-update/replacements/css-replacements.js +74 -0
  112. package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
  113. package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
  114. package/schematics/ng-update/replacements/import-replacements.js +108 -0
  115. package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
  116. package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
  117. package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
  118. package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
  119. package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
  120. package/schematics/ng-update/replacements/template-replacements.js +57 -0
  121. package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
  122. package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
  123. package/schematics/ng-update/tests/test-helpers.js +34 -0
  124. package/schematics/ng-update/tests/test-helpers.js.map +1 -0
  125. package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
  126. package/schematics/ng-update/utils/file-visitor.js +44 -0
  127. package/schematics/ng-update/utils/file-visitor.js.map +1 -0
  128. package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
  129. package/schematics/ng-update/utils/regexp-utils.js +34 -0
  130. package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
  131. package/schematics/vitest.config.d.ts +2 -0
  132. package/schematics/vitest.config.js +17 -0
  133. package/schematics/vitest.config.js.map +1 -0
  134. package/types/clr-angular-accordion.d.ts +100 -0
  135. package/types/clr-angular-button.d.ts +169 -0
  136. package/types/clr-angular-collapsible-panel.d.ts +73 -0
  137. package/types/clr-angular-data-datagrid.d.ts +1843 -0
  138. package/types/clr-angular-data-stack-view.d.ts +87 -0
  139. package/types/clr-angular-data-tree-view.d.ts +229 -0
  140. package/types/clr-angular-data.d.ts +15 -0
  141. package/types/clr-angular-emphasis-alert.d.ts +175 -0
  142. package/types/clr-angular-emphasis-badge.d.ts +25 -0
  143. package/types/clr-angular-emphasis-common.d.ts +6 -0
  144. package/types/clr-angular-emphasis-label.d.ts +29 -0
  145. package/types/clr-angular-emphasis.d.ts +15 -0
  146. package/types/clr-angular-forms-checkbox.d.ts +69 -0
  147. package/types/clr-angular-forms-combobox.d.ts +353 -0
  148. package/types/clr-angular-forms-common.d.ts +339 -0
  149. package/types/clr-angular-forms-datalist.d.ts +59 -0
  150. package/types/clr-angular-forms-datepicker.d.ts +986 -0
  151. package/types/clr-angular-forms-file-input.d.ts +193 -0
  152. package/types/clr-angular-forms-input.d.ts +29 -0
  153. package/types/clr-angular-forms-number-input.d.ts +43 -0
  154. package/types/clr-angular-forms-password.d.ts +52 -0
  155. package/types/clr-angular-forms-radio.d.ts +50 -0
  156. package/types/clr-angular-forms-range.d.ts +37 -0
  157. package/types/clr-angular-forms-select.d.ts +36 -0
  158. package/types/clr-angular-forms-textarea.d.ts +29 -0
  159. package/types/clr-angular-forms.d.ts +36 -0
  160. package/types/clr-angular-icon.d.ts +1498 -0
  161. package/types/clr-angular-layout-breadcrumbs.d.ts +45 -0
  162. package/types/clr-angular-layout-main-container.d.ts +28 -0
  163. package/types/clr-angular-layout-nav.d.ts +142 -0
  164. package/types/clr-angular-layout-tabs.d.ts +158 -0
  165. package/types/clr-angular-layout-vertical-nav.d.ts +128 -0
  166. package/types/clr-angular-layout.d.ts +19 -0
  167. package/types/clr-angular-modal.d.ts +160 -0
  168. package/types/clr-angular-popover-common.d.ts +254 -0
  169. package/types/clr-angular-popover-dropdown.d.ts +123 -0
  170. package/types/clr-angular-popover-signpost.d.ts +157 -0
  171. package/types/clr-angular-popover-tooltip.d.ts +83 -0
  172. package/types/clr-angular-popover.d.ts +16 -0
  173. package/types/clr-angular-progress-progress-bars.d.ts +57 -0
  174. package/types/clr-angular-progress-spinner.d.ts +44 -0
  175. package/types/clr-angular-stepper.d.ts +179 -0
  176. package/types/clr-angular-timeline.d.ts +86 -0
  177. package/types/clr-angular-utils-conditional.d.ts +132 -0
  178. package/types/clr-angular-utils-loading.d.ts +38 -0
  179. package/types/clr-angular-utils.d.ts +913 -0
  180. package/types/clr-angular-wizard.d.ts +1508 -0
@@ -0,0 +1,1843 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnDestroy, OnInit, OnChanges, EventEmitter, ElementRef, ViewContainerRef, ChangeDetectorRef, SimpleChanges, DoCheck, TemplateRef, IterableDiffers, TrackByFunction, QueryList, AfterContentInit, AfterViewInit, Renderer2, NgZone, EnvironmentInjector, EmbeddedViewRef, AfterViewChecked, Type } from '@angular/core';
3
+ import * as i39 from '@clr/angular/utils';
4
+ import { ClrCommonStringsService, IfExpandService, ClrLoadingState, ClrExpandableAnimationDirective, DomAdapter, WillyWonka, OompaLoompa } from '@clr/angular/utils';
5
+ import { Observable, Subject, BehaviorSubject, ReplaySubject } from 'rxjs';
6
+ import { ModalStackService } from '@clr/angular/modal';
7
+ import * as i1 from '@clr/angular/popover/common';
8
+ import { ClrPopoverPosition, ClrPopoverService, ClrPopoverType } from '@clr/angular/popover/common';
9
+ import * as i38 from '@angular/common';
10
+ import { NgForOfContext } from '@angular/common';
11
+ import * as _clr_angular_data_datagrid from '@clr/angular/data/datagrid';
12
+ import { ClrSignpost } from '@clr/angular/popover/signpost';
13
+ import { Directionality } from '@angular/cdk/bidi';
14
+ import { ListRange } from '@angular/cdk/collections';
15
+ import { CdkVirtualForOfContext, ScrollDispatcher, ViewportRuler, CdkVirtualForOf, CdkFixedSizeVirtualScroll } from '@angular/cdk/scrolling';
16
+ import * as _angular_cdk_overlay from '@angular/cdk/overlay';
17
+ import { ClrControlLabel } from '@clr/angular/forms/common';
18
+ import * as i40 from '@clr/angular/icon';
19
+ import * as i41 from '@clr/angular/forms/input';
20
+ import * as i42 from '@clr/angular/forms/radio';
21
+ import * as i43 from '@clr/angular/forms/checkbox';
22
+ import * as i44 from '@clr/angular/forms/number-input';
23
+ import * as i45 from '@clr/angular/forms/select';
24
+ import * as i46 from '@angular/forms';
25
+ import { ControlValueAccessor } from '@angular/forms';
26
+ import * as i47 from '@clr/angular/progress/spinner';
27
+
28
+ /**
29
+ * Enumeration representing the sorting order of a datagrid column. It is a constant Enum,
30
+ * i.e. each value needs to be treated as a `number`, starting at index 0.
31
+ *
32
+ * @export
33
+ * @enum {number}
34
+ */
35
+ declare enum ClrDatagridSortOrder {
36
+ UNSORTED = 0,
37
+ ASC = 1,
38
+ DESC = -1
39
+ }
40
+ declare enum ClrDatagridAriaSortOrder {
41
+ UNSORTED = "none",
42
+ ASC = "ascending",
43
+ DESC = "descending"
44
+ }
45
+
46
+ interface ClrDatagridComparatorInterface<T> {
47
+ compare(a: T, b: T): number;
48
+ }
49
+
50
+ interface ClrDatagridFilterInterface<T, S = any> {
51
+ readonly state?: S;
52
+ changes: Observable<any>;
53
+ isActive(): boolean;
54
+ accepts(item: T): boolean;
55
+ equals?(other: ClrDatagridFilterInterface<T, any>): boolean;
56
+ }
57
+
58
+ declare class DetailService {
59
+ private readonly modalStackService;
60
+ id: string;
61
+ private preventScroll;
62
+ private toggleState;
63
+ private cache;
64
+ private button;
65
+ private _enabled;
66
+ private _state;
67
+ constructor(modalStackService: ModalStackService);
68
+ get enabled(): boolean;
69
+ set enabled(state: boolean);
70
+ get preventFocusScroll(): boolean;
71
+ set preventFocusScroll(preventScroll: boolean);
72
+ get state(): any;
73
+ get stateChange(): Observable<boolean | null>;
74
+ get isOpen(): boolean;
75
+ open(item: any, button?: HTMLButtonElement): void;
76
+ close(): void;
77
+ returnFocus(): void;
78
+ toggle(item: any, button?: HTMLButtonElement): void;
79
+ isRowOpen(item: any): boolean;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<DetailService, never>;
81
+ static ɵprov: i0.ɵɵInjectableDeclaration<DetailService>;
82
+ }
83
+
84
+ declare class StateDebouncer {
85
+ private nbChanges;
86
+ /**
87
+ * The Observable that lets other classes subscribe to global state changes
88
+ */
89
+ private _change;
90
+ get change(): Observable<void>;
91
+ changeStart(): void;
92
+ changeDone(): void;
93
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateDebouncer, never>;
94
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateDebouncer>;
95
+ }
96
+
97
+ declare class Page {
98
+ private stateDebouncer;
99
+ activated: boolean;
100
+ /**
101
+ * Page size, a value of 0 means no pagination
102
+ */
103
+ private _size;
104
+ /**
105
+ * Total items (needed to guess the last page)
106
+ */
107
+ private _totalItems?;
108
+ /**
109
+ * Last page
110
+ */
111
+ private _last;
112
+ /**
113
+ * Current page
114
+ */
115
+ private _current;
116
+ /**
117
+ * The Observable that lets other classes subscribe to page changes
118
+ */
119
+ private _change;
120
+ private preventEmit;
121
+ private _sizeChange;
122
+ constructor(stateDebouncer: StateDebouncer);
123
+ get size(): number;
124
+ set size(size: number);
125
+ get totalItems(): number;
126
+ set totalItems(total: number);
127
+ get last(): number;
128
+ set last(page: number);
129
+ get change(): Observable<number>;
130
+ get sizeChange(): Observable<number>;
131
+ get current(): number;
132
+ set current(page: number);
133
+ /**
134
+ * Index of the first item displayed on the current page, starting at 0, -1 if none displayed
135
+ */
136
+ get firstItem(): number;
137
+ /**
138
+ * Index of the last item displayed on the current page, starting at 0, -1 if none displayed
139
+ */
140
+ get lastItem(): number;
141
+ /**
142
+ * Moves to the previous page if it exists
143
+ */
144
+ previous(): void;
145
+ /**
146
+ * Moves to the next page if it exists
147
+ */
148
+ next(): void;
149
+ /**
150
+ * Resets the page size to 0
151
+ */
152
+ resetPageSize(preventEmit?: boolean): void;
153
+ static ɵfac: i0.ɵɵFactoryDeclaration<Page, never>;
154
+ static ɵprov: i0.ɵɵInjectableDeclaration<Page>;
155
+ }
156
+
157
+ declare class FiltersProvider<T = any> {
158
+ private _page;
159
+ private stateDebouncer;
160
+ /**
161
+ * This subject is the list of filters that changed last, not the whole list.
162
+ * We emit a list rather than just one filter to allow batch changes to several at once.
163
+ */
164
+ private _change;
165
+ /**
166
+ * List of all filters, whether they're active or not
167
+ */
168
+ private _all;
169
+ constructor(_page: Page, stateDebouncer: StateDebouncer);
170
+ get change(): Observable<ClrDatagridFilterInterface<T>[]>;
171
+ /**
172
+ * Tests if at least one filter is currently active
173
+ */
174
+ hasActiveFilters(): boolean;
175
+ /**
176
+ * Returns a list of all currently active filters
177
+ */
178
+ getActiveFilters(): ClrDatagridFilterInterface<T>[];
179
+ /**
180
+ * Registers a filter, and returns a deregistration function
181
+ */
182
+ add<F extends ClrDatagridFilterInterface<T>>(filter: F): RegisteredFilter<T, F>;
183
+ /**
184
+ * Accepts an item if it is accepted by all currently active filters
185
+ */
186
+ accepts(item: T): boolean;
187
+ private resetPageAndEmitFilterChange;
188
+ static ɵfac: i0.ɵɵFactoryDeclaration<FiltersProvider<any>, never>;
189
+ static ɵprov: i0.ɵɵInjectableDeclaration<FiltersProvider<any>>;
190
+ }
191
+ declare class RegisteredFilter<T, F extends ClrDatagridFilterInterface<T>> {
192
+ filter: F;
193
+ unregister: () => void;
194
+ constructor(filter: F, unregister: () => void);
195
+ }
196
+
197
+ declare class Sort<T = any> {
198
+ private stateDebouncer;
199
+ /**
200
+ * Currently active comparator
201
+ */
202
+ private _comparator;
203
+ /**
204
+ * Ascending order if false, descending if true
205
+ */
206
+ private _reverse;
207
+ /**
208
+ * The Observable that lets other classes subscribe to sort changes
209
+ */
210
+ private _change;
211
+ constructor(stateDebouncer: StateDebouncer);
212
+ get comparator(): ClrDatagridComparatorInterface<T>;
213
+ set comparator(value: ClrDatagridComparatorInterface<T>);
214
+ get reverse(): boolean;
215
+ set reverse(value: boolean);
216
+ get change(): Observable<Sort<T>>;
217
+ /**
218
+ * Sets a comparator as the current one, or toggles reverse if the comparator is already used. The
219
+ * optional forceReverse input parameter allows to override that toggling behavior by sorting in
220
+ * reverse order if `true`.
221
+ *
222
+ * @memberof Sort
223
+ */
224
+ toggle(sortBy: ClrDatagridComparatorInterface<T>, forceReverse?: boolean): void;
225
+ /**
226
+ * Clears the current sorting order
227
+ */
228
+ clear(): void;
229
+ /**
230
+ * Compares two objects according to the current comparator
231
+ */
232
+ compare(a: T, b: T): number;
233
+ private emitChange;
234
+ static ɵfac: i0.ɵɵFactoryDeclaration<Sort<any>, never>;
235
+ static ɵprov: i0.ɵɵInjectableDeclaration<Sort<any>>;
236
+ }
237
+
238
+ declare abstract class DatagridFilterRegistrar<T, F extends ClrDatagridFilterInterface<T>> implements OnDestroy {
239
+ private filters;
240
+ /**
241
+ * @NOTEe Type `any` is set here to be able to pass templateStrictMode
242
+ */
243
+ registered: any;
244
+ protected constructor(filters: FiltersProvider<T>);
245
+ get filter(): F;
246
+ ngOnDestroy(): void;
247
+ setFilter(filter: F | RegisteredFilter<T, F>): void;
248
+ deleteFilter(): void;
249
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridFilterRegistrar<any, any>, never>;
250
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridFilterRegistrar<any, any>, never, never, {}, {}, never, never, true, never>;
251
+ }
252
+
253
+ declare class ClrDatagridColumn<T = any> extends DatagridFilterRegistrar<T, ClrDatagridFilterInterface<T>> implements OnDestroy, OnInit, OnChanges {
254
+ private el;
255
+ private _sort;
256
+ private vcr;
257
+ private detailService;
258
+ private changeDetectorRef;
259
+ private commonStrings;
260
+ filterStringPlaceholder: string;
261
+ filterNumberMaxPlaceholder: string;
262
+ filterNumberMinPlaceholder: string;
263
+ disableUnsort: boolean;
264
+ sortOrderChange: EventEmitter<ClrDatagridSortOrder>;
265
+ filterValueChange: EventEmitter<any>;
266
+ titleContainer: ElementRef<HTMLElement>;
267
+ /**
268
+ * A custom filter for this column that can be provided in the projected content
269
+ */
270
+ customFilter: boolean;
271
+ private _colType;
272
+ private _field;
273
+ /**
274
+ * ClrDatagridComparatorInterface to use when sorting the column
275
+ */
276
+ private _sortBy;
277
+ /**
278
+ * Indicates how the column is currently sorted
279
+ */
280
+ private _sortOrder;
281
+ private _sortDirection;
282
+ private initFilterValue;
283
+ private wrappedInjector;
284
+ /**
285
+ * Subscription to the sort service changes
286
+ */
287
+ private subscriptions;
288
+ private _showSeparator;
289
+ constructor(el: ElementRef<HTMLElement>, _sort: Sort<T>, filters: FiltersProvider<T>, vcr: ViewContainerRef, detailService: DetailService, changeDetectorRef: ChangeDetectorRef, commonStrings: ClrCommonStringsService);
290
+ get isHidden(): boolean;
291
+ get showSeparator(): boolean;
292
+ set showSeparator(value: boolean);
293
+ get colType(): "string" | "number";
294
+ set colType(value: 'string' | 'number');
295
+ get field(): string;
296
+ set field(field: string);
297
+ get sortBy(): ClrDatagridComparatorInterface<T> | string;
298
+ set sortBy(comparator: ClrDatagridComparatorInterface<T> | string);
299
+ get sortOrder(): ClrDatagridSortOrder;
300
+ set sortOrder(value: ClrDatagridSortOrder);
301
+ set updateFilterValue(newValue: string | [number, number]);
302
+ set projectedFilter(custom: any);
303
+ /**
304
+ * Indicates if the column is sortable
305
+ */
306
+ get sortable(): boolean;
307
+ get ariaSort(): ClrDatagridAriaSortOrder;
308
+ get sortDirection(): 'up' | 'down' | null;
309
+ /**
310
+ * @NOTE type `any` here is to let us pass templateStrictMode, because in our code we try to handle
311
+ * two types of filters String and Number with the same variable but both of them work with different
312
+ * format we got an error for casting. We could not cast anything inside the template so to not mess the
313
+ * casting, the last type is set to `any`
314
+ *
315
+ * Orignial types: string | [number, number]
316
+ */
317
+ get filterValue(): any;
318
+ set filterValue(newValue: any);
319
+ get _view(): any;
320
+ ngOnInit(): void;
321
+ ngAfterViewInit(): void;
322
+ ngOnChanges(changes: SimpleChanges): void;
323
+ ngOnDestroy(): void;
324
+ /**
325
+ * Sorts the datagrid based on this column
326
+ */
327
+ sort(reverse?: boolean): void;
328
+ private listenForDetailPaneChanges;
329
+ private setFilterToggleAriaLabel;
330
+ private listenForSortingChanges;
331
+ private setupDefaultFilter;
332
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumn<any>, never>;
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: {}; }]>;
334
+ }
335
+
336
+ type ClrDatagridItemsIdentityFunction<T> = (item: T) => any;
337
+ declare class Items<T = any> {
338
+ private _filters;
339
+ private _sort;
340
+ private _page;
341
+ /**
342
+ * Indicates if the data is currently loading
343
+ */
344
+ loading: boolean;
345
+ /**
346
+ * Subscriptions to the other providers changes.
347
+ */
348
+ private _filtersSub;
349
+ private _sortSub;
350
+ private _pageSub;
351
+ /**
352
+ * Whether we should use smart items for this datagrid or let the user handle
353
+ * everything.
354
+ */
355
+ private _smart;
356
+ /**
357
+ * List of all items in the datagrid
358
+ */
359
+ private _all;
360
+ /**
361
+ * Internal temporary step, which we preserve to avoid re-filtering or re-sorting if not necessary
362
+ */
363
+ private _filtered;
364
+ /**
365
+ * List of items currently displayed
366
+ */
367
+ private _displayed;
368
+ /**
369
+ * The Observable that lets other classes subscribe to items changes
370
+ */
371
+ private _change;
372
+ private _allChanges;
373
+ constructor(_filters: FiltersProvider<T>, _sort: Sort<T>, _page: Page);
374
+ get smart(): boolean;
375
+ get all(): T[];
376
+ set all(items: T[]);
377
+ get displayed(): T[];
378
+ get change(): Observable<T[]>;
379
+ get allChanges(): Observable<T[]>;
380
+ /**
381
+ * Checks if we don't have data to process yet, to abort early operations
382
+ */
383
+ private get uninitialized();
384
+ /**
385
+ * Tracking function to identify objects.
386
+ */
387
+ identifyBy: ClrDatagridItemsIdentityFunction<T>;
388
+ /**
389
+ * Cleans up our subscriptions to other providers
390
+ */
391
+ destroy(): void;
392
+ smartenDown(): void;
393
+ smartenUp(): void;
394
+ /**
395
+ * Manually recompute the list of displayed items
396
+ */
397
+ refresh(): void;
398
+ private emitChange;
399
+ private emitAllChanges;
400
+ /**
401
+ * FiltersProvider items from the raw list
402
+ */
403
+ private _filterItems;
404
+ /**
405
+ * Sorts items in the filtered list
406
+ */
407
+ private _sortItems;
408
+ /**
409
+ * Extracts the current page from the sorted list
410
+ */
411
+ private _changePage;
412
+ static ɵfac: i0.ɵɵFactoryDeclaration<Items<any>, never>;
413
+ static ɵprov: i0.ɵɵInjectableDeclaration<Items<any>>;
414
+ }
415
+
416
+ declare class ClrDatagridItems<T> implements DoCheck, OnDestroy {
417
+ template: TemplateRef<NgForOfContext<T>>;
418
+ private differs;
419
+ private items;
420
+ private iterableProxy;
421
+ private _rawItems;
422
+ private differ;
423
+ private subscriptions;
424
+ constructor(template: TemplateRef<NgForOfContext<T>>, differs: IterableDiffers, items: Items, vcr: ViewContainerRef);
425
+ set rawItems(items: T[]);
426
+ set trackBy(value: TrackByFunction<T>);
427
+ /**
428
+ * Asserts the correct type of the template context that the directive will render.
429
+ * See https://angular.io/guide/structural-directives#typing-the-directives-context
430
+ *
431
+ * The presence of this method is a signal to the Ivy template type-check compiler that the
432
+ * structural directive renders its template with a specific context type.
433
+ */
434
+ static ngTemplateContextGuard<T>(_dir: ClrDatagridItems<T>, _ctx: unknown): _ctx is NgForOfContext<T>;
435
+ ngDoCheck(): void;
436
+ ngOnDestroy(): void;
437
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridItems<any>, never>;
438
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridItems<any>, "[clrDgItems][clrDgItemsOf]", never, { "rawItems": { "alias": "clrDgItemsOf"; "required": false; }; "trackBy": { "alias": "clrDgItemsTrackBy"; "required": false; }; }, {}, never, never, false, never>;
439
+ }
440
+
441
+ declare class ClrDatagridPlaceholder<T = any> {
442
+ private items;
443
+ constructor(items: Items<T>);
444
+ /**
445
+ * Tests if the datagrid is empty, meaning it doesn't contain any items
446
+ */
447
+ get emptyDatagrid(): boolean;
448
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridPlaceholder<any>, never>;
449
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridPlaceholder<any>, "clr-dg-placeholder", never, {}, {}, never, ["*"], false, never>;
450
+ }
451
+
452
+ declare class ClrDatagridCell implements OnInit {
453
+ private vcr;
454
+ /*********
455
+ * @property signpost
456
+ *
457
+ * @description
458
+ * @ContentChild is used to detect the presence of a Signpost in the projected content.
459
+ * On the host, we set the .datagrid-signpost-trigger class on the cell when signpost.length is greater than 0.
460
+ *
461
+ */
462
+ signpost: QueryList<ClrSignpost>;
463
+ private wrappedInjector;
464
+ constructor(vcr: ViewContainerRef);
465
+ get _view(): any;
466
+ ngOnInit(): void;
467
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridCell, never>;
468
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridCell, "clr-dg-cell", never, {}, {}, ["signpost"], ["*"], false, never>;
469
+ }
470
+
471
+ declare class DatagridIfExpandService extends IfExpandService {
472
+ expandableId: string;
473
+ private _replace;
474
+ private _animate;
475
+ constructor();
476
+ get expanded(): boolean;
477
+ set expanded(value: boolean);
478
+ get replace(): Observable<boolean>;
479
+ get animate(): Observable<void>;
480
+ loadingStateChange(state: ClrLoadingState): void;
481
+ setReplace(replaceValue: boolean): void;
482
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridIfExpandService, never>;
483
+ static ɵprov: i0.ɵɵInjectableDeclaration<DatagridIfExpandService>;
484
+ }
485
+
486
+ declare enum SelectionType {
487
+ /**
488
+ * User cannot select any row in the Datagrid
489
+ */
490
+ None = "none",
491
+ /**
492
+ * User can select only one row at a time in the Datagrid.
493
+ */
494
+ Single = "single",
495
+ /**
496
+ * User can select any number of rows in the Datagrid.
497
+ */
498
+ Multi = "multi"
499
+ }
500
+ declare function selectionTypeAttribute(value: SelectionType | string): SelectionType;
501
+
502
+ declare enum DatagridDisplayMode {
503
+ DISPLAY = 0,
504
+ CALCULATE = 1
505
+ }
506
+
507
+ declare enum DatagridRenderStep {
508
+ ALIGN_COLUMNS = 0,
509
+ CALCULATE_MODE_ON = 1,
510
+ CALCULATE_MODE_OFF = 2,
511
+ CLEAR_WIDTHS = 3,// Note this is listened to by both cells and columns
512
+ COMPUTE_COLUMN_WIDTHS = 4
513
+ }
514
+
515
+ declare class DatagridRenderOrganizer {
516
+ protected _renderStep: Subject<DatagridRenderStep>;
517
+ private alreadySized;
518
+ get renderStep(): Observable<DatagridRenderStep>;
519
+ filterRenderSteps(step: DatagridRenderStep): Observable<DatagridRenderStep>;
520
+ resize(): void;
521
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridRenderOrganizer, never>;
522
+ static ɵprov: i0.ɵɵInjectableDeclaration<DatagridRenderOrganizer>;
523
+ }
524
+
525
+ declare class DisplayModeService implements OnDestroy {
526
+ protected _view: BehaviorSubject<DatagridDisplayMode>;
527
+ private subscriptions;
528
+ constructor(renderOrganizer: DatagridRenderOrganizer);
529
+ get view(): Observable<DatagridDisplayMode>;
530
+ ngOnDestroy(): void;
531
+ static ɵfac: i0.ɵɵFactoryDeclaration<DisplayModeService, never>;
532
+ static ɵprov: i0.ɵɵInjectableDeclaration<DisplayModeService>;
533
+ }
534
+
535
+ declare class ExpandableRowsCount {
536
+ private detailService;
537
+ private expandableCount;
538
+ constructor(detailService: DetailService);
539
+ /**
540
+ * false means no rows with action
541
+ * check if details are on, and disable rows entirely
542
+ */
543
+ get hasExpandableRow(): boolean;
544
+ register(): void;
545
+ unregister(): void;
546
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandableRowsCount, never>;
547
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExpandableRowsCount>;
548
+ }
549
+
550
+ declare class RowActionService {
551
+ private actionableCount;
552
+ /**
553
+ * false means no rows with action
554
+ */
555
+ get hasActionableRow(): boolean;
556
+ register(): void;
557
+ unregister(): void;
558
+ static ɵfac: i0.ɵɵFactoryDeclaration<RowActionService, never>;
559
+ static ɵprov: i0.ɵɵInjectableDeclaration<RowActionService>;
560
+ }
561
+
562
+ declare class Selection<T = any> {
563
+ private _items;
564
+ id: string;
565
+ preserveSelection: boolean;
566
+ /**
567
+ * Last selection, for use in range selection.
568
+ */
569
+ rangeStart: T;
570
+ /**
571
+ * Shift key state, for use in range selection.
572
+ */
573
+ shiftPressed: boolean;
574
+ /** @deprecated since 2.0, remove in 3.0 */
575
+ rowSelectionMode: boolean;
576
+ private lockedRefs;
577
+ private _currentSelectionRefs;
578
+ private valueCollector;
579
+ private _selectionType;
580
+ /**
581
+ * The current selection
582
+ */
583
+ private _current;
584
+ /**
585
+ * The Observable that lets other classes subscribe to selection changes
586
+ */
587
+ private _change;
588
+ /**
589
+ * Subscriptions to the other providers changes.
590
+ */
591
+ private subscriptions;
592
+ /**
593
+ * Differ to track changes of multi selection.
594
+ */
595
+ private _differ;
596
+ private identifyBy;
597
+ constructor(_items: Items<T>, filters: FiltersProvider<T>, differs: IterableDiffers);
598
+ get selectionType(): SelectionType;
599
+ set selectionType(value: SelectionType);
600
+ get current(): T[];
601
+ set current(value: T[]);
602
+ get currentSingle(): T;
603
+ get change(): Observable<T[]>;
604
+ get selectable(): boolean;
605
+ private get currentSelectionRefs();
606
+ checkForChanges(): void;
607
+ clearSelection(): void;
608
+ /**
609
+ * Cleans up our subscriptions to other providers
610
+ */
611
+ destroy(): void;
612
+ updateCurrent(value: T[], emit: boolean): void;
613
+ /**
614
+ * Checks if an item is currently selected
615
+ */
616
+ isSelected(item: T): boolean;
617
+ /**
618
+ * Selects or deselects an item
619
+ */
620
+ setSelected(item: T, selected: boolean): void;
621
+ /**
622
+ * Checks if all currently displayed items are selected
623
+ */
624
+ isAllSelected(): boolean;
625
+ /**
626
+ * Lock and unlock item
627
+ */
628
+ lockItem(item: T, lock: boolean): void;
629
+ /**
630
+ * Check is item locked or not by searching into lockedRefs for entry
631
+ */
632
+ isLocked(item: T): boolean;
633
+ /**
634
+ * Selects or deselects all currently displayed items
635
+ */
636
+ toggleAll(): void;
637
+ /**
638
+ * Selects an item
639
+ */
640
+ private selectItem;
641
+ /**
642
+ * Deselects an item
643
+ */
644
+ private deselectItem;
645
+ /**
646
+ * Make sure that it could be locked
647
+ */
648
+ private canItBeLocked;
649
+ private emitChange;
650
+ private updateCurrentSelectionRefs;
651
+ static ɵfac: i0.ɵɵFactoryDeclaration<Selection<any>, never>;
652
+ static ɵprov: i0.ɵɵInjectableDeclaration<Selection<any>>;
653
+ }
654
+
655
+ declare class ClrDatagridRow<T = any> implements AfterContentInit, AfterViewInit {
656
+ selection: Selection<T>;
657
+ rowActionService: RowActionService;
658
+ globalExpandable: ExpandableRowsCount;
659
+ expand: DatagridIfExpandService;
660
+ detailService: DetailService;
661
+ private displayMode;
662
+ private vcr;
663
+ el: ElementRef<HTMLElement>;
664
+ commonStrings: ClrCommonStringsService;
665
+ private items;
666
+ private document;
667
+ selectedChanged: EventEmitter<boolean>;
668
+ expandedChange: EventEmitter<boolean>;
669
+ detailDisabled: boolean;
670
+ detailHidden: boolean;
671
+ skeletonLoading: boolean;
672
+ id: string;
673
+ radioId: string;
674
+ checkboxId: string;
675
+ expandableId: string;
676
+ replaced: boolean;
677
+ displayCells: boolean;
678
+ expandAnimationTrigger: boolean;
679
+ SELECTION_TYPE: typeof SelectionType;
680
+ /**
681
+ * @internal
682
+ */
683
+ itemChanges: ReplaySubject<T>;
684
+ /*****
685
+ * property dgCells
686
+ *
687
+ * @description
688
+ * A Query List of the ClrDatagrid cells in this row.
689
+ *
690
+ */
691
+ dgCells: QueryList<ClrDatagridCell>;
692
+ expandAnimation: ClrExpandableAnimationDirective;
693
+ detailButton: ElementRef<HTMLButtonElement>;
694
+ _stickyCells: ViewContainerRef;
695
+ _scrollableCells: ViewContainerRef;
696
+ _calculatedCells: ViewContainerRef;
697
+ _fixedCellTemplate: TemplateRef<any>;
698
+ private _item;
699
+ private _selected;
700
+ private _detailOpenLabel;
701
+ private _detailCloseLabel;
702
+ private _rowSelectionLabel;
703
+ private wrappedInjector;
704
+ private subscriptions;
705
+ 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);
707
+ /**
708
+ * Model of the row, to use for selection
709
+ */
710
+ get item(): T;
711
+ set item(item: T);
712
+ get clrDgSelectable(): boolean | string;
713
+ set clrDgSelectable(value: boolean | string);
714
+ /**
715
+ * Indicates if the row is selected
716
+ */
717
+ get selected(): boolean | string;
718
+ set selected(value: boolean | string);
719
+ get expanded(): boolean | string;
720
+ set expanded(value: boolean | string);
721
+ get clrDgDetailOpenLabel(): string;
722
+ set clrDgDetailOpenLabel(label: string);
723
+ get clrDgDetailCloseLabel(): string;
724
+ set clrDgDetailCloseLabel(label: string);
725
+ get clrDgRowSelectionLabel(): string;
726
+ set clrDgRowSelectionLabel(label: string);
727
+ get _view(): any;
728
+ get identifyBy(): _clr_angular_data_datagrid.ClrDatagridItemsIdentityFunction<any>;
729
+ openDetails(event: MouseEvent, detailButton: HTMLButtonElement): void;
730
+ ngOnInit(): void;
731
+ ngAfterContentInit(): void;
732
+ ngAfterViewInit(): void;
733
+ ngOnDestroy(): void;
734
+ toggle(selected?: boolean): void;
735
+ toggleExpand(event: MouseEvent): void;
736
+ /**
737
+ * The default behavior in Chrome and Firefox for shift-clicking on a label is to perform text-selection.
738
+ * This prevents our intended range-selection, because this text-selection overrides our shift-click event.
739
+ * We need to clear the stored selection range when shift-clicking. This will override the mostly unused shift-click
740
+ * selection browser functionality, which is inconsistently implemented in browsers anyway.
741
+ */
742
+ clearRanges(event: MouseEvent): void;
743
+ /**
744
+ * @deprecated related to clrDgRowSelection, which is deprecated
745
+ */
746
+ protected selectRow(selected: boolean, $event: any): void;
747
+ private rangeSelect;
748
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridRow<any>, never>;
749
+ 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>;
750
+ }
751
+
752
+ interface ClrDatagridVirtualScrollRangeInterface<T> {
753
+ total: number;
754
+ skip: number;
755
+ data: T[];
756
+ }
757
+
758
+ type CdkVirtualForInputKey = 'cdkVirtualForOf' | 'cdkVirtualForTrackBy' | 'cdkVirtualForTemplate' | 'cdkVirtualForTemplateCacheSize';
759
+ type CdkVirtualForInputs<T> = Partial<Pick<CdkVirtualForOf<T>, CdkVirtualForInputKey>>;
760
+ type CdkFixedSizeVirtualScrollInputs = Pick<CdkFixedSizeVirtualScroll, 'itemSize' | 'minBufferPx' | 'maxBufferPx'>;
761
+ declare class ClrDatagridVirtualScrollDirective<T> implements AfterViewInit, DoCheck, OnDestroy {
762
+ private readonly changeDetectorRef;
763
+ private iterableDiffers;
764
+ private items;
765
+ private readonly ngZone;
766
+ private readonly renderer2;
767
+ private readonly templateRef;
768
+ private readonly viewContainerRef;
769
+ private readonly directionality;
770
+ private readonly scrollDispatcher;
771
+ private readonly viewportRuler;
772
+ private readonly datagrid;
773
+ private readonly injector;
774
+ renderedRangeChange: EventEmitter<ListRange>;
775
+ persistItems: boolean;
776
+ private _isUserProvidedItemSize;
777
+ private _itemSize;
778
+ private _minBufferPx;
779
+ private _maxBufferPx;
780
+ private shouldUpdateAriaRowIndexes;
781
+ private readonly datagridElementRef;
782
+ private gridRoleElement;
783
+ private readonly virtualScrollStrategy;
784
+ private virtualScrollViewport;
785
+ private cdkVirtualFor;
786
+ private subscriptions;
787
+ private topIndex;
788
+ private mutationChanges;
789
+ private cdkVirtualForInputs;
790
+ private _totalItems;
791
+ constructor(changeDetectorRef: ChangeDetectorRef, iterableDiffers: IterableDiffers, items: Items<T>, ngZone: NgZone, renderer2: Renderer2, templateRef: TemplateRef<CdkVirtualForOfContext<T>>, viewContainerRef: ViewContainerRef, directionality: Directionality, scrollDispatcher: ScrollDispatcher, viewportRuler: ViewportRuler, datagrid: ClrDatagrid, injector: EnvironmentInjector);
792
+ get totalContentHeight(): string;
793
+ get cdkVirtualForOf(): CdkVirtualForInputs<T>["cdkVirtualForOf"];
794
+ set cdkVirtualForOf(value: CdkVirtualForInputs<T>['cdkVirtualForOf']);
795
+ get cdkVirtualForTrackBy(): CdkVirtualForInputs<T>["cdkVirtualForTrackBy"];
796
+ set cdkVirtualForTrackBy(value: CdkVirtualForInputs<T>['cdkVirtualForTrackBy']);
797
+ get cdkVirtualForTemplate(): CdkVirtualForInputs<T>["cdkVirtualForTemplate"];
798
+ set cdkVirtualForTemplate(value: CdkVirtualForInputs<T>['cdkVirtualForTemplate']);
799
+ get cdkVirtualForTemplateCacheSize(): CdkVirtualForInputs<T>["cdkVirtualForTemplateCacheSize"];
800
+ set cdkVirtualForTemplateCacheSize(value: CdkVirtualForInputs<T>['cdkVirtualForTemplateCacheSize']);
801
+ get itemSize(): CdkFixedSizeVirtualScrollInputs["itemSize"];
802
+ set itemSize(value: CdkFixedSizeVirtualScrollInputs['itemSize']);
803
+ get minBufferPx(): CdkFixedSizeVirtualScrollInputs["minBufferPx"];
804
+ set minBufferPx(value: CdkFixedSizeVirtualScrollInputs['minBufferPx']);
805
+ get maxBufferPx(): CdkFixedSizeVirtualScrollInputs["maxBufferPx"];
806
+ set maxBufferPx(value: CdkFixedSizeVirtualScrollInputs['maxBufferPx']);
807
+ set dataRange(range: ClrDatagridVirtualScrollRangeInterface<T>);
808
+ get totalItems(): number;
809
+ private set totalItems(value);
810
+ ngAfterViewInit(): void;
811
+ ngDoCheck(): void;
812
+ ngOnDestroy(): void;
813
+ scrollUp(offset: number, behavior?: ScrollBehavior): void;
814
+ scrollDown(offset: number, behavior?: ScrollBehavior): void;
815
+ scrollToIndex(index: number, behavior?: ScrollBehavior): void;
816
+ private updateDataRange;
817
+ private updateItemSize;
818
+ private updateCdkVirtualForInputs;
819
+ private updateFixedSizeVirtualScrollInputs;
820
+ private updateAriaRowCount;
821
+ private updateAriaRowIndexes;
822
+ private createVirtualScrollViewportForDatagrid;
823
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridVirtualScrollDirective<any>, never>;
824
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridVirtualScrollDirective<any>, "[clrVirtualScroll],[ClrVirtualScroll]", never, { "persistItems": { "alias": "clrVirtualPersistItems"; "required": false; }; "cdkVirtualForOf": { "alias": "clrVirtualRowsOf"; "required": false; }; "cdkVirtualForTrackBy": { "alias": "clrVirtualRowsTrackBy"; "required": false; }; "cdkVirtualForTemplate": { "alias": "clrVirtualRowsTemplate"; "required": false; }; "cdkVirtualForTemplateCacheSize": { "alias": "clrVirtualRowsTemplateCacheSize"; "required": false; }; "itemSize": { "alias": "clrVirtualRowsItemSize"; "required": false; }; "minBufferPx": { "alias": "clrVirtualRowsMinBufferPx"; "required": false; }; "maxBufferPx": { "alias": "clrVirtualRowsMaxBufferPx"; "required": false; }; "dataRange": { "alias": "clrVirtualDataRange"; "required": false; }; }, { "renderedRangeChange": "renderedRangeChange"; }, never, never, false, never>;
825
+ }
826
+
827
+ interface ClrDatagridStateInterface<T = any> {
828
+ page?: {
829
+ from?: number;
830
+ to?: number;
831
+ size?: number;
832
+ current?: number;
833
+ };
834
+ sort?: {
835
+ by: string | ClrDatagridComparatorInterface<T>;
836
+ reverse: boolean;
837
+ };
838
+ filters?: any[];
839
+ }
840
+
841
+ /**
842
+ * This provider aggregates state changes from the various providers of the Datagrid
843
+ */
844
+ declare class StateProvider<T> {
845
+ private filters;
846
+ private sort;
847
+ private page;
848
+ private debouncer;
849
+ /**
850
+ * The Observable that lets other classes subscribe to global state changes
851
+ */
852
+ change: Observable<ClrDatagridStateInterface<T>>;
853
+ constructor(filters: FiltersProvider<T>, sort: Sort<T>, page: Page, debouncer: StateDebouncer);
854
+ get state(): ClrDatagridStateInterface<T>;
855
+ static ɵfac: i0.ɵɵFactoryDeclaration<StateProvider<any>, never>;
856
+ static ɵprov: i0.ɵɵInjectableDeclaration<StateProvider<any>>;
857
+ }
858
+
859
+ interface KeyNavigationGridConfig {
860
+ keyGrid: string;
861
+ keyGridRows: string;
862
+ keyGridCells: string;
863
+ }
864
+ interface CellCoordinates {
865
+ x: number;
866
+ y: number;
867
+ ariaRowIndex?: string;
868
+ }
869
+ declare class KeyNavigationGridController implements OnDestroy {
870
+ private zone;
871
+ nextCellCoordsEmitter: EventEmitter<CellCoordinates>;
872
+ skipItemFocus: boolean;
873
+ preventScrollOnFocus: boolean;
874
+ config: KeyNavigationGridConfig;
875
+ private keyNavUtils;
876
+ private listenersAdded;
877
+ private destroy$;
878
+ constructor(zone: NgZone);
879
+ ngOnDestroy(): void;
880
+ addListeners(): void;
881
+ initializeKeyGrid(host: HTMLElement): void;
882
+ resetKeyGrid(): void;
883
+ setActiveCell(activeCell: HTMLElement): void;
884
+ focusElement(activeCell: HTMLElement, options?: FocusOptions): void;
885
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeyNavigationGridController, never>;
886
+ static ɵprov: i0.ɵɵInjectableDeclaration<KeyNavigationGridController>;
887
+ }
888
+
889
+ declare class ClrDatagrid<T = any> implements AfterContentInit, AfterViewInit, OnDestroy, DoCheck {
890
+ private organizer;
891
+ items: Items<T>;
892
+ expandableRows: ExpandableRowsCount;
893
+ selection: Selection<T>;
894
+ rowActionService: RowActionService;
895
+ private stateProvider;
896
+ private displayMode;
897
+ private renderer;
898
+ detailService: DetailService;
899
+ private document;
900
+ el: ElementRef<HTMLElement>;
901
+ private page;
902
+ commonStrings: ClrCommonStringsService;
903
+ keyNavigation: KeyNavigationGridController;
904
+ private zone;
905
+ loadingMoreItems: boolean;
906
+ clrDgSingleSelectionAriaLabel: string;
907
+ clrDgSingleActionableAriaLabel: string;
908
+ clrDetailExpandableAriaLabel: string;
909
+ clrDgDisablePageFocus: boolean;
910
+ selectedChanged: EventEmitter<T[]>;
911
+ /**
912
+ * Output emitted whenever the data needs to be refreshed, based on user action or external ones
913
+ */
914
+ refresh: EventEmitter<ClrDatagridStateInterface<T>>;
915
+ /**
916
+ * The application can provide custom select all logic.
917
+ */
918
+ customSelectAllEnabled: boolean;
919
+ selectAllDisabled: boolean;
920
+ customSelectAll: EventEmitter<boolean>;
921
+ /**
922
+ * Expose virtual scroll directive for applications to access its public methods
923
+ */
924
+ _virtualScroll: QueryList<ClrDatagridVirtualScrollDirective<any>>;
925
+ /**
926
+ * We grab the smart iterator from projected content
927
+ */
928
+ iterator: ClrDatagridItems<T>;
929
+ /**
930
+ * Custom placeholder detection
931
+ */
932
+ placeholder: ClrDatagridPlaceholder<T>;
933
+ /**
934
+ * Hideable Column data source / detection.
935
+ */
936
+ columns: QueryList<ClrDatagridColumn<T>>;
937
+ /**
938
+ * When the datagrid is user-managed without the smart iterator, we get the items displayed
939
+ * by querying the projected content. This is needed to keep track of the models currently
940
+ * displayed, typically for selection.
941
+ */
942
+ rows: QueryList<ClrDatagridRow<T>>;
943
+ datagrid: ElementRef<HTMLElement>;
944
+ datagridTable: ElementRef<HTMLElement>;
945
+ datagridHeader: ElementRef<HTMLElement>;
946
+ contentWrapper: ElementRef<HTMLElement>;
947
+ rowsWrapper: ElementRef<HTMLElement>;
948
+ scrollableColumns: ViewContainerRef;
949
+ _projectedDisplayColumns: ViewContainerRef;
950
+ _projectedCalculationColumns: ViewContainerRef;
951
+ _displayedRows: ViewContainerRef;
952
+ _calculationRows: ViewContainerRef;
953
+ _fixedColumnTemplate: TemplateRef<any>;
954
+ stickyHeaders: QueryList<ElementRef>;
955
+ selectAllId: string;
956
+ activeCellCoords: CellCoordinates;
957
+ SELECTION_TYPE: typeof SelectionType;
958
+ private selectAllCheckbox;
959
+ /**
960
+ * Subscriptions to all the services and queries changes
961
+ */
962
+ private _subscriptions;
963
+ private _virtualScrollSubscriptions;
964
+ private cachedRowsHeight;
965
+ private cachedContentHeight;
966
+ private resizeObserver;
967
+ 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);
968
+ /**
969
+ * Freezes the datagrid while data is loading
970
+ */
971
+ get loading(): boolean;
972
+ set loading(value: boolean);
973
+ /**
974
+ * Selection type
975
+ * - `None`: No rows are selectable.
976
+ * - `Single`: Only one row can be selected at a time.
977
+ * - `Multi`: Multiple rows can be selected.
978
+ *
979
+ * Defaults to `None`.
980
+ */
981
+ get selectionType(): SelectionType;
982
+ set selectionType(value: SelectionType);
983
+ /**
984
+ * Array of all selected items
985
+ */
986
+ set selected(value: T[]);
987
+ set clrDgPreserveSelection(state: boolean);
988
+ /**
989
+ * @deprecated since 2.0, remove in 3.0
990
+ *
991
+ * Selection/Deselection on row click mode
992
+ */
993
+ set rowSelectionMode(value: boolean);
994
+ set identityFn(value: ClrDatagridItemsIdentityFunction<T>);
995
+ /**
996
+ * Indicates if all currently displayed items are selected
997
+ */
998
+ get allSelected(): boolean;
999
+ set allSelected(value: boolean);
1000
+ get virtualScroll(): ClrDatagridVirtualScrollDirective<any>;
1001
+ ngAfterContentInit(): void;
1002
+ /**
1003
+ * Our setup happens in the view of some of our components, so we wait for it to be done before starting
1004
+ */
1005
+ ngAfterViewInit(): void;
1006
+ ngDoCheck(): void;
1007
+ ngOnDestroy(): void;
1008
+ toggleAllSelected($event: any): void;
1009
+ resize(): void;
1010
+ /**
1011
+ * Checks the state of detail panel and if it's opened then
1012
+ * find the matching row and trigger the detail panel
1013
+ */
1014
+ updateDetailState(): void;
1015
+ /**
1016
+ * Public method to re-trigger the computation of displayed items manually
1017
+ */
1018
+ dataChanged(): void;
1019
+ private toggleVirtualScrollSubscriptions;
1020
+ private handleResizeChanges;
1021
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagrid<any>, never>;
1022
+ 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>;
1023
+ static ngAcceptInputType_selectionType: SelectionType | string;
1024
+ }
1025
+
1026
+ declare class ClrDatagridActionBar {
1027
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridActionBar, never>;
1028
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridActionBar, "clr-dg-action-bar", never, {}, {}, never, ["*"], false, never>;
1029
+ }
1030
+
1031
+ declare class ClrDatagridActionOverflow implements OnDestroy {
1032
+ private rowActionService;
1033
+ commonStrings: ClrCommonStringsService;
1034
+ private platformId;
1035
+ private popoverService;
1036
+ buttonLabel: string;
1037
+ openChange: EventEmitter<boolean>;
1038
+ popoverId: string;
1039
+ smartPosition: ClrPopoverPosition;
1040
+ protected positions: _angular_cdk_overlay.ConnectedPosition[];
1041
+ private readonly keyFocus;
1042
+ private _open;
1043
+ private subscriptions;
1044
+ constructor(rowActionService: RowActionService, commonStrings: ClrCommonStringsService, platformId: any, popoverService: ClrPopoverService);
1045
+ get open(): boolean;
1046
+ set open(open: boolean);
1047
+ ngOnDestroy(): void;
1048
+ closeOverflowContent(event: Event): void;
1049
+ private initializeFocus;
1050
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridActionOverflow, never>;
1051
+ 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
+ }
1053
+
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
+ declare class ClrDatagridColumnToggle implements OnDestroy {
1090
+ commonStrings: ClrCommonStringsService;
1091
+ private columnsService;
1092
+ popoverId: string;
1093
+ openState: boolean;
1094
+ popoverPosition: ClrPopoverPosition;
1095
+ popoverType: ClrPopoverType;
1096
+ readonly trackByFn: i0.TrackByFunction<ColumnState>;
1097
+ private _allColumnsVisible;
1098
+ private subscription;
1099
+ private allSelectedElement;
1100
+ constructor(commonStrings: ClrCommonStringsService, columnsService: ColumnsService, popoverService: ClrPopoverService);
1101
+ get allColumnsVisible(): boolean;
1102
+ set allColumnsVisible(value: boolean);
1103
+ get hideableColumnStates(): ColumnState[];
1104
+ get hasOnlyOneVisibleColumn(): boolean;
1105
+ ngOnDestroy(): void;
1106
+ toggleColumnState(columnState: ColumnState, event: boolean): void;
1107
+ toggleSwitchPanel(): void;
1108
+ allColumnsSelected(): void;
1109
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnToggle, never>;
1110
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumnToggle, "clr-dg-column-toggle", never, {}, {}, never, never, false, [{ directive: typeof i1.ClrPopoverHostDirective; inputs: {}; outputs: {}; }]>;
1111
+ }
1112
+
1113
+ declare class ClrDatagridColumnToggleButton {
1114
+ commonStrings: ClrCommonStringsService;
1115
+ private columnsService;
1116
+ private allSelected;
1117
+ constructor(commonStrings: ClrCommonStringsService, columnsService: ColumnsService);
1118
+ get clrAllSelected(): Observable<boolean>;
1119
+ get allHideablesVisible(): boolean;
1120
+ selectAll(): void;
1121
+ private hideableColumns;
1122
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnToggleButton, never>;
1123
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumnToggleButton, "clr-dg-column-toggle-button", never, {}, { "clrAllSelected": "clrAllSelected"; }, never, never, false, never>;
1124
+ }
1125
+
1126
+ declare class ColumnResizerService {
1127
+ private el;
1128
+ private domAdapter;
1129
+ private organizer;
1130
+ isWithinMaxResizeRange: boolean;
1131
+ private widthBeforeResize;
1132
+ private _resizedBy;
1133
+ constructor(el: ElementRef<HTMLElement>, domAdapter: DomAdapter, organizer: DatagridRenderOrganizer);
1134
+ get resizedBy(): number;
1135
+ get minColumnWidth(): number;
1136
+ get maxResizeRange(): number;
1137
+ get widthAfterResize(): number;
1138
+ startResize(): void;
1139
+ endResize(): void;
1140
+ calculateResize(resizedBy: number): void;
1141
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColumnResizerService, never>;
1142
+ static ɵprov: i0.ɵɵInjectableDeclaration<ColumnResizerService>;
1143
+ }
1144
+
1145
+ /**
1146
+ * @description
1147
+ * Internal datagrid service that holds a reference to the clr-dg-table element and exposes a method to get height.
1148
+ */
1149
+ declare class TableSizeService {
1150
+ private platformId;
1151
+ private _tableRef;
1152
+ constructor(platformId: any);
1153
+ get tableRef(): HTMLElement;
1154
+ set tableRef(element: HTMLElement);
1155
+ set table(table: ElementRef<HTMLElement>);
1156
+ getColumnDragHeight(): string;
1157
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableSizeService, never>;
1158
+ static ɵprov: i0.ɵɵInjectableDeclaration<TableSizeService>;
1159
+ }
1160
+
1161
+ declare class ClrDatagridColumnSeparator implements AfterViewInit, OnDestroy {
1162
+ private columnResizerService;
1163
+ private renderer;
1164
+ private ngZone;
1165
+ private tableSizeService;
1166
+ commonString: ClrCommonStringsService;
1167
+ private document;
1168
+ columnSeparatorId: string;
1169
+ private resizeStartedOnKeyDown;
1170
+ private isWithinMaxResizeRange;
1171
+ private unlisteners;
1172
+ private resizeTrackerRef;
1173
+ private columnHandleRef;
1174
+ constructor(columnResizerService: ColumnResizerService, renderer: Renderer2, ngZone: NgZone, tableSizeService: TableSizeService, commonString: ClrCommonStringsService, document: any);
1175
+ get descriptionId(): string;
1176
+ private get resizeTrackerEl();
1177
+ private get columnHandleEl();
1178
+ ngAfterViewInit(): void;
1179
+ ngOnDestroy(): void;
1180
+ showTracker(): void;
1181
+ moveTracker(movedBy: number): void;
1182
+ hideTracker(): void;
1183
+ private showTrackerOnFirstKeyDown;
1184
+ private moveTrackerOnKeyDown;
1185
+ private hideTrackerOnKeyUp;
1186
+ private redFlagTracker;
1187
+ private isArrowLeftKeyEvent;
1188
+ private isArrowRightKeyEvent;
1189
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnSeparator, never>;
1190
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumnSeparator, "clr-dg-column-separator", never, {}, {}, never, never, false, never>;
1191
+ }
1192
+
1193
+ declare class ClrDatagridDetailHeader implements AfterViewInit {
1194
+ detailService: DetailService;
1195
+ commonStrings: ClrCommonStringsService;
1196
+ title: ElementRef<HTMLElement>;
1197
+ constructor(detailService: DetailService, commonStrings: ClrCommonStringsService);
1198
+ get titleId(): string;
1199
+ ngAfterViewInit(): void;
1200
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridDetailHeader, never>;
1201
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridDetailHeader, "clr-dg-detail-header", never, {}, {}, never, ["*"], false, never>;
1202
+ }
1203
+
1204
+ declare class ClrDatagridDetail {
1205
+ detailService: DetailService;
1206
+ commonStrings: ClrCommonStringsService;
1207
+ ariaLabelledBy: string;
1208
+ ariaLabel: string;
1209
+ header: ClrDatagridDetailHeader;
1210
+ constructor(detailService: DetailService, commonStrings: ClrCommonStringsService);
1211
+ get labelledBy(): string;
1212
+ get label(): string;
1213
+ close(): void;
1214
+ 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>;
1216
+ }
1217
+
1218
+ declare class ClrDatagridDetailBody {
1219
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridDetailBody, never>;
1220
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridDetailBody, "clr-dg-detail-body", never, {}, {}, never, ["*"], false, never>;
1221
+ }
1222
+
1223
+ declare class ClrDatagridHideableColumn implements OnDestroy {
1224
+ private titleTemplateRef;
1225
+ private columnsService;
1226
+ private columnState;
1227
+ hiddenChange: EventEmitter<boolean>;
1228
+ /**
1229
+ *
1230
+ * @description
1231
+ * Used to initialize the column with either hidden or visible state.
1232
+ *
1233
+ */
1234
+ private _hidden;
1235
+ private subscriptions;
1236
+ constructor(titleTemplateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, columnsService: ColumnsService, columnState: BehaviorSubject<ColumnState>);
1237
+ /**
1238
+ *
1239
+ * @description
1240
+ * Setter fn for the @Input with the same name as this structural directive.
1241
+ * It allows the user to pre-configure the column's hide/show state. { hidden: true }
1242
+ * It's more verbose but has more Clarity.
1243
+ *
1244
+ * @example
1245
+ * *clrDgHideableColumn
1246
+ * *clrDgHideableColumn={hidden: false}
1247
+ * *clrDgHideableColumn={hidden: true}
1248
+ *
1249
+ */
1250
+ set clrDgHideableColumn(value: {
1251
+ hidden: boolean;
1252
+ } | string);
1253
+ set clrDgHidden(hidden: boolean);
1254
+ ngOnInit(): void;
1255
+ ngOnDestroy(): void;
1256
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridHideableColumn, [null, null, null, { optional: true; }]>;
1257
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridHideableColumn, "[clrDgHideableColumn]", never, { "clrDgHideableColumn": { "alias": "clrDgHideableColumn"; "required": false; }; "clrDgHidden": { "alias": "clrDgHidden"; "required": false; }; }, { "hiddenChange": "clrDgHiddenChange"; }, never, never, false, never>;
1258
+ }
1259
+
1260
+ declare abstract class CustomFilter {
1261
+ }
1262
+
1263
+ /**
1264
+ * Custom filter that can be added in any column to override the default object property string filter.
1265
+ * The reason this is not just an input on DatagridColumn is because we need the filter's template to be projected,
1266
+ * since it can be anything (not just a text input).
1267
+ */
1268
+ declare class ClrDatagridFilter<T = any> extends DatagridFilterRegistrar<T, ClrDatagridFilterInterface<T>> implements CustomFilter, OnDestroy {
1269
+ commonStrings: ClrCommonStringsService;
1270
+ private popoverService;
1271
+ private keyNavigation;
1272
+ openChange: EventEmitter<boolean>;
1273
+ ariaExpanded: boolean;
1274
+ popoverId: string;
1275
+ popoverPosition: ClrPopoverPosition;
1276
+ popoverType: ClrPopoverType;
1277
+ anchor: ElementRef<HTMLButtonElement>;
1278
+ private subs;
1279
+ constructor(_filters: FiltersProvider<T>, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, keyNavigation: KeyNavigationGridController);
1280
+ get open(): boolean;
1281
+ set open(open: boolean);
1282
+ set customFilter(filter: ClrDatagridFilterInterface<T> | RegisteredFilter<T, ClrDatagridFilterInterface<T>>);
1283
+ /**
1284
+ * Indicates if the filter is currently active
1285
+ */
1286
+ get active(): boolean;
1287
+ ngOnDestroy(): void;
1288
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridFilter<any>, [null, null, null, { optional: true; }]>;
1289
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridFilter<any>, "clr-dg-filter", never, { "open": { "alias": "clrDgFilterOpen"; "required": false; }; "customFilter": { "alias": "clrDgFilter"; "required": false; }; }, { "openChange": "clrDgFilterOpenChange"; }, never, ["*"], false, never>;
1290
+ static ngAcceptInputType_open: unknown;
1291
+ }
1292
+
1293
+ declare class ClrIfDetail implements OnInit, OnDestroy {
1294
+ private templateRef;
1295
+ private viewContainer;
1296
+ private detailService;
1297
+ stateChange: EventEmitter<any>;
1298
+ private subscriptions;
1299
+ private skip;
1300
+ private embeddedViewRef;
1301
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, detailService: DetailService);
1302
+ set state(model: any);
1303
+ get viewContext(): {
1304
+ $implicit: any;
1305
+ };
1306
+ ngOnInit(): void;
1307
+ ngOnDestroy(): void;
1308
+ private togglePanel;
1309
+ /**
1310
+ * For a given outlet instance, we create a proxy object that delegates
1311
+ * to the user-specified context. This allows changing, or swapping out
1312
+ * the context object completely without having to destroy/re-create the view.
1313
+ */
1314
+ private _createContextForwardProxy;
1315
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrIfDetail, never>;
1316
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrIfDetail, "[clrIfDetail]", never, { "state": { "alias": "clrIfDetail"; "required": false; }; }, { "stateChange": "clrIfDetailChange"; }, never, never, false, never>;
1317
+ }
1318
+
1319
+ /**
1320
+ * Generic bland container serving various purposes for Datagrid.
1321
+ * For instance, it can help span a text over multiple rows in detail view.
1322
+ */
1323
+ declare class ClrDatagridRowDetail implements AfterContentInit, OnDestroy {
1324
+ selection: Selection;
1325
+ rowActionService: RowActionService;
1326
+ expand: DatagridIfExpandService;
1327
+ expandableRows: ExpandableRowsCount;
1328
+ commonStrings: ClrCommonStringsService;
1329
+ _beginningOfExpandableContentAriaText: string;
1330
+ _endOfExpandableContentAriaText: string;
1331
+ replacedRow: boolean;
1332
+ SELECTION_TYPE: typeof SelectionType;
1333
+ cells: QueryList<ClrDatagridCell>;
1334
+ private subscriptions;
1335
+ constructor(selection: Selection, rowActionService: RowActionService, expand: DatagridIfExpandService, expandableRows: ExpandableRowsCount, commonStrings: ClrCommonStringsService);
1336
+ set replace(value: boolean);
1337
+ get beginningOfExpandableContentAriaText(): string;
1338
+ get endOfExpandableContentAriaText(): string;
1339
+ ngAfterContentInit(): void;
1340
+ ngOnDestroy(): void;
1341
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridRowDetail, never>;
1342
+ 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
+ }
1344
+
1345
+ declare class ClrDatagridFooter<T = any> {
1346
+ selection: Selection<T>;
1347
+ detailService: DetailService;
1348
+ private columnsService;
1349
+ commonStrings: ClrCommonStringsService;
1350
+ SELECTION_TYPE: typeof SelectionType;
1351
+ constructor(selection: Selection<T>, detailService: DetailService, columnsService: ColumnsService, commonStrings: ClrCommonStringsService);
1352
+ get hasHideableColumns(): boolean;
1353
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridFooter<any>, never>;
1354
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridFooter<any>, "clr-dg-footer", never, {}, {}, never, ["*", "clr-dg-pagination"], false, never>;
1355
+ }
1356
+
1357
+ declare class ClrDatagridPageSize {
1358
+ page: Page;
1359
+ pageSizeOptions: number[];
1360
+ pageSizeOptionsId: string;
1361
+ constructor(page: Page);
1362
+ set label(label: ClrControlLabel);
1363
+ ngOnInit(): void;
1364
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridPageSize, never>;
1365
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridPageSize, "clr-dg-page-size", never, { "pageSizeOptions": { "alias": "clrPageSizeOptions"; "required": false; }; "pageSizeOptionsId": { "alias": "clrPageSizeOptionsId"; "required": false; }; }, {}, never, ["*"], false, never>;
1366
+ }
1367
+
1368
+ declare class ClrDatagridPagination implements OnDestroy, OnInit {
1369
+ page: Page;
1370
+ commonStrings: ClrCommonStringsService;
1371
+ detailService: DetailService;
1372
+ disableCurrentPageInput: boolean;
1373
+ currentChanged: EventEmitter<number>;
1374
+ _pageSizeComponent: ClrDatagridPageSize;
1375
+ currentPageInputRef: ElementRef<HTMLInputElement>;
1376
+ /**
1377
+ * Subscription to the page service changes
1378
+ */
1379
+ private _pageSubscription;
1380
+ constructor(page: Page, commonStrings: ClrCommonStringsService, detailService: DetailService);
1381
+ /**
1382
+ * Page size
1383
+ */
1384
+ get pageSize(): number;
1385
+ set pageSize(size: number);
1386
+ /**
1387
+ * Total items (needed to guess the last page)
1388
+ */
1389
+ get totalItems(): number;
1390
+ set totalItems(total: number);
1391
+ /**
1392
+ * Last page
1393
+ */
1394
+ get lastPage(): number;
1395
+ set lastPage(last: number);
1396
+ /**
1397
+ * Current page
1398
+ */
1399
+ get currentPage(): number;
1400
+ set currentPage(page: number);
1401
+ /**
1402
+ * Index of the first item displayed on the current page, starting at 0, -1 if none displayed
1403
+ */
1404
+ get firstItem(): number;
1405
+ /**
1406
+ * Index of the last item displayed on the current page, starting at 0, -1 if none displayed
1407
+ */
1408
+ get lastItem(): number;
1409
+ /**
1410
+ * Conditionally adds page numbers before and after the current page
1411
+ */
1412
+ get middlePages(): number[];
1413
+ /**********
1414
+ * Subscription to the Page service for page changes.
1415
+ * Note: this only emits after the datagrid is initialized/stabalized and the page changes.
1416
+ */
1417
+ ngOnInit(): void;
1418
+ ngOnDestroy(): void;
1419
+ /**
1420
+ * Moves to the previous page if it exists
1421
+ */
1422
+ previous(): void;
1423
+ /**
1424
+ * Moves to the next page if it exists
1425
+ */
1426
+ next(): void;
1427
+ verifyCurrentPage(event: any): void;
1428
+ /**
1429
+ * We only update the pagination's current page on enter.
1430
+ */
1431
+ updateCurrentPage(event: any): void;
1432
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridPagination, never>;
1433
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridPagination, "clr-dg-pagination", never, { "disableCurrentPageInput": { "alias": "clrDgPageInputDisabled"; "required": false; }; "pageSize": { "alias": "clrDgPageSize"; "required": false; }; "totalItems": { "alias": "clrDgTotalItems"; "required": false; }; "lastPage": { "alias": "clrDgLastPage"; "required": false; }; "currentPage": { "alias": "clrDgPage"; "required": false; }; }, { "currentChanged": "clrDgPageChange"; }, ["_pageSizeComponent"], ["clr-dg-page-size", "*"], false, never>;
1434
+ }
1435
+
1436
+ interface ClrDatagridStringFilterInterface<T> {
1437
+ accepts(item: T, search: string): boolean;
1438
+ }
1439
+
1440
+ interface ClrDatagridNumericFilterInterface<T> {
1441
+ accepts(item: T, low: number, high: number): boolean;
1442
+ }
1443
+
1444
+ declare class DatagridStringFilterImpl<T = any> implements ClrDatagridFilterInterface<T> {
1445
+ filterFn: ClrDatagridStringFilterInterface<T>;
1446
+ /**
1447
+ * The Observable required as part of the Filter interface
1448
+ */
1449
+ private _changes;
1450
+ /**
1451
+ * Input value converted to lowercase
1452
+ */
1453
+ private _lowerCaseValue;
1454
+ /**
1455
+ * Raw input value
1456
+ */
1457
+ private _rawValue;
1458
+ constructor(filterFn: ClrDatagridStringFilterInterface<T>);
1459
+ get changes(): Observable<string>;
1460
+ get lowerCaseValue(): string;
1461
+ get state(): this | {
1462
+ property: string;
1463
+ value: string;
1464
+ };
1465
+ get value(): string;
1466
+ /**
1467
+ * Common setter for the input value
1468
+ */
1469
+ set value(value: string);
1470
+ /**
1471
+ * Indicates if the filter is currently active, meaning the input is not empty
1472
+ */
1473
+ isActive(): boolean;
1474
+ /**
1475
+ * Tests if an item matches a search text
1476
+ */
1477
+ accepts(item: T): boolean;
1478
+ equals(other: ClrDatagridFilterInterface<T, any>): boolean;
1479
+ }
1480
+
1481
+ declare class DatagridStringFilter<T = any> extends DatagridFilterRegistrar<T, DatagridStringFilterImpl<T>> implements CustomFilter, OnChanges, OnDestroy, AfterViewInit {
1482
+ private domAdapter;
1483
+ commonStrings: ClrCommonStringsService;
1484
+ private popoverService;
1485
+ private elementRef;
1486
+ private cdr;
1487
+ private ngZone;
1488
+ /**
1489
+ * Provide a way to pass external placeholder and aria-label to the filter input
1490
+ */
1491
+ placeholder: string;
1492
+ label: string;
1493
+ filterValueChange: EventEmitter<any>;
1494
+ /**
1495
+ * Indicates if the filter dropdown is open
1496
+ */
1497
+ open: boolean;
1498
+ /**
1499
+ * We need the actual input element to automatically focus on it
1500
+ */
1501
+ input: ElementRef<HTMLInputElement>;
1502
+ /**
1503
+ * We grab the ClrDatagridFilter we wrap to register this StringFilter to it.
1504
+ */
1505
+ filterContainer: ClrDatagridFilter<T>;
1506
+ labelValue: string;
1507
+ private initFilterValue;
1508
+ private subs;
1509
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, elementRef: ElementRef<HTMLElement>, cdr: ChangeDetectorRef, ngZone: NgZone);
1510
+ /**
1511
+ * Customizable filter logic based on a search text
1512
+ */
1513
+ set customStringFilter(value: ClrDatagridStringFilterInterface<T> | RegisteredFilter<T, DatagridStringFilterImpl<T>>);
1514
+ /**
1515
+ * Common setter for the input value
1516
+ */
1517
+ get value(): string;
1518
+ set value(value: string);
1519
+ get placeholderValue(): string;
1520
+ ngAfterViewInit(): void;
1521
+ ngOnChanges(): void;
1522
+ ngOnDestroy(): void;
1523
+ /**
1524
+ * This is not in a getter to prevent "expression has changed after it was checked" errors.
1525
+ */
1526
+ private setFilterLabel;
1527
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridStringFilter<any>, never>;
1528
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridStringFilter<any>, "clr-dg-string-filter", never, { "placeholder": { "alias": "clrFilterPlaceholder"; "required": false; }; "label": { "alias": "clrFilterLabel"; "required": false; }; "customStringFilter": { "alias": "clrDgStringFilter"; "required": false; }; "value": { "alias": "clrFilterValue"; "required": false; }; }, { "filterValueChange": "clrFilterValueChange"; }, never, never, false, never>;
1529
+ }
1530
+
1531
+ declare class DatagridNumericFilterImpl<T = any> implements ClrDatagridFilterInterface<T> {
1532
+ filterFn: ClrDatagridNumericFilterInterface<T>;
1533
+ /**
1534
+ * The Observable required as part of the Filter interface
1535
+ */
1536
+ private _changes;
1537
+ /**
1538
+ * Internal values and accessor
1539
+ */
1540
+ private _low;
1541
+ private _high;
1542
+ constructor(filterFn: ClrDatagridNumericFilterInterface<T>);
1543
+ get changes(): Observable<[number, number]>;
1544
+ get value(): [number, number];
1545
+ set value(vals: [number, number]);
1546
+ get low(): number;
1547
+ set low(low: number);
1548
+ get high(): number;
1549
+ set high(high: number);
1550
+ get state(): this | {
1551
+ property: string;
1552
+ low: number;
1553
+ high: number;
1554
+ };
1555
+ /**
1556
+ * Indicates if the filter is currently active, (at least one input is set)
1557
+ */
1558
+ isActive(): boolean;
1559
+ /**
1560
+ * Tests if an item matches a search text
1561
+ */
1562
+ accepts(item: T): boolean;
1563
+ equals(other: ClrDatagridFilterInterface<T, any>): boolean;
1564
+ }
1565
+
1566
+ declare class DatagridNumericFilter<T = any> extends DatagridFilterRegistrar<T, DatagridNumericFilterImpl<T>> implements CustomFilter, AfterViewInit {
1567
+ private domAdapter;
1568
+ commonStrings: ClrCommonStringsService;
1569
+ private popoverService;
1570
+ private ngZone;
1571
+ minPlaceholder: string;
1572
+ maxPlaceholder: string;
1573
+ fromLabel: string;
1574
+ toLabel: string;
1575
+ filterValueChange: EventEmitter<any>;
1576
+ /**
1577
+ * Indicates if the filter dropdown is open
1578
+ */
1579
+ open: boolean;
1580
+ /**
1581
+ * We need the actual input element to automatically focus on it
1582
+ */
1583
+ input: ElementRef<HTMLInputElement>;
1584
+ /**
1585
+ * We grab the ClrDatagridFilter we wrap to register this StringFilter to it.
1586
+ */
1587
+ filterContainer: ClrDatagridFilter<T>;
1588
+ private initFilterValues;
1589
+ private subscriptions;
1590
+ constructor(filters: FiltersProvider<T>, domAdapter: DomAdapter, commonStrings: ClrCommonStringsService, popoverService: ClrPopoverService, ngZone: NgZone);
1591
+ /**
1592
+ * Common setter for the input values
1593
+ */
1594
+ get value(): [number, number];
1595
+ set value(values: [number, number]);
1596
+ /**
1597
+ * Customizable filter logic based on high and low values
1598
+ */
1599
+ set customNumericFilter(value: ClrDatagridNumericFilterInterface<T> | RegisteredFilter<T, DatagridNumericFilterImpl<T>>);
1600
+ get maxPlaceholderValue(): string;
1601
+ get minPlaceholderValue(): string;
1602
+ get fromLabelValue(): string;
1603
+ get toLabelValue(): string;
1604
+ get low(): number | string;
1605
+ set low(low: number | string);
1606
+ get high(): number | string;
1607
+ set high(high: number | string);
1608
+ ngAfterViewInit(): void;
1609
+ ngOnDestroy(): void;
1610
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridNumericFilter<any>, never>;
1611
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatagridNumericFilter<any>, "clr-dg-numeric-filter", never, { "minPlaceholder": { "alias": "clrFilterMinPlaceholder"; "required": false; }; "maxPlaceholder": { "alias": "clrFilterMaxPlaceholder"; "required": false; }; "fromLabel": { "alias": "clrFilterFromLabel"; "required": false; }; "toLabel": { "alias": "clrFilterToLabel"; "required": false; }; "value": { "alias": "clrFilterValue"; "required": false; }; "customNumericFilter": { "alias": "clrDgNumericFilter"; "required": false; }; }, { "filterValueChange": "clrFilterValueChange"; }, never, never, false, never>;
1612
+ }
1613
+
1614
+ declare class DatagridPropertyStringFilter<T = any> implements ClrDatagridStringFilterInterface<T> {
1615
+ prop: string;
1616
+ exact: boolean;
1617
+ private nestedProp;
1618
+ constructor(prop: string, exact?: boolean);
1619
+ accepts(item: T, search: string): boolean;
1620
+ }
1621
+
1622
+ declare class DatagridPropertyNumericFilter<T = any> implements ClrDatagridNumericFilterInterface<T> {
1623
+ prop: string;
1624
+ exact: boolean;
1625
+ private nestedProp;
1626
+ constructor(prop: string, exact?: boolean);
1627
+ accepts(item: T, low: number, high: number): boolean;
1628
+ }
1629
+
1630
+ declare class DatagridPropertyComparator<T = any> implements ClrDatagridComparatorInterface<T> {
1631
+ prop: string;
1632
+ private nestedProp;
1633
+ constructor(prop: string);
1634
+ compare(a: T, b: T): number;
1635
+ }
1636
+
1637
+ declare class DatagridWillyWonka extends WillyWonka {
1638
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridWillyWonka, never>;
1639
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridWillyWonka, "clr-datagrid", never, {}, {}, never, never, false, never>;
1640
+ }
1641
+
1642
+ declare class ExpandableOompaLoompa extends OompaLoompa {
1643
+ private expandableCount;
1644
+ constructor(cdr: ChangeDetectorRef, willyWonka: DatagridWillyWonka, expandableCount: ExpandableRowsCount);
1645
+ get flavor(): boolean;
1646
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExpandableOompaLoompa, [null, { optional: true; }, null]>;
1647
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ExpandableOompaLoompa, "clr-datagrid, clr-dg-row", never, {}, {}, never, never, false, never>;
1648
+ }
1649
+
1650
+ declare class ActionableOompaLoompa extends OompaLoompa {
1651
+ private rowActions;
1652
+ constructor(cdr: ChangeDetectorRef, willyWonka: DatagridWillyWonka, rowActions: RowActionService);
1653
+ get flavor(): boolean;
1654
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionableOompaLoompa, [null, { optional: true; }, null]>;
1655
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ActionableOompaLoompa, "clr-datagrid, clr-dg-row", never, {}, {}, never, never, false, never>;
1656
+ }
1657
+
1658
+ declare class ClrDatagridSelectionCellDirective {
1659
+ private readonly selection;
1660
+ constructor(selection: Selection);
1661
+ private onSelectionCellClick;
1662
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridSelectionCellDirective, never>;
1663
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridSelectionCellDirective, ".datagrid-select", never, {}, {}, never, never, false, never>;
1664
+ }
1665
+
1666
+ declare class DatagridDetailRegisterer {
1667
+ private expandableRowsCount;
1668
+ constructor(expandableRowsCount: ExpandableRowsCount);
1669
+ ngOnDestroy(): void;
1670
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridDetailRegisterer, [{ optional: true; }]>;
1671
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridDetailRegisterer, "[clrIfExpanded]", never, {}, {}, never, never, false, never>;
1672
+ }
1673
+
1674
+ declare class WrappedCell implements AfterViewInit, OnDestroy {
1675
+ templateRef: TemplateRef<void>;
1676
+ cellView: EmbeddedViewRef<void>;
1677
+ ngAfterViewInit(): void;
1678
+ ngOnDestroy(): void;
1679
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrappedCell, never>;
1680
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrappedCell, "dg-wrapped-cell", never, {}, {}, never, ["*"], false, never>;
1681
+ }
1682
+
1683
+ declare class WrappedColumn implements AfterViewInit, OnDestroy {
1684
+ templateRef: TemplateRef<void>;
1685
+ columnView: EmbeddedViewRef<void>;
1686
+ ngAfterViewInit(): void;
1687
+ ngOnDestroy(): void;
1688
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrappedColumn, never>;
1689
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrappedColumn, "dg-wrapped-column", never, {}, {}, never, ["*"], false, never>;
1690
+ }
1691
+
1692
+ declare class WrappedRow implements AfterViewInit, OnDestroy {
1693
+ templateRef: TemplateRef<void>;
1694
+ rowView: EmbeddedViewRef<void>;
1695
+ ngAfterViewInit(): void;
1696
+ ngOnDestroy(): void;
1697
+ static ɵfac: i0.ɵɵFactoryDeclaration<WrappedRow, never>;
1698
+ static ɵcmp: i0.ɵɵComponentDeclaration<WrappedRow, "dg-wrapped-row", never, {}, {}, never, ["*"], false, never>;
1699
+ }
1700
+
1701
+ declare class DatagridCellRenderer implements OnDestroy {
1702
+ private el;
1703
+ private renderer;
1704
+ private stateSubscription;
1705
+ private subscriptions;
1706
+ constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, organizer: DatagridRenderOrganizer);
1707
+ ngOnDestroy(): void;
1708
+ resetState(state: ColumnState): void;
1709
+ setWidth(state: ColumnState): void;
1710
+ setHidden(state: ColumnState): void;
1711
+ private clearWidth;
1712
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridCellRenderer, never>;
1713
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridCellRenderer, "clr-dg-cell", never, {}, {}, never, never, false, never>;
1714
+ }
1715
+
1716
+ declare class DatagridHeaderRenderer implements OnDestroy {
1717
+ private el;
1718
+ private renderer;
1719
+ private domAdapter;
1720
+ private columnResizerService;
1721
+ private columnsService;
1722
+ private columnState;
1723
+ resizeEmitter: EventEmitter<number>;
1724
+ /**
1725
+ * Indicates if the column has a strict width, so it doesn't shrink or expand based on the content.
1726
+ */
1727
+ private widthSet;
1728
+ private autoSet;
1729
+ private subscriptions;
1730
+ constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, organizer: DatagridRenderOrganizer, domAdapter: DomAdapter, columnResizerService: ColumnResizerService, columnsService: ColumnsService, columnState: BehaviorSubject<ColumnState>);
1731
+ ngOnDestroy(): void;
1732
+ getColumnWidthState(): Partial<ColumnState>;
1733
+ setColumnState(index: number): void;
1734
+ setWidth(state: ColumnState): void;
1735
+ setHidden(state: ColumnState): void;
1736
+ private clearWidth;
1737
+ private detectStrictWidth;
1738
+ private computeWidth;
1739
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridHeaderRenderer, never>;
1740
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridHeaderRenderer, "clr-dg-column", never, {}, { "resizeEmitter": "clrDgColumnResize"; }, never, never, false, never>;
1741
+ }
1742
+
1743
+ declare class DatagridMainRenderer implements AfterContentInit, AfterViewInit, AfterViewChecked, OnDestroy {
1744
+ private datagrid;
1745
+ private organizer;
1746
+ private items;
1747
+ private page;
1748
+ private el;
1749
+ private renderer;
1750
+ private tableSizeService;
1751
+ private columnsService;
1752
+ private ngZone;
1753
+ private keyNavigation;
1754
+ private changeDetectorRef;
1755
+ private headers;
1756
+ private rows;
1757
+ private _heightSet;
1758
+ private shouldStabilizeColumns;
1759
+ private subscriptions;
1760
+ private intersectionObserver;
1761
+ /**
1762
+ * Indicates if we want to re-compute columns width. This should only happen:
1763
+ * 1) When headers change, with columns being added or removed
1764
+ * 2) When rows are lazily loaded for the first time
1765
+ */
1766
+ private columnsSizesStable;
1767
+ constructor(datagrid: ClrDatagrid, organizer: DatagridRenderOrganizer, items: Items, page: Page, el: ElementRef<HTMLElement>, renderer: Renderer2, detailService: DetailService, tableSizeService: TableSizeService, columnsService: ColumnsService, ngZone: NgZone, keyNavigation: KeyNavigationGridController, changeDetectorRef: ChangeDetectorRef);
1768
+ ngOnInit(): void;
1769
+ ngAfterContentInit(): void;
1770
+ ngAfterViewInit(): void;
1771
+ ngAfterViewChecked(): void;
1772
+ ngOnDestroy(): void;
1773
+ toggleDetailPane(state: boolean): void;
1774
+ private setupColumns;
1775
+ private shouldComputeHeight;
1776
+ private computeDatagridHeight;
1777
+ private resetDatagridHeight;
1778
+ /**
1779
+ * Makes each header compute its width.
1780
+ */
1781
+ private computeHeadersWidth;
1782
+ private columnStateChanged;
1783
+ /**
1784
+ * Triggers a whole re-rendring cycle to set column sizes, if needed.
1785
+ */
1786
+ private stabilizeColumns;
1787
+ private updateColumnSeparatorsVisibility;
1788
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridMainRenderer, never>;
1789
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridMainRenderer, "clr-datagrid", never, {}, {}, ["headers", "rows"], never, false, never>;
1790
+ }
1791
+
1792
+ declare class DatagridRowRenderer implements AfterContentInit, OnDestroy {
1793
+ private columnsService;
1794
+ private el;
1795
+ cells: QueryList<DatagridCellRenderer>;
1796
+ expandableRows: DatagridRowDetailRenderer[];
1797
+ private subscriptions;
1798
+ constructor(columnsService: ColumnsService, el: ElementRef<HTMLElement>);
1799
+ ngAfterContentInit(): void;
1800
+ ngOnDestroy(): void;
1801
+ setCellsState(): void;
1802
+ private addDetachedRowsColumnStateChangesListener;
1803
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridRowRenderer, never>;
1804
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridRowRenderer, "clr-dg-row", never, {}, {}, ["cells"], never, false, never>;
1805
+ }
1806
+
1807
+ declare class DatagridRowDetailRenderer extends DatagridRowRenderer implements OnDestroy {
1808
+ private parentRow;
1809
+ constructor(parentRow: DatagridRowRenderer, columnsService: ColumnsService, el: ElementRef<HTMLElement>);
1810
+ ngOnDestroy(): void;
1811
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatagridRowDetailRenderer, never>;
1812
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DatagridRowDetailRenderer, "clr-dg-row-detail", never, {}, {}, never, never, false, never>;
1813
+ }
1814
+
1815
+ declare class ClrDatagridSingleSelectionValueAccessor implements ControlValueAccessor {
1816
+ private renderer;
1817
+ private elementRef;
1818
+ value: any;
1819
+ clrDgIdentityFn: (value: any) => unknown;
1820
+ private state;
1821
+ constructor(renderer: Renderer2, elementRef: ElementRef<HTMLInputElement>);
1822
+ onChange: (value: any) => void;
1823
+ onTouched: () => void;
1824
+ registerOnChange(fn: (value: any) => void): void;
1825
+ registerOnTouched(fn: () => void): void;
1826
+ setDisabledState(isDisabled: boolean): void;
1827
+ writeValue(value: any): void;
1828
+ private keyOf;
1829
+ private updateChecked;
1830
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridSingleSelectionValueAccessor, never>;
1831
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDatagridSingleSelectionValueAccessor, "input[type=radio][clrDgSingleSelectionRadio]", never, { "value": { "alias": "value"; "required": false; }; "clrDgIdentityFn": { "alias": "clrDgIdentityFn"; "required": false; }; }, {}, never, never, true, never>;
1832
+ }
1833
+
1834
+ declare const CLR_DATAGRID_DIRECTIVES: Type<any>[];
1835
+ declare class ClrDatagridModule {
1836
+ constructor();
1837
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridModule, never>;
1838
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClrDatagridModule, [typeof ClrDatagrid, typeof ClrDatagridActionBar, typeof ClrDatagridActionOverflow, typeof ClrDatagridCell, typeof ClrDatagridColumn, typeof ClrDatagridColumnSeparator, typeof ClrDatagridDetail, typeof ClrDatagridDetailBody, typeof ClrDatagridDetailHeader, typeof ClrDatagridFilter, typeof ClrDatagridFooter, typeof ClrDatagridHideableColumn, typeof ClrDatagridItems, typeof ClrDatagridPageSize, typeof ClrDatagridPagination, typeof ClrDatagridPlaceholder, typeof ClrDatagridRow, typeof ClrDatagridRowDetail, typeof ClrDatagridSelectionCellDirective, typeof ClrDatagridVirtualScrollDirective, typeof ClrIfDetail, typeof DatagridDetailRegisterer, typeof WrappedCell, typeof WrappedColumn, typeof WrappedRow, typeof DatagridCellRenderer, typeof DatagridHeaderRenderer, typeof DatagridMainRenderer, typeof DatagridRowDetailRenderer, typeof DatagridRowRenderer, typeof ActionableOompaLoompa, typeof DatagridWillyWonka, typeof ExpandableOompaLoompa, typeof DatagridNumericFilter, typeof DatagridStringFilter, typeof ClrDatagridColumnToggle, typeof ClrDatagridColumnToggleButton], [typeof i38.CommonModule, typeof i39.CdkDragModule, typeof i39.CdkTrapFocusModule, typeof i40.ClrIcon, typeof i41.ClrInputModule, typeof i42.ClrRadioModule, typeof i43.ClrCheckboxModule, typeof i44.ClrNumberInputModule, typeof i45.ClrSelectModule, typeof i46.FormsModule, typeof i39.ClrLoadingModule, typeof i39.ClrConditionalModule, typeof i39.ClrOutsideClickModule, typeof i39.ClrExpandableAnimationModule, typeof i47.ClrSpinnerModule, typeof i1.ClrPopoverModuleNext, typeof i39.ClrKeyFocusModule, typeof ClrDatagridSingleSelectionValueAccessor, typeof i39.ClrIfExpanded], [typeof ClrDatagrid, typeof ClrDatagridActionBar, typeof ClrDatagridActionOverflow, typeof ClrDatagridCell, typeof ClrDatagridColumn, typeof ClrDatagridColumnSeparator, typeof ClrDatagridDetail, typeof ClrDatagridDetailBody, typeof ClrDatagridDetailHeader, typeof ClrDatagridFilter, typeof ClrDatagridFooter, typeof ClrDatagridHideableColumn, typeof ClrDatagridItems, typeof ClrDatagridPageSize, typeof ClrDatagridPagination, typeof ClrDatagridPlaceholder, typeof ClrDatagridRow, typeof ClrDatagridRowDetail, typeof ClrDatagridSelectionCellDirective, typeof ClrDatagridVirtualScrollDirective, typeof ClrIfDetail, typeof DatagridDetailRegisterer, typeof WrappedCell, typeof WrappedColumn, typeof WrappedRow, typeof DatagridCellRenderer, typeof DatagridHeaderRenderer, typeof DatagridMainRenderer, typeof DatagridRowDetailRenderer, typeof DatagridRowRenderer, typeof ActionableOompaLoompa, typeof DatagridWillyWonka, typeof ExpandableOompaLoompa, typeof DatagridNumericFilter, typeof DatagridStringFilter, typeof ClrDatagridSingleSelectionValueAccessor, typeof i39.ClrIfExpanded]>;
1839
+ static ɵinj: i0.ɵɵInjectorDeclaration<ClrDatagridModule>;
1840
+ }
1841
+
1842
+ export { ActionableOompaLoompa, CLR_DATAGRID_DIRECTIVES, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridAriaSortOrder, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSelectionCellDirective, ClrDatagridSingleSelectionValueAccessor, ClrDatagridSortOrder, ClrDatagridVirtualScrollDirective, ClrIfDetail, DatagridCellRenderer, DatagridDetailRegisterer, DatagridHeaderRenderer, DatagridMainRenderer, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridRowDetailRenderer, DatagridRowRenderer, DatagridStringFilter, DatagridWillyWonka, ExpandableOompaLoompa, Selection, SelectionType, WrappedCell, WrappedColumn, WrappedRow, selectionTypeAttribute };
1843
+ export type { ClrDatagridComparatorInterface, ClrDatagridFilterInterface, ClrDatagridItemsIdentityFunction, ClrDatagridNumericFilterInterface, ClrDatagridStateInterface, ClrDatagridStringFilterInterface, ClrDatagridVirtualScrollRangeInterface };