@angular/cdk-experimental 14.0.0-next.10 → 14.0.0-next.11

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 (103) hide show
  1. package/dialog/dialog-config.d.ts +69 -40
  2. package/dialog/dialog-container.d.ts +47 -51
  3. package/dialog/dialog-injectors.d.ts +6 -12
  4. package/dialog/dialog-ref.d.ts +45 -38
  5. package/dialog/dialog.d.ts +59 -56
  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 +5 -5
  19. package/esm2020/combobox/combobox-popup.mjs +4 -4
  20. package/esm2020/combobox/combobox.mjs +4 -4
  21. package/esm2020/dialog/dialog-config.mjs +33 -22
  22. package/esm2020/dialog/dialog-container.mjs +107 -152
  23. package/esm2020/dialog/dialog-injectors.mjs +6 -10
  24. package/esm2020/dialog/dialog-module.mjs +7 -21
  25. package/esm2020/dialog/dialog-ref.mjs +49 -88
  26. package/esm2020/dialog/dialog.mjs +187 -154
  27. package/esm2020/listbox/listbox-module.mjs +5 -5
  28. package/esm2020/listbox/listbox.mjs +7 -7
  29. package/esm2020/menu/context-menu-trigger.mjs +7 -7
  30. package/esm2020/menu/menu-aim.mjs +7 -7
  31. package/esm2020/menu/menu-bar.mjs +4 -4
  32. package/esm2020/menu/menu-base.mjs +4 -4
  33. package/esm2020/menu/menu-group.mjs +4 -4
  34. package/esm2020/menu/menu-item-checkbox.mjs +4 -4
  35. package/esm2020/menu/menu-item-radio.mjs +4 -4
  36. package/esm2020/menu/menu-item-selectable.mjs +4 -4
  37. package/esm2020/menu/menu-item.mjs +4 -4
  38. package/esm2020/menu/menu-module.mjs +5 -5
  39. package/esm2020/menu/menu-stack.mjs +4 -4
  40. package/esm2020/menu/menu-trigger-base.mjs +4 -4
  41. package/esm2020/menu/menu-trigger.mjs +4 -4
  42. package/esm2020/menu/menu.mjs +4 -4
  43. package/esm2020/popover-edit/edit-event-dispatcher.mjs +4 -4
  44. package/esm2020/popover-edit/edit-ref.mjs +4 -4
  45. package/esm2020/popover-edit/edit-services.mjs +4 -4
  46. package/esm2020/popover-edit/focus-dispatcher.mjs +4 -4
  47. package/esm2020/popover-edit/focus-escape-notifier.mjs +4 -4
  48. package/esm2020/popover-edit/lens-directives.mjs +10 -10
  49. package/esm2020/popover-edit/popover-edit-module.mjs +5 -5
  50. package/esm2020/popover-edit/popover-edit-position-strategy-factory.mjs +7 -7
  51. package/esm2020/popover-edit/table-directives.mjs +16 -16
  52. package/esm2020/scrolling/auto-size-virtual-scroll.mjs +4 -4
  53. package/esm2020/scrolling/scrolling-module.mjs +5 -5
  54. package/esm2020/selection/row-selection.mjs +4 -4
  55. package/esm2020/selection/select-all.mjs +4 -4
  56. package/esm2020/selection/selection-column.mjs +4 -4
  57. package/esm2020/selection/selection-module.mjs +5 -5
  58. package/esm2020/selection/selection-toggle.mjs +4 -4
  59. package/esm2020/selection/selection.mjs +4 -4
  60. package/esm2020/table-scroll-container/table-scroll-container-module.mjs +5 -5
  61. package/esm2020/table-scroll-container/table-scroll-container.mjs +4 -4
  62. package/esm2020/version.mjs +1 -1
  63. package/fesm2015/cdk-experimental.mjs +1 -1
  64. package/fesm2015/cdk-experimental.mjs.map +1 -1
  65. package/fesm2015/column-resize.mjs +50 -50
  66. package/fesm2015/column-resize.mjs.map +1 -1
  67. package/fesm2015/combobox.mjs +10 -10
  68. package/fesm2015/combobox.mjs.map +1 -1
  69. package/fesm2015/dialog.mjs +376 -443
  70. package/fesm2015/dialog.mjs.map +1 -1
  71. package/fesm2015/listbox.mjs +10 -10
  72. package/fesm2015/listbox.mjs.map +1 -1
  73. package/fesm2015/menu.mjs +49 -49
  74. package/fesm2015/menu.mjs.map +1 -1
  75. package/fesm2015/popover-edit.mjs +49 -49
  76. package/fesm2015/popover-edit.mjs.map +1 -1
  77. package/fesm2015/scrolling.mjs +7 -7
  78. package/fesm2015/scrolling.mjs.map +1 -1
  79. package/fesm2015/selection.mjs +19 -19
  80. package/fesm2015/selection.mjs.map +1 -1
  81. package/fesm2015/table-scroll-container.mjs +7 -7
  82. package/fesm2015/table-scroll-container.mjs.map +1 -1
  83. package/fesm2020/cdk-experimental.mjs +1 -1
  84. package/fesm2020/cdk-experimental.mjs.map +1 -1
  85. package/fesm2020/column-resize.mjs +50 -50
  86. package/fesm2020/column-resize.mjs.map +1 -1
  87. package/fesm2020/combobox.mjs +10 -10
  88. package/fesm2020/combobox.mjs.map +1 -1
  89. package/fesm2020/dialog.mjs +378 -435
  90. package/fesm2020/dialog.mjs.map +1 -1
  91. package/fesm2020/listbox.mjs +10 -10
  92. package/fesm2020/listbox.mjs.map +1 -1
  93. package/fesm2020/menu.mjs +49 -49
  94. package/fesm2020/menu.mjs.map +1 -1
  95. package/fesm2020/popover-edit.mjs +49 -49
  96. package/fesm2020/popover-edit.mjs.map +1 -1
  97. package/fesm2020/scrolling.mjs +7 -7
  98. package/fesm2020/scrolling.mjs.map +1 -1
  99. package/fesm2020/selection.mjs +19 -19
  100. package/fesm2020/selection.mjs.map +1 -1
  101. package/fesm2020/table-scroll-container.mjs +7 -7
  102. package/fesm2020/table-scroll-container.mjs.map +1 -1
  103. package/package.json +2 -2
@@ -5,24 +5,16 @@
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 { Injector, ViewContainerRef } from '@angular/core';
8
+ import { ViewContainerRef, ComponentFactoryResolver, Injector, StaticProvider, Type } from '@angular/core';
9
9
  import { Direction } from '@angular/cdk/bidi';
10
- import { ComponentType } from '@angular/cdk/overlay';
11
- import { CdkDialogContainer } from './dialog-container';
10
+ import { PositionStrategy, ScrollStrategy } from '@angular/cdk/overlay';
11
+ import { BasePortalOutlet } from '@angular/cdk/portal';
12
12
  /** Options for where to set focus to automatically on dialog open */
13
13
  export declare type AutoFocusTarget = 'dialog' | 'first-tabbable' | 'first-heading';
14
- /** Valid ARIA roles for a dialog element. */
14
+ /** Valid ARIA roles for a dialog. */
15
15
  export declare type DialogRole = 'dialog' | 'alertdialog';
16
- /** Possible overrides for a dialog's position. */
17
- export interface DialogPosition {
18
- top?: string;
19
- bottom?: string;
20
- left?: string;
21
- right?: string;
22
- }
23
- export declare class DialogConfig<D = any> {
24
- /** Component to use as the container for the dialog. */
25
- containerComponent?: ComponentType<CdkDialogContainer>;
16
+ /** Configuration for opening a modal dialog. */
17
+ export declare class DialogConfig<D = unknown, R = unknown, C extends BasePortalOutlet = BasePortalOutlet> {
26
18
  /**
27
19
  * Where the attached component should live in Angular's *logical* component tree.
28
20
  * This affects what is available for injection and the change detection order for the
@@ -35,48 +27,85 @@ export declare class DialogConfig<D = any> {
35
27
  * takes precedence over the injector indirectly provided by `ViewContainerRef`.
36
28
  */
37
29
  injector?: Injector;
38
- /** The id of the dialog. */
30
+ /** ID for the dialog. If omitted, a unique one will be generated. */
39
31
  id?: string;
40
- /** The ARIA role of the dialog. */
32
+ /** The ARIA role of the dialog element. */
41
33
  role?: DialogRole;
42
- /** Custom class(es) for the overlay panel. */
34
+ /** Optional CSS class or classes applied to the overlay panel. */
43
35
  panelClass?: string | string[];
44
- /** Whether the dialog has a background. */
36
+ /** Whether the dialog has a backdrop. */
45
37
  hasBackdrop?: boolean;
46
- /** Custom class(es) for the backdrop. */
47
- backdropClass?: string | undefined;
48
- /** Whether the dialog can be closed by user interaction. */
38
+ /** Optional CSS class or classes applied to the overlay backdrop. */
39
+ backdropClass?: string | string[];
40
+ /** Whether the dialog closes with the escape key or pointer events outside the panel element. */
49
41
  disableClose?: boolean;
50
- /** The width of the dialog. */
42
+ /** Width of the dialog. */
51
43
  width?: string;
52
- /** The height of the dialog. */
44
+ /** Height of the dialog. */
53
45
  height?: string;
54
- /** The minimum width of the dialog. */
55
- minWidth?: string | number;
56
- /** The minimum height of the dialog. */
57
- minHeight?: string | number;
58
- /** The maximum width of the dialog. */
59
- maxWidth?: string | number;
60
- /** The maximum height of the dialog. */
61
- maxHeight?: string | number;
62
- /** The position of the dialog. */
63
- position?: DialogPosition;
64
- /** Data to be injected into the dialog content. */
46
+ /** Min-width of the dialog. If a number is provided, assumes pixel units. */
47
+ minWidth?: number | string;
48
+ /** Min-height of the dialog. If a number is provided, assumes pixel units. */
49
+ minHeight?: number | string;
50
+ /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */
51
+ maxWidth?: number | string;
52
+ /** Max-height of the dialog. If a number is provided, assumes pixel units. */
53
+ maxHeight?: number | string;
54
+ /** Strategy to use when positioning the dialog. Defaults to centering it on the page. */
55
+ positionStrategy?: PositionStrategy;
56
+ /** Data being injected into the child component. */
65
57
  data?: D | null;
66
- /** The layout direction for the dialog content. */
58
+ /** Layout direction for the dialog's content. */
67
59
  direction?: Direction;
68
60
  /** ID of the element that describes the dialog. */
69
61
  ariaDescribedBy?: string | null;
70
- /** Aria label to assign to the dialog element */
62
+ /** ID of the element that labels the dialog. */
63
+ ariaLabelledBy?: string | null;
64
+ /** Dialog label applied via `aria-label` */
71
65
  ariaLabel?: string | null;
66
+ /** Whether this a modal dialog. Used to set the `aria-modal` attribute. */
67
+ ariaModal?: boolean;
72
68
  /**
73
69
  * Where the dialog should focus on open.
74
70
  * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or
75
71
  * AutoFocusTarget instead.
76
72
  */
77
73
  autoFocus?: AutoFocusTarget | string | boolean;
78
- /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */
79
- enterAnimationDuration?: string;
80
- /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */
81
- exitAnimationDuration?: string;
74
+ /**
75
+ * Whether the dialog should restore focus to the
76
+ * previously-focused element upon closing.
77
+ */
78
+ restoreFocus?: boolean;
79
+ /**
80
+ * Scroll strategy to be used for the dialog. This determines how
81
+ * the dialog responds to scrolling underneath the panel element.
82
+ */
83
+ scrollStrategy?: ScrollStrategy;
84
+ /**
85
+ * Whether the dialog should close when the user navigates backwards or forwards through browser
86
+ * history. This does not apply to navigation via anchor element unless using URL-hash based
87
+ * routing (`HashLocationStrategy` in the Angular router).
88
+ */
89
+ closeOnNavigation?: boolean;
90
+ /** Alternate `ComponentFactoryResolver` to use when resolving the associated component. */
91
+ componentFactoryResolver?: ComponentFactoryResolver;
92
+ /**
93
+ * Providers that will be exposed to the contents of the dialog. Can also
94
+ * be provided as a function in order to generate the providers lazily.
95
+ */
96
+ providers?: StaticProvider[] | ((dialogRef: R, config: DialogConfig<D, R, C>, container: C) => StaticProvider[]);
97
+ /**
98
+ * Component into which the dialog content will be rendered. Defaults to `CdkDialogContainer`.
99
+ * A configuration object can be passed in to customize the providers that will be exposed
100
+ * to the dialog container.
101
+ */
102
+ container?: Type<C> | {
103
+ type: Type<C>;
104
+ providers: (config: DialogConfig<D, R, C>) => StaticProvider[];
105
+ };
106
+ /**
107
+ * Context that will be passed to template-based dialogs.
108
+ * A function can be passed in to resolve the context lazily.
109
+ */
110
+ templateContext?: Record<string, any> | (() => Record<string, any>);
82
111
  }
@@ -5,11 +5,10 @@
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 { AnimationEvent } from '@angular/animations';
9
- import { FocusTrapFactory, InteractivityChecker } from '@angular/cdk/a11y';
8
+ import { FocusMonitor, FocusOrigin, FocusTrapFactory, InteractivityChecker } from '@angular/cdk/a11y';
9
+ import { OverlayRef } from '@angular/cdk/overlay';
10
10
  import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, DomPortal, TemplatePortal } from '@angular/cdk/portal';
11
- import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, NgZone, OnDestroy } from '@angular/core';
12
- import { Subject } from 'rxjs';
11
+ import { AfterViewInit, ComponentRef, ElementRef, EmbeddedViewRef, NgZone, OnDestroy } from '@angular/core';
13
12
  import { DialogConfig } from './dialog-config';
14
13
  import * as i0 from "@angular/core";
15
14
  export declare function throwDialogContentAlreadyAttachedError(): void;
@@ -17,39 +16,36 @@ export declare function throwDialogContentAlreadyAttachedError(): void;
17
16
  * Internal component that wraps user-provided dialog content.
18
17
  * @docs-private
19
18
  */
20
- export declare class CdkDialogContainer extends BasePortalOutlet implements OnDestroy {
21
- private _elementRef;
22
- private _focusTrapFactory;
23
- private _changeDetectorRef;
24
- private readonly _interactivityChecker;
25
- private readonly _ngZone;
26
- /** The dialog configuration. */
27
- _config: DialogConfig;
28
- private readonly _document;
29
- /** State of the dialog animation. */
30
- _state: 'void' | 'enter' | 'exit';
31
- /** Element that was focused before the dialog was opened. Save this to restore upon close. */
32
- private _elementFocusedBeforeDialogWasOpened;
19
+ export declare class CdkDialogContainer<C extends DialogConfig = DialogConfig> extends BasePortalOutlet implements AfterViewInit, OnDestroy {
20
+ protected _elementRef: ElementRef;
21
+ protected _focusTrapFactory: FocusTrapFactory;
22
+ readonly _config: C;
23
+ private _interactivityChecker;
24
+ private _ngZone;
25
+ private _overlayRef;
26
+ private _focusMonitor?;
27
+ protected _document: Document;
28
+ /** The portal outlet inside of this container into which the dialog content will be loaded. */
29
+ _portalOutlet: CdkPortalOutlet;
33
30
  /** The class that traps and manages focus within the dialog. */
34
31
  private _focusTrap;
35
- /** The portal host inside of this container into which the dialog content will be loaded. */
36
- _portalHost: CdkPortalOutlet;
37
- /** A subject emitting before the dialog enters the view. */
38
- readonly _beforeEnter: Subject<void>;
39
- /** A subject emitting after the dialog enters the view. */
40
- readonly _afterEnter: Subject<void>;
41
- /** A subject emitting before the dialog exits the view. */
42
- readonly _beforeExit: Subject<void>;
43
- /** A subject emitting after the dialog exits the view. */
44
- readonly _afterExit: Subject<void>;
45
- /** Stream of animation `done` events. */
46
- readonly _animationDone: Subject<AnimationEvent>;
47
- constructor(_elementRef: ElementRef<HTMLElement>, _focusTrapFactory: FocusTrapFactory, _changeDetectorRef: ChangeDetectorRef, _interactivityChecker: InteractivityChecker, _ngZone: NgZone, _document: any,
48
- /** The dialog configuration. */
49
- _config: DialogConfig);
50
- /** Initializes the dialog container with the attached content. */
51
- _initializeWithAttachedContent(): void;
52
- /** Destroy focus trap to place focus back to the element focused before the dialog opened. */
32
+ /** Element that was focused before the dialog was opened. Save this to restore upon close. */
33
+ private _elementFocusedBeforeDialogWasOpened;
34
+ /**
35
+ * Type of interaction that led to the dialog being closed. This is used to determine
36
+ * whether the focus style will be applied when returning focus to its original location
37
+ * after the dialog is closed.
38
+ */
39
+ _closeInteractionType: FocusOrigin | null;
40
+ /** ID of the element that should be considered as the dialog's label. */
41
+ _ariaLabelledBy: string | null;
42
+ constructor(_elementRef: ElementRef, _focusTrapFactory: FocusTrapFactory, _document: any, _config: C, _interactivityChecker: InteractivityChecker, _ngZone: NgZone, _overlayRef: OverlayRef, _focusMonitor?: FocusMonitor | undefined);
43
+ ngAfterViewInit(): void;
44
+ /**
45
+ * Can be used by child classes to customize the initial focus
46
+ * capturing behavior (e.g. if it's tied to an animation).
47
+ */
48
+ protected _captureInitialFocus(): void;
53
49
  ngOnDestroy(): void;
54
50
  /**
55
51
  * Attach a ComponentPortal as content to this dialog container.
@@ -60,7 +56,7 @@ export declare class CdkDialogContainer extends BasePortalOutlet implements OnDe
60
56
  * Attach a TemplatePortal as content to this dialog container.
61
57
  * @param portal Portal to be attached as the dialog content.
62
58
  */
63
- attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
59
+ attachTemplatePortal<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;
64
60
  /**
65
61
  * Attaches a DOM portal to the dialog container.
66
62
  * @param portal Portal to be attached.
@@ -68,14 +64,6 @@ export declare class CdkDialogContainer extends BasePortalOutlet implements OnDe
68
64
  * @breaking-change 10.0.0
69
65
  */
70
66
  attachDomPortal: (portal: DomPortal) => void;
71
- /** Emit lifecycle events based on animation `start` callback. */
72
- _onAnimationStart(event: AnimationEvent): void;
73
- /** Starts the dialog exit animation. */
74
- _startExiting(): void;
75
- /** Saves a reference to the element that was focused before the dialog was opened. */
76
- private _savePreviouslyFocusedElement;
77
- /** Focuses the dialog container. */
78
- private _focusDialogContainer;
79
67
  /**
80
68
  * Focuses the provided element. If the element is not focusable, it will add a tabIndex
81
69
  * attribute to forcefully focus it. The attribute is removed after focus is moved.
@@ -88,12 +76,20 @@ export declare class CdkDialogContainer extends BasePortalOutlet implements OnDe
88
76
  */
89
77
  private _focusByCssSelector;
90
78
  /**
91
- * Autofocus the element specified by the autoFocus field. When autoFocus is not 'dialog', if
92
- * for some reason the element cannot be focused, the dialog container will be focused.
79
+ * Moves the focus inside the focus trap. When autoFocus is not set to 'dialog', if focus
80
+ * cannot be moved then focus will go to the dialog container.
93
81
  */
94
- private _autoFocus;
95
- /** Returns the focus to the element focused before the dialog was open. */
96
- private _returnFocusAfterDialog;
97
- static ɵfac: i0.ɵɵFactoryDeclaration<CdkDialogContainer, [null, null, null, null, null, { optional: true; }, null]>;
98
- static ɵcmp: i0.ɵɵComponentDeclaration<CdkDialogContainer, "cdk-dialog-container", never, {}, {}, never, never>;
82
+ protected _trapFocus(): void;
83
+ /** Restores focus to the element that was focused before the dialog opened. */
84
+ private _restoreFocus;
85
+ /** Focuses the dialog container. */
86
+ private _focusDialogContainer;
87
+ /** Returns whether focus is inside the dialog. */
88
+ private _containsFocus;
89
+ /** Sets up the focus trap. */
90
+ private _initializeFocusTrap;
91
+ /** Sets up the listener that handles clicks on the dialog backdrop. */
92
+ private _handleBackdropClicks;
93
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkDialogContainer<any>, [null, null, { optional: true; }, null, null, null, null, null]>;
94
+ static ɵcmp: i0.ɵɵComponentDeclaration<CdkDialogContainer<any>, "cdk-dialog-container", never, {}, {}, never, never>;
99
95
  }
@@ -6,25 +6,19 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { InjectionToken } from '@angular/core';
9
- import { ComponentType, Overlay, ScrollStrategy } from '@angular/cdk/overlay';
10
- import { DialogRef } from './dialog-ref';
11
- import { CdkDialogContainer } from './dialog-container';
9
+ import { Overlay, ScrollStrategy } from '@angular/cdk/overlay';
12
10
  import { DialogConfig } from './dialog-config';
13
11
  /** Injection token for the Dialog's ScrollStrategy. */
14
12
  export declare const DIALOG_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>;
15
13
  /** Injection token for the Dialog's Data. */
16
14
  export declare const DIALOG_DATA: InjectionToken<any>;
17
- /** Injection token for the DialogRef constructor. */
18
- export declare const DIALOG_REF: InjectionToken<DialogRef<any, any>>;
19
- /** Injection token for the DialogConfig. */
20
- export declare const DIALOG_CONFIG: InjectionToken<DialogConfig<any>>;
21
- /** Injection token for the Dialog's DialogContainer component. */
22
- export declare const DIALOG_CONTAINER: InjectionToken<ComponentType<CdkDialogContainer>>;
15
+ /** Injection token that can be used to provide default options for the dialog module. */
16
+ export declare const DEFAULT_DIALOG_CONFIG: InjectionToken<DialogConfig<unknown, unknown, import("@angular/cdk/portal").BasePortalOutlet>>;
23
17
  /** @docs-private */
24
- export declare function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay): () => ScrollStrategy;
18
+ export declare function DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay): () => ScrollStrategy;
25
19
  /** @docs-private */
26
- export declare const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER: {
20
+ export declare const DIALOG_SCROLL_STRATEGY_PROVIDER: {
27
21
  provide: InjectionToken<() => ScrollStrategy>;
28
22
  deps: (typeof Overlay)[];
29
- useFactory: typeof MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY;
23
+ useFactory: typeof DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY;
30
24
  };
@@ -5,53 +5,60 @@
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 { OverlayRef, OverlaySizeConfig } from '@angular/cdk/overlay';
8
+ import { OverlayRef } from '@angular/cdk/overlay';
9
9
  import { Observable } from 'rxjs';
10
- import { DialogPosition } from './dialog-config';
11
- import { CdkDialogContainer } from './dialog-container';
10
+ import { DialogConfig } from './dialog-config';
11
+ import { FocusOrigin } from '@angular/cdk/a11y';
12
+ import { BasePortalOutlet } from '@angular/cdk/portal';
13
+ /** Additional options that can be passed in when closing a dialog. */
14
+ export interface DialogCloseOptions {
15
+ /** Focus original to use when restoring focus. */
16
+ focusOrigin?: FocusOrigin;
17
+ }
12
18
  /**
13
19
  * Reference to a dialog opened via the Dialog service.
14
20
  */
15
- export declare class DialogRef<T, R = any> {
16
- _overlayRef: OverlayRef;
17
- protected _containerInstance: CdkDialogContainer;
18
- readonly id: string;
19
- /** The instance of the component in the dialog. */
20
- componentInstance: T;
21
+ export declare class DialogRef<R = unknown, C = unknown> {
22
+ readonly overlayRef: OverlayRef;
23
+ readonly config: DialogConfig<any, DialogRef<R, C>, BasePortalOutlet>;
24
+ /**
25
+ * Instance of component opened into the dialog. Will be
26
+ * null when the dialog is opened using a `TemplateRef`.
27
+ */
28
+ componentInstance: C | null;
29
+ /** Instance of the container that is rendering out the dialog content. */
30
+ containerInstance: BasePortalOutlet & {
31
+ _closeInteractionType?: FocusOrigin;
32
+ };
21
33
  /** Whether the user is allowed to close the dialog. */
22
34
  disableClose: boolean | undefined;
23
- /** Result to be passed to afterClosed. */
24
- private _result;
25
- constructor(_overlayRef: OverlayRef, _containerInstance: CdkDialogContainer, id?: string);
26
- /** Gets an observable that emits when the overlay's backdrop has been clicked. */
27
- backdropClick(): Observable<MouseEvent>;
35
+ /** Emits when the dialog has been closed. */
36
+ readonly closed: Observable<R | undefined>;
37
+ /** Emits when the backdrop of the dialog is clicked. */
38
+ readonly backdropClick: Observable<MouseEvent>;
39
+ /** Emits when on keyboard events within the dialog. */
40
+ readonly keydownEvents: Observable<KeyboardEvent>;
41
+ /** Emits on pointer events that happen outside of the dialog. */
42
+ readonly outsidePointerEvents: Observable<MouseEvent>;
43
+ /** Unique ID for the dialog. */
44
+ readonly id: string;
45
+ constructor(overlayRef: OverlayRef, config: DialogConfig<any, DialogRef<R, C>, BasePortalOutlet>);
28
46
  /**
29
47
  * Close the dialog.
30
- * @param dialogResult Optional result to return to the dialog opener.
31
- */
32
- close(dialogResult?: R): void;
33
- /**
34
- * Updates the dialog's position.
35
- * @param position New dialog position.
36
- */
37
- updatePosition(position?: DialogPosition): this;
38
- /**
39
- * Gets an observable that emits when keydown events are targeted on the overlay.
48
+ * @param result Optional result to return to the dialog opener.
49
+ * @param options Additional options to customize the closing behavior.
40
50
  */
41
- keydownEvents(): Observable<KeyboardEvent>;
51
+ close(result?: R, options?: DialogCloseOptions): void;
52
+ /** Updates the dialog's position. */
53
+ updatePosition(): this;
42
54
  /**
43
- * Updates the dialog's width and height, defined, min and max.
44
- * @param size New size for the overlay.
55
+ * Updates the dialog's width and height.
56
+ * @param width New width of the dialog.
57
+ * @param height New height of the dialog.
45
58
  */
46
- updateSize(size: OverlaySizeConfig): this;
47
- /** Fetches the position strategy object from the overlay ref. */
48
- private _getPositionStrategy;
49
- /** Gets an observable that emits when dialog begins opening. */
50
- beforeOpened(): Observable<void>;
51
- /** Gets an observable that emits when dialog is finished opening. */
52
- afterOpened(): Observable<void>;
53
- /** Gets an observable that emits when dialog begins closing. */
54
- beforeClosed(): Observable<R | undefined>;
55
- /** Gets an observable that emits when dialog is finished closing. */
56
- afterClosed(): Observable<R | undefined>;
59
+ updateSize(width?: string, height?: string): this;
60
+ /** Add a CSS class or an array of classes to the overlay pane. */
61
+ addPanelClass(classes: string | string[]): this;
62
+ /** Remove a CSS class or an array of classes from the overlay pane. */
63
+ removePanelClass(classes: string | string[]): this;
57
64
  }
@@ -5,96 +5,99 @@
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 { TemplateRef, Injector, OnDestroy, Type } from '@angular/core';
8
+ import { TemplateRef, Injector, OnDestroy } from '@angular/core';
9
9
  import { Observable, Subject } from 'rxjs';
10
10
  import { DialogRef } from './dialog-ref';
11
- import { Location } from '@angular/common';
12
11
  import { DialogConfig } from './dialog-config';
13
- import { CdkDialogContainer } from './dialog-container';
14
- import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';
12
+ import { ComponentType, Overlay, OverlayContainer } from '@angular/cdk/overlay';
15
13
  import * as i0 from "@angular/core";
16
- /**
17
- * Service to open modal dialogs.
18
- */
19
14
  export declare class Dialog implements OnDestroy {
20
15
  private _overlay;
21
16
  private _injector;
22
- private _dialogRefConstructor;
17
+ private _defaultOptions;
23
18
  private _parentDialog;
19
+ private _overlayContainer;
20
+ private _openDialogsAtThisLevel;
21
+ private readonly _afterAllClosedAtThisLevel;
22
+ private readonly _afterOpenedAtThisLevel;
23
+ private _ariaHiddenElements;
24
24
  private _scrollStrategy;
25
- /** Stream that emits when all dialogs are closed. */
26
- _getAfterAllClosed(): Observable<void>;
27
- readonly _afterAllClosedBase: Subject<void>;
28
- afterAllClosed: Observable<void>;
29
- /** Stream that emits when a dialog is opened. */
30
- get afterOpened(): Subject<DialogRef<any>>;
31
- readonly _afterOpened: Subject<DialogRef<any, any>>;
32
- /** Stream that emits when a dialog is opened. */
33
- get openDialogs(): DialogRef<any>[];
34
- _openDialogs: DialogRef<any>[];
35
- constructor(_overlay: Overlay, _injector: Injector, _dialogRefConstructor: Type<DialogRef<any>>, scrollStrategy: any, _parentDialog: Dialog, location: Location);
36
- /** Gets an open dialog by id. */
37
- getById(id: string): DialogRef<any> | undefined;
38
- /** Closes all open dialogs. */
25
+ /** Keeps track of the currently-open dialogs. */
26
+ get openDialogs(): DialogRef<any, any>[];
27
+ /** Stream that emits when a dialog has been opened. */
28
+ get afterOpened(): Subject<DialogRef<any, any>>;
29
+ /**
30
+ * Stream that emits when all open dialog have finished closing.
31
+ * Will emit on subscribe if there are no open dialogs to begin with.
32
+ */
33
+ readonly afterAllClosed: Observable<void>;
34
+ constructor(_overlay: Overlay, _injector: Injector, _defaultOptions: DialogConfig, _parentDialog: Dialog, _overlayContainer: OverlayContainer, scrollStrategy: any);
35
+ /**
36
+ * Opens a modal dialog containing the given component.
37
+ * @param component Type of the component to load into the dialog.
38
+ * @param config Extra configuration options.
39
+ * @returns Reference to the newly-opened dialog.
40
+ */
41
+ open<R = unknown, D = unknown, C = unknown>(component: ComponentType<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;
42
+ /**
43
+ * Opens a modal dialog containing the given template.
44
+ * @param template TemplateRef to instantiate as the dialog content.
45
+ * @param config Extra configuration options.
46
+ * @returns Reference to the newly-opened dialog.
47
+ */
48
+ open<R = unknown, D = unknown, C = unknown>(template: TemplateRef<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;
49
+ open<R = unknown, D = unknown, C = unknown>(componentOrTemplateRef: ComponentType<C> | TemplateRef<C>, config?: DialogConfig<D, DialogRef<R, C>>): DialogRef<R, C>;
50
+ /**
51
+ * Closes all of the currently-open dialogs.
52
+ */
39
53
  closeAll(): void;
40
- /** Opens a dialog from a component. */
41
- openFromComponent<T>(component: ComponentType<T>, config?: DialogConfig): DialogRef<any>;
42
- /** Opens a dialog from a template. */
43
- openFromTemplate<T>(template: TemplateRef<T>, config?: DialogConfig): DialogRef<any>;
44
- ngOnDestroy(): void;
45
54
  /**
46
- * Forwards emitting events for when dialogs are opened and all dialogs are closed.
55
+ * Finds an open dialog by its id.
56
+ * @param id ID to use when looking up the dialog.
47
57
  */
48
- private _registerDialogRef;
58
+ getDialogById<R, C>(id: string): DialogRef<R, C> | undefined;
59
+ ngOnDestroy(): void;
49
60
  /**
50
61
  * Creates an overlay config from a dialog config.
51
62
  * @param config The dialog configuration.
52
63
  * @returns The overlay configuration.
53
64
  */
54
- protected _createOverlay(config: DialogConfig): OverlayRef;
65
+ private _getOverlayConfig;
55
66
  /**
56
- * Attaches an MatDialogContainer to a dialog's already-created overlay.
67
+ * Attaches a dialog container to a dialog's already-created overlay.
57
68
  * @param overlay Reference to the dialog's underlying overlay.
58
69
  * @param config The dialog configuration.
59
70
  * @returns A promise resolving to a ComponentRef for the attached container.
60
71
  */
61
- protected _attachDialogContainer(overlay: OverlayRef, config: DialogConfig): CdkDialogContainer;
72
+ private _attachContainer;
62
73
  /**
63
- * Attaches the user-provided component to the already-created MatDialogContainer.
74
+ * Attaches the user-provided component to the already-created dialog container.
64
75
  * @param componentOrTemplateRef The type of component being loaded into the dialog,
65
76
  * or a TemplateRef to instantiate as the content.
66
- * @param dialogContainer Reference to the wrapping MatDialogContainer.
67
- * @param overlayRef Reference to the overlay in which the dialog resides.
68
- * @param config The dialog configuration.
69
- * @returns A promise resolving to the MatDialogRef that should be returned to the user.
70
- */
71
- protected _attachDialogContentForComponent<T>(componentOrTemplateRef: ComponentType<T>, dialogContainer: CdkDialogContainer, overlayRef: OverlayRef, config: DialogConfig): DialogRef<any>;
72
- /**
73
- * Attaches the user-provided component to the already-created MatDialogContainer.
74
- * @param componentOrTemplateRef The type of component being loaded into the dialog,
75
- * or a TemplateRef to instantiate as the content.
76
- * @param dialogContainer Reference to the wrapping MatDialogContainer.
77
- * @param overlayRef Reference to the overlay in which the dialog resides.
78
- * @param config The dialog configuration.
79
- * @returns A promise resolving to the MatDialogRef that should be returned to the user.
77
+ * @param dialogRef Reference to the dialog being opened.
78
+ * @param dialogContainer Component that is going to wrap the dialog content.
79
+ * @param config Configuration used to open the dialog.
80
80
  */
81
- protected _attachDialogContentForTemplate<T>(componentOrTemplateRef: TemplateRef<T>, dialogContainer: CdkDialogContainer, overlayRef: OverlayRef, config: DialogConfig): DialogRef<any>;
81
+ private _attachDialogContent;
82
82
  /**
83
83
  * Creates a custom injector to be used inside the dialog. This allows a component loaded inside
84
84
  * of a dialog to close itself and, optionally, to return a value.
85
85
  * @param config Config object that is used to construct the dialog.
86
- * @param dialogRef Reference to the dialog.
87
- * @param container Dialog container element that wraps all of the contents.
86
+ * @param dialogRef Reference to the dialog being opened.
87
+ * @param dialogContainer Component that is going to wrap the dialog content.
88
88
  * @returns The custom injector that can be used inside the dialog.
89
89
  */
90
90
  private _createInjector;
91
- /** Creates a new dialog ref. */
92
- private _createDialogRef;
93
91
  /**
94
- * Expands the provided configuration object to include the default values for properties which
95
- * are undefined.
92
+ * Removes a dialog from the array of open dialogs.
93
+ * @param dialogRef Dialog to be removed.
96
94
  */
97
- private _applyConfigDefaults;
98
- static ɵfac: i0.ɵɵFactoryDeclaration<Dialog, [null, null, null, null, { optional: true; skipSelf: true; }, { optional: true; }]>;
95
+ private _removeOpenDialog;
96
+ /** Hides all of the content that isn't an overlay from assistive technology. */
97
+ private _hideNonDialogContentFromAssistiveTechnology;
98
+ /** Closes all of the dialogs in an array. */
99
+ private _closeDialogs;
100
+ private _getAfterAllClosed;
101
+ static ɵfac: i0.ɵɵFactoryDeclaration<Dialog, [null, null, { optional: true; }, { optional: true; skipSelf: true; }, null, null]>;
99
102
  static ɵprov: i0.ɵɵInjectableDeclaration<Dialog>;
100
103
  }
@@ -30,13 +30,13 @@ export class CdkColumnResizeFlex extends ColumnResize {
30
30
  this.table = table;
31
31
  }
32
32
  }
33
- CdkColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeFlex, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
34
- CdkColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: CdkColumnResizeFlex, selector: "cdk-table[columnResize]", providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: CdkColumnResizeFlex, decorators: [{
33
+ CdkColumnResizeFlex.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: CdkColumnResizeFlex, deps: [{ token: i1.ColumnResizeNotifier }, { token: i0.ElementRef }, { token: i2.HeaderRowEventDispatcher }, { token: i0.NgZone }, { token: i1.ColumnResizeNotifierSource }, { token: i3.CdkTable }], target: i0.ɵɵFactoryTarget.Directive });
34
+ CdkColumnResizeFlex.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: CdkColumnResizeFlex, selector: "cdk-table[columnResize]", providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }], usesInheritance: true, ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: CdkColumnResizeFlex, decorators: [{
36
36
  type: Directive,
37
37
  args: [{
38
38
  selector: 'cdk-table[columnResize]',
39
39
  providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: CdkColumnResizeFlex }],
40
40
  }]
41
41
  }], ctorParameters: function () { return [{ type: i1.ColumnResizeNotifier }, { type: i0.ElementRef }, { type: i2.HeaderRowEventDispatcher }, { type: i0.NgZone }, { type: i1.ColumnResizeNotifierSource }, { type: i3.CdkTable }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS1mbGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay1leHBlcmltZW50YWwvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLWRpcmVjdGl2ZXMvY29sdW1uLXJlc2l6ZS1mbGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7Ozs7O0FBRTNDOzs7R0FHRztBQUtILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFZO0lBQ25ELFlBQ1csb0JBQTBDLEVBQzFDLFVBQW1DLEVBQ3pCLGVBQXlDLEVBQ3pDLE1BQWMsRUFDZCxRQUFvQyxFQUNwQyxLQUF3QjtRQUUzQyxLQUFLLEVBQUUsQ0FBQztRQVBDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUNwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUc3QyxDQUFDOzt1SEFWVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixrREFGbkIsQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLENBQUM7a0dBRTlFLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxxQkFBcUIsRUFBQyxDQUFDO2lCQUMxRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2RrVGFibGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5cbmltcG9ydCB7Q29sdW1uUmVzaXplfSBmcm9tICcuLi9jb2x1bW4tcmVzaXplJztcbmltcG9ydCB7Q29sdW1uUmVzaXplTm90aWZpZXIsIENvbHVtblJlc2l6ZU5vdGlmaWVyU291cmNlfSBmcm9tICcuLi9jb2x1bW4tcmVzaXplLW5vdGlmaWVyJztcbmltcG9ydCB7SGVhZGVyUm93RXZlbnREaXNwYXRjaGVyfSBmcm9tICcuLi9ldmVudC1kaXNwYXRjaGVyJztcbmltcG9ydCB7RkxFWF9QUk9WSURFUlN9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLyoqXG4gKiBFeHBsaWNpdGx5IGVuYWJsZXMgY29sdW1uIHJlc2l6aW5nIGZvciBhIGZsZXhib3gtYmFzZWQgY2RrLXRhYmxlLlxuICogSW5kaXZpZHVhbCBjb2x1bW5zIG11c3QgYmUgYW5ub3RhdGVkIHNwZWNpZmljYWxseS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnY2RrLXRhYmxlW2NvbHVtblJlc2l6ZV0nLFxuICBwcm92aWRlcnM6IFsuLi5GTEVYX1BST1ZJREVSUywge3Byb3ZpZGU6IENvbHVtblJlc2l6ZSwgdXNlRXhpc3Rpbmc6IENka0NvbHVtblJlc2l6ZUZsZXh9XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrQ29sdW1uUmVzaXplRmxleCBleHRlbmRzIENvbHVtblJlc2l6ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGNvbHVtblJlc2l6ZU5vdGlmaWVyOiBDb2x1bW5SZXNpemVOb3RpZmllcixcbiAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXZlbnREaXNwYXRjaGVyOiBIZWFkZXJSb3dFdmVudERpc3BhdGNoZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RpZmllcjogQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlOiBDZGtUYWJsZTx1bmtub3duPixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS1mbGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Nkay1leHBlcmltZW50YWwvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLWRpcmVjdGl2ZXMvY29sdW1uLXJlc2l6ZS1mbGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFNUMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7Ozs7O0FBRTNDOzs7R0FHRztBQUtILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFZO0lBQ25ELFlBQ1csb0JBQTBDLEVBQzFDLFVBQW1DLEVBQ3pCLGVBQXlDLEVBQ3pDLE1BQWMsRUFDZCxRQUFvQyxFQUNwQyxLQUF3QjtRQUUzQyxLQUFLLEVBQUUsQ0FBQztRQVBDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUNwQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUc3QyxDQUFDOzt3SEFWVSxtQkFBbUI7NEdBQW5CLG1CQUFtQixrREFGbkIsQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFDLENBQUM7bUdBRTlFLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLGNBQWMsRUFBRSxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxxQkFBcUIsRUFBQyxDQUFDO2lCQUMxRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgTmdab25lfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2RrVGFibGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XG5cbmltcG9ydCB7Q29sdW1uUmVzaXplfSBmcm9tICcuLi9jb2x1bW4tcmVzaXplJztcbmltcG9ydCB7Q29sdW1uUmVzaXplTm90aWZpZXIsIENvbHVtblJlc2l6ZU5vdGlmaWVyU291cmNlfSBmcm9tICcuLi9jb2x1bW4tcmVzaXplLW5vdGlmaWVyJztcbmltcG9ydCB7SGVhZGVyUm93RXZlbnREaXNwYXRjaGVyfSBmcm9tICcuLi9ldmVudC1kaXNwYXRjaGVyJztcbmltcG9ydCB7RkxFWF9QUk9WSURFUlN9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLyoqXG4gKiBFeHBsaWNpdGx5IGVuYWJsZXMgY29sdW1uIHJlc2l6aW5nIGZvciBhIGZsZXhib3gtYmFzZWQgY2RrLXRhYmxlLlxuICogSW5kaXZpZHVhbCBjb2x1bW5zIG11c3QgYmUgYW5ub3RhdGVkIHNwZWNpZmljYWxseS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnY2RrLXRhYmxlW2NvbHVtblJlc2l6ZV0nLFxuICBwcm92aWRlcnM6IFsuLi5GTEVYX1BST1ZJREVSUywge3Byb3ZpZGU6IENvbHVtblJlc2l6ZSwgdXNlRXhpc3Rpbmc6IENka0NvbHVtblJlc2l6ZUZsZXh9XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2RrQ29sdW1uUmVzaXplRmxleCBleHRlbmRzIENvbHVtblJlc2l6ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGNvbHVtblJlc2l6ZU5vdGlmaWVyOiBDb2x1bW5SZXNpemVOb3RpZmllcixcbiAgICByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXZlbnREaXNwYXRjaGVyOiBIZWFkZXJSb3dFdmVudERpc3BhdGNoZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBub3RpZmllcjogQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRhYmxlOiBDZGtUYWJsZTx1bmtub3duPixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19