@progress/kendo-angular-dropdowns 11.6.0 → 12.0.0-develop.10

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 (33) hide show
  1. package/autocomplete/autocomplete.component.d.ts +82 -20
  2. package/comboboxes/combobox.component.d.ts +76 -8
  3. package/comboboxes/multicolumncombobox.component.d.ts +4 -0
  4. package/common/action-sheet.component.d.ts +43 -0
  5. package/common/list.component.d.ts +2 -1
  6. package/common/localization/messages.d.ts +9 -1
  7. package/common/selection/selectable.directive.d.ts +2 -1
  8. package/common/shared.module.d.ts +11 -7
  9. package/common/util.d.ts +39 -2
  10. package/dropdownlist/dropdownlist.component.d.ts +78 -9
  11. package/dropdowntrees/dropdowntree.component.d.ts +80 -8
  12. package/dropdowntrees/multiselecttree.component.d.ts +90 -6
  13. package/esm2020/autocomplete/autocomplete.component.mjs +294 -116
  14. package/esm2020/comboboxes/combobox.component.mjs +251 -60
  15. package/esm2020/comboboxes/multicolumncombobox.component.mjs +110 -119
  16. package/esm2020/common/action-sheet.component.mjs +243 -0
  17. package/esm2020/common/list.component.mjs +11 -2
  18. package/esm2020/common/localization/messages.mjs +5 -1
  19. package/esm2020/common/selection/selectable.directive.mjs +3 -3
  20. package/esm2020/common/shared.module.mjs +13 -6
  21. package/esm2020/common/util.mjs +68 -2
  22. package/esm2020/dropdownlist/dropdownlist.component.mjs +245 -64
  23. package/esm2020/dropdowntrees/dropdowntree.component.mjs +254 -56
  24. package/esm2020/dropdowntrees/multiselecttree.component.mjs +291 -55
  25. package/esm2020/index.mjs +1 -0
  26. package/esm2020/multiselect/multiselect.component.mjs +320 -88
  27. package/esm2020/package-metadata.mjs +2 -2
  28. package/fesm2015/progress-kendo-angular-dropdowns.mjs +2085 -552
  29. package/fesm2020/progress-kendo-angular-dropdowns.mjs +2054 -545
  30. package/index.d.ts +2 -0
  31. package/multiselect/multiselect.component.d.ts +87 -10
  32. package/package.json +9 -8
  33. package/schematics/ngAdd/index.js +2 -2
@@ -0,0 +1,243 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, Input, Output, EventEmitter, TemplateRef, ViewChild } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { animationDuration } from './util';
8
+ import { xIcon } from '@progress/kendo-svg-icons';
9
+ import { ActionSheetComponent } from '@progress/kendo-angular-navigation';
10
+ import { TextBoxComponent } from '@progress/kendo-angular-inputs';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@progress/kendo-angular-l10n";
13
+ import * as i2 from "@progress/kendo-angular-navigation";
14
+ import * as i3 from "@progress/kendo-angular-buttons";
15
+ import * as i4 from "@progress/kendo-angular-inputs";
16
+ import * as i5 from "@progress/kendo-angular-icons";
17
+ import * as i6 from "@angular/common";
18
+ /**
19
+ * @hidden
20
+ */
21
+ export class ResponsiveRendererComponent {
22
+ constructor(localization) {
23
+ this.localization = localization;
24
+ this.closePopup = new EventEmitter();
25
+ this.textInputChange = new EventEmitter();
26
+ this.navigate = new EventEmitter();
27
+ this.onExpand = new EventEmitter();
28
+ this.onCollapse = new EventEmitter();
29
+ this.onApply = new EventEmitter();
30
+ this.onCancel = new EventEmitter();
31
+ this.searchBarValue = '';
32
+ this.animationDuration = animationDuration;
33
+ this.xIcon = xIcon;
34
+ }
35
+ messageFor(key) {
36
+ return this.localization.get(key);
37
+ }
38
+ onValueChange(value) {
39
+ this.searchBarValue = value;
40
+ this.textInputChange.emit(value);
41
+ }
42
+ }
43
+ ResponsiveRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResponsiveRendererComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
44
+ ResponsiveRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ResponsiveRendererComponent, selector: "responsive-renderer", inputs: { title: "title", showActionButtons: "showActionButtons", subtitle: "subtitle", size: "size", showTextInput: "showTextInput", sharedPopupActionSheetTemplate: "sharedPopupActionSheetTemplate", isActionSheetExpanded: "isActionSheetExpanded", text: "text", placeholder: "placeholder" }, outputs: { closePopup: "closePopup", textInputChange: "textInputChange", navigate: "navigate", onExpand: "onExpand", onCollapse: "onCollapse", onApply: "onApply", onCancel: "onCancel" }, viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }, { propertyName: "actionSheetSearchBar", first: true, predicate: ["actionSheetSearchBar"], descendants: true }], ngImport: i0, template: `
45
+ <kendo-actionsheet
46
+ #actionSheet
47
+ [animation]="{ duration: animationDuration }"
48
+ [expanded]="isActionSheetExpanded"
49
+ (overlayClick)="closePopup.emit()"
50
+ (keydown)="navigate.emit($event)"
51
+ (expand)="onExpand.emit()"
52
+ (collapse)="onCollapse.emit()"
53
+ >
54
+ <ng-template kendoActionSheetTemplate>
55
+ <div class="k-text-center k-actionsheet-titlebar">
56
+ <div class="k-actionsheet-titlebar-group k-hbox">
57
+ <div class="k-actionsheet-title">
58
+ <div class="k-text-center">{{ title }}</div>
59
+ <div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
60
+ </div>
61
+ <div class="k-actionsheet-actions">
62
+ <button
63
+ kendoButton
64
+ icon="x"
65
+ [attr.title]="messageFor('clearTitle')"
66
+ [svgIcon]="xIcon"
67
+ fillMode="flat"
68
+ [size]="size"
69
+ [tabIndex]="-1"
70
+ aria-hidden="true"
71
+ innerCssClass="k-button-icon"
72
+ (click)="closePopup.emit()"
73
+ ></button>
74
+ </div>
75
+ </div>
76
+ <div class="k-actionsheet-titlebar-group k-actionsheet-filter">
77
+ <kendo-textbox
78
+ *ngIf="showTextInput"
79
+ #actionSheetSearchBar
80
+ [value]="searchBarValue"
81
+ [size]="size"
82
+ placeholder="Filter"
83
+ class="k-searchbox"
84
+ autocomplete="off"
85
+ (valueChange)="onValueChange($event)"
86
+ >
87
+ <ng-template kendoTextBoxPrefixTemplate>
88
+ <kendo-icon name="search"></kendo-icon>
89
+ </ng-template>
90
+ </kendo-textbox>
91
+ </div>
92
+ </div>
93
+ <div class="k-actionsheet-content !k-overflow-hidden">
94
+ <div class="k-list-container">
95
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
96
+ </div>
97
+ </div>
98
+
99
+ <div *ngIf="showActionButtons" class="k-actionsheet-footer k-actions k-actions-stretched">
100
+ <button kendoButton
101
+ tabindex="0"
102
+ aria-disabled="false"
103
+ [size]="size"
104
+ themeColor="base"
105
+ (click)="onCancel.emit()"
106
+ (keydown.enter)="$event.stopImmediatePropagation()">
107
+ {{messageFor('cancelButton')}}
108
+ </button>
109
+ <button kendoButton
110
+ tabindex="0"
111
+ aria-disabled="false"
112
+ [size]="size"
113
+ themeColor="primary"
114
+ (click)="onApply.emit()"
115
+ (keydown.enter)="$event.stopImmediatePropagation()">
116
+ {{messageFor('applyButton')}}
117
+ </button>
118
+ </div>
119
+ </ng-template>
120
+ </kendo-actionsheet>
121
+ `, isInline: true, components: [{ type: i2.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i3.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "errorIcon", "clearButtonIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i5.IconComponent, selector: "kendo-icon", inputs: ["name"], exportAs: ["kendoIcon"] }], directives: [{ type: i2.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TextBoxPrefixTemplateDirective, selector: "[kendoTextBoxPrefixTemplate]" }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResponsiveRendererComponent, decorators: [{
123
+ type: Component,
124
+ args: [{
125
+ selector: 'responsive-renderer',
126
+ template: `
127
+ <kendo-actionsheet
128
+ #actionSheet
129
+ [animation]="{ duration: animationDuration }"
130
+ [expanded]="isActionSheetExpanded"
131
+ (overlayClick)="closePopup.emit()"
132
+ (keydown)="navigate.emit($event)"
133
+ (expand)="onExpand.emit()"
134
+ (collapse)="onCollapse.emit()"
135
+ >
136
+ <ng-template kendoActionSheetTemplate>
137
+ <div class="k-text-center k-actionsheet-titlebar">
138
+ <div class="k-actionsheet-titlebar-group k-hbox">
139
+ <div class="k-actionsheet-title">
140
+ <div class="k-text-center">{{ title }}</div>
141
+ <div class="k-actionsheet-subtitle k-text-center">{{ subtitle }}</div>
142
+ </div>
143
+ <div class="k-actionsheet-actions">
144
+ <button
145
+ kendoButton
146
+ icon="x"
147
+ [attr.title]="messageFor('clearTitle')"
148
+ [svgIcon]="xIcon"
149
+ fillMode="flat"
150
+ [size]="size"
151
+ [tabIndex]="-1"
152
+ aria-hidden="true"
153
+ innerCssClass="k-button-icon"
154
+ (click)="closePopup.emit()"
155
+ ></button>
156
+ </div>
157
+ </div>
158
+ <div class="k-actionsheet-titlebar-group k-actionsheet-filter">
159
+ <kendo-textbox
160
+ *ngIf="showTextInput"
161
+ #actionSheetSearchBar
162
+ [value]="searchBarValue"
163
+ [size]="size"
164
+ placeholder="Filter"
165
+ class="k-searchbox"
166
+ autocomplete="off"
167
+ (valueChange)="onValueChange($event)"
168
+ >
169
+ <ng-template kendoTextBoxPrefixTemplate>
170
+ <kendo-icon name="search"></kendo-icon>
171
+ </ng-template>
172
+ </kendo-textbox>
173
+ </div>
174
+ </div>
175
+ <div class="k-actionsheet-content !k-overflow-hidden">
176
+ <div class="k-list-container">
177
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
178
+ </div>
179
+ </div>
180
+
181
+ <div *ngIf="showActionButtons" class="k-actionsheet-footer k-actions k-actions-stretched">
182
+ <button kendoButton
183
+ tabindex="0"
184
+ aria-disabled="false"
185
+ [size]="size"
186
+ themeColor="base"
187
+ (click)="onCancel.emit()"
188
+ (keydown.enter)="$event.stopImmediatePropagation()">
189
+ {{messageFor('cancelButton')}}
190
+ </button>
191
+ <button kendoButton
192
+ tabindex="0"
193
+ aria-disabled="false"
194
+ [size]="size"
195
+ themeColor="primary"
196
+ (click)="onApply.emit()"
197
+ (keydown.enter)="$event.stopImmediatePropagation()">
198
+ {{messageFor('applyButton')}}
199
+ </button>
200
+ </div>
201
+ </ng-template>
202
+ </kendo-actionsheet>
203
+ `,
204
+ }]
205
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { title: [{
206
+ type: Input
207
+ }], showActionButtons: [{
208
+ type: Input
209
+ }], subtitle: [{
210
+ type: Input
211
+ }], size: [{
212
+ type: Input
213
+ }], showTextInput: [{
214
+ type: Input
215
+ }], sharedPopupActionSheetTemplate: [{
216
+ type: Input
217
+ }], isActionSheetExpanded: [{
218
+ type: Input
219
+ }], text: [{
220
+ type: Input
221
+ }], placeholder: [{
222
+ type: Input
223
+ }], closePopup: [{
224
+ type: Output
225
+ }], textInputChange: [{
226
+ type: Output
227
+ }], navigate: [{
228
+ type: Output
229
+ }], onExpand: [{
230
+ type: Output
231
+ }], onCollapse: [{
232
+ type: Output
233
+ }], onApply: [{
234
+ type: Output
235
+ }], onCancel: [{
236
+ type: Output
237
+ }], actionSheet: [{
238
+ type: ViewChild,
239
+ args: [ActionSheetComponent]
240
+ }], actionSheetSearchBar: [{
241
+ type: ViewChild,
242
+ args: ['actionSheetSearchBar']
243
+ }] } });
@@ -377,13 +377,16 @@ export class ListComponent {
377
377
  this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('list', this.size));
378
378
  }
379
379
  }
380
+ if (this.type === 'dropdowngrid') {
381
+ this.renderer.setStyle(this.wrapper.nativeElement, 'overflow-y', 'scroll');
382
+ }
380
383
  if (isPresent(this.virtual)) {
381
384
  this.renderer.addClass(this.wrapper.nativeElement, this.listVirtualClass);
382
385
  }
383
386
  }
384
387
  }
385
388
  ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, deps: [{ token: i1.DataService }, { token: i0.ElementRef }, { token: i2.SelectionService }, { token: i3.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
386
- ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
389
+ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ListComponent, selector: "kendo-list", inputs: { selected: "selected", focused: "focused", textField: "textField", valueField: "valueField", height: "height", template: "template", groupTemplate: "groupTemplate", fixedGroupTemplate: "fixedGroupTemplate", show: "show", id: "id", optionPrefix: "optionPrefix", multipleSelection: "multipleSelection", virtual: "virtual", type: "type", checkboxes: "checkboxes", ariaLive: "ariaLive", isMultiselect: "isMultiselect", isActionSheetExpanded: "isActionSheetExpanded", data: "data", size: "size", rounded: "rounded" }, outputs: { onClick: "onClick", pageChange: "pageChange", listResize: "listResize" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }, { propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "virtualContainer", first: true, predicate: ["virtualContainer"], descendants: true }, { propertyName: "items", predicate: ListItemDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
387
390
  <div *ngIf="dataService.grouped"
388
391
  [class]="listGroupStickyHeaderClass"
389
392
  [ngStyle]="{
@@ -450,6 +453,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
450
453
  </ng-template>
451
454
  <ng-template *ngIf="dataService.grouped" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
452
455
  <li
456
+ #li
453
457
  *ngIf="dataItem.header && dataItem.index > 0"
454
458
  role="group"
455
459
  [class]="listGroupItemClass"
@@ -472,6 +476,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
472
476
  </span>
473
477
  </li>
474
478
  <li
479
+ #li
475
480
  *ngIf="!dataItem.header"
476
481
  role="option"
477
482
  kendoDropDownsSelectable
@@ -509,7 +514,7 @@ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
509
514
  </div>
510
515
  </div>
511
516
  </div>
512
- `, isInline: true, components: [{ type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.ListItemDirective, selector: "\"li[role=option], li[role=group]\"" }, { type: i8.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
517
+ `, isInline: true, components: [{ type: i4.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i6.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.ListItemDirective, selector: "\"li[role=option], li[role=group]\"" }, { type: i8.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "isMultiselect", "multipleSelection"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
513
518
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListComponent, decorators: [{
514
519
  type: Component,
515
520
  args: [{
@@ -581,6 +586,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
581
586
  </ng-template>
582
587
  <ng-template *ngIf="dataService.grouped" ngFor let-dataItem let-itemIndex="index" [ngForOf]="data">
583
588
  <li
589
+ #li
584
590
  *ngIf="dataItem.header && dataItem.index > 0"
585
591
  role="group"
586
592
  [class]="listGroupItemClass"
@@ -603,6 +609,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
603
609
  </span>
604
610
  </li>
605
611
  <li
612
+ #li
606
613
  *ngIf="!dataItem.header"
607
614
  role="option"
608
615
  kendoDropDownsSelectable
@@ -676,6 +683,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
676
683
  type: Input
677
684
  }], isMultiselect: [{
678
685
  type: Input
686
+ }], isActionSheetExpanded: [{
687
+ type: Input
679
688
  }], data: [{
680
689
  type: Input
681
690
  }], size: [{
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
11
11
  export class Messages extends ComponentMessages {
12
12
  }
13
13
  Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel" }, usesInheritance: true, ngImport: i0 });
14
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: Messages, inputs: { noDataText: "noDataText", clearTitle: "clearTitle", checkAllText: "checkAllText", selectButtonText: "selectButtonText", filterInputLabel: "filterInputLabel", popupLabel: "popupLabel", applyButton: "applyButton", cancelButton: "cancelButton" }, usesInheritance: true, ngImport: i0 });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
16
16
  type: Directive
17
17
  }], propDecorators: { noDataText: [{
@@ -26,4 +26,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
26
26
  type: Input
27
27
  }], popupLabel: [{
28
28
  type: Input
29
+ }], applyButton: [{
30
+ type: Input
31
+ }], cancelButton: [{
32
+ type: Input
29
33
  }] } });
@@ -12,8 +12,6 @@ import * as i1 from "./selection.service";
12
12
  export class SelectableDirective {
13
13
  constructor(selectionService) {
14
14
  this.checkboxes = { enabled: false };
15
- // @HostBinding('attr.offset-index')
16
- // @Input() public offsetIndex: number;
17
15
  this.multipleSelection = false;
18
16
  this.selectionService = selectionService;
19
17
  }
@@ -43,7 +41,7 @@ export class SelectableDirective {
43
41
  }
44
42
  }
45
43
  SelectableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectableDirective, deps: [{ token: i1.SelectionService }], target: i0.ɵɵFactoryTarget.Directive });
46
- SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: { index: "index", checkboxes: "checkboxes", height: "height", multipleSelection: "multipleSelection" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.index": "this.index", "style.height.px": "this.height", "style.minHeight.px": "this.height", "class.k-focus": "this.focusedClassName", "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
44
+ SelectableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: { index: "index", checkboxes: "checkboxes", height: "height", isMultiselect: "isMultiselect", multipleSelection: "multipleSelection" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.index": "this.index", "style.height.px": "this.height", "style.minHeight.px": "this.height", "class.k-focus": "this.focusedClassName", "class.k-selected": "this.selectedClassName" } }, ngImport: i0 });
47
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SelectableDirective, decorators: [{
48
46
  type: Directive,
49
47
  args: [{
@@ -64,6 +62,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
64
62
  args: ['style.minHeight.px']
65
63
  }, {
66
64
  type: Input
65
+ }], isMultiselect: [{
66
+ type: Input
67
67
  }], multipleSelection: [{
68
68
  type: Input
69
69
  }], focusedClassName: [{
@@ -17,6 +17,10 @@ import { TemplateContextDirective } from './templates/template-context.directive
17
17
  import { CheckDirective } from '../dropdowntrees/checked-state/check.directive';
18
18
  import { CheckAllDirective } from '../dropdowntrees/checked-state/check-all.directive';
19
19
  import { IconsModule } from '@progress/kendo-angular-icons';
20
+ import { ActionSheetModule } from '@progress/kendo-angular-navigation';
21
+ import { ButtonModule } from '@progress/kendo-angular-buttons';
22
+ import { TextBoxModule } from '@progress/kendo-angular-inputs';
23
+ import { ResponsiveRendererComponent } from './action-sheet.component';
20
24
  import * as i0 from "@angular/core";
21
25
  const INTERNAL_DIRECTIVES = [
22
26
  ListComponent,
@@ -26,7 +30,8 @@ const INTERNAL_DIRECTIVES = [
26
30
  TemplateContextDirective,
27
31
  TagListComponent,
28
32
  CheckDirective,
29
- CheckAllDirective
33
+ CheckAllDirective,
34
+ ResponsiveRendererComponent
30
35
  ];
31
36
  /**
32
37
  * @hidden
@@ -41,20 +46,22 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
41
46
  TemplateContextDirective,
42
47
  TagListComponent,
43
48
  CheckDirective,
44
- CheckAllDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule], exports: [ListComponent,
49
+ CheckAllDirective,
50
+ ResponsiveRendererComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule], exports: [ListComponent,
45
51
  ListItemDirective,
46
52
  SelectableDirective,
47
53
  SearchBarComponent,
48
54
  TemplateContextDirective,
49
55
  TagListComponent,
50
56
  CheckDirective,
51
- CheckAllDirective, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule] });
52
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule], CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule] });
57
+ CheckAllDirective,
58
+ ResponsiveRendererComponent, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule] });
59
+ SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule], CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule] });
53
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedModule, decorators: [{
54
61
  type: NgModule,
55
62
  args: [{
56
63
  declarations: [INTERNAL_DIRECTIVES],
57
- exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule],
58
- imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule]
64
+ exports: [INTERNAL_DIRECTIVES, CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule],
65
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, PopupModule, ResizeSensorModule, SharedDirectivesModule, EventsModule, IconsModule, ActionSheetModule, ButtonModule, TextBoxModule]
59
66
  }]
60
67
  }] });
@@ -356,10 +356,76 @@ export const getTextField = (field, level) => {
356
356
  /**
357
357
  * @hidden
358
358
  */
359
- export const getSearchableItems = (treeViewId, popupElement) => {
359
+ export const getSearchableItems = (treeViewId, element) => {
360
360
  const nodeSeletor = `kendo-treeview[id='${treeViewId}'] li.k-treeview-item`;
361
- const liElements = Array.from(popupElement.querySelectorAll(nodeSeletor));
361
+ const liElements = Array.from(element.querySelectorAll(nodeSeletor));
362
362
  return liElements.map((liElement) => {
363
363
  return { text: liElement.innerText, index: liElement.getAttribute('data-treeindex') };
364
364
  });
365
365
  };
366
+ /**
367
+ * @hidden
368
+ */
369
+ export const windowSize = () => {
370
+ if (typeof window !== 'undefined') {
371
+ if (window.innerWidth > 768) {
372
+ return 'large';
373
+ }
374
+ else if (window.innerWidth > 500) {
375
+ return 'medium';
376
+ }
377
+ else {
378
+ return 'small';
379
+ }
380
+ }
381
+ };
382
+ /**
383
+ * @hidden
384
+ */
385
+ export const isTruthy = (value) => !!value;
386
+ /**
387
+ * @hidden
388
+ */
389
+ export const updateActionSheetAdaptiveAppearance = (actionSheet, windowSize, renderer) => {
390
+ const element = actionSheet['element'].nativeElement.querySelector('.k-actionsheet');
391
+ const animationContainer = actionSheet['element'].nativeElement.querySelector('.k-child-animation-container');
392
+ if (windowSize === 'medium') {
393
+ renderer.removeClass(element, 'k-actionsheet-fullscreen');
394
+ renderer.addClass(element, 'k-actionsheet-bottom');
395
+ renderer.addClass(element, 'k-adaptive-actionsheet');
396
+ renderer.removeStyle(animationContainer, 'top');
397
+ renderer.removeStyle(animationContainer, 'height');
398
+ renderer.setStyle(animationContainer, 'bottom', '0px');
399
+ }
400
+ else if (windowSize === 'small') {
401
+ renderer.removeClass(element, 'k-actionsheet-bottom');
402
+ renderer.addClass(element, 'k-actionsheet-fullscreen');
403
+ renderer.addClass(element, 'k-adaptive-actionsheet');
404
+ renderer.setStyle(animationContainer, 'bottom', '0px');
405
+ renderer.setStyle(animationContainer, 'height', '100%');
406
+ }
407
+ };
408
+ /**
409
+ * @hidden
410
+ */
411
+ export const setListBoxAriaLabelLebBy = (optionsList, element, renderer) => {
412
+ const listBox = optionsList.wrapper.nativeElement.querySelector('kendo-list ul');
413
+ const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
414
+ if (ariaLabel) {
415
+ renderer.setAttribute(listBox, 'aria-labelledby', ariaLabel);
416
+ }
417
+ };
418
+ /**
419
+ * @hidden
420
+ */
421
+ export const setActionSheetTitle = (element, actionSheetTitle) => {
422
+ const ariaLabel = element.nativeElement.getAttribute('aria-labelledby');
423
+ if (!actionSheetTitle && ariaLabel) {
424
+ return document.getElementById(ariaLabel).innerText;
425
+ }
426
+ return actionSheetTitle;
427
+ };
428
+ /**
429
+ * @hidden
430
+ */
431
+ export const animationDuration = 300;