@progress/kendo-angular-dropdowns 14.4.0-develop.9 → 15.0.0-develop.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,20 +25,22 @@ import * as i3 from "../common/selection/selection.service";
25
25
  import * as i4 from "../common/navigation/navigation.service";
26
26
  import * as i5 from "../common/disabled-items/disabled-items.service";
27
27
  import * as i6 from "../common/data.service";
28
- import * as i7 from "../common/searchbar.component";
29
- import * as i8 from "@progress/kendo-angular-icons";
30
- import * as i9 from "@progress/kendo-angular-common";
28
+ import * as i7 from "@progress/kendo-angular-common";
29
+ import * as i8 from "../common/searchbar.component";
30
+ import * as i9 from "@progress/kendo-angular-icons";
31
31
  import * as i10 from "../common/action-sheet.component";
32
32
  import * as i11 from "../common/list.component";
33
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";
34
+ import * as i13 from "../common/shared-events.directive";
35
+ import * as i14 from "@angular/common";
36
+ import * as i15 from "../common/templates/template-context.directive";
36
37
  /**
37
38
  * Represents the [Kendo UI MultiColumnComboBox component for Angular]({% slug overview_multicolumncombobox %}).
38
39
  */
39
40
  export class MultiColumnComboBoxComponent extends ComboBoxComponent {
40
- constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled, injector) {
41
- super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled, injector);
41
+ constructor(localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, wrapper, touchEnabled, injector, hostElement) {
42
+ super(wrapper, localization, popupService, selectionService, navigationService, disabledItemsService, dataService, zone, changeDetector, renderer, touchEnabled, injector, hostElement);
43
+ this.hostElement = hostElement;
42
44
  /**
43
45
  * @hidden
44
46
  */
@@ -161,7 +163,7 @@ export class MultiColumnComboBoxComponent extends ComboBoxComponent {
161
163
  });
162
164
  }
163
165
  }
164
- MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.SelectionService }, { token: i4.NavigationService }, { token: i5.DisabledItemsService }, { token: i6.DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
166
+ MultiColumnComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.SelectionService }, { token: i4.NavigationService }, { token: i5.DisabledItemsService }, { token: i6.DataService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
165
167
  MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiColumnComboBoxComponent, selector: "kendo-multicolumncombobox", host: { properties: { "class.k-dropdowngrid": "this.hostClasses", "class.k-disabled": "this.isDisabled" } }, providers: [
166
168
  SelectionService,
167
169
  DataService,
@@ -202,65 +204,84 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
202
204
  "
203
205
  popupLabel="Options list"
204
206
  ></ng-container>
205
- <kendo-searchbar
206
- #searchbar
207
- [role]="'combobox'"
208
- [ariaExpanded]="isOpen"
209
- [ariaControls]="ariaControls"
210
- [id]="focusableId"
211
- [isLoading]="loading"
212
- [isSuggestable]="suggest"
213
- [isFilterable]="filterable"
214
- [activeDescendant]="activeDescendant"
215
- [userInput]="text"
216
- [suggestedText]="getSuggestion()"
217
- [disabled]="disabled"
218
- [readonly]="readonly"
219
- [tabIndex]="tabIndex"
220
- [placeholder]="placeholder"
221
- (onNavigate)="handleNavigate($event)"
222
- (valueChange)="searchBarChange($event)"
223
- (onBlur)="handleBlur()"
207
+
208
+ <ng-container
209
+ kendoDropDownSharedEvents
210
+ [hostElement]="hostElement"
211
+ [(isFocused)]="isFocused"
212
+ (handleBlur)="handleBlur()"
224
213
  (onFocus)="handleFocus()"
225
- (click)="handleClick()"
226
214
  >
227
- </kendo-searchbar>
215
+ <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
216
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
217
+ </ng-template>
218
+ </span>
219
+ <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
220
+ <kendo-searchbar
221
+ #searchbar
222
+ [role]="'combobox'"
223
+ [ariaExpanded]="isOpen"
224
+ [ariaControls]="ariaControls"
225
+ [id]="focusableId"
226
+ [isLoading]="loading"
227
+ [isSuggestable]="suggest"
228
+ [isFilterable]="filterable"
229
+ [activeDescendant]="activeDescendant"
230
+ [userInput]="text"
231
+ [suggestedText]="getSuggestion()"
232
+ [disabled]="disabled"
233
+ [readonly]="readonly"
234
+ [tabIndex]="tabIndex"
235
+ [placeholder]="placeholder"
236
+ (onNavigate)="handleNavigate($event)"
237
+ (valueChange)="searchBarChange($event)"
238
+ (onBlur)="handleInputBlur()"
239
+ (onFocus)="handleInputFocus()"
240
+ (click)="handleClick()"
241
+ >
242
+ </kendo-searchbar>
228
243
 
229
- <span
230
- *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
231
- class="k-clear-value"
232
- [style.visibility]="clearButtonVisiblity"
233
- aria-hidden="true"
234
- [attr.title]="messageFor('clearTitle')"
235
- (click)="clearValue($event)"
236
- [kendoEventsOutsideAngular]="{
237
- mousedown: preventEventDefault
238
- }"
239
- >
240
- <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
241
- </span>
244
+ <span
245
+ *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
246
+ class="k-clear-value"
247
+ [style.visibility]="clearButtonVisiblity"
248
+ aria-hidden="true"
249
+ [attr.title]="messageFor('clearTitle')"
250
+ (click)="clearValue($event)"
251
+ [kendoEventsOutsideAngular]="{
252
+ mousedown: preventEventDefault
253
+ }"
254
+ >
255
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
256
+ </span>
242
257
 
243
- <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
244
- <button
245
- #select
246
- tabindex="-1"
247
- aria-hidden="true"
248
- unselectable="on"
249
- type="button"
250
- class="k-input-button k-button k-icon-button"
251
- [ngClass]="selectButtonClasses"
252
- [attr.aria-label]="messageFor('selectButtonText')"
253
- [kendoEventsOutsideAngular]="{
254
- mousedown: preventEventDefault
255
- }"
256
- >
257
- <kendo-icon-wrapper
258
- [name]="icon || 'caret-alt-down'"
259
- innerCssClass="k-button-icon"
260
- [svgIcon]="svgIcon || caretAltDownIcon"
258
+ <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
259
+ <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
260
+ <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
261
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
262
+ </ng-template>
263
+ </span>
264
+ <button
265
+ #select
266
+ tabindex="-1"
267
+ aria-hidden="true"
268
+ unselectable="on"
269
+ type="button"
270
+ class="k-input-button k-button k-icon-button"
271
+ [ngClass]="selectButtonClasses"
272
+ [attr.aria-label]="messageFor('selectButtonText')"
273
+ [kendoEventsOutsideAngular]="{
274
+ mousedown: preventEventDefault
275
+ }"
261
276
  >
262
- </kendo-icon-wrapper>
263
- </button>
277
+ <kendo-icon-wrapper
278
+ [name]="icon || 'caret-alt-down'"
279
+ innerCssClass="k-button-icon"
280
+ [svgIcon]="svgIcon || caretAltDownIcon"
281
+ >
282
+ </kendo-icon-wrapper>
283
+ </button>
284
+ </ng-container>
264
285
 
265
286
  <ng-template #popupTemplate>
266
287
  <!--popup/actionsheet content-->
@@ -415,7 +436,7 @@ MultiColumnComboBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
415
436
  </ng-container>
416
437
  </div>
417
438
  </ng-template>
418
- `, 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", "size"], 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", "showStickyHeader", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }], 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"] }] });
439
+ `, isInline: true, components: [{ type: i7.SeparatorComponent, selector: "kendo-separator", inputs: ["orientation"] }, { type: i8.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: i9.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { type: i7.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", "showStickyHeader", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize", "popupListScroll"] }], directives: [{ type: i12.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i13.SharedDropDownEventsDirective, selector: "[kendoDropDownSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i15.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i14.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
419
440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiColumnComboBoxComponent, decorators: [{
420
441
  type: Component,
421
442
  args: [{
@@ -461,65 +482,84 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
461
482
  "
462
483
  popupLabel="Options list"
463
484
  ></ng-container>
464
- <kendo-searchbar
465
- #searchbar
466
- [role]="'combobox'"
467
- [ariaExpanded]="isOpen"
468
- [ariaControls]="ariaControls"
469
- [id]="focusableId"
470
- [isLoading]="loading"
471
- [isSuggestable]="suggest"
472
- [isFilterable]="filterable"
473
- [activeDescendant]="activeDescendant"
474
- [userInput]="text"
475
- [suggestedText]="getSuggestion()"
476
- [disabled]="disabled"
477
- [readonly]="readonly"
478
- [tabIndex]="tabIndex"
479
- [placeholder]="placeholder"
480
- (onNavigate)="handleNavigate($event)"
481
- (valueChange)="searchBarChange($event)"
482
- (onBlur)="handleBlur()"
485
+
486
+ <ng-container
487
+ kendoDropDownSharedEvents
488
+ [hostElement]="hostElement"
489
+ [(isFocused)]="isFocused"
490
+ (handleBlur)="handleBlur()"
483
491
  (onFocus)="handleFocus()"
484
- (click)="handleClick()"
485
492
  >
486
- </kendo-searchbar>
493
+ <span *ngIf="prefixTemplate" class="k-input-prefix k-input-prefix-horizontal">
494
+ <ng-template [ngTemplateOutlet]="prefixTemplate?.templateRef">
495
+ </ng-template>
496
+ </span>
497
+ <kendo-separator *ngIf="prefixTemplate && prefixTemplate.showSeparator"></kendo-separator>
498
+ <kendo-searchbar
499
+ #searchbar
500
+ [role]="'combobox'"
501
+ [ariaExpanded]="isOpen"
502
+ [ariaControls]="ariaControls"
503
+ [id]="focusableId"
504
+ [isLoading]="loading"
505
+ [isSuggestable]="suggest"
506
+ [isFilterable]="filterable"
507
+ [activeDescendant]="activeDescendant"
508
+ [userInput]="text"
509
+ [suggestedText]="getSuggestion()"
510
+ [disabled]="disabled"
511
+ [readonly]="readonly"
512
+ [tabIndex]="tabIndex"
513
+ [placeholder]="placeholder"
514
+ (onNavigate)="handleNavigate($event)"
515
+ (valueChange)="searchBarChange($event)"
516
+ (onBlur)="handleInputBlur()"
517
+ (onFocus)="handleInputFocus()"
518
+ (click)="handleClick()"
519
+ >
520
+ </kendo-searchbar>
487
521
 
488
- <span
489
- *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
490
- class="k-clear-value"
491
- [style.visibility]="clearButtonVisiblity"
492
- aria-hidden="true"
493
- [attr.title]="messageFor('clearTitle')"
494
- (click)="clearValue($event)"
495
- [kendoEventsOutsideAngular]="{
496
- mousedown: preventEventDefault
497
- }"
498
- >
499
- <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
500
- </span>
522
+ <span
523
+ *ngIf="clearButton && !loading && !disabled && (!readonly || readonly && isAdaptiveModeEnabled && windowSize !== 'large') && text?.length"
524
+ class="k-clear-value"
525
+ [style.visibility]="clearButtonVisiblity"
526
+ aria-hidden="true"
527
+ [attr.title]="messageFor('clearTitle')"
528
+ (click)="clearValue($event)"
529
+ [kendoEventsOutsideAngular]="{
530
+ mousedown: preventEventDefault
531
+ }"
532
+ >
533
+ <kendo-icon-wrapper name="x" [svgIcon]="xIcon"> </kendo-icon-wrapper>
534
+ </span>
501
535
 
502
- <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
503
- <button
504
- #select
505
- tabindex="-1"
506
- aria-hidden="true"
507
- unselectable="on"
508
- type="button"
509
- class="k-input-button k-button k-icon-button"
510
- [ngClass]="selectButtonClasses"
511
- [attr.aria-label]="messageFor('selectButtonText')"
512
- [kendoEventsOutsideAngular]="{
513
- mousedown: preventEventDefault
514
- }"
515
- >
516
- <kendo-icon-wrapper
517
- [name]="icon || 'caret-alt-down'"
518
- innerCssClass="k-button-icon"
519
- [svgIcon]="svgIcon || caretAltDownIcon"
536
+ <span *ngIf="loading" class="k-i-loading k-input-loading-icon k-icon"></span>
537
+ <kendo-separator *ngIf="suffixTemplate && suffixTemplate.showSeparator"></kendo-separator>
538
+ <span *ngIf="suffixTemplate" class="k-input-suffix k-input-suffix-horizontal">
539
+ <ng-template [ngTemplateOutlet]="suffixTemplate?.templateRef">
540
+ </ng-template>
541
+ </span>
542
+ <button
543
+ #select
544
+ tabindex="-1"
545
+ aria-hidden="true"
546
+ unselectable="on"
547
+ type="button"
548
+ class="k-input-button k-button k-icon-button"
549
+ [ngClass]="selectButtonClasses"
550
+ [attr.aria-label]="messageFor('selectButtonText')"
551
+ [kendoEventsOutsideAngular]="{
552
+ mousedown: preventEventDefault
553
+ }"
520
554
  >
521
- </kendo-icon-wrapper>
522
- </button>
555
+ <kendo-icon-wrapper
556
+ [name]="icon || 'caret-alt-down'"
557
+ innerCssClass="k-button-icon"
558
+ [svgIcon]="svgIcon || caretAltDownIcon"
559
+ >
560
+ </kendo-icon-wrapper>
561
+ </button>
562
+ </ng-container>
523
563
 
524
564
  <ng-template #popupTemplate>
525
565
  <!--popup/actionsheet content-->
@@ -679,7 +719,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
679
719
  }], 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: [{
680
720
  type: Inject,
681
721
  args: [TOUCH_ENABLED]
682
- }] }, { type: i0.Injector }]; }, propDecorators: { hostClasses: [{
722
+ }] }, { type: i0.Injector }, { type: i0.ElementRef }]; }, propDecorators: { hostClasses: [{
683
723
  type: HostBinding,
684
724
  args: ['class.k-dropdowngrid']
685
725
  }], isDisabled: [{
@@ -121,7 +121,7 @@ ResponsiveRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
121
121
  </div>
122
122
  </ng-template>
123
123
  </kendo-actionsheet>
124
- `, isInline: true, components: [{ type: i2.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i3.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "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", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "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"] }] });
124
+ `, isInline: true, components: [{ type: i2.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i3.ButtonComponent, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["arrowIcon", "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", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "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]", inputs: ["showSeparator"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
125
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResponsiveRendererComponent, decorators: [{
126
126
  type: Component,
127
127
  args: [{
@@ -0,0 +1,94 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { ChangeDetectorRef, Directive, EventEmitter, Input, NgZone, Output, Renderer2 } from '@angular/core';
6
+ import { Subscription } from 'rxjs';
7
+ import { Keys, closest } from '@progress/kendo-angular-common';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export class SharedDropDownEventsDirective {
13
+ constructor(ngZone, renderer, cdr) {
14
+ this.ngZone = ngZone;
15
+ this.renderer = renderer;
16
+ this.cdr = cdr;
17
+ this.isFocusedChange = new EventEmitter();
18
+ this.onFocus = new EventEmitter();
19
+ this.handleBlur = new EventEmitter();
20
+ this.subscriptions = new Subscription();
21
+ }
22
+ ngAfterViewInit() {
23
+ const hostElement = this.hostElement.nativeElement;
24
+ let cursorInsideWrapper = false;
25
+ let tabbing = false;
26
+ this.ngZone.runOutsideAngular(() => {
27
+ // focusIn and focusOut are relative to the host element
28
+ this.subscriptions.add(this.renderer.listen(hostElement, 'focusin', () => {
29
+ this.cdr.detectChanges();
30
+ if (!this.isFocused) {
31
+ this.ngZone.run(() => {
32
+ this.onFocus.emit();
33
+ this.isFocused = true;
34
+ this.isFocusedChange.emit(this.isFocused);
35
+ });
36
+ }
37
+ }));
38
+ this.subscriptions.add(this.renderer.listen(hostElement, 'focusout', (args) => {
39
+ if (!this.isFocused) {
40
+ return;
41
+ }
42
+ if (tabbing) {
43
+ const closestTextbox = closest(args.relatedTarget, (element) => element === hostElement);
44
+ if (!closestTextbox) {
45
+ this.handleBlur.emit();
46
+ }
47
+ tabbing = false;
48
+ }
49
+ else {
50
+ if (!cursorInsideWrapper) {
51
+ this.handleBlur.emit();
52
+ }
53
+ }
54
+ }));
55
+ this.subscriptions.add(this.renderer.listen(hostElement, 'mouseenter', () => {
56
+ cursorInsideWrapper = true;
57
+ }));
58
+ this.subscriptions.add(this.renderer.listen(hostElement, 'mouseleave', () => {
59
+ cursorInsideWrapper = false;
60
+ }));
61
+ this.subscriptions.add(this.renderer.listen(hostElement, 'keydown', (args) => {
62
+ if (args.keyCode === Keys.Tab) {
63
+ tabbing = true;
64
+ }
65
+ else {
66
+ tabbing = false;
67
+ }
68
+ }));
69
+ });
70
+ }
71
+ ngOnDestroy() {
72
+ this.subscriptions.unsubscribe();
73
+ }
74
+ }
75
+ SharedDropDownEventsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedDropDownEventsDirective, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
76
+ SharedDropDownEventsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: SharedDropDownEventsDirective, selector: "[kendoDropDownSharedEvents]", inputs: { hostElement: "hostElement", clearButtonClicked: "clearButtonClicked", isFocused: "isFocused" }, outputs: { isFocusedChange: "isFocusedChange", onFocus: "onFocus", handleBlur: "handleBlur" }, ngImport: i0 });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedDropDownEventsDirective, decorators: [{
78
+ type: Directive,
79
+ args: [{
80
+ selector: '[kendoDropDownSharedEvents]'
81
+ }]
82
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { hostElement: [{
83
+ type: Input
84
+ }], clearButtonClicked: [{
85
+ type: Input
86
+ }], isFocused: [{
87
+ type: Input
88
+ }], isFocusedChange: [{
89
+ type: Output
90
+ }], onFocus: [{
91
+ type: Output
92
+ }], handleBlur: [{
93
+ type: Output
94
+ }] } });
@@ -0,0 +1,22 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { NgModule } from '@angular/core';
6
+ import { SharedDropDownEventsDirective } from './shared-events.directive';
7
+ import * as i0 from "@angular/core";
8
+ /**
9
+ * @hidden
10
+ */
11
+ export class SharedEventsModule {
12
+ }
13
+ SharedEventsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedEventsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ SharedEventsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedEventsModule, declarations: [SharedDropDownEventsDirective], exports: [SharedDropDownEventsDirective] });
15
+ SharedEventsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedEventsModule });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SharedEventsModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [SharedDropDownEventsDirective],
20
+ exports: [SharedDropDownEventsDirective],
21
+ }]
22
+ }] });
@@ -1601,31 +1601,32 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
1601
1601
  cancelButton="Cancel"
1602
1602
  >
1603
1603
  </ng-container>
1604
- <div class="k-input-values">
1605
- <kendo-taglist
1606
- [size]="size"
1607
- [rounded]="rounded"
1608
- [fillMode]="fillMode"
1609
- [id]="tagListId"
1610
- [tags]="tags"
1611
- [focused]="focusedTagIndex"
1612
- [textField]="textField"
1613
- [valueField]="valueField"
1614
- [valueDepth]="valueDepth"
1615
- [disabled]="disabled"
1616
- [tagPrefix]="tagPrefix"
1617
- [template]="tagTemplate"
1618
- [groupTemplate]="groupTagTemplate"
1619
- [disabledIndices]="disabledIndices"
1620
- (removeTag)="handleRemoveTag($event)"
1621
- >
1622
- </kendo-taglist>
1623
- </div>
1624
- <span
1625
- *ngIf="!tags || !tags.length"
1626
- class="k-input-inner k-readonly"
1604
+ <kendo-taglist
1605
+ class="k-input-values"
1606
+ [size]="size"
1607
+ [rounded]="rounded"
1608
+ [fillMode]="fillMode"
1609
+ [id]="tagListId"
1610
+ [tags]="tags"
1611
+ [focused]="focusedTagIndex"
1612
+ [textField]="textField"
1613
+ [valueField]="valueField"
1614
+ [valueDepth]="valueDepth"
1615
+ [disabled]="disabled"
1616
+ [tagPrefix]="tagPrefix"
1617
+ [template]="tagTemplate"
1618
+ [groupTemplate]="groupTagTemplate"
1619
+ [disabledIndices]="disabledIndices"
1620
+ (removeTag)="handleRemoveTag($event)"
1627
1621
  >
1628
- <span class="k-input-value-text">{{ placeholder }}</span>
1622
+ </kendo-taglist>
1623
+ <span class="k-input-inner k-readonly">
1624
+ <span
1625
+ *ngIf="!tags || !tags.length"
1626
+ class="k-input-value-text"
1627
+ >
1628
+ {{ placeholder }}
1629
+ </span>
1629
1630
  </span>
1630
1631
  <span
1631
1632
  *ngIf="!disabled && !loading && !readonly && clearButton && tags?.length"
@@ -1857,31 +1858,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
1857
1858
  cancelButton="Cancel"
1858
1859
  >
1859
1860
  </ng-container>
1860
- <div class="k-input-values">
1861
- <kendo-taglist
1862
- [size]="size"
1863
- [rounded]="rounded"
1864
- [fillMode]="fillMode"
1865
- [id]="tagListId"
1866
- [tags]="tags"
1867
- [focused]="focusedTagIndex"
1868
- [textField]="textField"
1869
- [valueField]="valueField"
1870
- [valueDepth]="valueDepth"
1871
- [disabled]="disabled"
1872
- [tagPrefix]="tagPrefix"
1873
- [template]="tagTemplate"
1874
- [groupTemplate]="groupTagTemplate"
1875
- [disabledIndices]="disabledIndices"
1876
- (removeTag)="handleRemoveTag($event)"
1877
- >
1878
- </kendo-taglist>
1879
- </div>
1880
- <span
1881
- *ngIf="!tags || !tags.length"
1882
- class="k-input-inner k-readonly"
1861
+ <kendo-taglist
1862
+ class="k-input-values"
1863
+ [size]="size"
1864
+ [rounded]="rounded"
1865
+ [fillMode]="fillMode"
1866
+ [id]="tagListId"
1867
+ [tags]="tags"
1868
+ [focused]="focusedTagIndex"
1869
+ [textField]="textField"
1870
+ [valueField]="valueField"
1871
+ [valueDepth]="valueDepth"
1872
+ [disabled]="disabled"
1873
+ [tagPrefix]="tagPrefix"
1874
+ [template]="tagTemplate"
1875
+ [groupTemplate]="groupTagTemplate"
1876
+ [disabledIndices]="disabledIndices"
1877
+ (removeTag)="handleRemoveTag($event)"
1883
1878
  >
1884
- <span class="k-input-value-text">{{ placeholder }}</span>
1879
+ </kendo-taglist>
1880
+ <span class="k-input-inner k-readonly">
1881
+ <span
1882
+ *ngIf="!tags || !tags.length"
1883
+ class="k-input-value-text"
1884
+ >
1885
+ {{ placeholder }}
1886
+ </span>
1885
1887
  </span>
1886
1888
  <span
1887
1889
  *ngIf="!disabled && !loading && !readonly && clearButton && tags?.length"
package/esm2020/index.mjs CHANGED
@@ -8,6 +8,9 @@ export { DropDownListComponent } from './dropdownlist/dropdownlist.component';
8
8
  export { MultiSelectComponent } from './multiselect/multiselect.component';
9
9
  export { SearchBarComponent } from './common/searchbar.component';
10
10
  export { TagListComponent } from './common/taglist.component';
11
+ export { PrefixTemplateDirective } from '@progress/kendo-angular-common';
12
+ export { SuffixTemplateDirective } from '@progress/kendo-angular-common';
13
+ export { SeparatorComponent } from '@progress/kendo-angular-common';
11
14
  export { MultiColumnComboBoxComponent } from './comboboxes/multicolumncombobox.component';
12
15
  export { ComboBoxColumnComponent } from './comboboxes/combobox-column/combobox-column.component';
13
16
  export { ColumnCellTemplateDirective } from './comboboxes/combobox-column/column-cell-template.directive';