@dugararchit/cdk 0.0.0-dugararchit

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 (206) hide show
  1. package/_index.scss +8 -0
  2. package/a11y/_index.import.scss +2 -0
  3. package/a11y/_index.scss +102 -0
  4. package/a11y/a11y-prebuilt.scss +3 -0
  5. package/fesm2022/stagefright5-cdk-a11y.mjs +2381 -0
  6. package/fesm2022/stagefright5-cdk-a11y.mjs.map +1 -0
  7. package/fesm2022/stagefright5-cdk-accordion.mjs +267 -0
  8. package/fesm2022/stagefright5-cdk-accordion.mjs.map +1 -0
  9. package/fesm2022/stagefright5-cdk-bidi.mjs +185 -0
  10. package/fesm2022/stagefright5-cdk-bidi.mjs.map +1 -0
  11. package/fesm2022/stagefright5-cdk-clipboard.mjs +250 -0
  12. package/fesm2022/stagefright5-cdk-clipboard.mjs.map +1 -0
  13. package/fesm2022/stagefright5-cdk-coercion.mjs +128 -0
  14. package/fesm2022/stagefright5-cdk-coercion.mjs.map +1 -0
  15. package/fesm2022/stagefright5-cdk-collections.mjs +472 -0
  16. package/fesm2022/stagefright5-cdk-collections.mjs.map +1 -0
  17. package/fesm2022/stagefright5-cdk-drag-drop.mjs +3690 -0
  18. package/fesm2022/stagefright5-cdk-drag-drop.mjs.map +1 -0
  19. package/fesm2022/stagefright5-cdk-keycodes.mjs +159 -0
  20. package/fesm2022/stagefright5-cdk-keycodes.mjs.map +1 -0
  21. package/fesm2022/stagefright5-cdk-layout.mjs +246 -0
  22. package/fesm2022/stagefright5-cdk-layout.mjs.map +1 -0
  23. package/fesm2022/stagefright5-cdk-observers.mjs +203 -0
  24. package/fesm2022/stagefright5-cdk-observers.mjs.map +1 -0
  25. package/fesm2022/stagefright5-cdk-overlay.mjs +3033 -0
  26. package/fesm2022/stagefright5-cdk-overlay.mjs.map +1 -0
  27. package/fesm2022/stagefright5-cdk-platform.mjs +375 -0
  28. package/fesm2022/stagefright5-cdk-platform.mjs.map +1 -0
  29. package/fesm2022/stagefright5-cdk-portal.mjs +672 -0
  30. package/fesm2022/stagefright5-cdk-portal.mjs.map +1 -0
  31. package/fesm2022/stagefright5-cdk-scrolling.mjs +1399 -0
  32. package/fesm2022/stagefright5-cdk-scrolling.mjs.map +1 -0
  33. package/fesm2022/stagefright5-cdk-stepper.mjs +624 -0
  34. package/fesm2022/stagefright5-cdk-stepper.mjs.map +1 -0
  35. package/fesm2022/stagefright5-cdk-table.mjs +2346 -0
  36. package/fesm2022/stagefright5-cdk-table.mjs.map +1 -0
  37. package/fesm2022/stagefright5-cdk-testing-protractor.mjs +324 -0
  38. package/fesm2022/stagefright5-cdk-testing-protractor.mjs.map +1 -0
  39. package/fesm2022/stagefright5-cdk-testing-selenium-webdriver.mjs +364 -0
  40. package/fesm2022/stagefright5-cdk-testing-selenium-webdriver.mjs.map +1 -0
  41. package/fesm2022/stagefright5-cdk-testing-testbed.mjs +806 -0
  42. package/fesm2022/stagefright5-cdk-testing-testbed.mjs.map +1 -0
  43. package/fesm2022/stagefright5-cdk-testing.mjs +740 -0
  44. package/fesm2022/stagefright5-cdk-testing.mjs.map +1 -0
  45. package/fesm2022/stagefright5-cdk-text-field.mjs +453 -0
  46. package/fesm2022/stagefright5-cdk-text-field.mjs.map +1 -0
  47. package/fesm2022/stagefright5-cdk-tree.mjs +945 -0
  48. package/fesm2022/stagefright5-cdk-tree.mjs.map +1 -0
  49. package/fesm2022/stagefright5-cdk.mjs +26 -0
  50. package/fesm2022/stagefright5-cdk.mjs.map +1 -0
  51. package/overlay/_index-deprecated.scss +13 -0
  52. package/overlay/_index.import.scss +13 -0
  53. package/overlay/_index.scss +148 -0
  54. package/overlay/overlay-prebuilt.scss +3 -0
  55. package/package.json +159 -0
  56. package/schematics/ng-update/test-cases/misc/global-stylesheets-test.scss +3 -0
  57. package/schematics/schematics/BUILD.bazel +104 -0
  58. package/schematics/schematics/README.md +4 -0
  59. package/schematics/schematics/collection.json +18 -0
  60. package/schematics/schematics/index.ts +22 -0
  61. package/schematics/schematics/migration.json +50 -0
  62. package/schematics/schematics/ng-add/index.spec.ts +50 -0
  63. package/schematics/schematics/ng-add/index.ts +39 -0
  64. package/schematics/schematics/ng-add/package-config.ts +62 -0
  65. package/schematics/schematics/ng-add/schema.json +16 -0
  66. package/schematics/schematics/ng-add/schema.ts +12 -0
  67. package/schematics/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.__style__.template +53 -0
  68. package/schematics/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +17 -0
  69. package/schematics/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template +29 -0
  70. package/schematics/schematics/ng-generate/drag-drop/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +43 -0
  71. package/schematics/schematics/ng-generate/drag-drop/index.spec.ts +205 -0
  72. package/schematics/schematics/ng-generate/drag-drop/index.ts +35 -0
  73. package/schematics/schematics/ng-generate/drag-drop/schema.json +93 -0
  74. package/schematics/schematics/ng-generate/drag-drop/schema.ts +11 -0
  75. package/schematics/schematics/ng-update/data/attribute-selectors.ts +29 -0
  76. package/schematics/schematics/ng-update/data/class-names.ts +50 -0
  77. package/schematics/schematics/ng-update/data/constructor-checks.ts +75 -0
  78. package/schematics/schematics/ng-update/data/css-selectors.ts +33 -0
  79. package/schematics/schematics/ng-update/data/element-selectors.ts +21 -0
  80. package/schematics/schematics/ng-update/data/index.ts +18 -0
  81. package/schematics/schematics/ng-update/data/input-names.ts +118 -0
  82. package/schematics/schematics/ng-update/data/method-call-checks.ts +63 -0
  83. package/schematics/schematics/ng-update/data/output-names.ts +42 -0
  84. package/schematics/schematics/ng-update/data/property-names.ts +151 -0
  85. package/schematics/schematics/ng-update/data/symbol-removal.ts +22 -0
  86. package/schematics/schematics/ng-update/devkit-file-system.ts +87 -0
  87. package/schematics/schematics/ng-update/devkit-migration-rule.ts +185 -0
  88. package/schematics/schematics/ng-update/devkit-migration.ts +47 -0
  89. package/schematics/schematics/ng-update/find-stylesheets.ts +43 -0
  90. package/schematics/schematics/ng-update/html-parsing/angular.ts +49 -0
  91. package/schematics/schematics/ng-update/html-parsing/elements.ts +66 -0
  92. package/schematics/schematics/ng-update/index.ts +113 -0
  93. package/schematics/schematics/ng-update/migrations/attribute-selectors.ts +83 -0
  94. package/schematics/schematics/ng-update/migrations/class-inheritance.ts +63 -0
  95. package/schematics/schematics/ng-update/migrations/class-names.ts +107 -0
  96. package/schematics/schematics/ng-update/migrations/constructor-signature.ts +170 -0
  97. package/schematics/schematics/ng-update/migrations/css-selectors.ts +83 -0
  98. package/schematics/schematics/ng-update/migrations/element-selectors.ts +75 -0
  99. package/schematics/schematics/ng-update/migrations/input-names.ts +83 -0
  100. package/schematics/schematics/ng-update/migrations/method-call-arguments.ts +70 -0
  101. package/schematics/schematics/ng-update/migrations/misc-template.ts +36 -0
  102. package/schematics/schematics/ng-update/migrations/output-names.ts +61 -0
  103. package/schematics/schematics/ng-update/migrations/property-names.ts +61 -0
  104. package/schematics/schematics/ng-update/migrations/symbol-removal.ts +51 -0
  105. package/schematics/schematics/ng-update/migrations/tilde-import-v13/tilde-import-migration.ts +40 -0
  106. package/schematics/schematics/ng-update/public-api.ts +18 -0
  107. package/schematics/schematics/ng-update/test-cases/index.spec.ts +18 -0
  108. package/schematics/schematics/ng-update/test-cases/misc/external-resource-resolution.spec.ts +32 -0
  109. package/schematics/schematics/ng-update/test-cases/misc/external-resource-resolution_input.ts +22 -0
  110. package/schematics/schematics/ng-update/test-cases/misc/global-stylesheets-test.scss +3 -0
  111. package/schematics/schematics/ng-update/test-cases/misc/global-stylesheets.spec.ts +50 -0
  112. package/schematics/schematics/ng-update/test-cases/misc/global-stylesheets_input.ts +8 -0
  113. package/schematics/schematics/ng-update/test-cases/misc/method-call-checks.spec.ts +20 -0
  114. package/schematics/schematics/ng-update/test-cases/misc/method-call-checks_input.ts +18 -0
  115. package/schematics/schematics/ng-update/test-cases/misc/module-resolution.spec.ts +27 -0
  116. package/schematics/schematics/ng-update/test-cases/v13/misc/tilde-import-v13.spec.ts +149 -0
  117. package/schematics/schematics/ng-update/test-cases/v6/attribute-selectors_expected_output.ts +36 -0
  118. package/schematics/schematics/ng-update/test-cases/v6/attribute-selectors_input.ts +36 -0
  119. package/schematics/schematics/ng-update/test-cases/v6/class-names_expected_output.ts +8 -0
  120. package/schematics/schematics/ng-update/test-cases/v6/class-names_input.ts +8 -0
  121. package/schematics/schematics/ng-update/test-cases/v6/input-names_expected_output.ts +22 -0
  122. package/schematics/schematics/ng-update/test-cases/v6/input-names_input.ts +22 -0
  123. package/schematics/schematics/ng-update/test-cases/v6/property-names_expected_output.ts +64 -0
  124. package/schematics/schematics/ng-update/test-cases/v6/property-names_input.ts +64 -0
  125. package/schematics/schematics/ng-update/test-cases/v7/property-names_expected_output.ts +28 -0
  126. package/schematics/schematics/ng-update/test-cases/v7/property-names_input.ts +28 -0
  127. package/schematics/schematics/ng-update/typescript/base-types.ts +22 -0
  128. package/schematics/schematics/ng-update/typescript/imports.ts +54 -0
  129. package/schematics/schematics/ng-update/typescript/literal.ts +32 -0
  130. package/schematics/schematics/ng-update/typescript/module-specifiers.ts +39 -0
  131. package/schematics/schematics/ng-update/update-schematic.md +209 -0
  132. package/schematics/schematics/ng-update/upgrade-data.ts +79 -0
  133. package/schematics/schematics/paths.ts +15 -0
  134. package/schematics/schematics/testing/BUILD.bazel +27 -0
  135. package/schematics/schematics/testing/file-content.ts +20 -0
  136. package/schematics/schematics/testing/index.ts +14 -0
  137. package/schematics/schematics/testing/post-scheduled-tasks.ts +45 -0
  138. package/schematics/schematics/testing/resolve-bazel-path.ts +46 -0
  139. package/schematics/schematics/testing/test-app.ts +21 -0
  140. package/schematics/schematics/testing/test-case-setup.ts +236 -0
  141. package/schematics/schematics/testing/test-library.ts +21 -0
  142. package/schematics/schematics/testing/test-project.ts +40 -0
  143. package/schematics/schematics/testing/tsconfig.json +7 -0
  144. package/schematics/schematics/tsconfig.json +28 -0
  145. package/schematics/schematics/update-tool/BUILD.bazel +19 -0
  146. package/schematics/schematics/update-tool/component-resource-collector.ts +195 -0
  147. package/schematics/schematics/update-tool/file-system.ts +78 -0
  148. package/schematics/schematics/update-tool/index.ts +191 -0
  149. package/schematics/schematics/update-tool/logger.ts +23 -0
  150. package/schematics/schematics/update-tool/migration.ts +88 -0
  151. package/schematics/schematics/update-tool/public-api.ts +16 -0
  152. package/schematics/schematics/update-tool/target-version.ts +31 -0
  153. package/schematics/schematics/update-tool/tsconfig.json +7 -0
  154. package/schematics/schematics/update-tool/update-recorder.ts +14 -0
  155. package/schematics/schematics/update-tool/utils/decorators.ts +54 -0
  156. package/schematics/schematics/update-tool/utils/functions.ts +18 -0
  157. package/schematics/schematics/update-tool/utils/imports.ts +128 -0
  158. package/schematics/schematics/update-tool/utils/line-mappings.ts +84 -0
  159. package/schematics/schematics/update-tool/utils/parse-tsconfig.ts +25 -0
  160. package/schematics/schematics/update-tool/utils/property-name.ts +28 -0
  161. package/schematics/schematics/update-tool/utils/virtual-host.ts +116 -0
  162. package/schematics/schematics/update-tool/version-changes.ts +49 -0
  163. package/schematics/schematics/utils/ast/ng-module-imports.spec.ts +43 -0
  164. package/schematics/schematics/utils/ast/ng-module-imports.ts +102 -0
  165. package/schematics/schematics/utils/ast.ts +88 -0
  166. package/schematics/schematics/utils/build-component.ts +252 -0
  167. package/schematics/schematics/utils/get-project.ts +27 -0
  168. package/schematics/schematics/utils/html-manipulation.ts +105 -0
  169. package/schematics/schematics/utils/index.ts +19 -0
  170. package/schematics/schematics/utils/parse5-element.ts +34 -0
  171. package/schematics/schematics/utils/project-index-file.ts +21 -0
  172. package/schematics/schematics/utils/project-main-file.ts +26 -0
  173. package/schematics/schematics/utils/project-style-file.ts +53 -0
  174. package/schematics/schematics/utils/project-targets.ts +43 -0
  175. package/schematics/schematics/utils/project-tsconfig-paths.spec.ts +91 -0
  176. package/schematics/schematics/utils/project-tsconfig-paths.ts +49 -0
  177. package/schematics/schematics/utils/schematic-options.ts +65 -0
  178. package/schematics/schematics/utils/vendored-ast-utils/index.ts +599 -0
  179. package/scrolling/virtual-scroll-viewport.scss +87 -0
  180. package/table/table.scss +3 -0
  181. package/text-field/_index.import.scss +2 -0
  182. package/text-field/_index.scss +89 -0
  183. package/text-field/text-field-prebuilt.scss +4 -0
  184. package/types/stagefright5-cdk-a11y.d.ts +1160 -0
  185. package/types/stagefright5-cdk-accordion.d.ts +95 -0
  186. package/types/stagefright5-cdk-bidi.d.ts +95 -0
  187. package/types/stagefright5-cdk-clipboard.d.ts +116 -0
  188. package/types/stagefright5-cdk-coercion.d.ts +101 -0
  189. package/types/stagefright5-cdk-collections.d.ts +405 -0
  190. package/types/stagefright5-cdk-drag-drop.d.ts +1471 -0
  191. package/types/stagefright5-cdk-keycodes.d.ts +142 -0
  192. package/types/stagefright5-cdk-layout.d.ts +96 -0
  193. package/types/stagefright5-cdk-observers.d.ts +91 -0
  194. package/types/stagefright5-cdk-overlay.d.ts +1258 -0
  195. package/types/stagefright5-cdk-platform.d.ts +130 -0
  196. package/types/stagefright5-cdk-portal.d.ts +327 -0
  197. package/types/stagefright5-cdk-scrolling.d.ts +631 -0
  198. package/types/stagefright5-cdk-stepper.d.ts +302 -0
  199. package/types/stagefright5-cdk-table.d.ts +1128 -0
  200. package/types/stagefright5-cdk-testing-protractor.d.ts +146 -0
  201. package/types/stagefright5-cdk-testing-selenium-webdriver.d.ts +161 -0
  202. package/types/stagefright5-cdk-testing-testbed.d.ts +168 -0
  203. package/types/stagefright5-cdk-testing.d.ts +735 -0
  204. package/types/stagefright5-cdk-text-field.d.ts +171 -0
  205. package/types/stagefright5-cdk-tree.d.ts +522 -0
  206. package/types/stagefright5-cdk.d.ts +14 -0
@@ -0,0 +1,1258 @@
1
+ import * as i3 from '@dugararchit/cdk/portal';
2
+ import { Portal, PortalOutlet, ComponentPortal, TemplatePortal } from '@dugararchit/cdk/portal';
3
+ export { ComponentType } from '@dugararchit/cdk/portal';
4
+ import * as i2 from '@dugararchit/cdk/bidi';
5
+ import { Direction, Directionality } from '@dugararchit/cdk/bidi';
6
+ import { Observable, Subject } from 'rxjs';
7
+ import * as i4 from '@dugararchit/cdk/scrolling';
8
+ import { ViewportRuler, ScrollDispatcher, CdkScrollable } from '@dugararchit/cdk/scrolling';
9
+ export { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@dugararchit/cdk/scrolling';
10
+ import * as i0 from '@angular/core';
11
+ import { NgZone, OnDestroy, ComponentRef, EmbeddedViewRef, ElementRef, ComponentFactoryResolver, Injector, OnChanges, EventEmitter, TemplateRef, ViewContainerRef, SimpleChanges } from '@angular/core';
12
+ import { BooleanInput } from '@dugararchit/cdk/coercion';
13
+ import { Location } from '@angular/common';
14
+ import { Platform } from '@dugararchit/cdk/platform';
15
+
16
+ /**
17
+ * @license
18
+ * Copyright Google LLC All Rights Reserved.
19
+ *
20
+ * Use of this source code is governed by an MIT-style license that can be
21
+ * found in the LICENSE file at https://angular.io/license
22
+ */
23
+
24
+ /**
25
+ * Basic interface for an overlay. Used to avoid circular type references between
26
+ * `OverlayRef`, `PositionStrategy` and `ScrollStrategy`, and `OverlayConfig`.
27
+ * @docs-private
28
+ */
29
+ interface OverlayReference {
30
+ attach: (portal: Portal<any>) => any;
31
+ detach: () => any;
32
+ dispose: () => void;
33
+ overlayElement: HTMLElement;
34
+ hostElement: HTMLElement;
35
+ backdropElement: HTMLElement | null;
36
+ getConfig: () => any;
37
+ hasAttached: () => boolean;
38
+ updateSize: (config: any) => void;
39
+ updatePosition: () => void;
40
+ getDirection: () => Direction;
41
+ setDirection: (dir: Direction | Directionality) => void;
42
+ backdropClick: () => Observable<MouseEvent>;
43
+ attachments: () => Observable<void>;
44
+ detachments: () => Observable<void>;
45
+ keydownEvents: () => Observable<KeyboardEvent>;
46
+ outsidePointerEvents: () => Observable<MouseEvent>;
47
+ addPanelClass: (classes: string | string[]) => void;
48
+ removePanelClass: (classes: string | string[]) => void;
49
+ readonly _outsidePointerEvents: Subject<MouseEvent>;
50
+ readonly _keydownEvents: Subject<KeyboardEvent>;
51
+ }
52
+
53
+ /**
54
+ * @license
55
+ * Copyright Google LLC All Rights Reserved.
56
+ *
57
+ * Use of this source code is governed by an MIT-style license that can be
58
+ * found in the LICENSE file at https://angular.io/license
59
+ */
60
+
61
+ /** Strategy for setting the position on an overlay. */
62
+ interface PositionStrategy {
63
+ /** Attaches this position strategy to an overlay. */
64
+ attach(overlayRef: OverlayReference): void;
65
+ /** Updates the position of the overlay element. */
66
+ apply(): void;
67
+ /** Called when the overlay is detached. */
68
+ detach?(): void;
69
+ /** Cleans up any DOM modifications made by the position strategy, if necessary. */
70
+ dispose(): void;
71
+ }
72
+
73
+ /**
74
+ * @license
75
+ * Copyright Google LLC All Rights Reserved.
76
+ *
77
+ * Use of this source code is governed by an MIT-style license that can be
78
+ * found in the LICENSE file at https://angular.io/license
79
+ */
80
+
81
+ /**
82
+ * Describes a strategy that will be used by an overlay to handle scroll events while it is open.
83
+ */
84
+ interface ScrollStrategy {
85
+ /** Enable this scroll strategy (called when the attached overlay is attached to a portal). */
86
+ enable: () => void;
87
+ /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */
88
+ disable: () => void;
89
+ /** Attaches this `ScrollStrategy` to an overlay. */
90
+ attach: (overlayRef: OverlayReference) => void;
91
+ /** Detaches the scroll strategy from the current overlay. */
92
+ detach?: () => void;
93
+ }
94
+
95
+ /**
96
+ * @license
97
+ * Copyright Google LLC All Rights Reserved.
98
+ *
99
+ * Use of this source code is governed by an MIT-style license that can be
100
+ * found in the LICENSE file at https://angular.io/license
101
+ */
102
+
103
+ /**
104
+ * Strategy that will prevent the user from scrolling while the overlay is visible.
105
+ */
106
+ declare class BlockScrollStrategy implements ScrollStrategy {
107
+ private _viewportRuler;
108
+ private _previousHTMLStyles;
109
+ private _previousScrollPosition;
110
+ private _isEnabled;
111
+ private _document;
112
+ constructor(_viewportRuler: ViewportRuler, document: any);
113
+ /** Attaches this scroll strategy to an overlay. */
114
+ attach(): void;
115
+ /** Blocks page-level scroll while the attached overlay is open. */
116
+ enable(): void;
117
+ /** Unblocks page-level scroll while the attached overlay is open. */
118
+ disable(): void;
119
+ private _canBeEnabled;
120
+ }
121
+
122
+ /**
123
+ * @license
124
+ * Copyright Google LLC All Rights Reserved.
125
+ *
126
+ * Use of this source code is governed by an MIT-style license that can be
127
+ * found in the LICENSE file at https://angular.io/license
128
+ */
129
+
130
+ /**
131
+ * Config options for the CloseScrollStrategy.
132
+ */
133
+ interface CloseScrollStrategyConfig {
134
+ /** Amount of pixels the user has to scroll before the overlay is closed. */
135
+ threshold?: number;
136
+ }
137
+ /**
138
+ * Strategy that will close the overlay as soon as the user starts scrolling.
139
+ */
140
+ declare class CloseScrollStrategy implements ScrollStrategy {
141
+ private _scrollDispatcher;
142
+ private _ngZone;
143
+ private _viewportRuler;
144
+ private _config?;
145
+ private _scrollSubscription;
146
+ private _overlayRef;
147
+ private _initialScrollPosition;
148
+ constructor(_scrollDispatcher: ScrollDispatcher, _ngZone: NgZone, _viewportRuler: ViewportRuler, _config?: CloseScrollStrategyConfig | undefined);
149
+ /** Attaches this scroll strategy to an overlay. */
150
+ attach(overlayRef: OverlayReference): void;
151
+ /** Enables the closing of the attached overlay on scroll. */
152
+ enable(): void;
153
+ /** Disables the closing the attached overlay on scroll. */
154
+ disable(): void;
155
+ detach(): void;
156
+ /** Detaches the overlay ref and disables the scroll strategy. */
157
+ private _detach;
158
+ }
159
+
160
+ /**
161
+ * @license
162
+ * Copyright Google LLC All Rights Reserved.
163
+ *
164
+ * Use of this source code is governed by an MIT-style license that can be
165
+ * found in the LICENSE file at https://angular.io/license
166
+ */
167
+
168
+ /** Scroll strategy that doesn't do anything. */
169
+ declare class NoopScrollStrategy implements ScrollStrategy {
170
+ /** Does nothing, as this scroll strategy is a no-op. */
171
+ enable(): void;
172
+ /** Does nothing, as this scroll strategy is a no-op. */
173
+ disable(): void;
174
+ /** Does nothing, as this scroll strategy is a no-op. */
175
+ attach(): void;
176
+ }
177
+
178
+ /**
179
+ * @license
180
+ * Copyright Google LLC All Rights Reserved.
181
+ *
182
+ * Use of this source code is governed by an MIT-style license that can be
183
+ * found in the LICENSE file at https://angular.io/license
184
+ */
185
+
186
+ /**
187
+ * Config options for the RepositionScrollStrategy.
188
+ */
189
+ interface RepositionScrollStrategyConfig {
190
+ /** Time in milliseconds to throttle the scroll events. */
191
+ scrollThrottle?: number;
192
+ /** Whether to close the overlay once the user has scrolled away completely. */
193
+ autoClose?: boolean;
194
+ }
195
+ /**
196
+ * Strategy that will update the element position as the user is scrolling.
197
+ */
198
+ declare class RepositionScrollStrategy implements ScrollStrategy {
199
+ private _scrollDispatcher;
200
+ private _viewportRuler;
201
+ private _ngZone;
202
+ private _config?;
203
+ private _scrollSubscription;
204
+ private _overlayRef;
205
+ constructor(_scrollDispatcher: ScrollDispatcher, _viewportRuler: ViewportRuler, _ngZone: NgZone, _config?: RepositionScrollStrategyConfig | undefined);
206
+ /** Attaches this scroll strategy to an overlay. */
207
+ attach(overlayRef: OverlayReference): void;
208
+ /** Enables repositioning of the attached overlay on scroll. */
209
+ enable(): void;
210
+ /** Disables repositioning of the attached overlay on scroll. */
211
+ disable(): void;
212
+ detach(): void;
213
+ }
214
+
215
+ /**
216
+ * @license
217
+ * Copyright Google LLC All Rights Reserved.
218
+ *
219
+ * Use of this source code is governed by an MIT-style license that can be
220
+ * found in the LICENSE file at https://angular.io/license
221
+ */
222
+
223
+ /**
224
+ * Options for how an overlay will handle scrolling.
225
+ *
226
+ * Users can provide a custom value for `ScrollStrategyOptions` to replace the default
227
+ * behaviors. This class primarily acts as a factory for ScrollStrategy instances.
228
+ */
229
+ declare class ScrollStrategyOptions {
230
+ private _scrollDispatcher;
231
+ private _viewportRuler;
232
+ private _ngZone;
233
+ private _document;
234
+ constructor(_scrollDispatcher: ScrollDispatcher, _viewportRuler: ViewportRuler, _ngZone: NgZone, document: any);
235
+ /** Do nothing on scroll. */
236
+ noop: () => NoopScrollStrategy;
237
+ /**
238
+ * Close the overlay as soon as the user scrolls.
239
+ * @param config Configuration to be used inside the scroll strategy.
240
+ */
241
+ close: (config?: CloseScrollStrategyConfig) => CloseScrollStrategy;
242
+ /** Block scrolling. */
243
+ block: () => BlockScrollStrategy;
244
+ /**
245
+ * Update the overlay's position on scroll.
246
+ * @param config Configuration to be used inside the scroll strategy.
247
+ * Allows debouncing the reposition calls.
248
+ */
249
+ reposition: (config?: RepositionScrollStrategyConfig) => RepositionScrollStrategy;
250
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollStrategyOptions, never>;
251
+ static ɵprov: i0.ɵɵInjectableDeclaration<ScrollStrategyOptions>;
252
+ }
253
+
254
+ /**
255
+ * @license
256
+ * Copyright Google LLC All Rights Reserved.
257
+ *
258
+ * Use of this source code is governed by an MIT-style license that can be
259
+ * found in the LICENSE file at https://angular.io/license
260
+ */
261
+
262
+ /** Initial configuration used when creating an overlay. */
263
+ declare class OverlayConfig {
264
+ /** Strategy with which to position the overlay. */
265
+ positionStrategy?: PositionStrategy;
266
+ /** Strategy to be used when handling scroll events while the overlay is open. */
267
+ scrollStrategy?: ScrollStrategy;
268
+ /** Custom class to add to the overlay pane. */
269
+ panelClass?: string | string[];
270
+ /** Whether the overlay has a backdrop. */
271
+ hasBackdrop?: boolean;
272
+ /** Custom class to add to the backdrop */
273
+ backdropClass?: string | string[];
274
+ /** The width of the overlay panel. If a number is provided, pixel units are assumed. */
275
+ width?: number | string;
276
+ /** The height of the overlay panel. If a number is provided, pixel units are assumed. */
277
+ height?: number | string;
278
+ /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */
279
+ minWidth?: number | string;
280
+ /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */
281
+ minHeight?: number | string;
282
+ /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */
283
+ maxWidth?: number | string;
284
+ /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */
285
+ maxHeight?: number | string;
286
+ /**
287
+ * Direction of the text in the overlay panel. If a `Directionality` instance
288
+ * is passed in, the overlay will handle changes to its value automatically.
289
+ */
290
+ direction?: Direction | Directionality;
291
+ /**
292
+ * Whether the overlay should be disposed of when the user goes backwards/forwards in history.
293
+ * Note that this usually doesn't include clicking on links (unless the user is using
294
+ * the `HashLocationStrategy`).
295
+ */
296
+ disposeOnNavigation?: boolean;
297
+ constructor(config?: OverlayConfig);
298
+ }
299
+
300
+ /**
301
+ * @license
302
+ * Copyright Google LLC All Rights Reserved.
303
+ *
304
+ * Use of this source code is governed by an MIT-style license that can be
305
+ * found in the LICENSE file at https://angular.io/license
306
+ */
307
+ /** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */
308
+ type HorizontalConnectionPos = 'start' | 'center' | 'end';
309
+ /** Vertical dimension of a connection point on the perimeter of the origin or overlay element. */
310
+ type VerticalConnectionPos = 'top' | 'center' | 'bottom';
311
+ /** A connection point on the origin element. */
312
+ interface OriginConnectionPosition {
313
+ originX: HorizontalConnectionPos;
314
+ originY: VerticalConnectionPos;
315
+ }
316
+ /** A connection point on the overlay element. */
317
+ interface OverlayConnectionPosition {
318
+ overlayX: HorizontalConnectionPos;
319
+ overlayY: VerticalConnectionPos;
320
+ }
321
+ /** The points of the origin element and the overlay element to connect. */
322
+ declare class ConnectionPositionPair {
323
+ /** Offset along the X axis. */
324
+ offsetX?: number | undefined;
325
+ /** Offset along the Y axis. */
326
+ offsetY?: number | undefined;
327
+ /** Class(es) to be applied to the panel while this position is active. */
328
+ panelClass?: string | string[] | undefined;
329
+ /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */
330
+ originX: HorizontalConnectionPos;
331
+ /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */
332
+ originY: VerticalConnectionPos;
333
+ /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */
334
+ overlayX: HorizontalConnectionPos;
335
+ /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */
336
+ overlayY: VerticalConnectionPos;
337
+ constructor(origin: OriginConnectionPosition, overlay: OverlayConnectionPosition,
338
+ /** Offset along the X axis. */
339
+ offsetX?: number | undefined,
340
+ /** Offset along the Y axis. */
341
+ offsetY?: number | undefined,
342
+ /** Class(es) to be applied to the panel while this position is active. */
343
+ panelClass?: string | string[] | undefined);
344
+ }
345
+ /**
346
+ * Set of properties regarding the position of the origin and overlay relative to the viewport
347
+ * with respect to the containing Scrollable elements.
348
+ *
349
+ * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the
350
+ * bounds of any one of the strategy's Scrollable's bounding client rectangle.
351
+ *
352
+ * The overlay and origin are outside view if there is no overlap between their bounding client
353
+ * rectangle and any one of the strategy's Scrollable's bounding client rectangle.
354
+ *
355
+ * ----------- -----------
356
+ * | outside | | clipped |
357
+ * | view | --------------------------
358
+ * | | | | | |
359
+ * ---------- | ----------- |
360
+ * -------------------------- | |
361
+ * | | | Scrollable |
362
+ * | | | |
363
+ * | | --------------------------
364
+ * | Scrollable |
365
+ * | |
366
+ * --------------------------
367
+ *
368
+ * @docs-private
369
+ */
370
+ declare class ScrollingVisibility {
371
+ isOriginClipped: boolean;
372
+ isOriginOutsideView: boolean;
373
+ isOverlayClipped: boolean;
374
+ isOverlayOutsideView: boolean;
375
+ }
376
+ /** The change event emitted by the strategy when a fallback position is used. */
377
+ declare class ConnectedOverlayPositionChange {
378
+ /** The position used as a result of this change. */
379
+ connectionPair: ConnectionPositionPair;
380
+ /** @docs-private */
381
+ scrollableViewProperties: ScrollingVisibility;
382
+ constructor(
383
+ /** The position used as a result of this change. */
384
+ connectionPair: ConnectionPositionPair,
385
+ /** @docs-private */
386
+ scrollableViewProperties: ScrollingVisibility);
387
+ }
388
+ /**
389
+ * Validates whether a vertical position property matches the expected values.
390
+ * @param property Name of the property being validated.
391
+ * @param value Value of the property being validated.
392
+ * @docs-private
393
+ */
394
+ declare function validateVerticalPosition(property: string, value: VerticalConnectionPos): void;
395
+ /**
396
+ * Validates whether a horizontal position property matches the expected values.
397
+ * @param property Name of the property being validated.
398
+ * @param value Value of the property being validated.
399
+ * @docs-private
400
+ */
401
+ declare function validateHorizontalPosition(property: string, value: HorizontalConnectionPos): void;
402
+
403
+ /**
404
+ * Service for dispatching events that land on the body to appropriate overlay ref,
405
+ * if any. It maintains a list of attached overlays to determine best suited overlay based
406
+ * on event target and order of overlay opens.
407
+ */
408
+ declare abstract class BaseOverlayDispatcher implements OnDestroy {
409
+ /** Currently attached overlays in the order they were attached. */
410
+ _attachedOverlays: OverlayReference[];
411
+ protected _document: Document;
412
+ protected _isAttached: boolean;
413
+ constructor(document: any);
414
+ ngOnDestroy(): void;
415
+ /** Add a new overlay to the list of attached overlay refs. */
416
+ add(overlayRef: OverlayReference): void;
417
+ /** Remove an overlay from the list of attached overlay refs. */
418
+ remove(overlayRef: OverlayReference): void;
419
+ /** Detaches the global event listener. */
420
+ protected abstract detach(): void;
421
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseOverlayDispatcher, never>;
422
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseOverlayDispatcher>;
423
+ }
424
+
425
+ /**
426
+ * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
427
+ * if any. It maintains a list of attached overlays to determine best suited overlay based
428
+ * on event target and order of overlay opens.
429
+ */
430
+ declare class OverlayKeyboardDispatcher extends BaseOverlayDispatcher {
431
+ /** @breaking-change 14.0.0 _ngZone will be required. */
432
+ private _ngZone?;
433
+ constructor(document: any,
434
+ /** @breaking-change 14.0.0 _ngZone will be required. */
435
+ _ngZone?: NgZone | undefined);
436
+ /** Add a new overlay to the list of attached overlay refs. */
437
+ add(overlayRef: OverlayReference): void;
438
+ /** Detaches the global keyboard event listener. */
439
+ protected detach(): void;
440
+ /** Keyboard event listener that will be attached to the body. */
441
+ private _keydownListener;
442
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayKeyboardDispatcher, [null, { optional: true; }]>;
443
+ static ɵprov: i0.ɵɵInjectableDeclaration<OverlayKeyboardDispatcher>;
444
+ }
445
+
446
+ /**
447
+ * Service for dispatching mouse click events that land on the body to appropriate overlay ref,
448
+ * if any. It maintains a list of attached overlays to determine best suited overlay based
449
+ * on event target and order of overlay opens.
450
+ */
451
+ declare class OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {
452
+ private _platform;
453
+ /** @breaking-change 14.0.0 _ngZone will be required. */
454
+ private _ngZone?;
455
+ private _cursorOriginalValue;
456
+ private _cursorStyleIsSet;
457
+ private _pointerDownEventTarget;
458
+ constructor(document: any, _platform: Platform,
459
+ /** @breaking-change 14.0.0 _ngZone will be required. */
460
+ _ngZone?: NgZone | undefined);
461
+ /** Add a new overlay to the list of attached overlay refs. */
462
+ add(overlayRef: OverlayReference): void;
463
+ /** Detaches the global keyboard event listener. */
464
+ protected detach(): void;
465
+ private _addEventListeners;
466
+ /** Store pointerdown event target to track origin of click. */
467
+ private _pointerDownListener;
468
+ /** Click event listener that will be attached to the body propagate phase. */
469
+ private _clickListener;
470
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayOutsideClickDispatcher, [null, null, { optional: true; }]>;
471
+ static ɵprov: i0.ɵɵInjectableDeclaration<OverlayOutsideClickDispatcher>;
472
+ }
473
+
474
+ /** Container inside which all overlays will render. */
475
+ declare class OverlayContainer implements OnDestroy {
476
+ protected _platform: Platform;
477
+ protected _containerElement: HTMLElement;
478
+ protected _document: Document;
479
+ constructor(document: any, _platform: Platform);
480
+ ngOnDestroy(): void;
481
+ /**
482
+ * This method returns the overlay container element. It will lazily
483
+ * create the element the first time it is called to facilitate using
484
+ * the container in non-browser environments.
485
+ * @returns the container element
486
+ */
487
+ getContainerElement(): HTMLElement;
488
+ /**
489
+ * Create the overlay container element, which is simply a div
490
+ * with the 'cdk-overlay-container' class on the document body.
491
+ */
492
+ protected _createContainer(): void;
493
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayContainer, never>;
494
+ static ɵprov: i0.ɵɵInjectableDeclaration<OverlayContainer>;
495
+ }
496
+
497
+ /**
498
+ * @license
499
+ * Copyright Google LLC All Rights Reserved.
500
+ *
501
+ * Use of this source code is governed by an MIT-style license that can be
502
+ * found in the LICENSE file at https://angular.io/license
503
+ */
504
+
505
+ /** An object where all of its properties cannot be written. */
506
+ type ImmutableObject<T> = {
507
+ readonly [P in keyof T]: T[P];
508
+ };
509
+ /**
510
+ * Reference to an overlay that has been created with the Overlay service.
511
+ * Used to manipulate or dispose of said overlay.
512
+ */
513
+ declare class OverlayRef implements PortalOutlet, OverlayReference {
514
+ private _portalOutlet;
515
+ private _host;
516
+ private _pane;
517
+ private _config;
518
+ private _ngZone;
519
+ private _keyboardDispatcher;
520
+ private _document;
521
+ private _location;
522
+ private _outsideClickDispatcher;
523
+ private _backdropElement;
524
+ private _backdropTimeout;
525
+ private readonly _backdropClick;
526
+ private readonly _attachments;
527
+ private readonly _detachments;
528
+ private _positionStrategy;
529
+ private _scrollStrategy;
530
+ private _locationChanges;
531
+ private _backdropClickHandler;
532
+ private _backdropTransitionendHandler;
533
+ /**
534
+ * Reference to the parent of the `_host` at the time it was detached. Used to restore
535
+ * the `_host` to its original position in the DOM when it gets re-attached.
536
+ */
537
+ private _previousHostParent;
538
+ /** Stream of keydown events dispatched to this overlay. */
539
+ readonly _keydownEvents: Subject<KeyboardEvent>;
540
+ /** Stream of mouse outside events dispatched to this overlay. */
541
+ readonly _outsidePointerEvents: Subject<MouseEvent>;
542
+ constructor(_portalOutlet: PortalOutlet, _host: HTMLElement, _pane: HTMLElement, _config: ImmutableObject<OverlayConfig>, _ngZone: NgZone, _keyboardDispatcher: OverlayKeyboardDispatcher, _document: Document, _location: Location, _outsideClickDispatcher: OverlayOutsideClickDispatcher);
543
+ /** The overlay's HTML element */
544
+ get overlayElement(): HTMLElement;
545
+ /** The overlay's backdrop HTML element. */
546
+ get backdropElement(): HTMLElement | null;
547
+ /**
548
+ * Wrapper around the panel element. Can be used for advanced
549
+ * positioning where a wrapper with specific styling is
550
+ * required around the overlay pane.
551
+ */
552
+ get hostElement(): HTMLElement;
553
+ attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;
554
+ attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;
555
+ attach(portal: any): any;
556
+ /**
557
+ * Detaches an overlay from a portal.
558
+ * @returns The portal detachment result.
559
+ */
560
+ detach(): any;
561
+ /** Cleans up the overlay from the DOM. */
562
+ dispose(): void;
563
+ /** Whether the overlay has attached content. */
564
+ hasAttached(): boolean;
565
+ /** Gets an observable that emits when the backdrop has been clicked. */
566
+ backdropClick(): Observable<MouseEvent>;
567
+ /** Gets an observable that emits when the overlay has been attached. */
568
+ attachments(): Observable<void>;
569
+ /** Gets an observable that emits when the overlay has been detached. */
570
+ detachments(): Observable<void>;
571
+ /** Gets an observable of keydown events targeted to this overlay. */
572
+ keydownEvents(): Observable<KeyboardEvent>;
573
+ /** Gets an observable of pointer events targeted outside this overlay. */
574
+ outsidePointerEvents(): Observable<MouseEvent>;
575
+ /** Gets the current overlay configuration, which is immutable. */
576
+ getConfig(): OverlayConfig;
577
+ /** Updates the position of the overlay based on the position strategy. */
578
+ updatePosition(): void;
579
+ /** Switches to a new position strategy and updates the overlay position. */
580
+ updatePositionStrategy(strategy: PositionStrategy): void;
581
+ /** Update the size properties of the overlay. */
582
+ updateSize(sizeConfig: OverlaySizeConfig): void;
583
+ /** Sets the LTR/RTL direction for the overlay. */
584
+ setDirection(dir: Direction | Directionality): void;
585
+ /** Add a CSS class or an array of classes to the overlay pane. */
586
+ addPanelClass(classes: string | string[]): void;
587
+ /** Remove a CSS class or an array of classes from the overlay pane. */
588
+ removePanelClass(classes: string | string[]): void;
589
+ /**
590
+ * Returns the layout direction of the overlay panel.
591
+ */
592
+ getDirection(): Direction;
593
+ /** Switches to a new scroll strategy. */
594
+ updateScrollStrategy(strategy: ScrollStrategy): void;
595
+ /** Updates the text direction of the overlay panel. */
596
+ private _updateElementDirection;
597
+ /** Updates the size of the overlay element based on the overlay config. */
598
+ private _updateElementSize;
599
+ /** Toggles the pointer events for the overlay pane element. */
600
+ private _togglePointerEvents;
601
+ /** Attaches a backdrop for this overlay. */
602
+ private _attachBackdrop;
603
+ /**
604
+ * Updates the stacking order of the element, moving it to the top if necessary.
605
+ * This is required in cases where one overlay was detached, while another one,
606
+ * that should be behind it, was destroyed. The next time both of them are opened,
607
+ * the stacking will be wrong, because the detached element's pane will still be
608
+ * in its original DOM position.
609
+ */
610
+ private _updateStackingOrder;
611
+ /** Detaches the backdrop (if any) associated with the overlay. */
612
+ detachBackdrop(): void;
613
+ /** Toggles a single CSS class or an array of classes on an element. */
614
+ private _toggleClasses;
615
+ /** Detaches the overlay content next time the zone stabilizes. */
616
+ private _detachContentWhenStable;
617
+ /** Disposes of a scroll strategy. */
618
+ private _disposeScrollStrategy;
619
+ /** Removes a backdrop element from the DOM. */
620
+ private _disposeBackdrop;
621
+ }
622
+ /** Size properties for an overlay. */
623
+ interface OverlaySizeConfig {
624
+ width?: number | string;
625
+ height?: number | string;
626
+ minWidth?: number | string;
627
+ minHeight?: number | string;
628
+ maxWidth?: number | string;
629
+ maxHeight?: number | string;
630
+ }
631
+
632
+ /**
633
+ * @license
634
+ * Copyright Google LLC All Rights Reserved.
635
+ *
636
+ * Use of this source code is governed by an MIT-style license that can be
637
+ * found in the LICENSE file at https://angular.io/license
638
+ */
639
+
640
+ /** Possible values that can be set as the origin of a FlexibleConnectedPositionStrategy. */
641
+ type FlexibleConnectedPositionStrategyOrigin = ElementRef | Element | (Point & {
642
+ width?: number;
643
+ height?: number;
644
+ });
645
+ /**
646
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
647
+ * implicit position relative some origin element. The relative position is defined in terms of
648
+ * a point on the origin element that is connected to a point on the overlay element. For example,
649
+ * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner
650
+ * of the overlay.
651
+ */
652
+ declare class FlexibleConnectedPositionStrategy implements PositionStrategy {
653
+ private _viewportRuler;
654
+ private _document;
655
+ private _platform;
656
+ private _overlayContainer;
657
+ /** The overlay to which this strategy is attached. */
658
+ private _overlayRef;
659
+ /** Whether we're performing the very first positioning of the overlay. */
660
+ private _isInitialRender;
661
+ /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */
662
+ private _lastBoundingBoxSize;
663
+ /** Whether the overlay was pushed in a previous positioning. */
664
+ private _isPushed;
665
+ /** Whether the overlay can be pushed on-screen on the initial open. */
666
+ private _canPush;
667
+ /** Whether the overlay can grow via flexible width/height after the initial open. */
668
+ private _growAfterOpen;
669
+ /** Whether the overlay's width and height can be constrained to fit within the viewport. */
670
+ private _hasFlexibleDimensions;
671
+ /** Whether the overlay position is locked. */
672
+ private _positionLocked;
673
+ /** Cached origin dimensions */
674
+ private _originRect;
675
+ /** Cached overlay dimensions */
676
+ private _overlayRect;
677
+ /** Cached viewport dimensions */
678
+ private _viewportRect;
679
+ /** Cached container dimensions */
680
+ private _containerRect;
681
+ /** Amount of space that must be maintained between the overlay and the edge of the viewport. */
682
+ private _viewportMargin;
683
+ /** The Scrollable containers used to check scrollable view properties on position change. */
684
+ private _scrollables;
685
+ /** Ordered list of preferred positions, from most to least desirable. */
686
+ _preferredPositions: ConnectionPositionPair[];
687
+ /** The origin element against which the overlay will be positioned. */
688
+ private _origin;
689
+ /** The overlay pane element. */
690
+ private _pane;
691
+ /** Whether the strategy has been disposed of already. */
692
+ private _isDisposed;
693
+ /**
694
+ * Parent element for the overlay panel used to constrain the overlay panel's size to fit
695
+ * within the viewport.
696
+ */
697
+ private _boundingBox;
698
+ /** The last position to have been calculated as the best fit position. */
699
+ private _lastPosition;
700
+ /** Subject that emits whenever the position changes. */
701
+ private readonly _positionChanges;
702
+ /** Subscription to viewport size changes. */
703
+ private _resizeSubscription;
704
+ /** Default offset for the overlay along the x axis. */
705
+ private _offsetX;
706
+ /** Default offset for the overlay along the y axis. */
707
+ private _offsetY;
708
+ /** Selector to be used when finding the elements on which to set the transform origin. */
709
+ private _transformOriginSelector;
710
+ /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */
711
+ private _appliedPanelClasses;
712
+ /** Amount by which the overlay was pushed in each axis during the last time it was positioned. */
713
+ private _previousPushAmount;
714
+ /** Observable sequence of position changes. */
715
+ positionChanges: Observable<ConnectedOverlayPositionChange>;
716
+ /** Ordered list of preferred positions, from most to least desirable. */
717
+ get positions(): ConnectionPositionPair[];
718
+ constructor(connectedTo: FlexibleConnectedPositionStrategyOrigin, _viewportRuler: ViewportRuler, _document: Document, _platform: Platform, _overlayContainer: OverlayContainer);
719
+ /** Attaches this position strategy to an overlay. */
720
+ attach(overlayRef: OverlayReference): void;
721
+ /**
722
+ * Updates the position of the overlay element, using whichever preferred position relative
723
+ * to the origin best fits on-screen.
724
+ *
725
+ * The selection of a position goes as follows:
726
+ * - If any positions fit completely within the viewport as-is,
727
+ * choose the first position that does so.
728
+ * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,
729
+ * choose the position with the greatest available size modified by the positions' weight.
730
+ * - If pushing is enabled, take the position that went off-screen the least and push it
731
+ * on-screen.
732
+ * - If none of the previous criteria were met, use the position that goes off-screen the least.
733
+ * @docs-private
734
+ */
735
+ apply(): void;
736
+ detach(): void;
737
+ /** Cleanup after the element gets destroyed. */
738
+ dispose(): void;
739
+ /**
740
+ * This re-aligns the overlay element with the trigger in its last calculated position,
741
+ * even if a position higher in the "preferred positions" list would now fit. This
742
+ * allows one to re-align the panel without changing the orientation of the panel.
743
+ */
744
+ reapplyLastPosition(): void;
745
+ /**
746
+ * Sets the list of Scrollable containers that host the origin element so that
747
+ * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every
748
+ * Scrollable must be an ancestor element of the strategy's origin element.
749
+ */
750
+ withScrollableContainers(scrollables: CdkScrollable[]): this;
751
+ /**
752
+ * Adds new preferred positions.
753
+ * @param positions List of positions options for this overlay.
754
+ */
755
+ withPositions(positions: ConnectedPosition[]): this;
756
+ /**
757
+ * Sets a minimum distance the overlay may be positioned to the edge of the viewport.
758
+ * @param margin Required margin between the overlay and the viewport edge in pixels.
759
+ */
760
+ withViewportMargin(margin: number): this;
761
+ /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */
762
+ withFlexibleDimensions(flexibleDimensions?: boolean): this;
763
+ /** Sets whether the overlay can grow after the initial open via flexible width/height. */
764
+ withGrowAfterOpen(growAfterOpen?: boolean): this;
765
+ /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */
766
+ withPush(canPush?: boolean): this;
767
+ /**
768
+ * Sets whether the overlay's position should be locked in after it is positioned
769
+ * initially. When an overlay is locked in, it won't attempt to reposition itself
770
+ * when the position is re-applied (e.g. when the user scrolls away).
771
+ * @param isLocked Whether the overlay should locked in.
772
+ */
773
+ withLockedPosition(isLocked?: boolean): this;
774
+ /**
775
+ * Sets the origin, relative to which to position the overlay.
776
+ * Using an element origin is useful for building components that need to be positioned
777
+ * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be
778
+ * used for cases like contextual menus which open relative to the user's pointer.
779
+ * @param origin Reference to the new origin.
780
+ */
781
+ setOrigin(origin: FlexibleConnectedPositionStrategyOrigin): this;
782
+ /**
783
+ * Sets the default offset for the overlay's connection point on the x-axis.
784
+ * @param offset New offset in the X axis.
785
+ */
786
+ withDefaultOffsetX(offset: number): this;
787
+ /**
788
+ * Sets the default offset for the overlay's connection point on the y-axis.
789
+ * @param offset New offset in the Y axis.
790
+ */
791
+ withDefaultOffsetY(offset: number): this;
792
+ /**
793
+ * Configures that the position strategy should set a `transform-origin` on some elements
794
+ * inside the overlay, depending on the current position that is being applied. This is
795
+ * useful for the cases where the origin of an animation can change depending on the
796
+ * alignment of the overlay.
797
+ * @param selector CSS selector that will be used to find the target
798
+ * elements onto which to set the transform origin.
799
+ */
800
+ withTransformOriginOn(selector: string): this;
801
+ /**
802
+ * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.
803
+ */
804
+ private _getOriginPoint;
805
+ /**
806
+ * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and
807
+ * origin point to which the overlay should be connected.
808
+ */
809
+ private _getOverlayPoint;
810
+ /** Gets how well an overlay at the given point will fit within the viewport. */
811
+ private _getOverlayFit;
812
+ /**
813
+ * Whether the overlay can fit within the viewport when it may resize either its width or height.
814
+ * @param fit How well the overlay fits in the viewport at some position.
815
+ * @param point The (x, y) coordinates of the overlay at some position.
816
+ * @param viewport The geometry of the viewport.
817
+ */
818
+ private _canFitWithFlexibleDimensions;
819
+ /**
820
+ * Gets the point at which the overlay can be "pushed" on-screen. If the overlay is larger than
821
+ * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the
822
+ * right and bottom).
823
+ *
824
+ * @param start Starting point from which the overlay is pushed.
825
+ * @param rawOverlayRect Dimensions of the overlay.
826
+ * @param scrollPosition Current viewport scroll position.
827
+ * @returns The point at which to position the overlay after pushing. This is effectively a new
828
+ * originPoint.
829
+ */
830
+ private _pushOverlayOnScreen;
831
+ /**
832
+ * Applies a computed position to the overlay and emits a position change.
833
+ * @param position The position preference
834
+ * @param originPoint The point on the origin element where the overlay is connected.
835
+ */
836
+ private _applyPosition;
837
+ /** Sets the transform origin based on the configured selector and the passed-in position. */
838
+ private _setTransformOrigin;
839
+ /**
840
+ * Gets the position and size of the overlay's sizing container.
841
+ *
842
+ * This method does no measuring and applies no styles so that we can cheaply compute the
843
+ * bounds for all positions and choose the best fit based on these results.
844
+ */
845
+ private _calculateBoundingBoxRect;
846
+ /**
847
+ * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the
848
+ * origin's connection point and stetches to the bounds of the viewport.
849
+ *
850
+ * @param origin The point on the origin element where the overlay is connected.
851
+ * @param position The position preference
852
+ */
853
+ private _setBoundingBoxStyles;
854
+ /** Resets the styles for the bounding box so that a new positioning can be computed. */
855
+ private _resetBoundingBoxStyles;
856
+ /** Resets the styles for the overlay pane so that a new positioning can be computed. */
857
+ private _resetOverlayElementStyles;
858
+ /** Sets positioning styles to the overlay element. */
859
+ private _setOverlayElementStyles;
860
+ /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */
861
+ private _getExactOverlayY;
862
+ /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */
863
+ private _getExactOverlayX;
864
+ /**
865
+ * Gets the view properties of the trigger and overlay, including whether they are clipped
866
+ * or completely outside the view of any of the strategy's scrollables.
867
+ */
868
+ private _getScrollVisibility;
869
+ /** Subtracts the amount that an element is overflowing on an axis from its length. */
870
+ private _subtractOverflows;
871
+ /** Narrows the given viewport rect by the current _viewportMargin. */
872
+ private _getNarrowedViewportRect;
873
+ /** Whether the we're dealing with an RTL context */
874
+ private _isRtl;
875
+ /** Determines whether the overlay uses exact or flexible positioning. */
876
+ private _hasExactPosition;
877
+ /** Retrieves the offset of a position along the x or y axis. */
878
+ private _getOffset;
879
+ /** Validates that the current position match the expected values. */
880
+ private _validatePositions;
881
+ /** Adds a single CSS class or an array of classes on the overlay panel. */
882
+ private _addPanelClasses;
883
+ /** Clears the classes that the position strategy has applied from the overlay panel. */
884
+ private _clearPanelClasses;
885
+ /** Returns the ClientRect of the current origin. */
886
+ private _getOriginRect;
887
+ }
888
+ /** A simple (x, y) coordinate. */
889
+ interface Point {
890
+ x: number;
891
+ y: number;
892
+ }
893
+ /** A connected position as specified by the user. */
894
+ interface ConnectedPosition {
895
+ originX: 'start' | 'center' | 'end';
896
+ originY: 'top' | 'center' | 'bottom';
897
+ overlayX: 'start' | 'center' | 'end';
898
+ overlayY: 'top' | 'center' | 'bottom';
899
+ weight?: number;
900
+ offsetX?: number;
901
+ offsetY?: number;
902
+ panelClass?: string | string[];
903
+ }
904
+
905
+ /**
906
+ * @license
907
+ * Copyright Google LLC All Rights Reserved.
908
+ *
909
+ * Use of this source code is governed by an MIT-style license that can be
910
+ * found in the LICENSE file at https://angular.io/license
911
+ */
912
+
913
+ /**
914
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
915
+ * explicit position relative to the browser's viewport. We use flexbox, instead of
916
+ * transforms, in order to avoid issues with subpixel rendering which can cause the
917
+ * element to become blurry.
918
+ */
919
+ declare class GlobalPositionStrategy implements PositionStrategy {
920
+ /** The overlay to which this strategy is attached. */
921
+ private _overlayRef;
922
+ private _cssPosition;
923
+ private _topOffset;
924
+ private _bottomOffset;
925
+ private _leftOffset;
926
+ private _rightOffset;
927
+ private _alignItems;
928
+ private _justifyContent;
929
+ private _width;
930
+ private _height;
931
+ private _isDisposed;
932
+ attach(overlayRef: OverlayReference): void;
933
+ /**
934
+ * Sets the top position of the overlay. Clears any previously set vertical position.
935
+ * @param value New top offset.
936
+ */
937
+ top(value?: string): this;
938
+ /**
939
+ * Sets the left position of the overlay. Clears any previously set horizontal position.
940
+ * @param value New left offset.
941
+ */
942
+ left(value?: string): this;
943
+ /**
944
+ * Sets the bottom position of the overlay. Clears any previously set vertical position.
945
+ * @param value New bottom offset.
946
+ */
947
+ bottom(value?: string): this;
948
+ /**
949
+ * Sets the right position of the overlay. Clears any previously set horizontal position.
950
+ * @param value New right offset.
951
+ */
952
+ right(value?: string): this;
953
+ /**
954
+ * Sets the overlay width and clears any previously set width.
955
+ * @param value New width for the overlay
956
+ * @deprecated Pass the `width` through the `OverlayConfig`.
957
+ * @breaking-change 8.0.0
958
+ */
959
+ width(value?: string): this;
960
+ /**
961
+ * Sets the overlay height and clears any previously set height.
962
+ * @param value New height for the overlay
963
+ * @deprecated Pass the `height` through the `OverlayConfig`.
964
+ * @breaking-change 8.0.0
965
+ */
966
+ height(value?: string): this;
967
+ /**
968
+ * Centers the overlay horizontally with an optional offset.
969
+ * Clears any previously set horizontal position.
970
+ *
971
+ * @param offset Overlay offset from the horizontal center.
972
+ */
973
+ centerHorizontally(offset?: string): this;
974
+ /**
975
+ * Centers the overlay vertically with an optional offset.
976
+ * Clears any previously set vertical position.
977
+ *
978
+ * @param offset Overlay offset from the vertical center.
979
+ */
980
+ centerVertically(offset?: string): this;
981
+ /**
982
+ * Apply the position to the element.
983
+ * @docs-private
984
+ */
985
+ apply(): void;
986
+ /**
987
+ * Cleans up the DOM changes from the position strategy.
988
+ * @docs-private
989
+ */
990
+ dispose(): void;
991
+ }
992
+
993
+ /**
994
+ * @license
995
+ * Copyright Google LLC All Rights Reserved.
996
+ *
997
+ * Use of this source code is governed by an MIT-style license that can be
998
+ * found in the LICENSE file at https://angular.io/license
999
+ */
1000
+
1001
+ /** Builder for overlay position strategy. */
1002
+ declare class OverlayPositionBuilder {
1003
+ private _viewportRuler;
1004
+ private _document;
1005
+ private _platform;
1006
+ private _overlayContainer;
1007
+ constructor(_viewportRuler: ViewportRuler, _document: any, _platform: Platform, _overlayContainer: OverlayContainer);
1008
+ /**
1009
+ * Creates a global position strategy.
1010
+ */
1011
+ global(): GlobalPositionStrategy;
1012
+ /**
1013
+ * Creates a flexible position strategy.
1014
+ * @param origin Origin relative to which to position the overlay.
1015
+ */
1016
+ flexibleConnectedTo(origin: FlexibleConnectedPositionStrategyOrigin): FlexibleConnectedPositionStrategy;
1017
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayPositionBuilder, never>;
1018
+ static ɵprov: i0.ɵɵInjectableDeclaration<OverlayPositionBuilder>;
1019
+ }
1020
+
1021
+ /**
1022
+ * @license
1023
+ * Copyright Google LLC All Rights Reserved.
1024
+ *
1025
+ * Use of this source code is governed by an MIT-style license that can be
1026
+ * found in the LICENSE file at https://angular.io/license
1027
+ */
1028
+
1029
+ /**
1030
+ * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be
1031
+ * used as a low-level building block for other components. Dialogs, tooltips, menus,
1032
+ * selects, etc. can all be built using overlays. The service should primarily be used by authors
1033
+ * of re-usable components rather than developers building end-user applications.
1034
+ *
1035
+ * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.
1036
+ */
1037
+ declare class Overlay {
1038
+ /** Scrolling strategies that can be used when creating an overlay. */
1039
+ scrollStrategies: ScrollStrategyOptions;
1040
+ private _overlayContainer;
1041
+ private _componentFactoryResolver;
1042
+ private _positionBuilder;
1043
+ private _keyboardDispatcher;
1044
+ private _injector;
1045
+ private _ngZone;
1046
+ private _document;
1047
+ private _directionality;
1048
+ private _location;
1049
+ private _outsideClickDispatcher;
1050
+ private _appRef;
1051
+ constructor(
1052
+ /** Scrolling strategies that can be used when creating an overlay. */
1053
+ scrollStrategies: ScrollStrategyOptions, _overlayContainer: OverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _positionBuilder: OverlayPositionBuilder, _keyboardDispatcher: OverlayKeyboardDispatcher, _injector: Injector, _ngZone: NgZone, _document: any, _directionality: Directionality, _location: Location, _outsideClickDispatcher: OverlayOutsideClickDispatcher);
1054
+ /**
1055
+ * Creates an overlay.
1056
+ * @param config Configuration applied to the overlay.
1057
+ * @returns Reference to the created overlay.
1058
+ */
1059
+ create(config?: OverlayConfig): OverlayRef;
1060
+ /**
1061
+ * Gets a position builder that can be used, via fluent API,
1062
+ * to construct and configure a position strategy.
1063
+ * @returns An overlay position builder.
1064
+ */
1065
+ position(): OverlayPositionBuilder;
1066
+ /**
1067
+ * Creates the DOM element for an overlay and appends it to the overlay container.
1068
+ * @returns Newly-created pane element
1069
+ */
1070
+ private _createPaneElement;
1071
+ /**
1072
+ * Creates the host element that wraps around an overlay
1073
+ * and can be used for advanced positioning.
1074
+ * @returns Newly-create host element.
1075
+ */
1076
+ private _createHostElement;
1077
+ /**
1078
+ * Create a DomPortalOutlet into which the overlay content can be loaded.
1079
+ * @param pane The DOM element to turn into a portal outlet.
1080
+ * @returns A portal outlet for the given DOM element.
1081
+ */
1082
+ private _createPortalOutlet;
1083
+ static ɵfac: i0.ɵɵFactoryDeclaration<Overlay, never>;
1084
+ static ɵprov: i0.ɵɵInjectableDeclaration<Overlay>;
1085
+ }
1086
+
1087
+ /**
1088
+ * @license
1089
+ * Copyright Google LLC All Rights Reserved.
1090
+ *
1091
+ * Use of this source code is governed by an MIT-style license that can be
1092
+ * found in the LICENSE file at https://angular.io/license
1093
+ */
1094
+
1095
+ /**
1096
+ * Directive applied to an element to make it usable as an origin for an Overlay using a
1097
+ * ConnectedPositionStrategy.
1098
+ */
1099
+ declare class CdkOverlayOrigin {
1100
+ /** Reference to the element on which the directive is applied. */
1101
+ elementRef: ElementRef;
1102
+ constructor(
1103
+ /** Reference to the element on which the directive is applied. */
1104
+ elementRef: ElementRef);
1105
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkOverlayOrigin, never>;
1106
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkOverlayOrigin, "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", ["cdkOverlayOrigin"], {}, {}, never, never, false, never>;
1107
+ }
1108
+ /**
1109
+ * Directive to facilitate declarative creation of an
1110
+ * Overlay using a FlexibleConnectedPositionStrategy.
1111
+ */
1112
+ declare class CdkConnectedOverlay implements OnDestroy, OnChanges {
1113
+ private _overlay;
1114
+ private _dir;
1115
+ private _overlayRef;
1116
+ private _templatePortal;
1117
+ private _hasBackdrop;
1118
+ private _lockPosition;
1119
+ private _growAfterOpen;
1120
+ private _flexibleDimensions;
1121
+ private _push;
1122
+ private _backdropSubscription;
1123
+ private _attachSubscription;
1124
+ private _detachSubscription;
1125
+ private _positionSubscription;
1126
+ private _offsetX;
1127
+ private _offsetY;
1128
+ private _position;
1129
+ private _scrollStrategyFactory;
1130
+ /** Origin for the connected overlay. */
1131
+ origin: CdkOverlayOrigin | FlexibleConnectedPositionStrategyOrigin;
1132
+ /** Registered connected position pairs. */
1133
+ positions: ConnectedPosition[];
1134
+ /**
1135
+ * This input overrides the positions input if specified. It lets users pass
1136
+ * in arbitrary positioning strategies.
1137
+ */
1138
+ positionStrategy: FlexibleConnectedPositionStrategy;
1139
+ /** The offset in pixels for the overlay connection point on the x-axis */
1140
+ get offsetX(): number;
1141
+ set offsetX(offsetX: number);
1142
+ /** The offset in pixels for the overlay connection point on the y-axis */
1143
+ get offsetY(): number;
1144
+ set offsetY(offsetY: number);
1145
+ /** The width of the overlay panel. */
1146
+ width: number | string;
1147
+ /** The height of the overlay panel. */
1148
+ height: number | string;
1149
+ /** The min width of the overlay panel. */
1150
+ minWidth: number | string;
1151
+ /** The min height of the overlay panel. */
1152
+ minHeight: number | string;
1153
+ /** The custom class to be set on the backdrop element. */
1154
+ backdropClass: string;
1155
+ /** The custom class to add to the overlay pane element. */
1156
+ panelClass: string | string[];
1157
+ /** Margin between the overlay and the viewport edges. */
1158
+ viewportMargin: number;
1159
+ /** Strategy to be used when handling scroll events while the overlay is open. */
1160
+ scrollStrategy: ScrollStrategy;
1161
+ /** Whether the overlay is open. */
1162
+ open: boolean;
1163
+ /** Whether the overlay can be closed by user interaction. */
1164
+ disableClose: boolean;
1165
+ /** CSS selector which to set the transform origin. */
1166
+ transformOriginSelector: string;
1167
+ /** Whether or not the overlay should attach a backdrop. */
1168
+ get hasBackdrop(): boolean;
1169
+ set hasBackdrop(value: BooleanInput);
1170
+ /** Whether or not the overlay should be locked when scrolling. */
1171
+ get lockPosition(): boolean;
1172
+ set lockPosition(value: BooleanInput);
1173
+ /** Whether the overlay's width and height can be constrained to fit within the viewport. */
1174
+ get flexibleDimensions(): boolean;
1175
+ set flexibleDimensions(value: BooleanInput);
1176
+ /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */
1177
+ get growAfterOpen(): boolean;
1178
+ set growAfterOpen(value: BooleanInput);
1179
+ /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */
1180
+ get push(): boolean;
1181
+ set push(value: BooleanInput);
1182
+ /** Event emitted when the backdrop is clicked. */
1183
+ readonly backdropClick: EventEmitter<MouseEvent>;
1184
+ /** Event emitted when the position has changed. */
1185
+ readonly positionChange: EventEmitter<ConnectedOverlayPositionChange>;
1186
+ /** Event emitted when the overlay has been attached. */
1187
+ readonly attach: EventEmitter<void>;
1188
+ /** Event emitted when the overlay has been detached. */
1189
+ readonly detach: EventEmitter<void>;
1190
+ /** Emits when there are keyboard events that are targeted at the overlay. */
1191
+ readonly overlayKeydown: EventEmitter<KeyboardEvent>;
1192
+ /** Emits when there are mouse outside click events that are targeted at the overlay. */
1193
+ readonly overlayOutsideClick: EventEmitter<MouseEvent>;
1194
+ constructor(_overlay: Overlay, templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef, scrollStrategyFactory: any, _dir: Directionality);
1195
+ /** The associated overlay reference. */
1196
+ get overlayRef(): OverlayRef;
1197
+ /** The element's layout direction. */
1198
+ get dir(): Direction;
1199
+ ngOnDestroy(): void;
1200
+ ngOnChanges(changes: SimpleChanges): void;
1201
+ /** Creates an overlay */
1202
+ private _createOverlay;
1203
+ /** Builds the overlay config based on the directive's inputs */
1204
+ private _buildConfig;
1205
+ /** Updates the state of a position strategy, based on the values of the directive inputs. */
1206
+ private _updatePositionStrategy;
1207
+ /** Returns the position strategy of the overlay to be set on the overlay config */
1208
+ private _createPositionStrategy;
1209
+ private _getFlexibleConnectedPositionStrategyOrigin;
1210
+ /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */
1211
+ private _attachOverlay;
1212
+ /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */
1213
+ private _detachOverlay;
1214
+ static ɵfac: i0.ɵɵFactoryDeclaration<CdkConnectedOverlay, [null, null, null, null, { optional: true; }]>;
1215
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CdkConnectedOverlay, "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", ["cdkConnectedOverlay"], { "origin": { "alias": "cdkConnectedOverlayOrigin"; "required": false; }; "positions": { "alias": "cdkConnectedOverlayPositions"; "required": false; }; "positionStrategy": { "alias": "cdkConnectedOverlayPositionStrategy"; "required": false; }; "offsetX": { "alias": "cdkConnectedOverlayOffsetX"; "required": false; }; "offsetY": { "alias": "cdkConnectedOverlayOffsetY"; "required": false; }; "width": { "alias": "cdkConnectedOverlayWidth"; "required": false; }; "height": { "alias": "cdkConnectedOverlayHeight"; "required": false; }; "minWidth": { "alias": "cdkConnectedOverlayMinWidth"; "required": false; }; "minHeight": { "alias": "cdkConnectedOverlayMinHeight"; "required": false; }; "backdropClass": { "alias": "cdkConnectedOverlayBackdropClass"; "required": false; }; "panelClass": { "alias": "cdkConnectedOverlayPanelClass"; "required": false; }; "viewportMargin": { "alias": "cdkConnectedOverlayViewportMargin"; "required": false; }; "scrollStrategy": { "alias": "cdkConnectedOverlayScrollStrategy"; "required": false; }; "open": { "alias": "cdkConnectedOverlayOpen"; "required": false; }; "disableClose": { "alias": "cdkConnectedOverlayDisableClose"; "required": false; }; "transformOriginSelector": { "alias": "cdkConnectedOverlayTransformOriginOn"; "required": false; }; "hasBackdrop": { "alias": "cdkConnectedOverlayHasBackdrop"; "required": false; }; "lockPosition": { "alias": "cdkConnectedOverlayLockPosition"; "required": false; }; "flexibleDimensions": { "alias": "cdkConnectedOverlayFlexibleDimensions"; "required": false; }; "growAfterOpen": { "alias": "cdkConnectedOverlayGrowAfterOpen"; "required": false; }; "push": { "alias": "cdkConnectedOverlayPush"; "required": false; }; }, { "backdropClick": "backdropClick"; "positionChange": "positionChange"; "attach": "attach"; "detach": "detach"; "overlayKeydown": "overlayKeydown"; "overlayOutsideClick": "overlayOutsideClick"; }, never, never, false, never>;
1216
+ }
1217
+
1218
+ declare class OverlayModule {
1219
+ static ɵfac: i0.ɵɵFactoryDeclaration<OverlayModule, never>;
1220
+ static ɵmod: i0.ɵɵNgModuleDeclaration<OverlayModule, [typeof CdkConnectedOverlay, typeof CdkOverlayOrigin], [typeof i2.BidiModule, typeof i3.PortalModule, typeof i4.ScrollingModule], [typeof CdkConnectedOverlay, typeof CdkOverlayOrigin, typeof i4.ScrollingModule]>;
1221
+ static ɵinj: i0.ɵɵInjectorDeclaration<OverlayModule>;
1222
+ }
1223
+
1224
+ /**
1225
+ * @license
1226
+ * Copyright Google LLC All Rights Reserved.
1227
+ *
1228
+ * Use of this source code is governed by an MIT-style license that can be
1229
+ * found in the LICENSE file at https://angular.io/license
1230
+ */
1231
+
1232
+ /**
1233
+ * Alternative to OverlayContainer that supports correct displaying of overlay elements in
1234
+ * Fullscreen mode
1235
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen
1236
+ *
1237
+ * Should be provided in the root component.
1238
+ */
1239
+ declare class FullscreenOverlayContainer extends OverlayContainer implements OnDestroy {
1240
+ private _fullScreenEventName;
1241
+ private _fullScreenListener;
1242
+ constructor(_document: any, platform: Platform);
1243
+ ngOnDestroy(): void;
1244
+ protected _createContainer(): void;
1245
+ private _adjustParentForFullscreenChange;
1246
+ private _addFullscreenChangeListener;
1247
+ private _getEventName;
1248
+ /**
1249
+ * When the page is put into fullscreen mode, a specific element is specified.
1250
+ * Only that element and its children are visible when in fullscreen mode.
1251
+ */
1252
+ getFullscreenElement(): Element;
1253
+ static ɵfac: i0.ɵɵFactoryDeclaration<FullscreenOverlayContainer, never>;
1254
+ static ɵprov: i0.ɵɵInjectableDeclaration<FullscreenOverlayContainer>;
1255
+ }
1256
+
1257
+ export { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };
1258
+ export type { ConnectedPosition, FlexibleConnectedPositionStrategyOrigin, HorizontalConnectionPos, OriginConnectionPosition, OverlayConnectionPosition, OverlaySizeConfig, PositionStrategy, RepositionScrollStrategyConfig, ScrollStrategy, VerticalConnectionPos };