@progress/kendo-angular-filter 24.2.2 → 25.0.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -2,22 +2,858 @@
2
2
  * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- export { FilterComponent } from './filter.component';
6
- export { FilterGroupComponent } from './filter-group.component';
7
- export { FilterModule } from './filter.module';
8
- export { FilterExpression } from './model/filter-expression';
9
- export { AriaLabelValueDirective } from './aria-label.directive';
10
- export { FilterBooleanEditorComponent } from './editors/boolean-editor.component';
11
- export { FilterDateEditorComponent } from './editors/date-editor.component';
12
- export { FilterNumericEditorComponent } from './editors/numeric-editor.component';
13
- export { FilterTextEditorComponent } from './editors/text-editor.component';
14
- export { FilterExpressionOperatorsComponent } from './filter-expression-operators.component';
15
- export { FilterExpressionComponent } from './filter-expression.component';
16
- export { CustomMessagesComponent } from './localization/custom-messages.component';
17
- export { LocalizedMessagesDirective } from './localization/localized-messages.directive';
18
- export { FilterFieldComponent } from './filter-field.component';
19
- export { FilterValueEditorTemplateDirective } from './templates/value-editor-template.directive';
20
- export { FilterOperatorTemplateDirective } from './templates/operator-template.directive';
21
- export { FilterFieldsTemplateDirective } from './templates/field-template.directive';
22
- export { FilterOperator, FilterEditor } from './model/filter-expression';
23
- export * from './directives';
5
+ import * as i0 from '@angular/core';
6
+ import { TemplateRef, ChangeDetectorRef, Renderer2, OnInit, AfterContentInit, OnDestroy, EventEmitter, ElementRef, DoCheck } from '@angular/core';
7
+ import { LocalizationService, ComponentMessages } from '@progress/kendo-angular-l10n';
8
+ import { CompositeFilterDescriptor, FilterDescriptor } from '@progress/kendo-data-query';
9
+ import { FormatSettings } from '@progress/kendo-angular-dateinputs';
10
+ import { NumberFormatOptions } from '@progress/kendo-angular-intl';
11
+ import { SVGIcon } from '@progress/kendo-svg-icons';
12
+
13
+ /**
14
+ * Represents the FilterOperator type.
15
+ */
16
+
17
+ /**
18
+ * Specifies the date format used for the DatePicker editor.
19
+ * Extends the `FormatSettings` from `@progress/kendo-angular-dateinputs`.
20
+ * See the [Filter editor formats documentation](https://www.telerik.com/kendo-angular-ui/components/filter/filter-editors-format).
21
+ */
22
+ interface DateFormat extends FormatSettings {
23
+ }
24
+ /**
25
+ * Specifies the number format used for the NumericTextBox editor when it is not focused.
26
+ * Extends the `NumberFormatOptions` from `@progress/kendo-angular-intl`.
27
+ * See the [Filter editor formats documentation](https://www.telerik.com/kendo-angular-ui/components/filter/filter-editors-format).
28
+ */
29
+ interface NumberFormat extends NumberFormatOptions {
30
+ }
31
+ /**
32
+ * Specifies the available filter operators.
33
+ */
34
+ type FilterOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'isnull' | 'isnotnull' | 'contains' | 'doesnotcontain' | 'startswith' | 'endswith' | 'isempty' | 'isnotempty';
35
+ /**
36
+ * Represents the FilterEditor type.
37
+ */
38
+ type FilterEditor = 'string' | 'number' | 'boolean' | 'date';
39
+ /**
40
+ * Represents the FilterExpression interface.
41
+ */
42
+ interface FilterExpression {
43
+ /**
44
+ * Specifies the `field` that will be used by the user-defined filter.
45
+ */
46
+ field: string;
47
+ /**
48
+ * Specifies the `title` text that will be displayed by the user-defined filter.
49
+ * If the `title` isn't set, the value passed to `field` is used.
50
+ */
51
+ title?: string;
52
+ /**
53
+ * Specifies the user-defined filter `editor` type that will be used.
54
+ * The available options are 'string', 'number', 'boolean', and 'date'.
55
+ */
56
+ editor: FilterEditor;
57
+ /**
58
+ * Specifies the operators that will be available in the order of providing them.
59
+ * If no operators are provided, default operators are used for each filter type.
60
+ *
61
+ * The default string operators are:
62
+ * * `eq`— Is equal to
63
+ * * `neq`— Is not equal to
64
+ * * `isnull`— Is null
65
+ * * `isnotnull`— Is not null
66
+ * * `contains`— Contains
67
+ * * `doesnotcontain`— Does not contain
68
+ * * `startswith`— Starts with
69
+ * * `endswith`— Ends with
70
+ * * `isempty`— Is empty
71
+ * * `isnotempty`— Is not empty
72
+ *
73
+ * The default number and date operators are:
74
+ * * `eq`— Is equals to
75
+ * * `neq`— Is not equal to
76
+ * * `isnull`— Is null
77
+ * * `isnotnull`— Is not null
78
+ * * `gt`— Greater than
79
+ * * `gte`— Greater than or equal to
80
+ * * `lt`— Less than
81
+ * * `lte`— Less than or equal to
82
+ *
83
+ * The boolean operator is always set to `eq`.
84
+ */
85
+ operators?: FilterOperator[];
86
+ /**
87
+ * Specifies a template for the expression value editor input.
88
+ */
89
+ editorTemplate?: TemplateRef<any>;
90
+ /**
91
+ * Specifies a custom template for the operator dropdown.
92
+ * When set, the default operator DropDownList is replaced with the provided template.
93
+ * The template receives the current [`FilterDescriptor`](slug:api_kendo-data-query_filterdescriptor) as implicit context.
94
+ */
95
+ operatorTemplate?: TemplateRef<any>;
96
+ /**
97
+ * Specifies the user-defined filter `editor` format that will be used.
98
+ * See the [Filter editor formats documentation](https://www.telerik.com/kendo-angular-ui/components/filter/filter-editors-format).
99
+ */
100
+ editorFormat?: string | NumberFormat | DateFormat;
101
+ }
102
+
103
+ /**
104
+ * @hidden
105
+ */
106
+ declare class FilterService {
107
+ normalizedValue: CompositeFilterDescriptor;
108
+ filters: FilterExpression[];
109
+ fieldTemplate: TemplateRef<any> | null;
110
+ addFilterGroup(item: CompositeFilterDescriptor): void;
111
+ addFilterExpression(item: CompositeFilterDescriptor): void;
112
+ remove(item: CompositeFilterDescriptor | FilterDescriptor, positionIndex: number, parentItem?: CompositeFilterDescriptor): void;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterService, never>;
114
+ static ɵprov: i0.ɵɵInjectableDeclaration<FilterService>;
115
+ }
116
+
117
+ /**
118
+ * @hidden
119
+ */
120
+ type Direction = 'rtl' | 'ltr';
121
+ /**
122
+ * @hidden
123
+ */
124
+ declare class FilterItem {
125
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterItem, never>;
126
+ static ɵprov: i0.ɵɵInjectableDeclaration<FilterItem>;
127
+ }
128
+
129
+ /**
130
+ * @hidden
131
+ */
132
+ interface FlattenFilterItem {
133
+ component: FilterItem;
134
+ isGroup: boolean;
135
+ toolbarElement: HTMLElement;
136
+ focusableChildren: HTMLElement[];
137
+ }
138
+ /**
139
+ * @hidden
140
+ */
141
+ declare class NavigationService {
142
+ private cdr;
143
+ private renderer;
144
+ hierarchicalFilterItems: FilterItem[];
145
+ flattenFilterItems: FlattenFilterItem[];
146
+ currentToolbarItemIndex: number;
147
+ currentToolbarItemChildrenIndex: number;
148
+ isFilterNavigationActivated: boolean;
149
+ isFilterExpressionComponentFocused: boolean;
150
+ currentlyFocusedElement: HTMLElement;
151
+ constructor(cdr: ChangeDetectorRef, renderer: Renderer2);
152
+ processKeyDown(key: string, event: any): void;
153
+ focusCurrentElement(element: HTMLElement, isOnMouseDown?: boolean): void;
154
+ flattenHierarchicalFilterItems(filterItems: FilterItem[]): void;
155
+ private setGroupItemChildren;
156
+ setItemIndexes(): void;
157
+ reset(items: FilterItem[]): void;
158
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigationService, never>;
159
+ static ɵprov: i0.ɵɵInjectableDeclaration<NavigationService>;
160
+ }
161
+
162
+ /**
163
+ * Represents the [Kendo UI Filter component for Angular](https://www.telerik.com/kendo-angular-ui/components/filter).
164
+ * The Filter component enables users to define and apply complex filter criteria.
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * @Component({
169
+ * selector: 'my-app',
170
+ * template: `
171
+ * <kendo-filter [filters]="filters" (valueChange)="onValueChange($event)"></kendo-filter>
172
+ * `
173
+ * })
174
+ * export class AppComponent {
175
+ * public filters: FilterExpression[] = [
176
+ * {
177
+ * name: 'country',
178
+ * label: 'Country',
179
+ * filter: 'string',
180
+ * operators: ['eq', 'neq'],
181
+ * },
182
+ * {
183
+ * name: 'budget',
184
+ * filter: 'number'
185
+ * }
186
+ * ];
187
+ *
188
+ * onValueChange(e: CompositeFilterDescriptor) {
189
+ * console.log(e);
190
+ * }
191
+ * }
192
+ * ```
193
+ *
194
+ * @remarks
195
+ * Supported children components are: {@link CustomMessagesComponent}, {@link FilterFieldComponent}.
196
+ */
197
+ declare class FilterComponent implements OnInit, AfterContentInit, OnDestroy {
198
+ private filterService;
199
+ private localization;
200
+ private cdr;
201
+ private element;
202
+ private navigationService;
203
+ private renderer;
204
+ /**
205
+ * @hidden
206
+ */
207
+ focusout(): void;
208
+ /**
209
+ * @hidden
210
+ */
211
+ focusin(): void;
212
+ /**
213
+ * @hidden
214
+ */
215
+ onKeydown(event: KeyboardEvent): void;
216
+ direction: Direction;
217
+ /**
218
+ * Specifies the available user-defined filters. At least one filter should be provided.
219
+ */
220
+ set filters(_filters: FilterExpression[]);
221
+ get filters(): FilterExpression[];
222
+ /**
223
+ * Sets the initial `value` of the Filter component.
224
+ */
225
+ set value(value: CompositeFilterDescriptor);
226
+ get value(): CompositeFilterDescriptor;
227
+ /**
228
+ * Fires every time the Filter component value is updated.
229
+ * That is each time a Filter Group or Filter Expression is added, removed, or updated.
230
+ */
231
+ valueChange: EventEmitter<CompositeFilterDescriptor>;
232
+ private localizationSubscription;
233
+ private filterFieldsSubscription;
234
+ private _value;
235
+ private filterFields;
236
+ private fieldTemplate;
237
+ private _filterItems;
238
+ get filterItems(): FilterItem[];
239
+ get toolbarElement(): HTMLElement;
240
+ constructor(filterService: FilterService, localization: LocalizationService, cdr: ChangeDetectorRef, element: ElementRef, navigationService: NavigationService, renderer: Renderer2);
241
+ ngOnInit(): void;
242
+ ngAfterContentInit(): void;
243
+ ngAfterViewInit(): void;
244
+ ngOnDestroy(): void;
245
+ private filterFieldsChanged;
246
+ private _currentFilter;
247
+ /**
248
+ * @hidden
249
+ */
250
+ get currentFilter(): CompositeFilterDescriptor;
251
+ /**
252
+ * @hidden
253
+ */
254
+ set currentFilter(value: CompositeFilterDescriptor);
255
+ /**
256
+ * @hidden
257
+ */
258
+ onValueChange(isRemoveOperation?: any): void;
259
+ private normalizeFilter;
260
+ private setValue;
261
+ private normalizeValue;
262
+ /**
263
+ * @hidden
264
+ */
265
+ messageFor(key: string): string;
266
+ /**
267
+ * @hidden
268
+ */
269
+ private filtersTypeChanged;
270
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterComponent, never>;
271
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterComponent, "kendo-filter", never, { "filters": { "alias": "filters"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; }, ["fieldTemplate", "filterFields"], never, true, never>;
272
+ }
273
+
274
+ /**
275
+ * @hidden
276
+ */
277
+ declare abstract class BaseFilterRowComponent {
278
+ protected element: ElementRef;
279
+ protected navigationService: NavigationService;
280
+ protected localization: LocalizationService;
281
+ private renderer;
282
+ index: number;
283
+ valueChange: EventEmitter<boolean>;
284
+ constructor(element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
285
+ itemNumber: number;
286
+ get toolbarElement(): HTMLElement;
287
+ messageFor(key: string): string;
288
+ onMouseDown(event: any): void;
289
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilterRowComponent, never>;
290
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFilterRowComponent, never, never, { "index": { "alias": "index"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
291
+ }
292
+
293
+ /**
294
+ * @hidden
295
+ */
296
+ declare class FilterGroupComponent extends BaseFilterRowComponent {
297
+ private filterService;
298
+ private cdr;
299
+ static ngAcceptInputType_currentItem: FilterDescriptor | CompositeFilterDescriptor;
300
+ /**
301
+ * @hidden
302
+ */
303
+ xIcon: SVGIcon;
304
+ /**
305
+ * @hidden
306
+ */
307
+ filterAddGroupIcon: SVGIcon;
308
+ /**
309
+ * @hidden
310
+ */
311
+ filterAddExpressionIcon: SVGIcon;
312
+ private _filterItems;
313
+ get filterItems(): FilterItem[];
314
+ /**
315
+ * @hidden
316
+ */
317
+ handleExpressionValueChange(isRemoveOperation: any): void;
318
+ currentItem: CompositeFilterDescriptor;
319
+ /**
320
+ * @hidden
321
+ */
322
+ trackByFunction: (index: any) => any;
323
+ operators: {
324
+ value: 'and' | 'or';
325
+ }[];
326
+ constructor(filterService: FilterService, cdr: ChangeDetectorRef, element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
327
+ getOperator(operatorValue: 'and' | 'or'): string;
328
+ selectedChange(logicOperator: 'or' | 'and'): void;
329
+ addFilterExpression(): void;
330
+ addFilterGroup(): void;
331
+ removeFilterGroup(): void;
332
+ onMouseDown(event: any): void;
333
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterGroupComponent, never>;
334
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterGroupComponent, "kendo-filter-group", never, { "currentItem": { "alias": "currentItem"; "required": false; }; }, {}, never, never, true, never>;
335
+ }
336
+
337
+ declare class FilterValueEditorTemplateDirective {
338
+ templateRef: TemplateRef<any>;
339
+ constructor(templateRef: TemplateRef<any>);
340
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterValueEditorTemplateDirective, never>;
341
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FilterValueEditorTemplateDirective, "[kendoFilterValueEditorTemplate]", never, {}, {}, never, never, true, never>;
342
+ }
343
+
344
+ /**
345
+ * Replaces the default operator DropDownList in the Filter component with a custom template.
346
+ * Apply it to an `ng-template` inside a `kendo-filter-field` element.
347
+ *
348
+ * The template context provides the following field:
349
+ *
350
+ * - `let-filter`&mdash;The [filter descriptor](slug:api_kendo-data-query_filterdescriptor) for the current row. Set its `operator` property when the user selects a new operator.
351
+ *
352
+ * @example
353
+ * ```html
354
+ * <kendo-filter>
355
+ * <kendo-filter-field field="name" editor="string">
356
+ * <ng-template kendoFilterOperatorTemplate let-filter>
357
+ * <kendo-combobox
358
+ * [data]="customOperators"
359
+ * textField="text"
360
+ * valueField="value"
361
+ * [valuePrimitive]="true"
362
+ * [value]="filter.operator"
363
+ * (valueChange)="filter.operator = $event">
364
+ * </kendo-combobox>
365
+ * </ng-template>
366
+ * </kendo-filter-field>
367
+ * </kendo-filter>
368
+ * ```
369
+ */
370
+ declare class FilterOperatorTemplateDirective {
371
+ templateRef: TemplateRef<any>;
372
+ constructor(templateRef: TemplateRef<any>);
373
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterOperatorTemplateDirective, never>;
374
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FilterOperatorTemplateDirective, "[kendoFilterOperatorTemplate]", never, {}, {}, never, never, true, never>;
375
+ }
376
+
377
+ /**
378
+ * Represents the [Kendo UI Filter Field component for Angular](https://www.telerik.com/kendo-angular-ui/components/filter/api/filterfieldcomponent).
379
+ * Used to declare filter expressions for the Filter component.
380
+ *
381
+ * @example
382
+ * ```html
383
+ * <kendo-filter>
384
+ * <kendo-filter-field field="country" editor="string" [operators]="['neq', 'eq', 'contains']"></kendo-filter-field>
385
+ * <kendo-filter-field field="budget" editor="number"></kendo-filter-field>
386
+ * <kendo-filter-field field="discontinued" title="Discontinued" editor="boolean"></kendo-filter-field>
387
+ * <kendo-filter-field field="ordered on" title="Ordered on" editor="date"></kendo-filter-field>
388
+ * <kendo-filter>
389
+ * ```
390
+ */
391
+ declare class FilterFieldComponent {
392
+ /**
393
+ * Specifies the `field` that will be used by the user-defined filter.
394
+ */
395
+ field: string;
396
+ /**
397
+ * Specifies the `title` text that will be displayed by the user-defined filter.
398
+ * If the `title` isn't set, the value passed to `field` is used.
399
+ */
400
+ set title(_title: string);
401
+ get title(): string;
402
+ private _title;
403
+ /**
404
+ * Specifies the user-defined filter `editor` type that will be used.
405
+ * The available options are 'string', 'number', 'boolean', and 'date'.
406
+ */
407
+ editor: FilterEditor;
408
+ /**
409
+ * Specifies the operators that will be available in the order of providing them.
410
+ * If no operators are provided, default operators are used for each filter type.
411
+ *
412
+ * The default string operators are:
413
+ * * `eq`&mdash; Is equal to
414
+ * * `neq`&mdash; Is not equal to
415
+ * * `isnull`&mdash; Is null
416
+ * * `isnotnull`&mdash; Is not null
417
+ * * `contains`&mdash; Contains
418
+ * * `doesnotcontain`&mdash; Does not contain
419
+ * * `startswith`&mdash; Starts with
420
+ * * `endswith`&mdash; Ends with
421
+ * * `isempty`&mdash; Is empty
422
+ * * `isnotempty`&mdash; Is not empty
423
+ *
424
+ * The default number and date operators are:
425
+ * * `eq`&mdash; Is equals to
426
+ * * `neq`&mdash; Is not equal to
427
+ * * `isnull`&mdash; Is null
428
+ * * `isnotnull`&mdash; Is not null
429
+ * * `gt`&mdash; Greater than
430
+ * * `gte`&mdash; Greater than or equal to
431
+ * * `lt`&mdash; Less than
432
+ * * `lte`&mdash; Less than or equal to
433
+ *
434
+ * The boolean operator is always set to `eq`
435
+ */
436
+ operators: FilterOperator[];
437
+ /**
438
+ * Specifies the user-defined filter `editor` format that will be used. ([see example](https://www.telerik.com/kendo-angular-ui/components/filter/filter-editors-format))
439
+ */
440
+ editorFormat?: string | NumberFormat | DateFormat;
441
+ /**
442
+ * @hidden
443
+ */
444
+ editorTemplate: FilterValueEditorTemplateDirective;
445
+ /**
446
+ * @hidden
447
+ */
448
+ operatorTemplate: FilterOperatorTemplateDirective;
449
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterFieldComponent, never>;
450
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterFieldComponent, "kendo-filter-field", never, { "field": { "alias": "field"; "required": false; }; "title": { "alias": "title"; "required": false; }; "editor": { "alias": "editor"; "required": false; }; "operators": { "alias": "operators"; "required": false; }; "editorFormat": { "alias": "editorFormat"; "required": false; }; }, {}, ["editorTemplate", "operatorTemplate"], never, true, never>;
451
+ }
452
+
453
+ /**
454
+ * @hidden
455
+ */
456
+ declare class Messages extends ComponentMessages {
457
+ /**
458
+ * The text of the Filter Expression `operators` drop down title.
459
+ */
460
+ filterExpressionOperators: string;
461
+ /**
462
+ * The text of the Filter Expression 'fields' drop down title.
463
+ */
464
+ filterExpressionFilters: string;
465
+ /**
466
+ * The text of the `Remove` button.
467
+ */
468
+ remove: string;
469
+ /**
470
+ * The text of the Filter Group `Add Group` button.
471
+ */
472
+ addGroup: string;
473
+ /**
474
+ * The text of the Filter Group `Add Filter` button.
475
+ */
476
+ addFilter: string;
477
+ /**
478
+ * The text of the `And` Filter Group logic.
479
+ */
480
+ filterAndLogic: string;
481
+ /**
482
+ * The text of the `Or` Filter Group logic.
483
+ */
484
+ filterOrLogic: string;
485
+ /**
486
+ * The text of the `Equal` (**Is equal to**) Filter Expression operator.
487
+ */
488
+ filterEqOperator: string;
489
+ /**
490
+ * The text of the `NotEqual` (**Is not equal to**) Filter Expression operator.
491
+ */
492
+ filterNotEqOperator: string;
493
+ /**
494
+ * The text of the `IsNull` (**Is null**) Filter Expression operator.
495
+ */
496
+ filterIsNullOperator: string;
497
+ /**
498
+ * The text of the `IsNotNull` (**Is not null**) Filter Expression operator.
499
+ */
500
+ filterIsNotNullOperator: string;
501
+ /**
502
+ * The text of the `IsEmpty` (**Is empty**) Filter Expression operator.
503
+ */
504
+ filterIsEmptyOperator: string;
505
+ /**
506
+ * The text of the `IsNotEmpty` (**Is not empty**) Filter Expression operator.
507
+ */
508
+ filterIsNotEmptyOperator: string;
509
+ /**
510
+ * The text of the `StartsWith` (**Starts with**) Filter Expression operator.
511
+ */
512
+ filterStartsWithOperator: string;
513
+ /**
514
+ * The text of the `Contains` (**Contains**) Filter Expression operator.
515
+ */
516
+ filterContainsOperator: string;
517
+ /**
518
+ * The text of the `DoesNotContain` (**Does not contain**) Filter Expression operator.
519
+ */
520
+ filterNotContainsOperator: string;
521
+ /**
522
+ * The text of the `EndsWith` (**Ends with**) string Filter Expression operator.
523
+ */
524
+ filterEndsWithOperator: string;
525
+ /**
526
+ * The text of the `GreaterOrEqualTo` (**Is greater than or equal to**) numeric Filter Expression operator.
527
+ */
528
+ filterGteOperator: string;
529
+ /**
530
+ * The text of the `Greater` (**Is greater than**) numeric Filter Expression operator.
531
+ */
532
+ filterGtOperator: string;
533
+ /**
534
+ * The text of the `LessOrEqualTo` (**Is less than or equal to**) numeric Filter Expression operator.
535
+ */
536
+ filterLteOperator: string;
537
+ /**
538
+ * The text of the `Less` (**Is less than**) numeric Filter Expression operator.
539
+ */
540
+ filterLtOperator: string;
541
+ /**
542
+ * The text of the `IsTrue` boolean Filter Expression option.
543
+ */
544
+ filterIsTrue: string;
545
+ /**
546
+ * The text of the `IsFalse` boolean Filter Expression option.
547
+ */
548
+ filterIsFalse: string;
549
+ /**
550
+ * The text of the `(All)` boolean Filter Expression option.
551
+ */
552
+ filterBooleanAll: string;
553
+ /**
554
+ * The text of the `AfterOrEqualTo` (**Is after or equal to**) date Filter Expression operator.
555
+ */
556
+ filterAfterOrEqualOperator: string;
557
+ /**
558
+ * The text of the `After` (**Is after**) date Filter Expression operator.
559
+ */
560
+ filterAfterOperator: string;
561
+ /**
562
+ * The text of the `Before` (**Is before**) date Filter Expression operator.
563
+ */
564
+ filterBeforeOperator: string;
565
+ /**
566
+ * The text of the `BeforeOrEqualTo` (**Is before or equal to**) date Filter Expression operator.
567
+ */
568
+ filterBeforeOrEqualOperator: string;
569
+ /**
570
+ * The title of the Decrement button of the Filter Expression numeric editor.
571
+ */
572
+ editorNumericDecrement: string;
573
+ /**
574
+ * The title of the Increment button of the Filter Expression numeric editor.
575
+ */
576
+ editorNumericIncrement: string;
577
+ /**
578
+ * The text of the Today button of the Filter Expression date editor.
579
+ */
580
+ editorDateTodayText: string;
581
+ /**
582
+ * The title of the Toggle button of the Filter Expression date editor.
583
+ */
584
+ editorDateToggleText: string;
585
+ /**
586
+ * The text of the filter field aria label.
587
+ */
588
+ filterFieldAriaLabel: string;
589
+ /**
590
+ * The text of the filter operator aria label.
591
+ */
592
+ filterOperatorAriaLabel: string;
593
+ /**
594
+ * The text of the filter value aria label.
595
+ */
596
+ filterValueAriaLabel: string;
597
+ /**
598
+ * The text of the filter row aria label.
599
+ */
600
+ filterToolbarAriaLabel: string;
601
+ /**
602
+ * The text of the filter toolbar aria label.
603
+ */
604
+ filterComponentAriaLabel: string;
605
+ static ɵfac: i0.ɵɵFactoryDeclaration<Messages, never>;
606
+ static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, "[kendoFilterMessages]", never, { "filterExpressionOperators": { "alias": "filterExpressionOperators"; "required": false; }; "filterExpressionFilters": { "alias": "filterExpressionFilters"; "required": false; }; "remove": { "alias": "remove"; "required": false; }; "addGroup": { "alias": "addGroup"; "required": false; }; "addFilter": { "alias": "addFilter"; "required": false; }; "filterAndLogic": { "alias": "filterAndLogic"; "required": false; }; "filterOrLogic": { "alias": "filterOrLogic"; "required": false; }; "filterEqOperator": { "alias": "filterEqOperator"; "required": false; }; "filterNotEqOperator": { "alias": "filterNotEqOperator"; "required": false; }; "filterIsNullOperator": { "alias": "filterIsNullOperator"; "required": false; }; "filterIsNotNullOperator": { "alias": "filterIsNotNullOperator"; "required": false; }; "filterIsEmptyOperator": { "alias": "filterIsEmptyOperator"; "required": false; }; "filterIsNotEmptyOperator": { "alias": "filterIsNotEmptyOperator"; "required": false; }; "filterStartsWithOperator": { "alias": "filterStartsWithOperator"; "required": false; }; "filterContainsOperator": { "alias": "filterContainsOperator"; "required": false; }; "filterNotContainsOperator": { "alias": "filterNotContainsOperator"; "required": false; }; "filterEndsWithOperator": { "alias": "filterEndsWithOperator"; "required": false; }; "filterGteOperator": { "alias": "filterGteOperator"; "required": false; }; "filterGtOperator": { "alias": "filterGtOperator"; "required": false; }; "filterLteOperator": { "alias": "filterLteOperator"; "required": false; }; "filterLtOperator": { "alias": "filterLtOperator"; "required": false; }; "filterIsTrue": { "alias": "filterIsTrue"; "required": false; }; "filterIsFalse": { "alias": "filterIsFalse"; "required": false; }; "filterBooleanAll": { "alias": "filterBooleanAll"; "required": false; }; "filterAfterOrEqualOperator": { "alias": "filterAfterOrEqualOperator"; "required": false; }; "filterAfterOperator": { "alias": "filterAfterOperator"; "required": false; }; "filterBeforeOperator": { "alias": "filterBeforeOperator"; "required": false; }; "filterBeforeOrEqualOperator": { "alias": "filterBeforeOrEqualOperator"; "required": false; }; "editorNumericDecrement": { "alias": "editorNumericDecrement"; "required": false; }; "editorNumericIncrement": { "alias": "editorNumericIncrement"; "required": false; }; "editorDateTodayText": { "alias": "editorDateTodayText"; "required": false; }; "editorDateToggleText": { "alias": "editorDateToggleText"; "required": false; }; "filterFieldAriaLabel": { "alias": "filterFieldAriaLabel"; "required": false; }; "filterOperatorAriaLabel": { "alias": "filterOperatorAriaLabel"; "required": false; }; "filterValueAriaLabel": { "alias": "filterValueAriaLabel"; "required": false; }; "filterToolbarAriaLabel": { "alias": "filterToolbarAriaLabel"; "required": false; }; "filterComponentAriaLabel": { "alias": "filterComponentAriaLabel"; "required": false; }; }, {}, never, never, true, never>;
607
+ }
608
+
609
+ /**
610
+ * Custom component messages that override the default component messages.
611
+ * For usage examples, see the [Internationalization guide](https://www.telerik.com/kendo-angular-ui/components/filter/globalization#internationalization).
612
+ */
613
+ declare class CustomMessagesComponent extends Messages {
614
+ protected service: LocalizationService;
615
+ constructor(service: LocalizationService);
616
+ protected get override(): boolean;
617
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomMessagesComponent, never>;
618
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomMessagesComponent, "kendo-filter-messages", never, {}, {}, never, never, true, never>;
619
+ }
620
+
621
+ /**
622
+ * Replaces the default field selector DropDownList in the Filter component with a custom template.
623
+ * Apply it to an `ng-template` that is a direct child of a `kendo-filter` element.
624
+ *
625
+ * The template context provides the following fields:
626
+ *
627
+ * - `let-currentItem`&mdash;The [filter descriptor](slug:api_kendo-data-query_filterdescriptor) for the current row. Set its `field` property to change the selected field. The component detects the change and updates the value, operator list, and editor type automatically.
628
+ * - `let-filters="filters"`&mdash;The list of available [`FilterExpression`](slug:api_filter_filterexpression) items.
629
+ *
630
+ * @example
631
+ * ```html
632
+ * <kendo-filter>
633
+ * <ng-template kendoFilterFieldsTemplate let-currentItem let-filters="filters">
634
+ * <kendo-dropdownlist
635
+ * [data]="filters"
636
+ * textField="title"
637
+ * valueField="field"
638
+ * [valuePrimitive]="true"
639
+ * [value]="currentItem.field"
640
+ * (valueChange)="currentItem.field = $event">
641
+ * </kendo-dropdownlist>
642
+ * </ng-template>
643
+ * <kendo-filter-field field="name" editor="string"></kendo-filter-field>
644
+ * </kendo-filter>
645
+ * ```
646
+ */
647
+ declare class FilterFieldsTemplateDirective {
648
+ templateRef: TemplateRef<any>;
649
+ constructor(templateRef: TemplateRef<any>);
650
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterFieldsTemplateDirective, never>;
651
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FilterFieldsTemplateDirective, "[kendoFilterFieldsTemplate]", never, {}, {}, never, never, true, never>;
652
+ }
653
+
654
+ /**
655
+ * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
656
+ * definition for the Filter component.
657
+ *
658
+ * @example
659
+ *
660
+ * ```ts
661
+ * // Import the Filter module
662
+ * import { FilterModule } from '@progress/kendo-angular-filter';
663
+ *
664
+ * // The browser platform with a compiler
665
+ * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
666
+ *
667
+ * import { NgModule } from '@angular/core';
668
+ *
669
+ * // Import the app component
670
+ * import { AppComponent } from './app.component';
671
+ *
672
+ * // Define the app module
673
+ * _@NgModule({
674
+ * declarations: [AppComponent], // declare app component
675
+ * imports: [BrowserModule, FilterModule], // import Filter module
676
+ * bootstrap: [AppComponent]
677
+ * })
678
+ * export class AppModule { }
679
+ *
680
+ * // Compile and launch the module
681
+ * platformBrowserDynamic().bootstrapModule(AppModule);
682
+ *
683
+ * ```
684
+ */
685
+ declare class FilterModule {
686
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterModule, never>;
687
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FilterModule, never, [typeof FilterComponent, typeof FilterFieldComponent, typeof CustomMessagesComponent, typeof FilterValueEditorTemplateDirective, typeof FilterOperatorTemplateDirective, typeof FilterFieldsTemplateDirective], [typeof FilterComponent, typeof FilterFieldComponent, typeof CustomMessagesComponent, typeof FilterValueEditorTemplateDirective, typeof FilterOperatorTemplateDirective, typeof FilterFieldsTemplateDirective]>;
688
+ static ɵinj: i0.ɵɵInjectorDeclaration<FilterModule>;
689
+ }
690
+
691
+ /**
692
+ * @hidden
693
+ */
694
+ declare class AriaLabelValueDirective {
695
+ private hostElement;
696
+ private renderer;
697
+ ariaLabel: string;
698
+ constructor(hostElement: ElementRef, renderer: Renderer2);
699
+ ngOnInit(): void;
700
+ static ɵfac: i0.ɵɵFactoryDeclaration<AriaLabelValueDirective, never>;
701
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AriaLabelValueDirective, "[kendoAriaLabelValue]", never, { "ariaLabel": { "alias": "kendoAriaLabelValue"; "required": false; }; }, {}, never, never, true, never>;
702
+ }
703
+
704
+ /**
705
+ * @hidden
706
+ */
707
+ declare class FilterBooleanEditorComponent {
708
+ private localization;
709
+ currentItem: FilterDescriptor;
710
+ valueChange: EventEmitter<void>;
711
+ get items(): {
712
+ text: string;
713
+ value: boolean | null;
714
+ }[];
715
+ get defaultItem(): {
716
+ text: string;
717
+ value: boolean | null;
718
+ };
719
+ constructor(localization: LocalizationService);
720
+ messageFor(key: string): string;
721
+ getBooleanText(value: boolean | null): string;
722
+ onValueChange(value: boolean | null): void;
723
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterBooleanEditorComponent, never>;
724
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterBooleanEditorComponent, "kendo-filter-boolean-editor", never, { "currentItem": { "alias": "currentItem"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
725
+ }
726
+
727
+ /**
728
+ * @hidden
729
+ */
730
+ declare class FilterDateEditorComponent {
731
+ private localization;
732
+ currentItem: FilterDescriptor;
733
+ isDisabled: boolean;
734
+ format: string | FormatSettings;
735
+ valueChange: EventEmitter<void>;
736
+ constructor(localization: LocalizationService);
737
+ messageFor(key: string): string;
738
+ onValueChange(value: Date): void;
739
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterDateEditorComponent, never>;
740
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterDateEditorComponent, "kendo-filter-date-editor", never, { "currentItem": { "alias": "currentItem"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
741
+ }
742
+
743
+ /**
744
+ * @hidden
745
+ */
746
+ declare class FilterNumericEditorComponent {
747
+ private localization;
748
+ currentItem: FilterDescriptor;
749
+ isDisabled: boolean;
750
+ format: string | NumberFormatOptions;
751
+ valueChange: EventEmitter<void>;
752
+ constructor(localization: LocalizationService);
753
+ messageFor(key: string): string;
754
+ onValueChange(value: number): void;
755
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterNumericEditorComponent, never>;
756
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterNumericEditorComponent, "kendo-filter-numeric-editor", never, { "currentItem": { "alias": "currentItem"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "format": { "alias": "format"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
757
+ }
758
+
759
+ /**
760
+ * @hidden
761
+ */
762
+ declare class FilterTextEditorComponent {
763
+ private localization;
764
+ currentItem: FilterDescriptor;
765
+ isDisabled: boolean;
766
+ valueChange: EventEmitter<void>;
767
+ constructor(localization: LocalizationService);
768
+ messageFor(key: string): string;
769
+ onValueChange(value: string): void;
770
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterTextEditorComponent, never>;
771
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterTextEditorComponent, "kendo-filter-text-editor", never, { "currentItem": { "alias": "currentItem"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
772
+ }
773
+
774
+ /**
775
+ * @hidden
776
+ */
777
+ declare class FilterExpressionOperatorsComponent {
778
+ private localization;
779
+ currentItem: FilterDescriptor;
780
+ editorType: FilterEditor;
781
+ valueChange: EventEmitter<FilterOperator>;
782
+ operators: {
783
+ text: string;
784
+ value: string;
785
+ }[];
786
+ operatorTemplate: TemplateRef<any>;
787
+ constructor(localization: LocalizationService);
788
+ messageFor(key: string): string;
789
+ getOperator(operatorValue: FilterOperator): string;
790
+ operatorValueChange(value: FilterOperator): void;
791
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterExpressionOperatorsComponent, never>;
792
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterExpressionOperatorsComponent, "kendo-filter-expression-operators", never, { "currentItem": { "alias": "currentItem"; "required": false; }; "editorType": { "alias": "editorType"; "required": false; }; "operators": { "alias": "operators"; "required": false; }; "operatorTemplate": { "alias": "operatorTemplate"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
793
+ }
794
+
795
+ /**
796
+ * @hidden
797
+ */
798
+ declare class FilterExpressionComponent extends BaseFilterRowComponent implements OnInit, DoCheck {
799
+ private filterService;
800
+ /**
801
+ * @hidden
802
+ */
803
+ xIcon: SVGIcon;
804
+ static ngAcceptInputType_currentItem: FilterDescriptor | CompositeFilterDescriptor;
805
+ currentItem: FilterDescriptor;
806
+ operators: any[];
807
+ isBoolean: boolean;
808
+ editorType: FilterEditor;
809
+ isEditorDisabled: boolean;
810
+ editorTemplate: TemplateRef<any>;
811
+ operatorTemplate: TemplateRef<any>;
812
+ editorFormat: string | DateFormat | NumberFormat;
813
+ get availableFilters(): FilterExpression[];
814
+ private _previousField;
815
+ get fieldTemplate(): TemplateRef<any>;
816
+ private get currentFilterExpression();
817
+ get numericEditorFormat(): string | NumberFormat;
818
+ get dateEditorFormat(): string | DateFormat;
819
+ private isNumberFormat;
820
+ private isDateFormat;
821
+ constructor(filterService: FilterService, element: ElementRef, navigationService: NavigationService, localization: LocalizationService, renderer: Renderer2);
822
+ ngDoCheck(): void;
823
+ ngOnInit(): void;
824
+ normalizeOperators(filterEditor: FilterEditor, operators: FilterOperator[]): {
825
+ text: string;
826
+ value: string;
827
+ }[];
828
+ getFilterExpressionByField(name: string): FilterExpression | null;
829
+ filterValueChange(value: string): void;
830
+ protected getDefaultOperators(operatorsType: FilterEditor): {
831
+ text: string;
832
+ value: string;
833
+ }[];
834
+ getEditorType(): FilterEditor;
835
+ removeFilterExpression(): void;
836
+ private setOperators;
837
+ onOperatorChange(value: string): void;
838
+ setTemplates(): void;
839
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterExpressionComponent, never>;
840
+ static ɵcmp: i0.ɵɵComponentDeclaration<FilterExpressionComponent, "kendo-filter-expression", never, { "currentItem": { "alias": "currentItem"; "required": false; }; }, {}, never, never, true, never>;
841
+ }
842
+
843
+ /**
844
+ * @hidden
845
+ */
846
+ declare class LocalizedMessagesDirective extends Messages {
847
+ protected service: LocalizationService;
848
+ constructor(service: LocalizationService);
849
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalizedMessagesDirective, never>;
850
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LocalizedMessagesDirective, "[kendoFilterLocalizedMessages]", never, {}, {}, never, never, true, never>;
851
+ }
852
+
853
+ /**
854
+ * Utility array that contains all `@progress/kendo-angular-filter` related components and directives
855
+ */
856
+ declare const KENDO_FILTER: readonly [typeof FilterComponent, typeof FilterFieldComponent, typeof CustomMessagesComponent, typeof FilterValueEditorTemplateDirective, typeof FilterOperatorTemplateDirective, typeof FilterFieldsTemplateDirective];
857
+
858
+ export { AriaLabelValueDirective, CustomMessagesComponent, FilterBooleanEditorComponent, FilterComponent, FilterDateEditorComponent, FilterExpressionComponent, FilterExpressionOperatorsComponent, FilterFieldComponent, FilterFieldsTemplateDirective, FilterGroupComponent, FilterModule, FilterNumericEditorComponent, FilterOperatorTemplateDirective, FilterTextEditorComponent, FilterValueEditorTemplateDirective, KENDO_FILTER, LocalizedMessagesDirective };
859
+ export type { FilterEditor, FilterExpression, FilterOperator };