@covalent/core 9.1.3 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +1 -1
  2. package/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  3. package/breadcrumbs/breadcrumbs.module.d.ts +5 -3
  4. package/common/common.module.d.ts +5 -1
  5. package/common/directives/fullscreen/fullscreen.directive.d.ts +1 -1
  6. package/common/forms/auto-trim/auto-trim.directive.d.ts +1 -1
  7. package/common/material-icons.css +1 -1
  8. package/common/pipes/bytes/bytes.pipe.d.ts +1 -1
  9. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +1 -1
  10. package/common/pipes/digits/digits.pipe.d.ts +1 -1
  11. package/common/pipes/time-ago/time-ago.pipe.d.ts +1 -1
  12. package/common/pipes/time-difference/time-difference.pipe.d.ts +1 -1
  13. package/common/pipes/time-until/time-until.pipe.d.ts +1 -1
  14. package/common/pipes/truncate/truncate.pipe.d.ts +1 -1
  15. package/common/platform.css +1 -1
  16. package/common/platform.css.map +1 -1
  17. package/dialogs/alert-dialog/alert-dialog.component.d.ts +1 -1
  18. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  19. package/dialogs/dialog.component.d.ts +5 -5
  20. package/dialogs/dialogs.module.d.ts +5 -9
  21. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +1 -1
  22. package/dialogs/status-dialog/status-dialog.component.d.ts +1 -1
  23. package/dialogs/window-dialog/window-dialog.component.d.ts +1 -1
  24. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +1 -1
  25. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +1 -1
  26. package/dynamic-menu/dynamic-menu.component.d.ts +1 -1
  27. package/dynamic-menu/dynamic-menu.module.d.ts +5 -7
  28. package/fesm2022/covalent-core-breadcrumbs.mjs +83 -44
  29. package/fesm2022/covalent-core-breadcrumbs.mjs.map +1 -1
  30. package/fesm2022/covalent-core-common.mjs +146 -138
  31. package/fesm2022/covalent-core-common.mjs.map +1 -1
  32. package/fesm2022/covalent-core-dialogs.mjs +448 -169
  33. package/fesm2022/covalent-core-dialogs.mjs.map +1 -1
  34. package/fesm2022/covalent-core-dynamic-menu.mjs +351 -82
  35. package/fesm2022/covalent-core-dynamic-menu.mjs.map +1 -1
  36. package/fesm2022/covalent-core-file.mjs +256 -181
  37. package/fesm2022/covalent-core-file.mjs.map +1 -1
  38. package/fesm2022/covalent-core-json-formatter.mjs +119 -31
  39. package/fesm2022/covalent-core-json-formatter.mjs.map +1 -1
  40. package/fesm2022/covalent-core-layout.mjs +738 -384
  41. package/fesm2022/covalent-core-layout.mjs.map +1 -1
  42. package/fesm2022/covalent-core-loading.mjs +98 -76
  43. package/fesm2022/covalent-core-loading.mjs.map +1 -1
  44. package/fesm2022/covalent-core-menu.mjs +33 -19
  45. package/fesm2022/covalent-core-menu.mjs.map +1 -1
  46. package/fesm2022/covalent-core-message.mjs +112 -53
  47. package/fesm2022/covalent-core-message.mjs.map +1 -1
  48. package/fesm2022/covalent-core-search.mjs +260 -193
  49. package/fesm2022/covalent-core-search.mjs.map +1 -1
  50. package/fesm2022/covalent-core-side-sheet.mjs +224 -192
  51. package/fesm2022/covalent-core-side-sheet.mjs.map +1 -1
  52. package/fesm2022/covalent-core-user-profile.mjs +118 -59
  53. package/fesm2022/covalent-core-user-profile.mjs.map +1 -1
  54. package/file/directives/file-drop.directive.d.ts +1 -1
  55. package/file/directives/file-select.directive.d.ts +1 -1
  56. package/file/file-input/file-input.component.d.ts +2 -2
  57. package/file/file-upload/file-upload.component.d.ts +1 -1
  58. package/file/file.module.d.ts +5 -6
  59. package/json-formatter/json-formatter.component.d.ts +1 -1
  60. package/json-formatter/json-formatter.module.d.ts +5 -4
  61. package/layout/layout-card-over/layout-card-over.component.d.ts +1 -1
  62. package/layout/layout-footer/layout-footer.component.d.ts +1 -1
  63. package/layout/layout-manage-list/layout-manage-list.component.d.ts +1 -1
  64. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +3 -3
  65. package/layout/layout-nav/layout-nav.component.d.ts +1 -1
  66. package/layout/layout-nav-list/layout-nav-list.component.d.ts +1 -1
  67. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +3 -3
  68. package/layout/layout-toggle.class.d.ts +1 -1
  69. package/layout/layout.component.d.ts +1 -1
  70. package/layout/layout.directives.d.ts +3 -3
  71. package/layout/layout.module.d.ts +5 -10
  72. package/layout/navigation-drawer/navigation-drawer.component.d.ts +3 -3
  73. package/loading/directives/loading.directive.d.ts +1 -1
  74. package/loading/loading.component.d.ts +1 -1
  75. package/loading/loading.module.d.ts +1 -6
  76. package/menu/menu.component.d.ts +1 -1
  77. package/menu/menu.module.d.ts +5 -4
  78. package/message/message.component.d.ts +2 -2
  79. package/message/message.module.d.ts +5 -3
  80. package/package.json +13 -38
  81. package/search/search-box/search-box.component.d.ts +1 -1
  82. package/search/search-input/search-input.component.d.ts +1 -1
  83. package/search/search.module.d.ts +5 -6
  84. package/side-sheet/side-sheet-container.d.ts +2 -2
  85. package/side-sheet/side-sheet.content-directives.d.ts +5 -5
  86. package/side-sheet/side-sheet.d.ts +1 -1
  87. package/side-sheet/side-sheet.module.d.ts +5 -4
  88. package/theming/prebuilt/all-theme-dark.css +1 -1
  89. package/theming/prebuilt/all-theme-dark.css.map +1 -1
  90. package/theming/prebuilt/all-theme-light.css +1 -1
  91. package/theming/prebuilt/all-theme-light.css.map +1 -1
  92. package/theming/prebuilt/blue-grey-deep-orange.css +1 -1
  93. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  94. package/theming/prebuilt/blue-orange.css +1 -1
  95. package/theming/prebuilt/blue-orange.css.map +1 -1
  96. package/theming/prebuilt/indigo-pink.css +1 -1
  97. package/theming/prebuilt/indigo-pink.css.map +1 -1
  98. package/theming/prebuilt/orange-light-blue.css +1 -1
  99. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  100. package/theming/prebuilt/teal-orange.css +1 -1
  101. package/theming/prebuilt/teal-orange.css.map +1 -1
  102. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +1 -1
  103. package/user-profile/user-profile.component.d.ts +1 -1
  104. package/user-profile/user-profile.module.d.ts +5 -8
  105. package/esm2022/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -94
  106. package/esm2022/breadcrumbs/breadcrumbs.component.mjs +0 -142
  107. package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -20
  108. package/esm2022/breadcrumbs/covalent-core-breadcrumbs.mjs +0 -5
  109. package/esm2022/breadcrumbs/public_api.mjs +0 -4
  110. package/esm2022/common/animations/bounce/bounce.animation.mjs +0 -70
  111. package/esm2022/common/animations/collapse/collapse.animation.mjs +0 -51
  112. package/esm2022/common/animations/common/interfaces.mjs +0 -2
  113. package/esm2022/common/animations/fade/fadeInOut.animation.mjs +0 -37
  114. package/esm2022/common/animations/flash/flash.animation.mjs +0 -34
  115. package/esm2022/common/animations/headshake/headshake.animation.mjs +0 -47
  116. package/esm2022/common/animations/jello/jello.animation.mjs +0 -59
  117. package/esm2022/common/animations/pulse/pulse.animation.mjs +0 -32
  118. package/esm2022/common/animations/rotate/rotate.animation.mjs +0 -30
  119. package/esm2022/common/behaviors/control-value-accesor.mixin.mjs +0 -43
  120. package/esm2022/common/behaviors/disable-ripple.mixin.mjs +0 -24
  121. package/esm2022/common/behaviors/disabled.mixin.mjs +0 -24
  122. package/esm2022/common/common.module.mjs +0 -83
  123. package/esm2022/common/covalent-core-common.mjs +0 -5
  124. package/esm2022/common/directives/fullscreen/fullscreen.directive.mjs +0 -87
  125. package/esm2022/common/forms/auto-trim/auto-trim.directive.mjs +0 -37
  126. package/esm2022/common/forms/validators/validators.mjs +0 -29
  127. package/esm2022/common/functions/clipboard.mjs +0 -23
  128. package/esm2022/common/functions/convert.mjs +0 -84
  129. package/esm2022/common/functions/download.mjs +0 -75
  130. package/esm2022/common/functions/file.mjs +0 -16
  131. package/esm2022/common/pipes/bytes/bytes.pipe.mjs +0 -42
  132. package/esm2022/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +0 -42
  133. package/esm2022/common/pipes/digits/digits.pipe.mjs +0 -41
  134. package/esm2022/common/pipes/time-ago/time-ago.pipe.mjs +0 -72
  135. package/esm2022/common/pipes/time-difference/time-difference.pipe.mjs +0 -51
  136. package/esm2022/common/pipes/time-until/time-until.pipe.mjs +0 -72
  137. package/esm2022/common/pipes/truncate/truncate.pipe.mjs +0 -27
  138. package/esm2022/common/public_api.mjs +0 -39
  139. package/esm2022/common/services/icon.service.mjs +0 -1087
  140. package/esm2022/common/services/router-path.service.mjs +0 -30
  141. package/esm2022/covalent-core.mjs +0 -5
  142. package/esm2022/dialogs/alert-dialog/alert-dialog.component.mjs +0 -26
  143. package/esm2022/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -31
  144. package/esm2022/dialogs/covalent-core-dialogs.mjs +0 -5
  145. package/esm2022/dialogs/dialog.component.mjs +0 -75
  146. package/esm2022/dialogs/dialogs.module.mjs +0 -94
  147. package/esm2022/dialogs/prompt-dialog/prompt-dialog.component.mjs +0 -84
  148. package/esm2022/dialogs/public_api.mjs +0 -10
  149. package/esm2022/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +0 -222
  150. package/esm2022/dialogs/services/dialog.service.mjs +0 -215
  151. package/esm2022/dialogs/status-dialog/status-dialog.component.mjs +0 -55
  152. package/esm2022/dialogs/window-dialog/window-dialog.component.mjs +0 -40
  153. package/esm2022/dynamic-menu/covalent-core-dynamic-menu.mjs +0 -5
  154. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +0 -30
  155. package/esm2022/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +0 -23
  156. package/esm2022/dynamic-menu/dynamic-menu.component.mjs +0 -28
  157. package/esm2022/dynamic-menu/dynamic-menu.menu.mjs +0 -2
  158. package/esm2022/dynamic-menu/dynamic-menu.module.mjs +0 -55
  159. package/esm2022/dynamic-menu/public_api.mjs +0 -6
  160. package/esm2022/file/covalent-core-file.mjs +0 -5
  161. package/esm2022/file/directives/file-drop.directive.mjs +0 -145
  162. package/esm2022/file/directives/file-select.directive.mjs +0 -78
  163. package/esm2022/file/file-input/file-input.component.mjs +0 -146
  164. package/esm2022/file/file-upload/file-upload.component.mjs +0 -188
  165. package/esm2022/file/file.module.mjs +0 -56
  166. package/esm2022/file/public_api.mjs +0 -7
  167. package/esm2022/file/services/file.service.mjs +0 -66
  168. package/esm2022/json-formatter/collapse.animation.mjs +0 -51
  169. package/esm2022/json-formatter/covalent-core-json-formatter.mjs +0 -5
  170. package/esm2022/json-formatter/json-formatter.component.mjs +0 -222
  171. package/esm2022/json-formatter/json-formatter.module.mjs +0 -20
  172. package/esm2022/json-formatter/public_api.mjs +0 -3
  173. package/esm2022/layout/covalent-core-layout.mjs +0 -5
  174. package/esm2022/layout/layout-card-over/layout-card-over.component.mjs +0 -50
  175. package/esm2022/layout/layout-footer/layout-footer.component.mjs +0 -36
  176. package/esm2022/layout/layout-manage-list/layout-manage-list.component.mjs +0 -92
  177. package/esm2022/layout/layout-manage-list/layout-manage-list.directives.mjs +0 -84
  178. package/esm2022/layout/layout-nav/layout-nav.component.mjs +0 -76
  179. package/esm2022/layout/layout-nav-list/layout-nav-list.component.mjs +0 -154
  180. package/esm2022/layout/layout-nav-list/layout-nav-list.directives.mjs +0 -84
  181. package/esm2022/layout/layout-toggle.class.mjs +0 -96
  182. package/esm2022/layout/layout.component.mjs +0 -91
  183. package/esm2022/layout/layout.directives.mjs +0 -85
  184. package/esm2022/layout/layout.module.mjs +0 -115
  185. package/esm2022/layout/navigation-drawer/navigation-drawer.component.mjs +0 -221
  186. package/esm2022/layout/public_api.mjs +0 -13
  187. package/esm2022/loading/covalent-core-loading.mjs +0 -5
  188. package/esm2022/loading/directives/loading.directive.mjs +0 -133
  189. package/esm2022/loading/loading.component.mjs +0 -193
  190. package/esm2022/loading/loading.module.mjs +0 -41
  191. package/esm2022/loading/public_api.mjs +0 -6
  192. package/esm2022/loading/services/loading.factory.mjs +0 -210
  193. package/esm2022/loading/services/loading.service.mjs +0 -219
  194. package/esm2022/menu/covalent-core-menu.mjs +0 -5
  195. package/esm2022/menu/menu.component.mjs +0 -12
  196. package/esm2022/menu/menu.module.mjs +0 -21
  197. package/esm2022/menu/public_api.mjs +0 -3
  198. package/esm2022/message/collapse.animation.mjs +0 -51
  199. package/esm2022/message/covalent-core-message.mjs +0 -5
  200. package/esm2022/message/message.component.mjs +0 -222
  201. package/esm2022/message/message.module.mjs +0 -25
  202. package/esm2022/message/public_api.mjs +0 -3
  203. package/esm2022/public_api.mjs +0 -2
  204. package/esm2022/search/covalent-core-search.mjs +0 -5
  205. package/esm2022/search/public_api.mjs +0 -4
  206. package/esm2022/search/search-box/search-box.component.mjs +0 -198
  207. package/esm2022/search/search-input/search-input.component.mjs +0 -219
  208. package/esm2022/search/search.module.mjs +0 -37
  209. package/esm2022/side-sheet/covalent-core-side-sheet.mjs +0 -5
  210. package/esm2022/side-sheet/public_api.mjs +0 -6
  211. package/esm2022/side-sheet/side-sheet-container.mjs +0 -285
  212. package/esm2022/side-sheet/side-sheet-ref.mjs +0 -30
  213. package/esm2022/side-sheet/side-sheet.animation.mjs +0 -12
  214. package/esm2022/side-sheet/side-sheet.config.mjs +0 -11
  215. package/esm2022/side-sheet/side-sheet.content-directives.mjs +0 -206
  216. package/esm2022/side-sheet/side-sheet.mjs +0 -236
  217. package/esm2022/side-sheet/side-sheet.module.mjs +0 -45
  218. package/esm2022/user-profile/covalent-core-user-profile.mjs +0 -5
  219. package/esm2022/user-profile/public_api.mjs +0 -4
  220. package/esm2022/user-profile/user-profile-menu/user-profile-menu.component.mjs +0 -25
  221. package/esm2022/user-profile/user-profile.component.mjs +0 -21
  222. package/esm2022/user-profile/user-profile.module.mjs +0 -42
@@ -1,285 +0,0 @@
1
- import { ConfigurableFocusTrapFactory, FocusMonitor, } from '@angular/cdk/a11y';
2
- import { BasePortalOutlet, CdkPortalOutlet, } from '@angular/cdk/portal';
3
- import { DOCUMENT } from '@angular/common';
4
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Optional, ViewChild, ViewEncapsulation, } from '@angular/core';
5
- import { tdSideSheetAnimations } from './side-sheet.animation';
6
- import { CovalentSideSheetConfig } from './side-sheet.config';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/a11y";
9
- import * as i2 from "./side-sheet.config";
10
- import * as i3 from "@angular/cdk/portal";
11
- export function _getFocusedElementPierceShadowDom() {
12
- let activeElement = typeof document !== 'undefined' && document
13
- ? document.activeElement
14
- : null;
15
- while (activeElement && activeElement.shadowRoot) {
16
- const newActiveElement = activeElement.shadowRoot
17
- .activeElement;
18
- if (newActiveElement === activeElement) {
19
- break;
20
- }
21
- else {
22
- activeElement = newActiveElement;
23
- }
24
- }
25
- return activeElement;
26
- }
27
- /**
28
- * Base class for the `CovalentSideSheetContainer`. The base class does not implement
29
- * animations as these are left to implementers of the side-sheet container.
30
- */
31
- export class _CovalentSideSheetContainerBase extends BasePortalOutlet {
32
- _elementRef;
33
- _focusTrapFactory;
34
- _changeDetectorRef;
35
- _config;
36
- _focusMonitor;
37
- _document;
38
- /** The portal outlet inside of this container into which the side-sheet content will be loaded. */
39
- _portalOutlet;
40
- /** The class that traps and manages focus within the side-sheet. */
41
- _focusTrap;
42
- /** Emits when an animation state changes. */
43
- _animationStateChanged = new EventEmitter();
44
- /** Element that was focused before the side-sheet was opened. Save this to restore upon close. */
45
- _elementFocusedBeforeSideSheetWasOpened = null;
46
- /**
47
- * Type of interaction that led to the side-sheet being closed. This is used to determine
48
- * whether the focus style will be applied when returning focus to its original location
49
- * after the side-sheet is closed.
50
- */
51
- _closeInteractionType = null;
52
- /** ID of the element that should be considered as the side-sheet's label. */
53
- _ariaLabelledBy;
54
- /** ID for the container DOM element. */
55
- _id;
56
- constructor(_elementRef, _focusTrapFactory, _changeDetectorRef, _document,
57
- /** The side-sheet configuration. */
58
- _config, _focusMonitor) {
59
- super();
60
- this._elementRef = _elementRef;
61
- this._focusTrapFactory = _focusTrapFactory;
62
- this._changeDetectorRef = _changeDetectorRef;
63
- this._config = _config;
64
- this._focusMonitor = _focusMonitor;
65
- this._ariaLabelledBy = _config.ariaLabelledBy || null;
66
- this._document = _document;
67
- }
68
- /** Initializes the side-sheet container with the attached content. */
69
- _initializeWithAttachedContent() {
70
- this._setupFocusTrap();
71
- // Save the previously focused element. This element will be re-focused
72
- // when the side-sheet closes.
73
- this._capturePreviouslyFocusedElement();
74
- }
75
- /**
76
- * Attach a ComponentPortal as content to this side-sheet container.
77
- * @param portal Portal to be attached as the side-sheet content.
78
- */
79
- attachComponentPortal(portal) {
80
- return this._portalOutlet.attachComponentPortal(portal);
81
- }
82
- /**
83
- * Attach a TemplatePortal as content to this side-sheet container.
84
- * @param portal Portal to be attached as the side-sheet content.
85
- */
86
- attachTemplatePortal(portal) {
87
- return this._portalOutlet.attachTemplatePortal(portal);
88
- }
89
- /**
90
- * Attaches a DOM portal to the side-sheet container.
91
- * @param portal Portal to be attached.
92
- * @deprecated To be turned into a method.
93
- */
94
- attachDomPortal = (portal) => {
95
- return this._portalOutlet.attachDomPortal(portal);
96
- };
97
- /** Moves focus back into the side-sheet if it was moved out. */
98
- _recaptureFocus() {
99
- if (!this._containsFocus()) {
100
- this._trapFocus();
101
- }
102
- }
103
- /**
104
- * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus
105
- * cannot be moved then focus will go to the side-sheet container.
106
- */
107
- _trapFocus() {
108
- const element = this._elementRef.nativeElement;
109
- if (!this._config.autoFocus) {
110
- if (!this._containsFocus()) {
111
- element.focus();
112
- }
113
- }
114
- else {
115
- this._focusTrap
116
- .focusInitialElementWhenReady()
117
- .then((focusedSuccessfully) => {
118
- // If we weren't able to find a focusable element in the side-sheet, then focus the side-sheet
119
- // container instead.
120
- if (!focusedSuccessfully) {
121
- this._focusSideSheetContainer();
122
- }
123
- });
124
- }
125
- }
126
- /** Restores focus to the element that was focused before the side-sheet opened. */
127
- _restoreFocus() {
128
- const previousElement = this._elementFocusedBeforeSideSheetWasOpened;
129
- // We need the extra check, because IE can set the `activeElement` to null in some cases.
130
- if (this._config.restoreFocus &&
131
- previousElement &&
132
- typeof previousElement.focus === 'function') {
133
- const activeElement = _getFocusedElementPierceShadowDom();
134
- const element = this._elementRef.nativeElement;
135
- // Make sure that focus is still inside the side-sheet or is on the body (usually because a
136
- // non-focusable element like the backdrop was clicked) before moving it. It's possible that
137
- // the consumer moved it themselves before the animation was done, in which case we shouldn't
138
- // do anything.
139
- if (!activeElement ||
140
- activeElement === this._document.body ||
141
- activeElement === element ||
142
- element.contains(activeElement)) {
143
- if (this._focusMonitor) {
144
- this._focusMonitor.focusVia(previousElement, this._closeInteractionType);
145
- this._closeInteractionType = null;
146
- }
147
- else {
148
- previousElement.focus();
149
- }
150
- }
151
- }
152
- if (this._focusTrap) {
153
- this._focusTrap.destroy();
154
- }
155
- }
156
- /** Sets up the focus trap. */
157
- _setupFocusTrap() {
158
- this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
159
- }
160
- /** Captures the element that was focused before the side-sheet was opened. */
161
- _capturePreviouslyFocusedElement() {
162
- if (this._document) {
163
- this._elementFocusedBeforeSideSheetWasOpened =
164
- _getFocusedElementPierceShadowDom();
165
- }
166
- }
167
- /** Focuses the side-sheet container. */
168
- _focusSideSheetContainer() {
169
- // Note that there is no focus method when rendering on the server.
170
- if (this._elementRef.nativeElement.focus) {
171
- this._elementRef.nativeElement.focus();
172
- }
173
- }
174
- /** Returns whether focus is inside the side-sheet. */
175
- _containsFocus() {
176
- const element = this._elementRef.nativeElement;
177
- const activeElement = _getFocusedElementPierceShadowDom();
178
- return element === activeElement || element.contains(activeElement);
179
- }
180
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: _CovalentSideSheetContainerBase, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT, optional: true }, { token: i2.CovalentSideSheetConfig }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
181
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: _CovalentSideSheetContainerBase, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
182
- }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: _CovalentSideSheetContainerBase, decorators: [{
184
- type: Directive
185
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
186
- type: Optional
187
- }, {
188
- type: Inject,
189
- args: [DOCUMENT]
190
- }] }, { type: i2.CovalentSideSheetConfig }, { type: i1.FocusMonitor }], propDecorators: { _portalOutlet: [{
191
- type: ViewChild,
192
- args: [CdkPortalOutlet, { static: true }]
193
- }] } });
194
- /**
195
- * Internal component that wraps the generated side-sheet content.
196
- * This animation below is the only reason for duplicating most of the Material dialog code
197
- */
198
- export class CovalentSideSheetContainerComponent extends _CovalentSideSheetContainerBase {
199
- /** State of the side-sheet animation. */
200
- _state = 'enter';
201
- tdSideSheetContainerClass = true;
202
- tabIndex = -1;
203
- arialModal = true;
204
- idAttr = this._id;
205
- roleAttr = this._config.role;
206
- arialLabelByAttr = this._config.ariaLabel
207
- ? null
208
- : this._ariaLabelledBy;
209
- arialDescribeByAttr = this._config.ariaDescribedBy || null;
210
- arialLabelAttr = this._config.ariaLabel;
211
- get sideSheetAnimationState() {
212
- return this._state;
213
- }
214
- onAnimateStart($event) {
215
- this._onAnimationStart($event);
216
- }
217
- onAnimateDone($event) {
218
- this._onAnimationDone($event);
219
- }
220
- /** Callback, invoked whenever an animation on the host completes. */
221
- _onAnimationDone({ toState, totalTime }) {
222
- if (toState === 'enter') {
223
- this._trapFocus();
224
- this._animationStateChanged.next({ state: 'opened', totalTime });
225
- }
226
- else if (toState === 'exit') {
227
- this._restoreFocus();
228
- this._animationStateChanged.next({ state: 'closed', totalTime });
229
- }
230
- }
231
- /** Callback, invoked when an animation on the host starts. */
232
- _onAnimationStart({ toState, totalTime }) {
233
- if (toState === 'enter') {
234
- this._animationStateChanged.next({ state: 'opening', totalTime });
235
- }
236
- else if (toState === 'exit' || toState === 'void') {
237
- this._animationStateChanged.next({ state: 'closing', totalTime });
238
- }
239
- }
240
- /** Starts the side-sheet exit animation. */
241
- _startExitAnimation() {
242
- this._state = 'exit';
243
- this._changeDetectorRef.markForCheck();
244
- }
245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
246
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetContainerComponent, selector: "td-side-sheet-container", host: { listeners: { "@sideSheetContainer.start": "onAnimateStart($event)", "@sideSheetContainer.done": "onAnimateDone($event)" }, properties: { "class.td-side-sheet-container": "this.tdSideSheetContainerClass", "tabindex": "this.tabIndex", "aria-modal": "this.arialModal", "id": "this.idAttr", "attr.role": "this.roleAttr", "attr.aria-labelledby": "this.arialLabelByAttr", "attr.aria-describedby": "this.arialDescribeByAttr", "attr.aria-label": "this.arialLabelAttr", "@sideSheetContainer": "this.sideSheetAnimationState" } }, usesInheritance: true, ngImport: i0, template: ` <ng-template cdkPortalOutlet></ng-template> `, isInline: true, styles: [".td-side-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;display:block;padding:24px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.td-side-sheet-wrapper{display:flex;flex-direction:column;height:100%}.td-side-sheet-content{margin:0 -24px;padding:0 24px;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}.td-side-sheet-title{margin:-16px 0 20px;display:flex;align-items:center}.td-side-sheet-actions{padding:8px 0;margin:0 -16px -24px;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;box-sizing:content-box}.td-side-sheet-actions[align=end]{justify-content:flex-end}.td-side-sheet-actions[align=center]{justify-content:center}.td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [tdSideSheetAnimations.sideSheetContainer], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
247
- }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetContainerComponent, decorators: [{
249
- type: Component,
250
- args: [{ selector: 'td-side-sheet-container', template: ` <ng-template cdkPortalOutlet></ng-template> `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, animations: [tdSideSheetAnimations.sideSheetContainer], styles: [".td-side-sheet-container{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;display:block;padding:24px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.td-side-sheet-wrapper{display:flex;flex-direction:column;height:100%}.td-side-sheet-content{margin:0 -24px;padding:0 24px;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}.td-side-sheet-title{margin:-16px 0 20px;display:flex;align-items:center}.td-side-sheet-actions{padding:8px 0;margin:0 -16px -24px;display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;box-sizing:content-box}.td-side-sheet-actions[align=end]{justify-content:flex-end}.td-side-sheet-actions[align=center]{justify-content:center}.td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"] }]
251
- }], propDecorators: { tdSideSheetContainerClass: [{
252
- type: HostBinding,
253
- args: ['class.td-side-sheet-container']
254
- }], tabIndex: [{
255
- type: HostBinding,
256
- args: ['tabindex']
257
- }], arialModal: [{
258
- type: HostBinding,
259
- args: ['aria-modal']
260
- }], idAttr: [{
261
- type: HostBinding,
262
- args: ['id']
263
- }], roleAttr: [{
264
- type: HostBinding,
265
- args: ['attr.role']
266
- }], arialLabelByAttr: [{
267
- type: HostBinding,
268
- args: ['attr.aria-labelledby']
269
- }], arialDescribeByAttr: [{
270
- type: HostBinding,
271
- args: ['attr.aria-describedby']
272
- }], arialLabelAttr: [{
273
- type: HostBinding,
274
- args: ['attr.aria-label']
275
- }], sideSheetAnimationState: [{
276
- type: HostBinding,
277
- args: ['@sideSheetContainer']
278
- }], onAnimateStart: [{
279
- type: HostListener,
280
- args: ['@sideSheetContainer.start', ['$event']]
281
- }], onAnimateDone: [{
282
- type: HostListener,
283
- args: ['@sideSheetContainer.done', ['$event']]
284
- }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLDRCQUE0QixFQUM1QixZQUFZLEdBRWIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FJaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFNBQVMsRUFDVCxVQUFVLEVBRVYsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUU5RCxNQUFNLFVBQVUsaUNBQWlDO0lBQy9DLElBQUksYUFBYSxHQUNmLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxRQUFRO1FBQ3pDLENBQUMsQ0FBRSxRQUFRLENBQUMsYUFBb0M7UUFDaEQsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUVYLE9BQU8sYUFBYSxJQUFJLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqRCxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxVQUFVO2FBQzlDLGFBQW1DLENBQUM7UUFDdkMsSUFBSSxnQkFBZ0IsS0FBSyxhQUFhLEVBQUUsQ0FBQztZQUN2QyxNQUFNO1FBQ1IsQ0FBQzthQUFNLENBQUM7WUFDTixhQUFhLEdBQUcsZ0JBQWdCLENB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QUFXO3VCQUFDLHFCQUFxQjtnQkFHcUIsY0FBYztzQkFBcEUsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNQyxhQUFhO3NCQUFsRSxZQUFZO3VCQUFDLDBCQUEwQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBDb25maWd1cmFibGVGb2N1c1RyYXAsXG4gIENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXG4gIEZvY3VzTW9uaXRvcixcbiAgRm9jdXNPcmlnaW4sXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIEJhc2VQb3J0YWxPdXRsZXQsXG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBEb21Qb3J0YWwsXG4gIFRlbXBsYXRlUG9ydGFsLFxufSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGRTaWRlU2hlZXRBbmltYXRpb25zIH0gZnJvbSAnLi9zaWRlLXNoZWV0LmFuaW1hdGlvbic7XG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldENvbmZpZyB9IGZyb20gJy4vc2lkZS1zaGVldC5jb25maWcnO1xuXG5leHBvcnQgZnVuY3Rpb24gX2dldEZvY3VzZWRFbGVtZW50UGllcmNlU2hhZG93RG9tKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gIGxldCBhY3RpdmVFbGVtZW50ID1cbiAgICB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50XG4gICAgICA/IChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50IHwgbnVsbClcbiAgICAgIDogbnVsbDtcblxuICB3aGlsZSAoYWN0aXZlRWxlbWVudCAmJiBhY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QpIHtcbiAgICBjb25zdCBuZXdBY3RpdmVFbGVtZW50ID0gYWN0aXZlRWxlbWVudC5zaGFkb3dSb290XG4gICAgICAuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKG5ld0FjdGl2ZUVsZW1lbnQgPT09IGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3RpdmVFbGVtZW50ID0gbmV3QWN0aXZlRWxlbWVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYWN0aXZlRWxlbWVudDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0aGUgYENvdmFsZW50U2lkZVNoZWV0Q29udGFpbmVyYC4gVGhlIGJhc2UgY2xhc3MgZG9lcyBub3QgaW1wbGVtZW50XG4gKiBhbmltYXRpb25zIGFzIHRoZXNlIGFyZSBsZWZ0IHRvIGltcGxlbWVudGVycyBvZiB0aGUgc2lkZS1zaGVldCBjb250YWluZXIuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIF9Db3ZhbGVudFNpZGVTaGVldENvbnRhaW5lckJhc2UgZXh0ZW5kcyBCYXNlUG9ydGFsT3V0bGV0IHtcbiAgcHJvdGVjdGVkIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgLyoqIFRoZSBwb3J0YWwgb3V0bGV0IGluc2lkZSBvZiB0aGlzIGNvbnRhaW5lciBpbnRvIHdoaWNoIHRoZSBzaWRlLXNoZWV0IGNvbnRlbnQgd2lsbCBiZSBsb2FkZWQuICovXG4gIEBWaWV3Q2hpbGQoQ2RrUG9ydGFsT3V0bGV0LCB7IHN0YXRpYzogdHJ1ZSB9KSBfcG9ydGFsT3V0bGV0ITogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIC8qKiBUaGUgY2xhc3MgdGhhdCB0cmFwcyBhbmQgbWFuYWdlcyBmb2N1cyB3aXRoaW4gdGhlIHNpZGUtc2hlZXQuICovXG4gIHByaXZhdGUgX2ZvY3VzVHJhcCE6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcDtcblxuICAvKiogRW1pdHMgd2hlbiBhbiBhbmltYXRpb24gc3RhdGUgY2hhbmdlcy4gKi9cbiAgX2FuaW1hdGlvblN0YXRlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIHN0YXRlOiAnb3BlbmVkJyB8ICdvcGVuaW5nJyB8ICdjbG9zaW5nJyB8ICdjbG9zZWQnO1xuICAgIHRvdGFsVGltZTogbnVtYmVyO1xuICB9PigpO1xuXG4gIC8qKiBFbGVtZW50IHRoYXQgd2FzIGZvY3VzZWQgYmVmb3JlIHRoZSBzaWRlLXNoZWV0IHdhcyBvcGVuZWQuIFNhdmUgdGhpcyB0byByZXN0b3JlIHVwb24gY2xvc2UuICovXG4gIHByaXZhdGUgX2VsZW1lbnRGb2N1c2VkQmVmb3JlU2lkZVNoZWV0V2FzT3BlbmVkOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGludGVyYWN0aW9uIHRoYXQgbGVkIHRvIHRoZSBzaWRlLXNoZWV0IGJlaW5nIGNsb3NlZC4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZVxuICAgKiB3aGV0aGVyIHRoZSBmb2N1cyBzdHlsZSB3aWxsIGJlIGFwcGxpZWQgd2hlbiByZXR1cm5pbmcgZm9jdXMgdG8gaXRzIG9yaWdpbmFsIGxvY2F0aW9uXG4gICAqIGFmdGVyIHRoZSBzaWRlLXNoZWV0IGlzIGNsb3NlZC5cbiAgICovXG4gIF9jbG9zZUludGVyYWN0aW9uVHlwZTogRm9jdXNPcmlnaW4gfCBudWxsID0gbnVsbDtcblxuICAvKiogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhcyB0aGUgc2lkZS1zaGVldCdzIGxhYmVsLiAqL1xuICBfYXJpYUxhYmVsbGVkQnk6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqIElEIGZvciB0aGUgY29udGFpbmVyIERPTSBlbGVtZW50LiAqL1xuICBfaWQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBfZm9jdXNUcmFwRmFjdG9yeTogQ29uZmlndXJhYmxlRm9jdXNUcmFwRmFjdG9yeSxcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBfZG9jdW1lbnQ6IGFueSxcbiAgICAvKiogVGhlIHNpZGUtc2hlZXQgY29uZmlndXJhdGlvbi4gKi9cbiAgICBwdWJsaWMgX2NvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yPzogRm9jdXNNb25pdG9yXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fYXJpYUxhYmVsbGVkQnkgPSBfY29uZmlnLmFyaWFMYWJlbGxlZEJ5IHx8IG51bGw7XG4gICAgdGhpcy5fZG9jdW1lbnQgPSBfZG9jdW1lbnQ7XG4gIH1cblxuICAvKiogU3RhcnRzIHRoZSBzaWRlLXNoZWV0IGV4aXQgYW5pbWF0aW9uLiAqL1xuICBhYnN0cmFjdCBfc3RhcnRFeGl0QW5pbWF0aW9uKCk6IHZvaWQ7XG5cbiAgLyoqIEluaXRpYWxpemVzIHRoZSBzaWRlLXNoZWV0IGNvbnRhaW5lciB3aXRoIHRoZSBhdHRhY2hlZCBjb250ZW50LiAqL1xuICBfaW5pdGlhbGl6ZVdpdGhBdHRhY2hlZENvbnRlbnQoKSB7XG4gICAgdGhpcy5fc2V0dXBGb2N1c1RyYXAoKTtcbiAgICAvLyBTYXZlIHRoZSBwcmV2aW91c2x5IGZvY3VzZWQgZWxlbWVudC4gVGhpcyBlbGVtZW50IHdpbGwgYmUgcmUtZm9jdXNlZFxuICAgIC8vIHdoZW4gdGhlIHNpZGUtc2hlZXQgY2xvc2VzLlxuICAgIHRoaXMuX2NhcHR1cmVQcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggYSBDb21wb25lbnRQb3J0YWwgYXMgY29udGVudCB0byB0aGlzIHNpZGUtc2hlZXQgY29udGFpbmVyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSBhdHRhY2hlZCBhcyB0aGUgc2lkZS1zaGVldCBjb250ZW50LlxuICAgKi9cbiAgYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChwb3J0YWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBhIFRlbXBsYXRlUG9ydGFsIGFzIGNvbnRlbnQgdG8gdGhpcyBzaWRlLXNoZWV0IGNvbnRhaW5lci5cbiAgICogQHBhcmFtIHBvcnRhbCBQb3J0YWwgdG8gYmUgYXR0YWNoZWQgYXMgdGhlIHNpZGUtc2hlZXQgY29udGVudC5cbiAgICovXG4gIGF0dGFjaFRlbXBsYXRlUG9ydGFsPEM+KHBvcnRhbDogVGVtcGxhdGVQb3J0YWw8Qz4pOiBFbWJlZGRlZFZpZXdSZWY8Qz4ge1xuICAgIHJldHVybiB0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIERPTSBwb3J0YWwgdG8gdGhlIHNpZGUtc2hlZXQgY29udGFpbmVyLlxuICAgKiBAcGFyYW0gcG9ydGFsIFBvcnRhbCB0byBiZSBhdHRhY2hlZC5cbiAgICogQGRlcHJlY2F0ZWQgVG8gYmUgdHVybmVkIGludG8gYSBtZXRob2QuXG4gICAqL1xuICBvdmVycmlkZSBhdHRhY2hEb21Qb3J0YWwgPSAocG9ydGFsOiBEb21Qb3J0YWwpID0+IHtcbiAgICByZXR1cm4gdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaERvbVBvcnRhbChwb3J0YWwpO1xuICB9O1xuXG4gIC8qKiBNb3ZlcyBmb2N1cyBiYWNrIGludG8gdGhlIHNpZGUtc2hlZXQgaWYgaXQgd2FzIG1vdmVkIG91dC4gKi9cbiAgX3JlY2FwdHVyZUZvY3VzKCkge1xuICAgIGlmICghdGhpcy5fY29udGFpbnNGb2N1cygpKSB7XG4gICAgICB0aGlzLl90cmFwRm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIGZvY3VzIGluc2lkZSB0aGUgZm9jdXMgdHJhcC4gV2hlbiBhdXRvRm9jdXMgaXMgbm90IHNldCB0byAnc2lkZS1zaGVldCcsIGlmIGZvY3VzXG4gICAqIGNhbm5vdCBiZSBtb3ZlZCB0aGVuIGZvY3VzIHdpbGwgZ28gdG8gdGhlIHNpZGUtc2hlZXQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIF90cmFwRm9jdXMoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZy5hdXRvRm9jdXMpIHtcbiAgICAgIGlmICghdGhpcy5fY29udGFpbnNGb2N1cygpKSB7XG4gICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZm9jdXNUcmFwXG4gICAgICAgIC5mb2N1c0luaXRpYWxFbGVtZW50V2hlblJlYWR5KClcbiAgICAgICAgLnRoZW4oKGZvY3VzZWRTdWNjZXNzZnVsbHkpID0+IHtcbiAgICAgICAgICAvLyBJZiB3ZSB3ZXJlbid0IGFibGUgdG8gZmluZCBhIGZvY3VzYWJsZSBlbGVtZW50IGluIHRoZSBzaWRlLXNoZWV0LCB0aGVuIGZvY3VzIHRoZSBzaWRlLXNoZWV0XG4gICAgICAgICAgLy8gY29udGFpbmVyIGluc3RlYWQuXG4gICAgICAgICAgaWYgKCFmb2N1c2VkU3VjY2Vzc2Z1bGx5KSB7XG4gICAgICAgICAgICB0aGlzLl9mb2N1c1NpZGVTaGVldENvbnRhaW5lcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJlc3RvcmVzIGZvY3VzIHRvIHRoZSBlbGVtZW50IHRoYXQgd2FzIGZvY3VzZWQgYmVmb3JlIHRoZSBzaWRlLXNoZWV0IG9wZW5lZC4gKi9cbiAgcHJvdGVjdGVkIF9yZXN0b3JlRm9jdXMoKSB7XG4gICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gdGhpcy5fZWxlbWVudEZvY3VzZWRCZWZvcmVTaWRlU2hlZXRXYXNPcGVuZWQ7XG5cbiAgICAvLyBXZSBuZWVkIHRoZSBleHRyYSBjaGVjaywgYmVjYXVzZSBJRSBjYW4gc2V0IHRoZSBgYWN0aXZlRWxlbWVudGAgdG8gbnVsbCBpbiBzb21lIGNhc2VzLlxuICAgIGlmIChcbiAgICAgIHRoaXMuX2NvbmZpZy5yZXN0b3JlRm9jdXMgJiZcbiAgICAgIHByZXZpb3VzRWxlbWVudCAmJlxuICAgICAgdHlwZW9mIHByZXZpb3VzRWxlbWVudC5mb2N1cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IF9nZXRGb2N1c2VkRWxlbWVudFBpZXJjZVNoYWRvd0RvbSgpO1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgZm9jdXMgaXMgc3RpbGwgaW5zaWRlIHRoZSBzaWRlLXNoZWV0IG9yIGlzIG9uIHRoZSBib2R5ICh1c3VhbGx5IGJlY2F1c2UgYVxuICAgICAgLy8gbm9uLWZvY3VzYWJsZSBlbGVtZW50IGxpa2UgdGhlIGJhY2tkcm9wIHdhcyBjbGlja2VkKSBiZWZvcmUgbW92aW5nIGl0LiBJdCdzIHBvc3NpYmxlIHRoYXRcbiAgICAgIC8vIHRoZSBjb25zdW1lciBtb3ZlZCBpdCB0aGVtc2VsdmVzIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHdhcyBkb25lLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZG4ndFxuICAgICAgLy8gZG8gYW55dGhpbmcuXG4gICAgICBpZiAoXG4gICAgICAgICFhY3RpdmVFbGVtZW50IHx8XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuX2RvY3VtZW50LmJvZHkgfHxcbiAgICAgICAgYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCB8fFxuICAgICAgICBlbGVtZW50LmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpXG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuX2ZvY3VzTW9uaXRvcikge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYShcbiAgICAgICAgICAgIHByZXZpb3VzRWxlbWVudCxcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9jbG9zZUludGVyYWN0aW9uVHlwZSA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZm9jdXNUcmFwKSB7XG4gICAgICB0aGlzLl9mb2N1c1RyYXAuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTZXRzIHVwIHRoZSBmb2N1cyB0cmFwLiAqL1xuICBwcml2YXRlIF9zZXR1cEZvY3VzVHJhcCgpIHtcbiAgICB0aGlzLl9mb2N1c1RyYXAgPSB0aGlzLl9mb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZShcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICk7XG4gIH1cblxuICAvKiogQ2FwdHVyZXMgdGhlIGVsZW1lbnQgdGhhdCB3YXMgZm9jdXNlZCBiZWZvcmUgdGhlIHNpZGUtc2hlZXQgd2FzIG9wZW5lZC4gKi9cbiAgcHJpdmF0ZSBfY2FwdHVyZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpIHtcbiAgICBpZiAodGhpcy5fZG9jdW1lbnQpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnRGb2N1c2VkQmVmb3JlU2lkZVNoZWV0V2FzT3BlbmVkID1cbiAgICAgICAgX2dldEZvY3VzZWRFbGVtZW50UGllcmNlU2hhZG93RG9tKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEZvY3VzZXMgdGhlIHNpZGUtc2hlZXQgY29udGFpbmVyLiAqL1xuICBwcml2YXRlIF9mb2N1c1NpZGVTaGVldENvbnRhaW5lcigpIHtcbiAgICAvLyBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gZm9jdXMgbWV0aG9kIHdoZW4gcmVuZGVyaW5nIG9uIHRoZSBzZXJ2ZXIuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cykge1xuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybnMgd2hldGhlciBmb2N1cyBpcyBpbnNpZGUgdGhlIHNpZGUtc2hlZXQuICovXG4gIHByaXZhdGUgX2NvbnRhaW5zRm9jdXMoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gX2dldEZvY3VzZWRFbGVtZW50UGllcmNlU2hhZG93RG9tKCk7XG4gICAgcmV0dXJuIGVsZW1lbnQgPT09IGFjdGl2ZUVsZW1lbnQgfHwgZWxlbWVudC5jb250YWlucyhhY3RpdmVFbGVtZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVybmFsIGNvbXBvbmVudCB0aGF0IHdyYXBzIHRoZSBnZW5lcmF0ZWQgc2lkZS1zaGVldCBjb250ZW50LlxuICogVGhpcyBhbmltYXRpb24gYmVsb3cgaXMgdGhlIG9ubHkgcmVhc29uIGZvciBkdXBsaWNhdGluZyBtb3N0IG9mIHRoZSBNYXRlcmlhbCBkaWFsb2cgY29kZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZC1zaWRlLXNoZWV0LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgIDxuZy10ZW1wbGF0ZSBjZGtQb3J0YWxPdXRsZXQ+PC9uZy10ZW1wbGF0ZT4gYCxcbiAgc3R5bGVVcmxzOiBbJ3NpZGUtc2hlZXQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIGFuaW1hdGlvbnM6IFt0ZFNpZGVTaGVldEFuaW1hdGlvbnMuc2lkZVNoZWV0Q29udGFpbmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRTaWRlU2hlZXRDb250YWluZXJDb21wb25lbnQgZXh0ZW5kcyBfQ292YWxlbnRTaWRlU2hlZXRDb250YWluZXJCYXNlIHtcbiAgLyoqIFN0YXRlIG9mIHRoZSBzaWRlLXNoZWV0IGFuaW1hdGlvbi4gKi9cbiAgX3N0YXRlOiAndm9pZCcgfCAnZW50ZXInIHwgJ2V4aXQnID0gJ2VudGVyJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRkLXNpZGUtc2hlZXQtY29udGFpbmVyJykgdGRTaWRlU2hlZXRDb250YWluZXJDbGFzcyA9XG4gICAgdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHRhYkluZGV4ID0gLTE7XG4gIEBIb3N0QmluZGluZygnYXJpYS1tb2RhbCcpIGFyaWFsTW9kYWwgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2lkJykgaWRBdHRyID0gdGhpcy5faWQ7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZUF0dHIgPSB0aGlzLl9jb25maWcucm9sZTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpIGFyaWFsTGFiZWxCeUF0dHIgPSB0aGlzLl9jb25maWcuYXJpYUxhYmVsXG4gICAgPyBudWxsXG4gICAgOiB0aGlzLl9hcmlhTGFiZWxsZWRCeTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBhcmlhbERlc2NyaWJlQnlBdHRyID1cbiAgICB0aGlzLl9jb25maWcuYXJpYURlc2NyaWJlZEJ5IHx8IG51bGw7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYWxMYWJlbEF0dHIgPSB0aGlzLl9jb25maWcuYXJpYUxhYmVsO1xuICBASG9zdEJpbmRpbmcoJ0BzaWRlU2hlZXRDb250YWluZXInKSBnZXQgc2lkZVNoZWV0QW5pbWF0aW9uU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ0BzaWRlU2hlZXRDb250YWluZXIuc3RhcnQnLCBbJyRldmVudCddKSBvbkFuaW1hdGVTdGFydChcbiAgICAkZXZlbnQ6IEFuaW1hdGlvbkV2ZW50XG4gICkge1xuICAgIHRoaXMuX29uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ0BzaWRlU2hlZXRDb250YWluZXIuZG9uZScsIFsnJGV2ZW50J10pIG9uQW5pbWF0ZURvbmUoXG4gICAgJGV2ZW50OiBBbmltYXRpb25FdmVudFxuICApIHtcbiAgICB0aGlzLl9vbkFuaW1hdGlvbkRvbmUoJGV2ZW50KTtcbiAgfVxuXG4gIC8qKiBDYWxsYmFjaywgaW52b2tlZCB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIGhvc3QgY29tcGxldGVzLiAqL1xuICBfb25BbmltYXRpb25Eb25lKHsgdG9TdGF0ZSwgdG90YWxUaW1lIH06IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKHRvU3RhdGUgPT09ICdlbnRlcicpIHtcbiAgICAgIHRoaXMuX3RyYXBGb2N1cygpO1xuICAgICAgdGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLm5leHQoeyBzdGF0ZTogJ29wZW5lZCcsIHRvdGFsVGltZSB9KTtcbiAgICB9IGVsc2UgaWYgKHRvU3RhdGUgPT09ICdleGl0Jykge1xuICAgICAgdGhpcy5fcmVzdG9yZUZvY3VzKCk7XG4gICAgICB0aGlzLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQubmV4dCh7IHN0YXRlOiAnY2xvc2VkJywgdG90YWxUaW1lIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDYWxsYmFjaywgaW52b2tlZCB3aGVuIGFuIGFuaW1hdGlvbiBvbiB0aGUgaG9zdCBzdGFydHMuICovXG4gIF9vbkFuaW1hdGlvblN0YXJ0KHsgdG9TdGF0ZSwgdG90YWxUaW1lIH06IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgaWYgKHRvU3RhdGUgPT09ICdlbnRlcicpIHtcbiAgICAgIHRoaXMuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHsgc3RhdGU6ICdvcGVuaW5nJywgdG90YWxUaW1lIH0pO1xuICAgIH0gZWxzZSBpZiAodG9TdGF0ZSA9PT0gJ2V4aXQnIHx8IHRvU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgdGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLm5leHQoeyBzdGF0ZTogJ2Nsb3NpbmcnLCB0b3RhbFRpbWUgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN0YXJ0cyB0aGUgc2lkZS1zaGVldCBleGl0IGFuaW1hdGlvbi4gKi9cbiAgX3N0YXJ0RXhpdEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdleGl0JztcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -1,30 +0,0 @@
1
- import { DialogRef } from '@angular/cdk/dialog';
2
- import { MatDialogRef } from '@angular/material/dialog';
3
- // Counter for unique dialog ids.
4
- let uniqueId = 0;
5
- // Create a new side sheet ref to change the id of the ref
6
- export class CovalentSideSheetRef extends MatDialogRef {
7
- overlayRef;
8
- config;
9
- _containerInstance;
10
- id;
11
- constructor(overlayRef, config, _containerInstance, id = `td-side-sheet-${uniqueId++}`) {
12
- const ref = new DialogRef(overlayRef, config);
13
- super(ref, config, _containerInstance);
14
- this.overlayRef = overlayRef;
15
- this.config = config;
16
- this._containerInstance = _containerInstance;
17
- this.id = id;
18
- ref.containerInstance =
19
- this._containerInstance;
20
- }
21
- }
22
- export function _closeSideSheetVia(ref, interactionType, result) {
23
- // Some mock dialog ref instances in tests do not have the `_containerInstance` property.
24
- // For those, we keep the behavior as is and do not deal with the interaction type.
25
- if (ref._containerInstance !== undefined) {
26
- ref._containerInstance._closeInteractionType = interactionType;
27
- }
28
- return ref.close(result);
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2hELE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFHNUUsaUNBQWlDO0FBQ2pDLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVqQiwwREFBMEQ7QUFDMUQsTUFBTSxPQUFPLG9CQUFpQyxTQUFRLFlBQWtCO0lBRTdEO0lBQ0E7SUFDUztJQUNFO0lBSnBCLFlBQ1MsVUFBc0IsRUFDdEIsTUFBK0IsRUFDdEIsa0JBQXNDLEVBQ3BDLEtBQUssaUJBQWlCLFFBQVEsRUFBRSxFQUFFO1FBRXBELE1BQU0sR0FBRyxHQUFHLElBQUksU0FBUyxDQUFPLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBTmhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDdEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyxPQUFFLEdBQUYsRUFBRSxDQUFnQztRQUluRCxHQUErQyxDQUFDLGlCQUFpQjtZQUNoRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUE0QixFQUM1QixlQUE0QixFQUM1QixNQUFVO0lBRVYseUZBQXlGO0lBQ3pGLG1GQUFtRjtJQUNuRixJQUFJLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxHQUFHLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEJhc2VQb3J0YWxPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnIH0gZnJvbSAnLi9zaWRlLXNoZWV0LmNvbmZpZyc7XG5cbi8vIENvdW50ZXIgZm9yIHVuaXF1ZSBkaWFsb2cgaWRzLlxubGV0IHVuaXF1ZUlkID0gMDtcblxuLy8gQ3JlYXRlIGEgbmV3IHNpZGUgc2hlZXQgcmVmIHRvIGNoYW5nZSB0aGUgaWQgb2YgdGhlIHJlZlxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0UmVmPFQsIFIgPSBhbnk+IGV4dGVuZHMgTWF0RGlhbG9nUmVmPFQsIFI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgcHVibGljIGNvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgcHVibGljIG92ZXJyaWRlIF9jb250YWluZXJJbnN0YW5jZTogTWF0RGlhbG9nQ29udGFpbmVyLFxuICAgIG92ZXJyaWRlIHJlYWRvbmx5IGlkID0gYHRkLXNpZGUtc2hlZXQtJHt1bmlxdWVJZCsrfWBcbiAgKSB7XG4gICAgY29uc3QgcmVmID0gbmV3IERpYWxvZ1JlZjxSLCBUPihvdmVybGF5UmVmLCBjb25maWcpO1xuICAgIHN1cGVyKHJlZiwgY29uZmlnLCBfY29udGFpbmVySW5zdGFuY2UpO1xuICAgIChyZWYgYXMgeyBjb250YWluZXJJbnN0YW5jZTogQmFzZVBvcnRhbE91dGxldCB9KS5jb250YWluZXJJbnN0YW5jZSA9XG4gICAgICB0aGlzLl9jb250YWluZXJJbnN0YW5jZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gX2Nsb3NlU2lkZVNoZWV0VmlhPFI+KFxuICByZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPFI+LFxuICBpbnRlcmFjdGlvblR5cGU6IEZvY3VzT3JpZ2luLFxuICByZXN1bHQ/OiBSXG4pIHtcbiAgLy8gU29tZSBtb2NrIGRpYWxvZyByZWYgaW5zdGFuY2VzIGluIHRlc3RzIGRvIG5vdCBoYXZlIHRoZSBgX2NvbnRhaW5lckluc3RhbmNlYCBwcm9wZXJ0eS5cbiAgLy8gRm9yIHRob3NlLCB3ZSBrZWVwIHRoZSBiZWhhdmlvciBhcyBpcyBhbmQgZG8gbm90IGRlYWwgd2l0aCB0aGUgaW50ZXJhY3Rpb24gdHlwZS5cbiAgaWYgKHJlZi5fY29udGFpbmVySW5zdGFuY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIHJlZi5fY29udGFpbmVySW5zdGFuY2UuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlID0gaW50ZXJhY3Rpb25UeXBlO1xuICB9XG4gIHJldHVybiByZWYuY2xvc2UocmVzdWx0KTtcbn1cbiJdfQ==
@@ -1,12 +0,0 @@
1
- import { animate, state, style, transition, trigger, } from '@angular/animations';
2
- import { AnimationCurves, AnimationDurations } from '@angular/material/core';
3
- export const tdSideSheetAnimations = {
4
- /** Animation that is applied on the side-sheet container by default. */
5
- sideSheetContainer: trigger('sideSheetContainer', [
6
- state('void, exit', style({ transform: 'translateX(100%)' })),
7
- state('enter', style({ transform: 'translateX(0%)', opacity: 1 })),
8
- transition('* => enter', animate(`${AnimationDurations.ENTERING} ${AnimationCurves.ACCELERATION_CURVE}`, style({ transform: 'translateX(0)', opacity: 1 }))),
9
- transition('* => void, * => exit', animate(`${AnimationDurations.EXITING} ${AnimationCurves.ACCELERATION_CURVE}`, style({ transform: 'translateX(100%)' }))),
10
- ]),
11
- };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5hbmltYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC5hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBRVIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0UsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBRTlCO0lBQ0Ysd0VBQXdFO0lBQ3hFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTtRQUNoRCxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDN0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEUsVUFBVSxDQUNSLFlBQVksRUFDWixPQUFPLENBQ0wsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksZUFBZSxDQUFDLGtCQUFrQixFQUFFLEVBQ3RFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2xELENBQ0Y7UUFDRCxVQUFVLENBQ1Isc0JBQXNCLEVBQ3RCLE9BQU8sQ0FDTCxHQUFHLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUMsa0JBQWtCLEVBQUUsRUFDckUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FDekMsQ0FDRjtLQUNGLENBQUM7Q0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICB0cmFuc2l0aW9uLFxuICB0cmlnZ2VyLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQW5pbWF0aW9uQ3VydmVzLCBBbmltYXRpb25EdXJhdGlvbnMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IHRkU2lkZVNoZWV0QW5pbWF0aW9uczoge1xuICByZWFkb25seSBzaWRlU2hlZXRDb250YWluZXI6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gIC8qKiBBbmltYXRpb24gdGhhdCBpcyBhcHBsaWVkIG9uIHRoZSBzaWRlLXNoZWV0IGNvbnRhaW5lciBieSBkZWZhdWx0LiAqL1xuICBzaWRlU2hlZXRDb250YWluZXI6IHRyaWdnZXIoJ3NpZGVTaGVldENvbnRhaW5lcicsIFtcbiAgICBzdGF0ZSgndm9pZCwgZXhpdCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSkpLFxuICAgIHN0YXRlKCdlbnRlcicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknLCBvcGFjaXR5OiAxIH0pKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgJyogPT4gZW50ZXInLFxuICAgICAgYW5pbWF0ZShcbiAgICAgICAgYCR7QW5pbWF0aW9uRHVyYXRpb25zLkVOVEVSSU5HfSAke0FuaW1hdGlvbkN1cnZlcy5BQ0NFTEVSQVRJT05fQ1VSVkV9YCxcbiAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJywgb3BhY2l0eTogMSB9KVxuICAgICAgKVxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICcqID0+IHZvaWQsICogPT4gZXhpdCcsXG4gICAgICBhbmltYXRlKFxuICAgICAgICBgJHtBbmltYXRpb25EdXJhdGlvbnMuRVhJVElOR30gJHtBbmltYXRpb25DdXJ2ZXMuQUNDRUxFUkFUSU9OX0NVUlZFfWAsXG4gICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSlcbiAgICAgIClcbiAgICApLFxuICBdKSxcbn07XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { MatDialogConfig } from '@angular/material/dialog';
2
- export var SubPageMode;
3
- (function (SubPageMode) {
4
- SubPageMode["pushed"] = "pushed";
5
- SubPageMode["shifted"] = "shifted";
6
- SubPageMode["none"] = "none";
7
- })(SubPageMode || (SubPageMode = {}));
8
- export class CovalentSideSheetConfig extends MatDialogConfig {
9
- subPageMode = SubPageMode.pushed;
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsZ0NBQWlCLENBQUE7SUFDakIsa0NBQW1CLENBQUE7SUFDbkIsNEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QjtBQUVELE1BQU0sT0FBTyx1QkFBaUMsU0FBUSxlQUFrQjtJQUN0RSxXQUFXLEdBQVksV0FBVyxDQUFDLE1BQU0sQ0FBQztDQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmV4cG9ydCBlbnVtIFN1YlBhZ2VNb2RlIHtcbiAgcHVzaGVkID0gJ3B1c2hlZCcsXG4gIHNoaWZ0ZWQgPSAnc2hpZnRlZCcsXG4gIG5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldENvbmZpZzxEID0gYW55PiBleHRlbmRzIE1hdERpYWxvZ0NvbmZpZzxEPiB7XG4gIHN1YlBhZ2VNb2RlPzogc3RyaW5nID0gU3ViUGFnZU1vZGUucHVzaGVkO1xufVxuIl19
@@ -1,206 +0,0 @@
1
- /* tslint:disable */
2
- import { Directive, Input, Optional, ElementRef, HostBinding, HostListener, } from '@angular/core';
3
- import { CovalentSideSheet } from './side-sheet';
4
- import { _closeSideSheetVia, CovalentSideSheetRef } from './side-sheet-ref';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./side-sheet-ref";
7
- import * as i2 from "./side-sheet";
8
- /** Counter used to generate unique IDs for dialog elements. */
9
- let dialogElementUid = 0;
10
- /**
11
- * Button that will close the current dialog.
12
- */
13
- export class CovalentSideSheetCloseDirective {
14
- dialogRef;
15
- _elementRef;
16
- _dialog;
17
- /** Screenreader label for the button. */
18
- ariaLabel;
19
- /** Default to "button" to prevents accidental form submits. */
20
- type = 'button';
21
- /** Dialog close input. */
22
- dialogResult;
23
- _CovalentSideSheetClose;
24
- onClick($event) {
25
- this._onButtonClick($event);
26
- }
27
- constructor(dialogRef, _elementRef, _dialog) {
28
- this.dialogRef = dialogRef;
29
- this._elementRef = _elementRef;
30
- this._dialog = _dialog;
31
- }
32
- ngOnInit() {
33
- if (!this.dialogRef) {
34
- // When this directive is included in a dialog via TemplateRef (rather than being
35
- // in a Component), the DialogRef isn't available via injection because embedded
36
- // views cannot be given a custom injector. Instead, we look up the DialogRef by
37
- // ID. This must occur in `onInit`, as the ID binding for the dialog container won't
38
- // be resolved at constructor time.
39
- this.dialogRef = getClosestDialog(this._elementRef, this._dialog.openSideSheets);
40
- }
41
- }
42
- ngOnChanges(changes) {
43
- const proxiedChange = changes['_CovalentSideSheetClose'] ||
44
- changes['_CovalentSideSheetCloseResult'];
45
- if (proxiedChange) {
46
- this.dialogResult = proxiedChange.currentValue;
47
- }
48
- }
49
- _onButtonClick(event) {
50
- // Determinate the focus origin using the click event, because using the FocusMonitor will
51
- // result in incorrect origins. Most of the time, close buttons will be auto focused in the
52
- // dialog, and therefore clicking the button won't result in a focus change. This means that
53
- // the FocusMonitor won't detect any origin change, and will always output `program`.
54
- _closeSideSheetVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
55
- }
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetCloseDirective, deps: [{ token: i1.CovalentSideSheetRef, optional: true }, { token: i0.ElementRef }, { token: i2.CovalentSideSheet }], target: i0.ɵɵFactoryTarget.Directive });
57
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetCloseDirective, selector: "[td-side-sheet-close], [CovalentSideSheetClose]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", dialogResult: ["td-side-sheet-close", "dialogResult"], _CovalentSideSheetClose: ["CovalentSideSheetClose", "_CovalentSideSheetClose"] }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.arial-label": "this.ariaLabel", "attr.type": "this.type" } }, exportAs: ["CovalentSideSheetClose"], usesOnChanges: true, ngImport: i0 });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetCloseDirective, decorators: [{
60
- type: Directive,
61
- args: [{
62
- selector: '[td-side-sheet-close], [CovalentSideSheetClose]',
63
- exportAs: 'CovalentSideSheetClose',
64
- }]
65
- }], ctorParameters: () => [{ type: i1.CovalentSideSheetRef, decorators: [{
66
- type: Optional
67
- }] }, { type: i0.ElementRef }, { type: i2.CovalentSideSheet }], propDecorators: { ariaLabel: [{
68
- type: HostBinding,
69
- args: ['attr.arial-label']
70
- }, {
71
- type: Input,
72
- args: ['aria-label']
73
- }], type: [{
74
- type: HostBinding,
75
- args: ['attr.type']
76
- }, {
77
- type: Input
78
- }], dialogResult: [{
79
- type: Input,
80
- args: ['td-side-sheet-close']
81
- }], _CovalentSideSheetClose: [{
82
- type: Input,
83
- args: ['CovalentSideSheetClose']
84
- }], onClick: [{
85
- type: HostListener,
86
- args: ['click', ['$event']]
87
- }] } });
88
- /**
89
- * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.
90
- */
91
- export class CovalentSideSheetTitleDirective {
92
- _dialogRef;
93
- _elementRef;
94
- _dialog;
95
- /** Unique id for the dialog title. If none is supplied, it will be auto-generated. */
96
- id = `td-side-sheet-title-${dialogElementUid++}`;
97
- tdSideSheetTitle = true;
98
- idAttr = this.id;
99
- constructor(
100
- // The dialog title directive is always used in combination with a `CovalentSideSheetRef`.
101
- // tslint:disable-next-line: lightweight-tokens
102
- _dialogRef, _elementRef, _dialog) {
103
- this._dialogRef = _dialogRef;
104
- this._elementRef = _elementRef;
105
- this._dialog = _dialog;
106
- }
107
- ngOnInit() {
108
- if (this._dialogRef) {
109
- Promise.resolve().then(() => {
110
- const container = this._dialogRef._containerInstance;
111
- if (container && !container._ariaLabelledByQueue.includes(this.id)) {
112
- container._ariaLabelledByQueue.push(this.id);
113
- }
114
- });
115
- }
116
- else {
117
- this._dialogRef = getClosestDialog(this._elementRef, this._dialog.openSideSheets);
118
- }
119
- }
120
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetTitleDirective, deps: [{ token: i1.CovalentSideSheetRef, optional: true }, { token: i0.ElementRef }, { token: i2.CovalentSideSheet }], target: i0.ɵɵFactoryTarget.Directive });
121
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetTitleDirective, selector: "[td-side-sheet-title], [CovalentSideSheetTitle]", inputs: { id: "id" }, host: { properties: { "class.td-side-sheet-title": "this.tdSideSheetTitle", "attr.id": "this.idAttr" } }, exportAs: ["CovalentSideSheetTitle"], ngImport: i0 });
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetTitleDirective, decorators: [{
124
- type: Directive,
125
- args: [{
126
- selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',
127
- exportAs: 'CovalentSideSheetTitle',
128
- }]
129
- }], ctorParameters: () => [{ type: i1.CovalentSideSheetRef, decorators: [{
130
- type: Optional
131
- }] }, { type: i0.ElementRef }, { type: i2.CovalentSideSheet }], propDecorators: { id: [{
132
- type: Input
133
- }], tdSideSheetTitle: [{
134
- type: HostBinding,
135
- args: ['class.td-side-sheet-title']
136
- }], idAttr: [{
137
- type: HostBinding,
138
- args: ['attr.id']
139
- }] } });
140
- /**
141
- * Scrollable content container of a dialog.
142
- */
143
- export class CovalentSideSheetContentDirective {
144
- tdSideSheetContent = true;
145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
146
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetContentDirective, selector: "[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]", host: { properties: { "class.td-side-sheet-content": "this.tdSideSheetContent" } }, ngImport: i0 });
147
- }
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetContentDirective, decorators: [{
149
- type: Directive,
150
- args: [{
151
- selector: `[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]`,
152
- }]
153
- }], propDecorators: { tdSideSheetContent: [{
154
- type: HostBinding,
155
- args: ['class.td-side-sheet-content']
156
- }] } });
157
- /**
158
- * Container for the bottom action buttons in a dialog.
159
- * Stays fixed to the bottom when scrolling.
160
- */
161
- export class CovalentSideSheetActionsDirective {
162
- tdSideSheetActions = true;
163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
164
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetActionsDirective, selector: "[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]", host: { properties: { "class.td-side-sheet-actions": "this.tdSideSheetActions" } }, ngImport: i0 });
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetActionsDirective, decorators: [{
167
- type: Directive,
168
- args: [{
169
- selector: `[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]`,
170
- }]
171
- }], propDecorators: { tdSideSheetActions: [{
172
- type: HostBinding,
173
- args: ['class.td-side-sheet-actions']
174
- }] } });
175
- /**
176
- * Container for the wrapper part of the dialog
177
- */
178
- export class CovalentSideSheetWrapperDirective {
179
- tdSideSheetWrapper = true;
180
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetWrapperDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
181
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: CovalentSideSheetWrapperDirective, selector: "[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]", host: { properties: { "class.td-side-sheet-wrapper": "this.tdSideSheetWrapper" } }, ngImport: i0 });
182
- }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CovalentSideSheetWrapperDirective, decorators: [{
184
- type: Directive,
185
- args: [{
186
- selector: `[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]`,
187
- }]
188
- }], propDecorators: { tdSideSheetWrapper: [{
189
- type: HostBinding,
190
- args: ['class.td-side-sheet-wrapper']
191
- }] } });
192
- /**
193
- * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.
194
- * @param element Element relative to which to look for a dialog.
195
- * @param openDialogs References to the currently-open dialogs.
196
- */
197
- function getClosestDialog(element, openDialogs) {
198
- let parent = element.nativeElement.parentElement;
199
- while (parent && !parent.classList.contains('td-side-sheet-container')) {
200
- parent = parent.parentElement;
201
- }
202
- return parent
203
- ? openDialogs.find((dialog) => dialog.id === parent?.id) ?? openDialogs[0]
204
- : openDialogs[0];
205
- }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5jb250ZW50LWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc2lkZS1zaGVldC9zcmMvc2lkZS1zaGVldC5jb250ZW50LWRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBQ3BCLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFFBQVEsRUFFUixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFNUUsK0RBQStEO0FBQy9ELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRXpCOztHQUVHO0FBS0gsTUFBTSxPQUFPLCtCQUErQjtJQXFCckI7SUFDWDtJQUNBO0lBdEJWLHlDQUF5QztJQUd6QyxTQUFTLENBQVU7SUFFbkIsK0RBQStEO0lBRy9ELElBQUksR0FBa0MsUUFBUSxDQUFDO0lBRS9DLDBCQUEwQjtJQUNJLFlBQVksQ0FBTTtJQUVmLHVCQUF1QixDQUFNO0lBRTNCLE9BQU8sQ0FBQyxNQUFrQjtRQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUNxQixTQUFvQyxFQUMvQyxXQUFvQyxFQUNwQyxPQUEwQjtRQUZmLGNBQVMsR0FBVCxTQUFTLENBQTJCO1FBQy9DLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtJQUNqQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsaUZBQWlGO1lBQ2pGLGdGQUFnRjtZQUNoRixnRkFBZ0Y7WUFD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UUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztRQUN2RSxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxNQUFNO1FBQ1gsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldCB9IGZyb20gJy4vc2lkZS1zaGVldCc7XG5pbXBvcnQgeyBfY2xvc2VTaWRlU2hlZXRWaWEsIENvdmFsZW50U2lkZVNoZWV0UmVmIH0gZnJvbSAnLi9zaWRlLXNoZWV0LXJlZic7XG5cbi8qKiBDb3VudGVyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElEcyBmb3IgZGlhbG9nIGVsZW1lbnRzLiAqL1xubGV0IGRpYWxvZ0VsZW1lbnRVaWQgPSAwO1xuXG4vKipcbiAqIEJ1dHRvbiB0aGF0IHdpbGwgY2xvc2UgdGhlIGN1cnJlbnQgZGlhbG9nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGQtc2lkZS1zaGVldC1jbG9zZV0sIFtDb3ZhbGVudFNpZGVTaGVldENsb3NlXScsXG4gIGV4cG9ydEFzOiAnQ292YWxlbnRTaWRlU2hlZXRDbG9zZScsXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0Q2xvc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKiBTY3JlZW5yZWFkZXIgbGFiZWwgZm9yIHRoZSBidXR0b24uICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhbC1sYWJlbCcpXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKiogRGVmYXVsdCB0byBcImJ1dHRvblwiIHRvIHByZXZlbnRzIGFjY2lkZW50YWwgZm9ybSBzdWJtaXRzLiAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudHlwZScpXG4gIEBJbnB1dCgpXG4gIHR5cGU6ICdzdWJtaXQnIHwgJ2J1dHRvbicgfCAncmVzZXQnID0gJ2J1dHRvbic7XG5cbiAgLyoqIERpYWxvZyBjbG9zZSBpbnB1dC4gKi9cbiAgQElucHV0KCd0ZC1zaWRlLXNoZWV0LWNsb3NlJykgZGlhbG9nUmVzdWx0OiBhbnk7XG5cbiAgQElucHV0KCdDb3ZhbGVudFNpZGVTaGVldENsb3NlJykgX0NvdmFsZW50U2lkZVNoZWV0Q2xvc2U6IGFueTtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pIG9uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5fb25CdXR0b25DbGljaygkZXZlbnQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogQ292YWxlbnRTaWRlU2hlZXRSZWY8YW55PixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9kaWFsb2c6IENvdmFsZW50U2lkZVNoZWV0XG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSB7XG4gICAgICAvLyBXaGVuIHRoaXMgZGlyZWN0aXZlIGlzIGluY2x1ZGVkIGluIGEgZGlhbG9nIHZpYSBUZW1wbGF0ZVJlZiAocmF0aGVyIHRoYW4gYmVpbmdcbiAgICAgIC8vIGluIGEgQ29tcG9uZW50KSwgdGhlIERpYWxvZ1JlZiBpc24ndCBhdmFpbGFibGUgdmlhIGluamVjdGlvbiBiZWNhdXNlIGVtYmVkZGVkXG4gICAgICAvLyB2aWV3cyBjYW5ub3QgYmUgZ2l2ZW4gYSBjdXN0b20gaW5qZWN0b3IuIEluc3RlYWQsIHdlIGxvb2sgdXAgdGhlIERpYWxvZ1JlZiBieVxuICAgICAgLy8gSUQuIFRoaXMgbXVzdCBvY2N1ciBpbiBgb25Jbml0YCwgYXMgdGhlIElEIGJpbmRpbmcgZm9yIHRoZSBkaWFsb2cgY29udGFpbmVyIHdvbid0XG4gICAgICAvLyBiZSByZXNvbHZlZCBhdCBjb25zdHJ1Y3RvciB0aW1lLlxuICAgICAgdGhpcy5kaWFsb2dSZWYgPSBnZXRDbG9zZXN0RGlhbG9nKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLFxuICAgICAgICB0aGlzLl9kaWFsb2cub3BlblNpZGVTaGVldHNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByb3hpZWRDaGFuZ2UgPVxuICAgICAgY2hhbmdlc1snX0NvdmFsZW50U2lkZVNoZWV0Q2xvc2UnXSB8fFxuICAgICAgY2hhbmdlc1snX0NvdmFsZW50U2lkZVNoZWV0Q2xvc2VSZXN1bHQnXTtcblxuICAgIGlmIChwcm94aWVkQ2hhbmdlKSB7XG4gICAgICB0aGlzLmRpYWxvZ1Jlc3VsdCA9IHByb3hpZWRDaGFuZ2UuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIF9vbkJ1dHRvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgLy8gRGV0ZXJtaW5hdGUgdGhlIGZvY3VzIG9yaWdpbiB1c2luZyB0aGUgY2xpY2sgZXZlbnQsIGJlY2F1c2UgdXNpbmcgdGhlIEZvY3VzTW9uaXRvciB3aWxsXG4gICAgLy8gcmVzdWx0IGluIGluY29ycmVjdCBvcmlnaW5zLiBNb3N0IG9mIHRoZSB0aW1lLCBjbG9zZSBidXR0b25zIHdpbGwgYmUgYXV0byBmb2N1c2VkIGluIHRoZVxuICAgIC8vIGRpYWxvZywgYW5kIHRoZXJlZm9yZSBjbGlja2luZyB0aGUgYnV0dG9uIHdvbid0IHJlc3VsdCBpbiBhIGZvY3VzIGNoYW5nZS4gVGhpcyBtZWFucyB0aGF0XG4gICAgLy8gdGhlIEZvY3VzTW9uaXRvciB3b24ndCBkZXRlY3QgYW55IG9yaWdpbiBjaGFuZ2UsIGFuZCB3aWxsIGFsd2F5cyBvdXRwdXQgYHByb2dyYW1gLlxuICAgIF9jbG9zZVNpZGVTaGVldFZpYShcbiAgICAgIHRoaXMuZGlhbG9nUmVmLFxuICAgICAgZXZlbnQuc2NyZWVuWCA9PT0gMCAmJiBldmVudC5zY3JlZW5ZID09PSAwID8gJ2tleWJvYXJkJyA6ICdtb3VzZScsXG4gICAgICB0aGlzLmRpYWxvZ1Jlc3VsdFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaXRsZSBvZiBhIHNpZGUgc2hlZXQgZWxlbWVudC4gU3RheXMgZml4ZWQgdG8gdGhlIHRvcCBvZiB0aGUgc2lkZSBzaGVldCB3aGVuIHNjcm9sbGluZy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RkLXNpZGUtc2hlZXQtdGl0bGVdLCBbQ292YWxlbnRTaWRlU2hlZXRUaXRsZV0nLFxuICBleHBvcnRBczogJ0NvdmFsZW50U2lkZVNoZWV0VGl0bGUnLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldFRpdGxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFVuaXF1ZSBpZCBmb3IgdGhlIGRpYWxvZyB0aXRsZS4gSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC4gKi9cbiAgQElucHV0KCkgaWQgPSBgdGQtc2lkZS1zaGVldC10aXRsZS0ke2RpYWxvZ0VsZW1lbnRVaWQrK31gO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGQtc2lkZS1zaGVldC10aXRsZScpIHRkU2lkZVNoZWV0VGl0bGUgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkQXR0ciA9IHRoaXMuaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gVGhlIGRpYWxvZyB0aXRsZSBkaXJlY3RpdmUgaXMgYWx3YXlzIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGBDb3ZhbGVudFNpZGVTaGVldFJlZmAuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBsaWdodHdlaWdodC10b2tlbnNcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBDb3ZhbGVudFNpZGVTaGVldFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2RpYWxvZ1JlZikge1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2RpYWxvZ1JlZi5fY29udGFpbmVySW5zdGFuY2U7XG5cbiAgICAgICAgaWYgKGNvbnRhaW5lciAmJiAhY29udGFpbmVyLl9hcmlhTGFiZWxsZWRCeVF1ZXVlLmluY2x1ZGVzKHRoaXMuaWQpKSB7XG4gICAgICAgICAgY29udGFpbmVyLl9hcmlhTGFiZWxsZWRCeVF1ZXVlLnB1c2godGhpcy5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kaWFsb2dSZWYgPSBnZXRDbG9zZXN0RGlhbG9nKFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLFxuICAgICAgICB0aGlzLl9kaWFsb2cub3BlblNpZGVTaGVldHNcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2Nyb2xsYWJsZSBjb250ZW50IGNvbnRhaW5lciBvZiBhIGRpYWxvZy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3RkLXNpZGUtc2hlZXQtY29udGVudF0sIHRkLXNpZGUtc2hlZXQtY29udGVudCwgW0NvdmFsZW50U2lkZVNoZWV0Q29udGVudF1gLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldENvbnRlbnREaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRkLXNpZGUtc2hlZXQtY29udGVudCcpIHRkU2lkZVNoZWV0Q29udGVudCA9IHRydWU7XG59XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciB0aGUgYm90dG9tIGFjdGlvbiBidXR0b25zIGluIGEgZGlhbG9nLlxuICogU3RheXMgZml4ZWQgdG8gdGhlIGJvdHRvbSB3aGVuIHNjcm9sbGluZy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3RkLXNpZGUtc2hlZXQtYWN0aW9uc10sIHRkLXNpZGUtc2hlZXQtYWN0aW9ucywgW0NvdmFsZW50U2lkZVNoZWV0QWN0aW9uc11gLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldEFjdGlvbnNEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRkLXNpZGUtc2hlZXQtYWN0aW9ucycpIHRkU2lkZVNoZWV0QWN0aW9ucyA9IHRydWU7XG59XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciB0aGUgd3JhcHBlciBwYXJ0IG9mIHRoZSBkaWFsb2dcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3RkLXNpZGUtc2hlZXQtd3JhcHBlcl0sIHRkLXNpZGUtc2hlZXQtd3JhcHBlciwgW0NvdmFsZW50U2lkZVNoZWV0V3JhcHBlcl1gLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldFdyYXBwZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRkLXNpZGUtc2hlZXQtd3JhcHBlcicpIHRkU2lkZVNoZWV0V3JhcHBlciA9IHRydWU7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGNsb3Nlc3QgQ292YWxlbnRTaWRlU2hlZXRSZWYgdG8gYW4gZWxlbWVudCBieSBsb29raW5nIGF0IHRoZSBET00uXG4gKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGxvb2sgZm9yIGEgZGlhbG9nLlxuICogQHBhcmFtIG9wZW5EaWFsb2dzIFJlZmVyZW5jZXMgdG8gdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXG4gKi9cbmZ1bmN0aW9uIGdldENsb3Nlc3REaWFsb2coXG4gIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICBvcGVuRGlhbG9nczogQ292YWxlbnRTaWRlU2hlZXRSZWY8YW55PltdXG4pOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxhbnk+IHtcbiAgbGV0IHBhcmVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgd2hpbGUgKHBhcmVudCAmJiAhcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygndGQtc2lkZS1zaGVldC1jb250YWluZXInKSkge1xuICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudFxuICAgID8gb3BlbkRpYWxvZ3MuZmluZCgoZGlhbG9nKSA9PiBkaWFsb2cuaWQgPT09IHBhcmVudD8uaWQpID8/IG9wZW5EaWFsb2dzWzBdXG4gICAgOiBvcGVuRGlhbG9nc1swXTtcbn1cbiJdfQ==