@progress/kendo-angular-buttons 8.0.1-dev.202208111121 → 8.1.0

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.
@@ -4,23 +4,23 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Component, ContentChild, ViewChild, ViewContainerRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
6
6
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
7
- import { isDocumentAvailable, guid, Keys, isChanged } from '@progress/kendo-angular-common';
7
+ import { isDocumentAvailable, guid, Keys } from '@progress/kendo-angular-common';
8
8
  import { ButtonItemTemplateDirective } from '../listbutton/button-item-template.directive';
9
- import { isPresent, tick } from '../util';
9
+ import { closest } from '../util';
10
10
  import { ListButton } from '../listbutton/list-button';
11
11
  import { FocusService } from '../focusable/focus.service';
12
12
  import { NavigationService } from '../navigation/navigation.service';
13
13
  import { NAVIGATION_CONFIG } from '../navigation/navigation-config';
14
- import { PreventableEvent } from '../preventable-event';
15
- import { merge, Subscription } from 'rxjs';
14
+ import { PopupContainerService } from '../listbutton/container.service';
16
15
  import * as i0 from "@angular/core";
17
16
  import * as i1 from "../focusable/focus.service";
18
17
  import * as i2 from "../navigation/navigation.service";
19
18
  import * as i3 from "@progress/kendo-angular-popup";
20
19
  import * as i4 from "@progress/kendo-angular-l10n";
21
- import * as i5 from "../listbutton/list.component";
22
- import * as i6 from "../button/button.directive";
23
- import * as i7 from "@angular/common";
20
+ import * as i5 from "../listbutton/container.service";
21
+ import * as i6 from "../listbutton/list.component";
22
+ import * as i7 from "../button/button.directive";
23
+ import * as i8 from "@angular/common";
24
24
  const NAVIGATION_SETTINGS = {
25
25
  useLeftRightArrows: true
26
26
  };
@@ -58,10 +58,9 @@ const DEFAULT_FILL_MODE = 'solid';
58
58
  * ```
59
59
  */
60
60
  export class DropDownButtonComponent extends ListButton {
61
- constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr) {
62
- super(focusService, navigationService, wrapperRef, zone, localization, cdr);
63
- this.popupService = popupService;
64
- this.elRef = elRef;
61
+ constructor(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService) {
62
+ super(focusService, navigationService, wrapperRef, zone, popupService, elRef, localization, cdr, containerService);
63
+ this.containerService = containerService;
65
64
  /**
66
65
  * Defines the name of an existing icon in a Kendo UI theme.
67
66
  */
@@ -117,24 +116,10 @@ export class DropDownButtonComponent extends ListButton {
117
116
  * * `none` —Removes the default CSS class (no class would be rendered).
118
117
  */
119
118
  this.themeColor = 'base';
120
- /**
121
- * Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
122
- */
123
- this.tabIndex = 0;
124
119
  /**
125
120
  * Fires each time the user clicks on a drop-down list item. The event data contains the data item bound to the clicked list item.
126
121
  */
127
122
  this.itemClick = new EventEmitter();
128
- /**
129
- * Fires each time the popup is about to open.
130
- * This event is preventable. If you cancel the event, the popup will remain closed.
131
- */
132
- this.open = new EventEmitter();
133
- /**
134
- * Fires each time the popup is about to close.
135
- * This event is preventable. If you cancel the event, the popup will remain open.
136
- */
137
- this.close = new EventEmitter();
138
123
  /**
139
124
  * Fires each time the DropDownButton gets focused.
140
125
  */
@@ -144,38 +129,11 @@ export class DropDownButtonComponent extends ListButton {
144
129
  */
145
130
  this.onBlur = new EventEmitter();
146
131
  this.listId = guid();
132
+ this.buttonId = guid();
147
133
  this._fillMode = DEFAULT_FILL_MODE;
148
- this.popupSubs = new Subscription();
149
134
  this._itemClick = this.itemClick;
150
135
  this._blur = this.onBlur;
151
136
  }
152
- /**
153
- * Configures the popup of the DropDownButton.
154
- *
155
- * The available options are:
156
- * - `animate: Boolean`—Controls the popup animation. By default, the open and close animations are enabled.
157
- * - `popupClass: String`—Specifies a list of CSS classes that are used to style the popup.
158
- * - `appendTo: "root" | "component" | ViewContainerRef`—Specifies the component to which the popup will be appended.
159
- * - `align: "left" | "center" | "right"`—Specifies the alignment of the popup.
160
- */
161
- set popupSettings(settings) {
162
- this._popupSettings = Object.assign({ animate: true, popupClass: '' }, settings);
163
- }
164
- get popupSettings() {
165
- return this._popupSettings;
166
- }
167
- /**
168
- * Sets the disabled state of the DropDownButton.
169
- */
170
- set disabled(value) {
171
- if (value && this.openState) {
172
- this.openState = false;
173
- }
174
- this._disabled = value;
175
- }
176
- get disabled() {
177
- return this._disabled;
178
- }
179
137
  /**
180
138
  * Sets or gets the data of the DropDownButton.
181
139
  *
@@ -204,44 +162,6 @@ export class DropDownButtonComponent extends ListButton {
204
162
  get fillMode() {
205
163
  return this._fillMode;
206
164
  }
207
- /**
208
- * @hidden
209
- */
210
- set openState(open) {
211
- if (this.disabled) {
212
- return;
213
- }
214
- const eventArgs = new PreventableEvent();
215
- if (open) {
216
- this.open.emit(eventArgs);
217
- }
218
- else {
219
- this.close.emit(eventArgs);
220
- }
221
- if (eventArgs.isDefaultPrevented()) {
222
- return;
223
- }
224
- this._toggle(open);
225
- }
226
- /**
227
- * @hidden
228
- */
229
- get openState() {
230
- return this._open;
231
- }
232
- /**
233
- * @hidden
234
- */
235
- get componentTabIndex() {
236
- return this.disabled ? (-1) : this.tabIndex;
237
- }
238
- get appendTo() {
239
- const { appendTo } = this.popupSettings;
240
- if (!appendTo || appendTo === 'root') {
241
- return undefined;
242
- }
243
- return appendTo === 'component' ? this.container : appendTo;
244
- }
245
165
  get focused() {
246
166
  return this._isFocused && !this._disabled;
247
167
  }
@@ -262,15 +182,12 @@ export class DropDownButtonComponent extends ListButton {
262
182
  */
263
183
  keydown(event) {
264
184
  this.keyDownHandler(event);
265
- if (event.keyCode === Keys.Space) {
185
+ if (event.keyCode === Keys.Space || event.keyCode === Keys.Enter) {
266
186
  this._active = true;
267
187
  }
268
- }
269
- /**
270
- * @hidden
271
- */
272
- keypress(event) {
273
- this.keyPressHandler(event);
188
+ if (event.keyCode === Keys.Enter) {
189
+ event.preventDefault();
190
+ }
274
191
  }
275
192
  /**
276
193
  * @hidden
@@ -301,36 +218,17 @@ export class DropDownButtonComponent extends ListButton {
301
218
  * @hidden
302
219
  */
303
220
  openPopup() {
221
+ this._isFocused = true;
304
222
  this.togglePopupVisibility();
305
223
  }
306
224
  /**
307
225
  * @hidden
308
226
  */
309
227
  onButtonBlur() {
310
- if (!this.isOpen) {
228
+ if (!this.openState) {
311
229
  this.blurWrapper();
312
230
  }
313
231
  }
314
- /**
315
- * @hidden
316
- */
317
- get anchorAlign() {
318
- let align = { horizontal: this.popupSettings.align || 'left', vertical: 'bottom' };
319
- if (this.direction === 'rtl' && !isPresent(this.popupSettings.align)) {
320
- align.horizontal = 'right';
321
- }
322
- return align;
323
- }
324
- /**
325
- * @hidden
326
- */
327
- get popupAlign() {
328
- let align = { horizontal: this.popupSettings.align || 'left', vertical: 'top' };
329
- if (this.direction === 'rtl' && !isPresent(this.popupSettings.align)) {
330
- align.horizontal = 'right';
331
- }
332
- return align;
333
- }
334
232
  /**
335
233
  * Focuses the DropDownButton component.
336
234
  */
@@ -348,44 +246,23 @@ export class DropDownButtonComponent extends ListButton {
348
246
  this.blurWrapper();
349
247
  }
350
248
  }
351
- ngOnChanges(changes) {
352
- if (isChanged("popupSettings", changes) && isPresent(this.popupRef)) {
353
- const popup = this.popupRef.popup.instance;
354
- const newSettings = changes.popupSettings.currentValue;
355
- popup.popupClass = newSettings.popupClass;
356
- popup.animate = newSettings.animate;
357
- popup.popupAlign = this.popupAlign;
358
- }
359
- }
360
- ngOnDestroy() {
361
- super.ngOnDestroy();
362
- this.destroyPopup();
363
- }
364
- /**
365
- * Toggles the visibility of the popup.
366
- * If the `toggle` method is used to open or close the popup, the `open` and `close` events will not be fired.
367
- *
368
- * @param open - The state of the popup.
369
- */
370
- toggle(open) {
371
- if (this.disabled) {
372
- return;
373
- }
374
- tick(() => (this._toggle((open === undefined) ? !this._open : open)));
375
- }
376
- /**
377
- * Returns the current open state of the popup.
378
- */
379
- get isOpen() {
380
- return this.openState;
249
+ ngAfterViewInit() {
250
+ this.containerService.container = this.container;
251
+ this.containerService.template = this.popupTemplate;
381
252
  }
382
253
  /**
383
254
  * @hidden
384
255
  */
385
- handleFocus() {
386
- if (!this._disabled && !this._isFocused) {
256
+ handleFocus(event) {
257
+ if (!this._disabled) {
258
+ // eslint-disable-next-line no-unused-expressions
259
+ !this._isFocused && this.onFocus.emit();
387
260
  this._isFocused = true;
388
- this.onFocus.emit();
261
+ this.focusService.resetFocus();
262
+ const relatedTargetInList = event.relatedTarget && closest(event.relatedTarget, '.k-popup kendo-button-list');
263
+ if (this.openState && !relatedTargetInList) {
264
+ this.focusService.focus(0);
265
+ }
389
266
  }
390
267
  }
391
268
  /**
@@ -396,77 +273,9 @@ export class DropDownButtonComponent extends ListButton {
396
273
  || this.wrapper.contains(element)
397
274
  || (this.popupRef && this.popupRef.popupElement.contains(element));
398
275
  }
399
- subscribeNavigationEvents() {
400
- this.subs.add(this.navigationService.navigate
401
- .subscribe(this.onArrowKeyNavigate.bind(this)));
402
- this.subs.add(this.navigationService.enterup.subscribe(this.onNavigationEnterUp.bind(this)));
403
- this.subs.add(this.navigationService.open.subscribe(this.onNavigationOpen.bind(this)));
404
- this.subs.add(merge(this.navigationService.close, this.navigationService.esc).subscribe(this.onNavigationClose.bind(this)));
405
- }
406
- onNavigationEnterUp() {
407
- if (!this._disabled && !this.openState) {
408
- this._active = false;
409
- }
410
- if (this.openState) {
411
- let focused = this.focusService.focused;
412
- if (isPresent(focused) && focused !== -1) {
413
- this.emitItemClickHandler(focused);
414
- }
415
- }
416
- this.togglePopupVisibility();
417
- if (!this.openState && isDocumentAvailable()) {
418
- this.button.nativeElement.focus();
419
- }
420
- }
421
- onNavigationOpen() {
422
- if (!this._disabled && !this.openState) {
423
- this.togglePopupVisibility();
424
- }
425
- }
426
- onNavigationClose() {
427
- if (this.openState) {
428
- this.togglePopupVisibility();
429
- if (isDocumentAvailable()) {
430
- this.button.nativeElement.focus();
431
- }
432
- }
433
- }
434
- onArrowKeyNavigate(index) {
435
- this.focusService.focus(index);
436
- }
437
- _toggle(open) {
438
- if (this._open === open) {
439
- return;
440
- }
441
- this._open = open;
442
- this.destroyPopup();
443
- if (this._open) {
444
- this.createPopup();
445
- }
446
- }
447
- createPopup() {
448
- this.popupRef = this.popupService.open({
449
- anchor: this.elRef,
450
- anchorAlign: this.anchorAlign,
451
- animate: this.popupSettings.animate,
452
- appendTo: this.appendTo,
453
- content: this.popupTemplate,
454
- popupAlign: this.popupAlign,
455
- popupClass: this.popupClasses
456
- });
457
- this.popupSubs.add(this.popupRef.popupAnchorViewportLeave.subscribe(() => this.openState = false));
458
- this.popupSubs.add(this.popupRef.popupOpen.subscribe(this.focusFirstItem.bind(this)));
459
- }
460
- destroyPopup() {
461
- if (this.popupRef) {
462
- this.popupRef.close();
463
- this.popupRef = null;
464
- this.popupSubs.unsubscribe();
465
- }
466
- }
467
276
  }
468
- DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: i1.FocusService }, { token: i2.NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i4.LocalizationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
469
- DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { icon: "icon", iconClass: "iconClass", imageUrl: "imageUrl", popupSettings: "popupSettings", textField: "textField", disabled: "disabled", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor", buttonClass: "buttonClass", tabIndex: "tabIndex" }, outputs: { itemClick: "itemClick", open: "open", close: "close", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keypress": "keypress($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
277
+ DropDownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DropDownButtonComponent, deps: [{ token: i1.FocusService }, { token: i2.NavigationService }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i3.PopupService }, { token: i0.ElementRef }, { token: i4.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i5.PopupContainerService }], target: i0.ɵɵFactoryTarget.Component });
278
+ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: { icon: "icon", iconClass: "iconClass", imageUrl: "imageUrl", textField: "textField", data: "data", size: "size", rounded: "rounded", fillMode: "fillMode", themeColor: "themeColor" }, outputs: { itemClick: "itemClick", onFocus: "focus", onBlur: "blur" }, host: { listeners: { "keydown": "keydown($event)", "keyup": "keyup($event)", "mousedown": "mousedown($event)", "mouseup": "mouseup($event)" }, properties: { "class.k-focus": "this.focused", "class.k-dropdown-button": "this.widgetClasses", "attr.dir": "this.dir" } }, providers: [
470
279
  FocusService,
471
280
  NavigationService,
472
281
  NAVIGATION_SETTINGS_PROVIDER,
@@ -474,11 +283,12 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
474
283
  {
475
284
  provide: L10N_PREFIX,
476
285
  useValue: 'kendo.dropdownbutton'
477
- }
478
- ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true, static: true }, { propertyName: "buttonList", first: true, predicate: ["buttonList"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], exportAs: ["kendoDropDownButton"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
286
+ },
287
+ PopupContainerService
288
+ ], queries: [{ propertyName: "itemTemplate", first: true, predicate: ButtonItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "button", first: true, predicate: ["button"], descendants: true }, { propertyName: "buttonList", first: true, predicate: ["buttonList"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], exportAs: ["kendoDropDownButton"], usesInheritance: true, ngImport: i0, template: `
479
289
  <button kendoButton #button
480
- role="menu"
481
290
  type="button"
291
+ [id]="buttonId"
482
292
  [tabindex]="componentTabIndex"
483
293
  [class.k-active]="active"
484
294
  [disabled]="disabled"
@@ -491,12 +301,12 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
491
301
  [fillMode]="fillMode"
492
302
  [themeColor]="fillMode ? themeColor : null"
493
303
  (click)="openPopup()"
494
- (focus)="handleFocus()"
304
+ (focus)="handleFocus($event)"
495
305
  (blur)="onButtonBlur()"
496
306
  [attr.aria-disabled]="disabled"
497
307
  [attr.aria-expanded]="openState"
498
308
  [attr.aria-haspopup]="true"
499
- [attr.aria-owns]="listId"
309
+ [attr.aria-controls]="listId"
500
310
  >
501
311
  <ng-content></ng-content>
502
312
  </button>
@@ -509,15 +319,15 @@ DropDownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
509
319
  [itemTemplate]="itemTemplate"
510
320
  (onItemClick)="onItemClick($event)"
511
321
  (keydown)="keyDownHandler($event)"
512
- (keypress)="keyPressHandler($event)"
513
322
  (keyup)="keyUpHandler($event)"
514
323
  [attr.dir]="dir"
324
+ [attr.aria-labelledby]="buttonId"
515
325
  [size]="size"
516
326
  >
517
327
  </kendo-button-list>
518
328
  </ng-template>
519
329
  <ng-container #container></ng-container>
520
- `, isInline: true, components: [{ type: i5.ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i6.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
330
+ `, isInline: true, components: [{ type: i6.ListComponent, selector: "kendo-button-list", inputs: ["data", "textField", "itemTemplate", "size"], outputs: ["onItemClick", "onItemBlur"] }], directives: [{ type: i7.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
521
331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DropDownButtonComponent, decorators: [{
522
332
  type: Component,
523
333
  args: [{
@@ -530,13 +340,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
530
340
  {
531
341
  provide: L10N_PREFIX,
532
342
  useValue: 'kendo.dropdownbutton'
533
- }
343
+ },
344
+ PopupContainerService
534
345
  ],
535
346
  selector: 'kendo-dropdownbutton',
536
347
  template: `
537
348
  <button kendoButton #button
538
- role="menu"
539
349
  type="button"
350
+ [id]="buttonId"
540
351
  [tabindex]="componentTabIndex"
541
352
  [class.k-active]="active"
542
353
  [disabled]="disabled"
@@ -549,12 +360,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
549
360
  [fillMode]="fillMode"
550
361
  [themeColor]="fillMode ? themeColor : null"
551
362
  (click)="openPopup()"
552
- (focus)="handleFocus()"
363
+ (focus)="handleFocus($event)"
553
364
  (blur)="onButtonBlur()"
554
365
  [attr.aria-disabled]="disabled"
555
366
  [attr.aria-expanded]="openState"
556
367
  [attr.aria-haspopup]="true"
557
- [attr.aria-owns]="listId"
368
+ [attr.aria-controls]="listId"
558
369
  >
559
370
  <ng-content></ng-content>
560
371
  </button>
@@ -567,9 +378,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
567
378
  [itemTemplate]="itemTemplate"
568
379
  (onItemClick)="onItemClick($event)"
569
380
  (keydown)="keyDownHandler($event)"
570
- (keypress)="keyPressHandler($event)"
571
381
  (keyup)="keyUpHandler($event)"
572
382
  [attr.dir]="dir"
383
+ [attr.aria-labelledby]="buttonId"
573
384
  [size]="size"
574
385
  >
575
386
  </kendo-button-list>
@@ -577,18 +388,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
577
388
  <ng-container #container></ng-container>
578
389
  `
579
390
  }]
580
- }], ctorParameters: function () { return [{ type: i1.FocusService }, { type: i2.NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i4.LocalizationService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { icon: [{
391
+ }], ctorParameters: function () { return [{ type: i1.FocusService }, { type: i2.NavigationService }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i3.PopupService }, { type: i0.ElementRef }, { type: i4.LocalizationService }, { type: i0.ChangeDetectorRef }, { type: i5.PopupContainerService }]; }, propDecorators: { icon: [{
581
392
  type: Input
582
393
  }], iconClass: [{
583
394
  type: Input
584
395
  }], imageUrl: [{
585
396
  type: Input
586
- }], popupSettings: [{
587
- type: Input
588
397
  }], textField: [{
589
398
  type: Input
590
- }], disabled: [{
591
- type: Input
592
399
  }], data: [{
593
400
  type: Input
594
401
  }], size: [{
@@ -599,16 +406,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
599
406
  type: Input
600
407
  }], themeColor: [{
601
408
  type: Input
602
- }], buttonClass: [{
603
- type: Input
604
- }], tabIndex: [{
605
- type: Input
606
409
  }], itemClick: [{
607
410
  type: Output
608
- }], open: [{
609
- type: Output
610
- }], close: [{
611
- type: Output
612
411
  }], onFocus: [{
613
412
  type: Output,
614
413
  args: ['focus']
@@ -626,25 +425,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
626
425
  args: ['attr.dir']
627
426
  }], itemTemplate: [{
628
427
  type: ContentChild,
629
- args: [ButtonItemTemplateDirective, { static: false }]
428
+ args: [ButtonItemTemplateDirective]
630
429
  }], button: [{
631
430
  type: ViewChild,
632
- args: ['button', { static: true }]
431
+ args: ['button']
633
432
  }], buttonList: [{
634
433
  type: ViewChild,
635
- args: ['buttonList', { static: false }]
434
+ args: ['buttonList']
636
435
  }], popupTemplate: [{
637
436
  type: ViewChild,
638
- args: ['popupTemplate', { static: true }]
437
+ args: ['popupTemplate']
639
438
  }], container: [{
640
439
  type: ViewChild,
641
- args: ['container', { read: ViewContainerRef, static: true }]
440
+ args: ['container', { read: ViewContainerRef }]
642
441
  }], keydown: [{
643
442
  type: HostListener,
644
443
  args: ['keydown', ['$event']]
645
- }], keypress: [{
646
- type: HostListener,
647
- args: ['keypress', ['$event']]
648
444
  }], keyup: [{
649
445
  type: HostListener,
650
446
  args: ['keyup', ['$event']]
@@ -444,7 +444,7 @@ export class FloatingActionButtonComponent {
444
444
  this.subscriptions.add(this.navigationService.enter.subscribe(this.onNavigationEnterPress.bind(this)));
445
445
  this.subscriptions.add(merge(this.navigationService.close, this.navigationService.esc).subscribe(this.onNavigationClose.bind(this)));
446
446
  }
447
- onArrowKeyNavigate(index) {
447
+ onArrowKeyNavigate({ index }) {
448
448
  this.focusService.focus(index);
449
449
  }
450
450
  onNavigationEnterPress() {
@@ -0,0 +1,16 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Injectable } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export class PopupContainerService {
11
+ }
12
+ PopupContainerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopupContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ PopupContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopupContainerService });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PopupContainerService, decorators: [{
15
+ type: Injectable
16
+ }] });