@angular/cdk-experimental 13.3.3 → 14.0.0-next.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 (133) hide show
  1. package/combobox/combobox-module.d.ts +3 -4
  2. package/combobox/combobox-popup.d.ts +6 -8
  3. package/combobox/combobox.d.ts +15 -18
  4. package/combobox/public-api.d.ts +0 -1
  5. package/dialog/dialog-config.d.ts +6 -1
  6. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  7. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +4 -4
  8. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +4 -4
  9. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +4 -4
  10. package/esm2020/column-resize/column-resize-module.mjs +9 -9
  11. package/esm2020/column-resize/column-resize-notifier.mjs +7 -7
  12. package/esm2020/column-resize/column-resize.mjs +4 -4
  13. package/esm2020/column-resize/column-size-store.mjs +4 -4
  14. package/esm2020/column-resize/event-dispatcher.mjs +4 -4
  15. package/esm2020/column-resize/overlay-handle.mjs +4 -4
  16. package/esm2020/column-resize/resizable.mjs +4 -4
  17. package/esm2020/column-resize/resize-strategy.mjs +10 -10
  18. package/esm2020/combobox/combobox-module.mjs +6 -7
  19. package/esm2020/combobox/combobox-popup.mjs +12 -23
  20. package/esm2020/combobox/combobox.mjs +50 -34
  21. package/esm2020/combobox/public-api.mjs +1 -2
  22. package/esm2020/dialog/dialog-config.mjs +1 -1
  23. package/esm2020/dialog/dialog-container.mjs +5 -5
  24. package/esm2020/dialog/dialog-module.mjs +5 -5
  25. package/esm2020/dialog/dialog.mjs +5 -5
  26. package/esm2020/listbox/listbox-module.mjs +5 -5
  27. package/esm2020/listbox/listbox.mjs +26 -44
  28. package/esm2020/menu/context-menu-trigger.mjs +227 -0
  29. package/esm2020/menu/menu-aim.mjs +24 -19
  30. package/esm2020/menu/menu-bar.mjs +72 -165
  31. package/esm2020/menu/menu-base.mjs +203 -0
  32. package/esm2020/menu/menu-errors.mjs +1 -9
  33. package/esm2020/menu/menu-group.mjs +7 -45
  34. package/esm2020/menu/menu-interface.mjs +1 -1
  35. package/esm2020/menu/menu-item-checkbox.mjs +11 -11
  36. package/esm2020/menu/menu-item-radio.mjs +50 -26
  37. package/esm2020/menu/menu-item-selectable.mjs +18 -33
  38. package/esm2020/menu/menu-item.mjs +133 -88
  39. package/esm2020/menu/menu-module.mjs +12 -14
  40. package/esm2020/menu/menu-stack.mjs +69 -19
  41. package/esm2020/menu/menu-trigger-base.mjs +114 -0
  42. package/esm2020/menu/menu-trigger.mjs +302 -0
  43. package/esm2020/menu/menu.mjs +75 -208
  44. package/esm2020/menu/pointer-focus-tracker.mjs +11 -9
  45. package/esm2020/menu/public-api.mjs +10 -7
  46. package/esm2020/popover-edit/edit-event-dispatcher.mjs +4 -4
  47. package/esm2020/popover-edit/edit-ref.mjs +4 -4
  48. package/esm2020/popover-edit/edit-services.mjs +4 -4
  49. package/esm2020/popover-edit/focus-dispatcher.mjs +4 -4
  50. package/esm2020/popover-edit/focus-escape-notifier.mjs +4 -4
  51. package/esm2020/popover-edit/lens-directives.mjs +10 -10
  52. package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
  53. package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +7 -7
  54. package/esm2020/popover-edit/table-directives.mjs +16 -16
  55. package/esm2020/scrolling/auto-size-virtual-scroll.mjs +4 -4
  56. package/esm2020/scrolling/scrolling-module.mjs +5 -5
  57. package/esm2020/selection/row-selection.mjs +4 -4
  58. package/esm2020/selection/select-all.mjs +4 -4
  59. package/esm2020/selection/selection-column.mjs +4 -4
  60. package/esm2020/selection/selection-module.mjs +5 -5
  61. package/esm2020/selection/selection-toggle.mjs +4 -4
  62. package/esm2020/selection/selection.mjs +4 -4
  63. package/esm2020/table-scroll-container/table-scroll-container-module.mjs +5 -5
  64. package/esm2020/table-scroll-container/table-scroll-container.mjs +4 -4
  65. package/esm2020/version.mjs +1 -1
  66. package/fesm2015/cdk-experimental.mjs +1 -1
  67. package/fesm2015/cdk-experimental.mjs.map +1 -1
  68. package/fesm2015/column-resize.mjs +50 -50
  69. package/fesm2015/column-resize.mjs.map +1 -1
  70. package/fesm2015/combobox.mjs +63 -106
  71. package/fesm2015/combobox.mjs.map +1 -1
  72. package/fesm2015/dialog.mjs +13 -12
  73. package/fesm2015/dialog.mjs.map +1 -1
  74. package/fesm2015/listbox.mjs +31 -47
  75. package/fesm2015/listbox.mjs.map +1 -1
  76. package/fesm2015/menu.mjs +1109 -1140
  77. package/fesm2015/menu.mjs.map +1 -1
  78. package/fesm2015/popover-edit.mjs +49 -49
  79. package/fesm2015/popover-edit.mjs.map +1 -1
  80. package/fesm2015/scrolling.mjs +7 -7
  81. package/fesm2015/scrolling.mjs.map +1 -1
  82. package/fesm2015/selection.mjs +19 -19
  83. package/fesm2015/selection.mjs.map +1 -1
  84. package/fesm2015/table-scroll-container.mjs +7 -7
  85. package/fesm2015/table-scroll-container.mjs.map +1 -1
  86. package/fesm2020/cdk-experimental.mjs +1 -1
  87. package/fesm2020/cdk-experimental.mjs.map +1 -1
  88. package/fesm2020/column-resize.mjs +50 -50
  89. package/fesm2020/column-resize.mjs.map +1 -1
  90. package/fesm2020/combobox.mjs +62 -103
  91. package/fesm2020/combobox.mjs.map +1 -1
  92. package/fesm2020/dialog.mjs +12 -12
  93. package/fesm2020/dialog.mjs.map +1 -1
  94. package/fesm2020/listbox.mjs +29 -46
  95. package/fesm2020/listbox.mjs.map +1 -1
  96. package/fesm2020/menu.mjs +1031 -1054
  97. package/fesm2020/menu.mjs.map +1 -1
  98. package/fesm2020/popover-edit.mjs +49 -49
  99. package/fesm2020/popover-edit.mjs.map +1 -1
  100. package/fesm2020/scrolling.mjs +7 -7
  101. package/fesm2020/scrolling.mjs.map +1 -1
  102. package/fesm2020/selection.mjs +19 -19
  103. package/fesm2020/selection.mjs.map +1 -1
  104. package/fesm2020/table-scroll-container.mjs +7 -7
  105. package/fesm2020/table-scroll-container.mjs.map +1 -1
  106. package/listbox/listbox.d.ts +16 -13
  107. package/menu/context-menu-trigger.d.ts +98 -0
  108. package/menu/menu-aim.d.ts +20 -9
  109. package/menu/menu-bar.d.ts +24 -60
  110. package/menu/menu-base.d.ts +104 -0
  111. package/menu/menu-errors.d.ts +0 -5
  112. package/menu/menu-group.d.ts +3 -28
  113. package/menu/menu-interface.d.ts +7 -5
  114. package/menu/menu-item-checkbox.d.ts +8 -2
  115. package/menu/menu-item-radio.d.ts +32 -8
  116. package/menu/menu-item-selectable.d.ts +4 -14
  117. package/menu/menu-item.d.ts +64 -24
  118. package/menu/menu-module.d.ts +10 -10
  119. package/menu/menu-stack.d.ts +64 -20
  120. package/menu/menu-trigger-base.d.ts +77 -0
  121. package/menu/menu-trigger.d.ts +104 -0
  122. package/menu/menu.d.ts +34 -87
  123. package/menu/pointer-focus-tracker.d.ts +7 -4
  124. package/menu/public-api.d.ts +9 -6
  125. package/package.json +3 -3
  126. package/combobox/combobox-panel.d.ts +0 -27
  127. package/esm2020/combobox/combobox-panel.mjs +0 -48
  128. package/esm2020/menu/context-menu.mjs +0 -294
  129. package/esm2020/menu/menu-item-trigger.mjs +0 -361
  130. package/esm2020/menu/menu-panel.mjs +0 -37
  131. package/menu/context-menu.d.ts +0 -123
  132. package/menu/menu-item-trigger.d.ts +0 -119
  133. package/menu/menu-panel.d.ts +0 -30
package/menu/menu.d.ts CHANGED
@@ -5,14 +5,12 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { EventEmitter, AfterContentInit, OnDestroy, OnInit, NgZone, ElementRef } from '@angular/core';
9
- import { FocusOrigin } from '@angular/cdk/a11y';
8
+ import { AfterContentInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
10
9
  import { Directionality } from '@angular/cdk/bidi';
11
- import { CdkMenuGroup } from './menu-group';
12
- import { CdkMenuPanel } from './menu-panel';
13
- import { Menu } from './menu-interface';
14
10
  import { MenuStack } from './menu-stack';
15
11
  import { MenuAim } from './menu-aim';
12
+ import { CdkMenuTriggerBase } from './menu-trigger-base';
13
+ import { CdkMenuBase } from './menu-base';
16
14
  import * as i0 from "@angular/core";
17
15
  /**
18
16
  * Directive which configures the element as a Menu which should contain child elements marked as
@@ -21,93 +19,42 @@ import * as i0 from "@angular/core";
21
19
  *
22
20
  * It also acts as a RadioGroup for elements marked with role `menuitemradio`.
23
21
  */
24
- export declare class CdkMenu extends CdkMenuGroup implements Menu, AfterContentInit, OnInit, OnDestroy {
25
- private readonly _ngZone;
26
- readonly _elementRef: ElementRef<HTMLElement>;
27
- private readonly _menuAim?;
28
- private readonly _dir?;
29
- private readonly _menuPanel?;
30
- /**
31
- * Sets the aria-orientation attribute and determines where menus will be opened.
32
- * Does not affect styling/layout.
33
- */
34
- orientation: 'horizontal' | 'vertical';
22
+ export declare class CdkMenu extends CdkMenuBase implements AfterContentInit, OnDestroy {
23
+ /** The trigger that opened this menu. */
24
+ private _parentTrigger?;
35
25
  /** Event emitted when the menu is closed. */
36
- readonly closed: EventEmitter<void | 'click' | 'tab' | 'escape'>;
37
- /** Track the Menus making up the open menu stack. */
38
- _menuStack: MenuStack;
39
- /** Handles keyboard events for the menu. */
40
- private _keyManager;
41
- /** Manages items under mouse focus. */
42
- private _pointerTracker?;
43
- /** List of nested CdkMenuGroup elements */
44
- private readonly _nestedGroups;
45
- /** All child MenuItem elements nested in this Menu. */
46
- private readonly _allItems;
47
- /** The Menu Item which triggered the open submenu. */
48
- private _openItem?;
49
- /**
50
- * A reference to the enclosing parent menu panel.
51
- *
52
- * Required to be set when using ViewEngine since ViewEngine does support injecting a reference to
53
- * the parent directive if the parent directive is placed on an `ng-template`. If using Ivy, the
54
- * injected value will be used over this one.
55
- */
56
- private readonly _explicitPanel?;
57
- constructor(_ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _menuAim?: MenuAim | undefined, _dir?: Directionality | undefined, _menuPanel?: CdkMenuPanel | undefined);
58
- ngOnInit(): void;
26
+ readonly closed: EventEmitter<void>;
27
+ /** The direction items in the menu flow. */
28
+ readonly orientation = "vertical";
29
+ /** Whether the menu is displayed inline (i.e. always present vs a conditional popup that the user triggers with a trigger element). */
30
+ readonly isInline: boolean;
31
+ constructor(
32
+ /** The host element. */
33
+ elementRef: ElementRef<HTMLElement>,
34
+ /** The Angular zone. */
35
+ ngZone: NgZone,
36
+ /** The menu stack this menu is part of. */
37
+ menuStack: MenuStack,
38
+ /** The trigger that opened this menu. */
39
+ _parentTrigger?: CdkMenuTriggerBase | undefined,
40
+ /** The menu aim service used by this menu. */
41
+ menuAim?: MenuAim,
42
+ /** The directionality of the page. */
43
+ dir?: Directionality);
59
44
  ngAfterContentInit(): void;
60
- /** Place focus on the first MenuItem in the menu and set the focus origin. */
61
- focusFirstItem(focusOrigin?: FocusOrigin): void;
62
- /** Place focus on the last MenuItem in the menu and set the focus origin. */
63
- focusLastItem(focusOrigin?: FocusOrigin): void;
64
- /** Handle keyboard events for the Menu. */
65
- _handleKeyEvent(event: KeyboardEvent): void;
66
- /** Register this menu with its enclosing parent menu panel */
67
- private _registerWithParentPanel;
68
- /**
69
- * Get the enclosing CdkMenuPanel defaulting to the injected reference over the developer
70
- * provided reference.
71
- */
72
- private _getMenuPanel;
73
- /**
74
- * Complete the change emitter if there are any nested MenuGroups or register to complete the
75
- * change emitter if a MenuGroup is rendered at some point
76
- */
77
- private _completeChangeEmitter;
78
- /** Return true if there are nested CdkMenuGroup elements within the Menu */
79
- private _hasNestedGroups;
80
- /** Setup the FocusKeyManager with the correct orientation for the menu. */
81
- private _setKeyManager;
45
+ ngOnDestroy(): void;
82
46
  /**
83
- * Set the PointerFocusTracker and ensure that when mouse focus changes the key manager is updated
84
- * with the latest menu item under mouse focus.
47
+ * Handle keyboard events for the Menu.
48
+ * @param event The keyboard event to be handled.
85
49
  */
86
- private _subscribeToMouseManager;
87
- /** Subscribe to the MenuStack close and empty observables. */
88
- private _subscribeToMenuStack;
50
+ _handleKeyEvent(event: KeyboardEvent): void;
89
51
  /**
90
- * Close the open menu if the current active item opened the requested MenuStackItem.
91
- * @param item the MenuStackItem requested to be closed.
52
+ * Set focus the either the current, previous or next item based on the FocusNext event.
53
+ * @param focusNext The element to focus.
92
54
  */
93
- private _closeOpenMenu;
94
- /** Set focus the either the current, previous or next item based on the FocusNext event. */
95
55
  private _toggleMenuFocus;
96
- /**
97
- * Subscribe to the menu trigger's open events in order to track the trigger which opened the menu
98
- * and stop tracking it when the menu is closed.
99
- */
100
- private _subscribeToMenuOpen;
101
- /** Return true if this menu has been configured in a horizontal orientation. */
102
- private _isHorizontal;
103
- /**
104
- * Return true if this menu is an inline menu. That is, it does not exist in a pop-up and is
105
- * always visible in the dom.
106
- */
107
- _isInline(): boolean;
108
- ngOnDestroy(): void;
109
- /** Emit and complete the closed event emitter */
110
- private _emitClosedEvent;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenu, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
112
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenu, "[cdkMenu]", ["cdkMenu"], { "orientation": "cdkMenuOrientation"; "_explicitPanel": "cdkMenuPanel"; }, { "closed": "closed"; }, ["_nestedGroups", "_allItems"]>;
56
+ /** Subscribe to the MenuStack emptied events. */
57
+ private _subscribeToMenuStackEmptied;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkMenu, [null, null, null, { optional: true; }, { optional: true; self: true; }, { optional: true; }]>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkMenu, "[cdkMenu]", ["cdkMenu"], {}, { "closed": "closed"; }, never>;
113
60
  }
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { QueryList, ElementRef } from '@angular/core';
8
+ import { ElementRef, QueryList } from '@angular/core';
9
9
  import { Observable } from 'rxjs';
10
10
  /** Item to track for mouse focus events. */
11
11
  export interface FocusableElement {
@@ -17,6 +17,7 @@ export interface FocusableElement {
17
17
  * observables which emit when the users mouse enters and leaves a tracked element.
18
18
  */
19
19
  export declare class PointerFocusTracker<T extends FocusableElement> {
20
+ /** The list of items being tracked. */
20
21
  private readonly _items;
21
22
  /** Emits when an element is moused into. */
22
23
  readonly entered: Observable<T>;
@@ -28,7 +29,11 @@ export declare class PointerFocusTracker<T extends FocusableElement> {
28
29
  previousElement?: T;
29
30
  /** Emits when this is destroyed. */
30
31
  private readonly _destroyed;
31
- constructor(_items: QueryList<T>);
32
+ constructor(
33
+ /** The list of items being tracked. */
34
+ _items: QueryList<T>);
35
+ /** Stop the managers listeners. */
36
+ destroy(): void;
32
37
  /**
33
38
  * Gets a stream of pointer (mouse) entries into the given items.
34
39
  * This should typically run outside the Angular zone.
@@ -39,6 +44,4 @@ export declare class PointerFocusTracker<T extends FocusableElement> {
39
44
  * This should typically run outside the Angular zone.
40
45
  */
41
46
  private _getItemPointerExits;
42
- /** Stop the managers listeners. */
43
- destroy(): void;
44
47
  }
@@ -8,13 +8,16 @@
8
8
  export * from './menu-module';
9
9
  export * from './menu-bar';
10
10
  export * from './menu';
11
+ export * from './menu-base';
11
12
  export * from './menu-item';
12
13
  export * from './menu-item-checkbox';
13
14
  export * from './menu-item-radio';
14
- export * from './menu-item-trigger';
15
- export * from './menu-panel';
15
+ export * from './menu-trigger';
16
16
  export * from './menu-group';
17
- export * from './context-menu';
18
- export { MenuStack, MenuStackItem } from './menu-stack';
19
- export { CDK_MENU } from './menu-interface';
20
- export { TargetMenuAim, MenuAim, MENU_AIM, CdkTargetMenuAim } from './menu-aim';
17
+ export * from './menu-item-selectable';
18
+ export * from './context-menu-trigger';
19
+ export * from './menu-trigger-base';
20
+ export * from './pointer-focus-tracker';
21
+ export * from './menu-stack';
22
+ export * from './menu-interface';
23
+ export * from './menu-aim';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/cdk-experimental",
3
- "version": "13.3.3",
3
+ "version": "14.0.0-next.10",
4
4
  "description": "Experimental components for Angular CDK",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,8 +12,8 @@
12
12
  },
13
13
  "homepage": "https://github.com/angular/components#readme",
14
14
  "peerDependencies": {
15
- "@angular/cdk": "13.3.3",
16
- "@angular/core": "^13.0.0 || ^14.0.0-0"
15
+ "@angular/cdk": "14.0.0-next.10",
16
+ "@angular/core": "^14.0.0-0 || ^15.0.0"
17
17
  },
18
18
  "dependencies": {
19
19
  "tslib": "^2.3.0"
@@ -1,27 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * @license
6
- * Copyright Google LLC All Rights Reserved.
7
- *
8
- * Use of this source code is governed by an MIT-style license that can be
9
- * found in the LICENSE file at https://angular.io/license
10
- */
11
- export declare type AriaHasPopupValue = 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
12
- export declare class CdkComboboxPanel<T = unknown> {
13
- readonly _templateRef: TemplateRef<unknown>;
14
- valueUpdated: Subject<T | T[]>;
15
- contentIdUpdated: Subject<string>;
16
- contentTypeUpdated: Subject<AriaHasPopupValue>;
17
- contentId: string;
18
- contentType: AriaHasPopupValue;
19
- constructor(_templateRef: TemplateRef<unknown>);
20
- /** Tells the parent combobox to close the panel and sends back the content value. */
21
- closePanel(data?: T | T[]): void;
22
- focusContent(): void;
23
- /** Registers the content's id and the content type with the panel. */
24
- _registerContent(contentId: string, contentType: AriaHasPopupValue): void;
25
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkComboboxPanel<any>, never>;
26
- static ɵdir: i0.ɵɵDirectiveDeclaration<CdkComboboxPanel<any>, "ng-template[cdkComboboxPanel]", ["cdkComboboxPanel"], {}, {}, never>;
27
- }
@@ -1,48 +0,0 @@
1
- import { Directive, TemplateRef } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class CdkComboboxPanel {
5
- constructor(_templateRef) {
6
- this._templateRef = _templateRef;
7
- this.valueUpdated = new Subject();
8
- this.contentIdUpdated = new Subject();
9
- this.contentTypeUpdated = new Subject();
10
- this.contentId = '';
11
- }
12
- /** Tells the parent combobox to close the panel and sends back the content value. */
13
- closePanel(data) {
14
- this.valueUpdated.next(data || []);
15
- }
16
- // TODO: instead of using a focus function, potentially use cdk/a11y focus trapping
17
- focusContent() {
18
- // TODO: Use an injected document here
19
- document.getElementById(this.contentId)?.focus();
20
- }
21
- /** Registers the content's id and the content type with the panel. */
22
- _registerContent(contentId, contentType) {
23
- // If content has already been registered, no further contentIds are registered.
24
- if (this.contentType && this.contentType !== contentType) {
25
- return;
26
- }
27
- this.contentId = contentId;
28
- if (contentType !== 'listbox' && contentType !== 'dialog') {
29
- throw Error('CdkComboboxPanel currently only supports listbox or dialog content.');
30
- }
31
- this.contentType = contentType;
32
- this.contentIdUpdated.next(this.contentId);
33
- this.contentTypeUpdated.next(this.contentType);
34
- }
35
- }
36
- CdkComboboxPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CdkComboboxPanel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
37
- CdkComboboxPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: CdkComboboxPanel, selector: "ng-template[cdkComboboxPanel]", host: { classAttribute: "cdk-combobox-panel" }, exportAs: ["cdkComboboxPanel"], ngImport: i0 });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: CdkComboboxPanel, decorators: [{
39
- type: Directive,
40
- args: [{
41
- host: {
42
- 'class': 'cdk-combobox-panel',
43
- },
44
- selector: 'ng-template[cdkComboboxPanel]',
45
- exportAs: 'cdkComboboxPanel',
46
- }]
47
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrLWV4cGVyaW1lbnRhbC9jb21ib2JveC9jb21ib2JveC1wYW5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQVM3QixNQUFNLE9BQU8sZ0JBQWdCO0lBUTNCLFlBQXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQVB2RCxpQkFBWSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ3hELHFCQUFnQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzFELHVCQUFrQixHQUErQixJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUVsRixjQUFTLEdBQVcsRUFBRSxDQUFDO0lBR21DLENBQUM7SUFFM0QscUZBQXFGO0lBQ3JGLFVBQVUsQ0FBQyxJQUFjO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLFlBQVk7UUFDVixzQ0FBc0M7UUFDdEMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLFdBQThCO1FBQ2hFLGdGQUFnRjtRQUNoRixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFDeEQsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxXQUFXLEtBQUssU0FBUyxJQUFJLFdBQVcsS0FBSyxRQUFRLEVBQUU7WUFDekQsTUFBTSxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztTQUNwRjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzZHQXBDVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQVA1QixTQUFTO21CQUFDO29CQUNULElBQUksRUFBRTt3QkFDSixPQUFPLEVBQUUsb0JBQW9CO3FCQUM5QjtvQkFDRCxRQUFRLEVBQUUsK0JBQStCO29CQUN6QyxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgdHlwZSBBcmlhSGFzUG9wdXBWYWx1ZSA9ICdmYWxzZScgfCAndHJ1ZScgfCAnbWVudScgfCAnbGlzdGJveCcgfCAndHJlZScgfCAnZ3JpZCcgfCAnZGlhbG9nJztcblxuaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Nkay1jb21ib2JveC1wYW5lbCcsXG4gIH0sXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbY2RrQ29tYm9ib3hQYW5lbF0nLFxuICBleHBvcnRBczogJ2Nka0NvbWJvYm94UGFuZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtDb21ib2JveFBhbmVsPFQgPSB1bmtub3duPiB7XG4gIHZhbHVlVXBkYXRlZDogU3ViamVjdDxUIHwgVFtdPiA9IG5ldyBTdWJqZWN0PFQgfCBUW10+KCk7XG4gIGNvbnRlbnRJZFVwZGF0ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgY29udGVudFR5cGVVcGRhdGVkOiBTdWJqZWN0PEFyaWFIYXNQb3B1cFZhbHVlPiA9IG5ldyBTdWJqZWN0PEFyaWFIYXNQb3B1cFZhbHVlPigpO1xuXG4gIGNvbnRlbnRJZDogc3RyaW5nID0gJyc7XG4gIGNvbnRlbnRUeXBlOiBBcmlhSGFzUG9wdXBWYWx1ZTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBfdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxuXG4gIC8qKiBUZWxscyB0aGUgcGFyZW50IGNvbWJvYm94IHRvIGNsb3NlIHRoZSBwYW5lbCBhbmQgc2VuZHMgYmFjayB0aGUgY29udGVudCB2YWx1ZS4gKi9cbiAgY2xvc2VQYW5lbChkYXRhPzogVCB8IFRbXSkge1xuICAgIHRoaXMudmFsdWVVcGRhdGVkLm5leHQoZGF0YSB8fCBbXSk7XG4gIH1cblxuICAvLyBUT0RPOiBpbnN0ZWFkIG9mIHVzaW5nIGEgZm9jdXMgZnVuY3Rpb24sIHBvdGVudGlhbGx5IHVzZSBjZGsvYTExeSBmb2N1cyB0cmFwcGluZ1xuICBmb2N1c0NvbnRlbnQoKSB7XG4gICAgLy8gVE9ETzogVXNlIGFuIGluamVjdGVkIGRvY3VtZW50IGhlcmVcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvbnRlbnRJZCk/LmZvY3VzKCk7XG4gIH1cblxuICAvKiogUmVnaXN0ZXJzIHRoZSBjb250ZW50J3MgaWQgYW5kIHRoZSBjb250ZW50IHR5cGUgd2l0aCB0aGUgcGFuZWwuICovXG4gIF9yZWdpc3RlckNvbnRlbnQoY29udGVudElkOiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBBcmlhSGFzUG9wdXBWYWx1ZSkge1xuICAgIC8vIElmIGNvbnRlbnQgaGFzIGFscmVhZHkgYmVlbiByZWdpc3RlcmVkLCBubyBmdXJ0aGVyIGNvbnRlbnRJZHMgYXJlIHJlZ2lzdGVyZWQuXG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgJiYgdGhpcy5jb250ZW50VHlwZSAhPT0gY29udGVudFR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRlbnRJZCA9IGNvbnRlbnRJZDtcbiAgICBpZiAoY29udGVudFR5cGUgIT09ICdsaXN0Ym94JyAmJiBjb250ZW50VHlwZSAhPT0gJ2RpYWxvZycpIHtcbiAgICAgIHRocm93IEVycm9yKCdDZGtDb21ib2JveFBhbmVsIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIGxpc3Rib3ggb3IgZGlhbG9nIGNvbnRlbnQuJyk7XG4gICAgfVxuICAgIHRoaXMuY29udGVudFR5cGUgPSBjb250ZW50VHlwZTtcblxuICAgIHRoaXMuY29udGVudElkVXBkYXRlZC5uZXh0KHRoaXMuY29udGVudElkKTtcbiAgICB0aGlzLmNvbnRlbnRUeXBlVXBkYXRlZC5uZXh0KHRoaXMuY29udGVudFR5cGUpO1xuICB9XG59XG4iXX0=