@progress/kendo-angular-dropdowns 12.0.0-develop.7 → 12.0.0-develop.9

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
@@ -14,7 +14,7 @@ import { DisabledItemsService } from '../common/disabled-items/disabled-items.se
14
14
  import { NavigationService } from '../common/navigation/navigation.service';
15
15
  import { SelectionService } from '../common/selection/selection.service';
16
16
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
17
- import { getSizeClass, getter, isObject, isPresent, noop } from '../common/util';
17
+ import { animationDuration, getSizeClass, getter, isObject, isPresent, noop, windowSize } from '../common/util';
18
18
  import { getRowWidthFromColumnsMeta, scrollbarWidth } from './combobox-column/util';
19
19
  import { FilterableComponent } from '../common/filtering/filterable-component';
20
20
  import { MultiColumnComboBoxMessages } from '../common/constants/error-messages';
@@ -27,17 +27,22 @@ import * as i5 from "../common/disabled-items/disabled-items.service";
27
27
  import * as i6 from "../common/data.service";
28
28
  import * as i7 from "../common/searchbar.component";
29
29
  import * as i8 from "@progress/kendo-angular-icons";
30
- import * as i9 from "../common/list.component";
31
- import * as i10 from "@progress/kendo-angular-common";
32
- import * as i11 from "../common/localization/localized-messages.directive";
33
- import * as i12 from "@angular/common";
34
- import * as i13 from "../common/templates/template-context.directive";
30
+ import * as i9 from "@progress/kendo-angular-common";
31
+ import * as i10 from "../common/action-sheet.component";
32
+ import * as i11 from "../common/list.component";
33
+ import * as i12 from "../common/localization/localized-messages.directive";
34
+ import * as i13 from "@angular/common";
35
+ import * as i14 from "../common/templates/template-context.directive";
35
36
  /**
36
37
  * Represents the [Kendo UI MultiColumnComboBox component for Angular]({% slug overview_multicolumncombobox %}).
37
38
  */
38
39
  export class MultiColumnComboBoxComponent extends ComboBoxComponent {
39
40
  constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled) {
40
41
  super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled);
42
+ /**
43
+ * @hidden
44
+ */
45
+ this.animationDuration = animationDuration;
41
46
  /**
42
47
  * @hidden
43
48
  */
@@ -78,14 +83,14 @@ export class MultiColumnComboBoxComponent extends ComboBoxComponent {
78
83
  * @hidden
79
84
  */
80
85
  get listContainerClasses() {
81
- return [
82
- 'k-popup',
83
- 'k-dropdowngrid-popup'
84
- ].concat(this.popupSettings.popupClass || []);
86
+ return ['k-popup', 'k-dropdowngrid-popup'].concat(this.popupSettings.popupClass || []);
85
87
  }
86
88
  ngAfterViewInit() {
87
89
  this.updateColumnsMediaState();
88
90
  this.addWindowResizeListener();
91
+ this.windowSize = windowSize();
92
+ this.cdr.detectChanges();
93
+ this.renderer.setAttribute(this.actionSheet?.element.nativeElement, 'style', '--kendo-actionsheet-height: 60vh; --kendo-actionsheet-max-height: none');
89
94
  }
90
95
  ngOnDestroy() {
91
96
  super.ngOnDestroy();
@@ -121,7 +126,7 @@ export class MultiColumnComboBoxComponent extends ComboBoxComponent {
121
126
  if (!isDevMode()) {
122
127
  return;
123
128
  }
124
- if (isPresent(this.data) && this.data.length > 0 && this.data.some(item => !isObject(item))) {
129
+ if (isPresent(this.data) && this.data.length > 0 && this.data.some((item) => !isObject(item))) {
125
130
  throw new Error(MultiColumnComboBoxMessages.data);
126
131
  }
127
132
  if (!isPresent(this.valueField) || !isPresent(this.textField)) {
@@ -133,20 +138,20 @@ export class MultiColumnComboBoxComponent extends ComboBoxComponent {
133
138
  if (!isDocumentAvailable()) {
134
139
  return;
135
140
  }
136
- this.zone.runOutsideAngular(() => this.removeWindowResizeListener = this.renderer.listen(window, 'resize', this.updateColumnsMediaState.bind(this)));
141
+ this.zone.runOutsideAngular(() => (this.removeWindowResizeListener = this.renderer.listen(window, 'resize', this.updateColumnsMediaState.bind(this))));
137
142
  }
138
143
  updateColumnsMediaState() {
139
- if (!(isPresent(this.columns) && isDocumentAvailable())) {
144
+ if (!(isPresent(this.columns) && isDocumentAvailable()) || this.isActionSheetExpanded) {
140
145
  return;
141
146
  }
142
- this.columns.forEach(column => {
147
+ this.columns.forEach((column) => {
143
148
  const matchesMedia = !column.media || window.matchMedia(column.media).matches;
144
149
  if (column.matchesMedia !== matchesMedia) {
145
150
  column.matchesMedia = matchesMedia;
146
151
  if (this.isOpen) {
147
152
  // enter the zone only if the popup is actually open
148
153
  // update its width in case it's dependent on the columns' width
149
- this.zone.run(() => this.popupRef.popupElement.style.width = this.popupWidth.max);
154
+ this.zone.run(() => (this.popupRef.popupElement.style.width = this.popupWidth.max));
150
155
  }
151
156
  }
152
157
  });
@@ -161,35 +166,36 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
161
166
  LocalizationService,
162
167
  {
163
168
  provide: L10N_PREFIX,
164
- useValue: 'kendo.multicolumncombobox'
169
+ useValue: 'kendo.multicolumncombobox',
165
170
  },
166
171
  {
167
172
  multi: true,
168
173
  provide: NG_VALUE_ACCESSOR,
169
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
174
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
170
175
  },
171
176
  {
172
177
  provide: KendoInput,
173
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
178
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
174
179
  },
175
180
  {
176
181
  provide: FilterableComponent,
177
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
178
- }
182
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
183
+ },
179
184
  ], queries: [{ propertyName: "columns", predicate: ComboBoxColumnComponent }], viewQueries: [{ propertyName: "header", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
180
185
  <ng-container
181
186
  kendoMultiColumnComboBoxLocalizedMessages
182
-
183
- i18n-noDataText="kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items"
187
+ i18n-noDataText="
188
+ kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items
189
+ "
184
190
  noDataText="NO DATA FOUND"
185
-
186
191
  i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
187
192
  clearTitle="clear"
188
-
189
193
  i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
190
194
  selectButtonText="Select"
191
-
192
- i18n-popupLabel="kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
195
+ i18n-popupLabel="
196
+ kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options
197
+ when its role is 'region'
198
+ "
193
199
  popupLabel="Options list"
194
200
  ></ng-container>
195
201
  <kendo-searchbar
@@ -212,11 +218,12 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
212
218
  (valueChange)="searchBarChange($event)"
213
219
  (onBlur)="handleBlur()"
214
220
  (onFocus)="handleFocus()"
221
+ (click)="handleClick()"
215
222
  >
216
223
  </kendo-searchbar>
217
224
 
218
225
  <span
219
- *ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
226
+ *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
220
227
  class="k-clear-value"
221
228
  [style.visibility]="clearButtonVisiblity"
222
229
  aria-hidden="true"
@@ -226,11 +233,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
226
233
  mousedown: preventEventDefault
227
234
  }"
228
235
  >
229
- <kendo-icon-wrapper
230
- name="x"
231
- [svgIcon]="xIcon"
232
- >
233
- </kendo-icon-wrapper>
236
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
234
237
  </span>
235
238
 
236
239
  <button
@@ -246,16 +249,36 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
246
249
  mousedown: preventEventDefault
247
250
  }"
248
251
  >
249
- <kendo-icon-wrapper
250
- *ngIf="!loading && !iconClass"
251
- name="caret-alt-down"
252
- [svgIcon]="caretAltDownIcon"
253
- >
252
+ <kendo-icon-wrapper *ngIf="!loading && !iconClass" name="caret-alt-down" [svgIcon]="caretAltDownIcon">
254
253
  </kendo-icon-wrapper>
255
254
  <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
256
255
  </button>
257
256
 
258
257
  <ng-template #popupTemplate>
258
+ <!--popup/actionsheet content-->
259
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
260
+ </ng-template>
261
+
262
+ <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"> </kendo-resize-sensor>
263
+
264
+ <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
265
+ <ng-container #container></ng-container>
266
+
267
+ <!--adaptive rendering-->
268
+ <responsive-renderer
269
+ [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
270
+ [isActionSheetExpanded]="isActionSheetExpanded"
271
+ [title]="title"
272
+ [showTextInput]="true"
273
+ [subtitle]="subtitle"
274
+ (closePopup)="togglePopup(false)"
275
+ (textInputChange)="onAdaptiveTextBoxChange($event)"
276
+ (navigate)="handleNavigate($event)"
277
+ [placeholder]="placeholder"
278
+ >
279
+ </responsive-renderer>
280
+
281
+ <ng-template #sharedPopupActionSheetTemplate>
259
282
  <!--user-defined header template -->
260
283
  <ng-template
261
284
  *ngIf="headerTemplate"
@@ -264,23 +287,15 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
264
287
  }"
265
288
  >
266
289
  </ng-template>
267
-
268
290
  <!--data table-->
269
291
  <div class="k-data-table" [ngClass]="tableSizeClass">
270
-
271
292
  <!--grid header-->
272
- <div
273
- #header
274
- class="k-table-header"
275
- >
293
+ <div #header class="k-table-header">
276
294
  <div class="k-table-header-wrap">
277
295
  <table class="k-table" role="presentation">
278
296
  <colgroup>
279
297
  <ng-container *ngFor="let column of columns">
280
- <col
281
- *ngIf="!column.hidden && column.matchesMedia"
282
- [style.width.px]="column.width"
283
- />
298
+ <col *ngIf="!column.hidden && column.matchesMedia" [style.width.px]="column.width" />
284
299
  </ng-container>
285
300
  </colgroup>
286
301
  <thead class="k-table-thead">
@@ -311,7 +326,6 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
311
326
  </table>
312
327
  </div>
313
328
  </div>
314
-
315
329
  <!-- item template -->
316
330
  <ng-template #rowTemplate let-dataItem>
317
331
  <ng-container *ngFor="let column of columns">
@@ -338,8 +352,6 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
338
352
  </span>
339
353
  </ng-container>
340
354
  </ng-template>
341
-
342
- <!--list-->
343
355
  <kendo-list
344
356
  #optionsList
345
357
  [optionPrefix]="optionPrefix"
@@ -359,10 +371,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
359
371
  </kendo-list>
360
372
 
361
373
  <!--no-data template-->
362
- <div
363
- class="k-no-data"
364
- *ngIf="data.length === 0"
365
- >
374
+ <div class="k-no-data" *ngIf="data.length === 0">
366
375
  <ng-template
367
376
  [ngIf]="noDataTemplate"
368
377
  [templateContext]="{
@@ -393,21 +402,10 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
393
402
  </tfoot>
394
403
  </table>
395
404
  </div>
396
- </ng-container>
397
-
405
+ </ng-container>
398
406
  </div>
399
-
400
407
  </ng-template>
401
-
402
- <kendo-resize-sensor
403
- *ngIf="isOpen"
404
- (resize)="onResize()"
405
- >
406
- </kendo-resize-sensor>
407
-
408
- <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
409
- <ng-container #container></ng-container>
410
- `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i11.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
408
+ `, isInline: true, components: [{ type: i7.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "role", "isLoading", "ariaControls", "ariaExpanded", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i8.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i9.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i10.ResponsiveRendererComponent, selector: "responsive-renderer", inputs: ["title", "showActionButtons", "subtitle", "size", "showTextInput", "sharedPopupActionSheetTemplate", "isActionSheetExpanded", "text", "placeholder"], outputs: ["closePopup", "textInputChange", "navigate", "onExpand", "onCollapse", "onApply", "onCancel"] }, { type: i11.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "isActionSheetExpanded", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }], directives: [{ type: i12.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i14.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i13.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
411
409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
412
410
  type: Component,
413
411
  args: [{
@@ -419,37 +417,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
419
417
  LocalizationService,
420
418
  {
421
419
  provide: L10N_PREFIX,
422
- useValue: 'kendo.multicolumncombobox'
420
+ useValue: 'kendo.multicolumncombobox',
423
421
  },
424
422
  {
425
423
  multi: true,
426
424
  provide: NG_VALUE_ACCESSOR,
427
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
425
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
428
426
  },
429
427
  {
430
428
  provide: KendoInput,
431
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
429
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
432
430
  },
433
431
  {
434
432
  provide: FilterableComponent,
435
- useExisting: forwardRef(() => MultiColumnComboBoxComponent)
436
- }
433
+ useExisting: forwardRef(() => MultiColumnComboBoxComponent),
434
+ },
437
435
  ],
438
436
  selector: 'kendo-multicolumncombobox',
439
437
  template: `
440
438
  <ng-container
441
439
  kendoMultiColumnComboBoxLocalizedMessages
442
-
443
- i18n-noDataText="kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items"
440
+ i18n-noDataText="
441
+ kendo.multicolumncombobox.noDataText|The text displayed in the popup when there are no items
442
+ "
444
443
  noDataText="NO DATA FOUND"
445
-
446
444
  i18n-clearTitle="kendo.multicolumncombobox.clearTitle|The title of the clear button"
447
445
  clearTitle="clear"
448
-
449
446
  i18n-selectButtonText="kendo.multicolumncombobox.selectButtonText|The title of the select button"
450
447
  selectButtonText="Select"
451
-
452
- i18n-popupLabel="kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options when its role is 'region'"
448
+ i18n-popupLabel="
449
+ kendo.multicolumncombobox.popupLabel|The label of the popup element that contains the list of options
450
+ when its role is 'region'
451
+ "
453
452
  popupLabel="Options list"
454
453
  ></ng-container>
455
454
  <kendo-searchbar
@@ -472,11 +471,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
472
471
  (valueChange)="searchBarChange($event)"
473
472
  (onBlur)="handleBlur()"
474
473
  (onFocus)="handleFocus()"
474
+ (click)="handleClick()"
475
475
  >
476
476
  </kendo-searchbar>
477
477
 
478
478
  <span
479
- *ngIf="clearButton && !loading && !disabled && !readonly && text?.length"
479
+ *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
480
480
  class="k-clear-value"
481
481
  [style.visibility]="clearButtonVisiblity"
482
482
  aria-hidden="true"
@@ -486,11 +486,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
486
486
  mousedown: preventEventDefault
487
487
  }"
488
488
  >
489
- <kendo-icon-wrapper
490
- name="x"
491
- [svgIcon]="xIcon"
492
- >
493
- </kendo-icon-wrapper>
489
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
494
490
  </span>
495
491
 
496
492
  <button
@@ -506,16 +502,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
506
502
  mousedown: preventEventDefault
507
503
  }"
508
504
  >
509
- <kendo-icon-wrapper
510
- *ngIf="!loading && !iconClass"
511
- name="caret-alt-down"
512
- [svgIcon]="caretAltDownIcon"
513
- >
505
+ <kendo-icon-wrapper *ngIf="!loading && !iconClass" name="caret-alt-down" [svgIcon]="caretAltDownIcon">
514
506
  </kendo-icon-wrapper>
515
507
  <span *ngIf="loading || iconClass" class="k-button-icon k-icon" [ngClass]="buttonClasses"></span>
516
508
  </button>
517
509
 
518
510
  <ng-template #popupTemplate>
511
+ <!--popup/actionsheet content-->
512
+ <ng-container *ngTemplateOutlet="sharedPopupActionSheetTemplate"></ng-container>
513
+ </ng-template>
514
+
515
+ <kendo-resize-sensor *ngIf="isOpen || isAdaptiveModeEnabled" (resize)="onResize()"> </kendo-resize-sensor>
516
+
517
+ <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
518
+ <ng-container #container></ng-container>
519
+
520
+ <!--adaptive rendering-->
521
+ <responsive-renderer
522
+ [sharedPopupActionSheetTemplate]="sharedPopupActionSheetTemplate"
523
+ [isActionSheetExpanded]="isActionSheetExpanded"
524
+ [title]="title"
525
+ [showTextInput]="true"
526
+ [subtitle]="subtitle"
527
+ (closePopup)="togglePopup(false)"
528
+ (textInputChange)="onAdaptiveTextBoxChange($event)"
529
+ (navigate)="handleNavigate($event)"
530
+ [placeholder]="placeholder"
531
+ >
532
+ </responsive-renderer>
533
+
534
+ <ng-template #sharedPopupActionSheetTemplate>
519
535
  <!--user-defined header template -->
520
536
  <ng-template
521
537
  *ngIf="headerTemplate"
@@ -524,23 +540,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
524
540
  }"
525
541
  >
526
542
  </ng-template>
527
-
528
543
  <!--data table-->
529
544
  <div class="k-data-table" [ngClass]="tableSizeClass">
530
-
531
545
  <!--grid header-->
532
- <div
533
- #header
534
- class="k-table-header"
535
- >
546
+ <div #header class="k-table-header">
536
547
  <div class="k-table-header-wrap">
537
548
  <table class="k-table" role="presentation">
538
549
  <colgroup>
539
550
  <ng-container *ngFor="let column of columns">
540
- <col
541
- *ngIf="!column.hidden && column.matchesMedia"
542
- [style.width.px]="column.width"
543
- />
551
+ <col *ngIf="!column.hidden && column.matchesMedia" [style.width.px]="column.width" />
544
552
  </ng-container>
545
553
  </colgroup>
546
554
  <thead class="k-table-thead">
@@ -571,7 +579,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
571
579
  </table>
572
580
  </div>
573
581
  </div>
574
-
575
582
  <!-- item template -->
576
583
  <ng-template #rowTemplate let-dataItem>
577
584
  <ng-container *ngFor="let column of columns">
@@ -598,8 +605,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
598
605
  </span>
599
606
  </ng-container>
600
607
  </ng-template>
601
-
602
- <!--list-->
603
608
  <kendo-list
604
609
  #optionsList
605
610
  [optionPrefix]="optionPrefix"
@@ -619,10 +624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
619
624
  </kendo-list>
620
625
 
621
626
  <!--no-data template-->
622
- <div
623
- class="k-no-data"
624
- *ngIf="data.length === 0"
625
- >
627
+ <div class="k-no-data" *ngIf="data.length === 0">
626
628
  <ng-template
627
629
  [ngIf]="noDataTemplate"
628
630
  [templateContext]="{
@@ -653,21 +655,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
653
655
  </tfoot>
654
656
  </table>
655
657
  </div>
656
- </ng-container>
657
-
658
+ </ng-container>
658
659
  </div>
659
-
660
660
  </ng-template>
661
-
662
- <kendo-resize-sensor
663
- *ngIf="isOpen"
664
- (resize)="onResize()"
665
- >
666
- </kendo-resize-sensor>
667
-
668
- <!-- when the popupSettings.appendTo value is set to 'component', this container is used -->
669
- <ng-container #container></ng-container>
670
- `
661
+ `,
671
662
  }]
672
663
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.PopupService }, { type: i3.SelectionService }, { type: i4.NavigationService }, { type: i5.DisabledItemsService }, { type: i6.DataService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: undefined, decorators: [{
673
664
  type: Inject,