@covalent/core 3.1.2-beta.6 → 3.1.2-beta.7

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 (44) hide show
  1. package/bundles/covalent-core-side-sheet.umd.js +1396 -0
  2. package/bundles/covalent-core-side-sheet.umd.js.map +1 -0
  3. package/bundles/covalent-core-side-sheet.umd.min.js +16 -0
  4. package/bundles/covalent-core-side-sheet.umd.min.js.map +1 -0
  5. package/dialogs/_dialog-theme.scss +1 -0
  6. package/esm2015/side-sheet/covalent-core-side-sheet.js +12 -0
  7. package/esm2015/side-sheet/index.js +7 -0
  8. package/esm2015/side-sheet/public-api.js +11 -0
  9. package/esm2015/side-sheet/side-sheet-container.js +388 -0
  10. package/esm2015/side-sheet/side-sheet-ref.js +47 -0
  11. package/esm2015/side-sheet/side-sheet.animation.js +20 -0
  12. package/esm2015/side-sheet/side-sheet.config.js +12 -0
  13. package/esm2015/side-sheet/side-sheet.content-directives.js +255 -0
  14. package/esm2015/side-sheet/side-sheet.js +312 -0
  15. package/esm2015/side-sheet/side-sheet.module.js +36 -0
  16. package/fesm2015/covalent-core-side-sheet.js +1070 -0
  17. package/fesm2015/covalent-core-side-sheet.js.map +1 -0
  18. package/package.json +1 -1
  19. package/side-sheet/README.md +66 -0
  20. package/side-sheet/covalent-core-side-sheet.d.ts +6 -0
  21. package/side-sheet/covalent-core-side-sheet.metadata.json +1 -0
  22. package/side-sheet/index.d.ts +1 -0
  23. package/side-sheet/package.json +11 -0
  24. package/side-sheet/public-api.d.ts +5 -0
  25. package/side-sheet/side-sheet-container.d.ts +92 -0
  26. package/side-sheet/side-sheet-ref.d.ts +9 -0
  27. package/side-sheet/side-sheet.animation.d.ts +4 -0
  28. package/side-sheet/side-sheet.config.d.ts +3 -0
  29. package/side-sheet/side-sheet.content-directives.d.ts +50 -0
  30. package/side-sheet/side-sheet.d.ts +56 -0
  31. package/side-sheet/side-sheet.module.d.ts +2 -0
  32. package/side-sheet/side-sheet.scss +69 -0
  33. package/side-sheet/side-sheet.theme.scss +8 -0
  34. package/theming/_all-theme.scss +2 -0
  35. package/theming/prebuilt/blue-grey-deep-orange.css +5 -1
  36. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  37. package/theming/prebuilt/blue-orange.css +5 -1
  38. package/theming/prebuilt/blue-orange.css.map +1 -1
  39. package/theming/prebuilt/indigo-pink.css +5 -1
  40. package/theming/prebuilt/indigo-pink.css.map +1 -1
  41. package/theming/prebuilt/orange-light-blue.css +5 -1
  42. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  43. package/theming/prebuilt/teal-orange.css +5 -1
  44. package/theming/prebuilt/teal-orange.css.map +1 -1
@@ -0,0 +1,1396 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/portal'), require('@angular/material/core'), require('@angular/material/dialog'), require('@angular/cdk/overlay'), require('@angular/cdk/a11y'), require('@angular/common'), require('@angular/animations'), require('rxjs'), require('@angular/cdk/bidi')) :
3
+ typeof define === 'function' && define.amd ? define('@covalent/core/side-sheet', ['exports', '@angular/core', '@angular/cdk/portal', '@angular/material/core', '@angular/material/dialog', '@angular/cdk/overlay', '@angular/cdk/a11y', '@angular/common', '@angular/animations', 'rxjs', '@angular/cdk/bidi'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.covalent = global.covalent || {}, global.covalent.core = global.covalent.core || {}, global.covalent.core['side-sheet'] = {}), global.ng.core, global.ng.cdk.portal, global.ng.material.core, global.ng.material.dialog, global.ng.cdk.overlay, global.ng.cdk.a11y, global.ng.common, global.ng.animations, global.rxjs, global.ng.cdk.bidi));
5
+ }(this, (function (exports, core$1, portal, core, dialog, overlay, a11y, common, animations, rxjs, bidi) { 'use strict';
6
+
7
+ /*! *****************************************************************************
8
+ Copyright (c) Microsoft Corporation.
9
+
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
+ ***************************************************************************** */
21
+ /* global Reflect, Promise */
22
+ var extendStatics = function (d, b) {
23
+ extendStatics = Object.setPrototypeOf ||
24
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
25
+ function (d, b) { for (var p in b)
26
+ if (Object.prototype.hasOwnProperty.call(b, p))
27
+ d[p] = b[p]; };
28
+ return extendStatics(d, b);
29
+ };
30
+ function __extends(d, b) {
31
+ extendStatics(d, b);
32
+ function __() { this.constructor = d; }
33
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
+ }
35
+ var __assign = function () {
36
+ __assign = Object.assign || function __assign(t) {
37
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
38
+ s = arguments[i];
39
+ for (var p in s)
40
+ if (Object.prototype.hasOwnProperty.call(s, p))
41
+ t[p] = s[p];
42
+ }
43
+ return t;
44
+ };
45
+ return __assign.apply(this, arguments);
46
+ };
47
+ function __rest(s, e) {
48
+ var t = {};
49
+ for (var p in s)
50
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
+ t[p] = s[p];
52
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
+ t[p[i]] = s[p[i]];
56
+ }
57
+ return t;
58
+ }
59
+ function __decorate(decorators, target, key, desc) {
60
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
61
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
62
+ r = Reflect.decorate(decorators, target, key, desc);
63
+ else
64
+ for (var i = decorators.length - 1; i >= 0; i--)
65
+ if (d = decorators[i])
66
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
67
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
68
+ }
69
+ function __param(paramIndex, decorator) {
70
+ return function (target, key) { decorator(target, key, paramIndex); };
71
+ }
72
+ function __metadata(metadataKey, metadataValue) {
73
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
74
+ return Reflect.metadata(metadataKey, metadataValue);
75
+ }
76
+ function __awaiter(thisArg, _arguments, P, generator) {
77
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
78
+ return new (P || (P = Promise))(function (resolve, reject) {
79
+ function fulfilled(value) { try {
80
+ step(generator.next(value));
81
+ }
82
+ catch (e) {
83
+ reject(e);
84
+ } }
85
+ function rejected(value) { try {
86
+ step(generator["throw"](value));
87
+ }
88
+ catch (e) {
89
+ reject(e);
90
+ } }
91
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
92
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
93
+ });
94
+ }
95
+ function __generator(thisArg, body) {
96
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
97
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
98
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
99
+ function verb(n) { return function (v) { return step([n, v]); }; }
100
+ function step(op) {
101
+ if (f)
102
+ throw new TypeError("Generator is already executing.");
103
+ while (_)
104
+ try {
105
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
106
+ return t;
107
+ if (y = 0, t)
108
+ op = [op[0] & 2, t.value];
109
+ switch (op[0]) {
110
+ case 0:
111
+ case 1:
112
+ t = op;
113
+ break;
114
+ case 4:
115
+ _.label++;
116
+ return { value: op[1], done: false };
117
+ case 5:
118
+ _.label++;
119
+ y = op[1];
120
+ op = [0];
121
+ continue;
122
+ case 7:
123
+ op = _.ops.pop();
124
+ _.trys.pop();
125
+ continue;
126
+ default:
127
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
128
+ _ = 0;
129
+ continue;
130
+ }
131
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
132
+ _.label = op[1];
133
+ break;
134
+ }
135
+ if (op[0] === 6 && _.label < t[1]) {
136
+ _.label = t[1];
137
+ t = op;
138
+ break;
139
+ }
140
+ if (t && _.label < t[2]) {
141
+ _.label = t[2];
142
+ _.ops.push(op);
143
+ break;
144
+ }
145
+ if (t[2])
146
+ _.ops.pop();
147
+ _.trys.pop();
148
+ continue;
149
+ }
150
+ op = body.call(thisArg, _);
151
+ }
152
+ catch (e) {
153
+ op = [6, e];
154
+ y = 0;
155
+ }
156
+ finally {
157
+ f = t = 0;
158
+ }
159
+ if (op[0] & 5)
160
+ throw op[1];
161
+ return { value: op[0] ? op[1] : void 0, done: true };
162
+ }
163
+ }
164
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
165
+ if (k2 === undefined)
166
+ k2 = k;
167
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
168
+ }) : (function (o, m, k, k2) {
169
+ if (k2 === undefined)
170
+ k2 = k;
171
+ o[k2] = m[k];
172
+ });
173
+ function __exportStar(m, o) {
174
+ for (var p in m)
175
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
176
+ __createBinding(o, m, p);
177
+ }
178
+ function __values(o) {
179
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
180
+ if (m)
181
+ return m.call(o);
182
+ if (o && typeof o.length === "number")
183
+ return {
184
+ next: function () {
185
+ if (o && i >= o.length)
186
+ o = void 0;
187
+ return { value: o && o[i++], done: !o };
188
+ }
189
+ };
190
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
191
+ }
192
+ function __read(o, n) {
193
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
194
+ if (!m)
195
+ return o;
196
+ var i = m.call(o), r, ar = [], e;
197
+ try {
198
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
199
+ ar.push(r.value);
200
+ }
201
+ catch (error) {
202
+ e = { error: error };
203
+ }
204
+ finally {
205
+ try {
206
+ if (r && !r.done && (m = i["return"]))
207
+ m.call(i);
208
+ }
209
+ finally {
210
+ if (e)
211
+ throw e.error;
212
+ }
213
+ }
214
+ return ar;
215
+ }
216
+ function __spread() {
217
+ for (var ar = [], i = 0; i < arguments.length; i++)
218
+ ar = ar.concat(__read(arguments[i]));
219
+ return ar;
220
+ }
221
+ function __spreadArrays() {
222
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
+ s += arguments[i].length;
224
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
225
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
226
+ r[k] = a[j];
227
+ return r;
228
+ }
229
+ ;
230
+ function __await(v) {
231
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
232
+ }
233
+ function __asyncGenerator(thisArg, _arguments, generator) {
234
+ if (!Symbol.asyncIterator)
235
+ throw new TypeError("Symbol.asyncIterator is not defined.");
236
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
237
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
238
+ function verb(n) { if (g[n])
239
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
240
+ function resume(n, v) { try {
241
+ step(g[n](v));
242
+ }
243
+ catch (e) {
244
+ settle(q[0][3], e);
245
+ } }
246
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
247
+ function fulfill(value) { resume("next", value); }
248
+ function reject(value) { resume("throw", value); }
249
+ function settle(f, v) { if (f(v), q.shift(), q.length)
250
+ resume(q[0][0], q[0][1]); }
251
+ }
252
+ function __asyncDelegator(o) {
253
+ var i, p;
254
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
255
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
256
+ }
257
+ function __asyncValues(o) {
258
+ if (!Symbol.asyncIterator)
259
+ throw new TypeError("Symbol.asyncIterator is not defined.");
260
+ var m = o[Symbol.asyncIterator], i;
261
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
262
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
263
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
264
+ }
265
+ function __makeTemplateObject(cooked, raw) {
266
+ if (Object.defineProperty) {
267
+ Object.defineProperty(cooked, "raw", { value: raw });
268
+ }
269
+ else {
270
+ cooked.raw = raw;
271
+ }
272
+ return cooked;
273
+ }
274
+ ;
275
+ var __setModuleDefault = Object.create ? (function (o, v) {
276
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
277
+ }) : function (o, v) {
278
+ o["default"] = v;
279
+ };
280
+ function __importStar(mod) {
281
+ if (mod && mod.__esModule)
282
+ return mod;
283
+ var result = {};
284
+ if (mod != null)
285
+ for (var k in mod)
286
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
287
+ __createBinding(result, mod, k);
288
+ __setModuleDefault(result, mod);
289
+ return result;
290
+ }
291
+ function __importDefault(mod) {
292
+ return (mod && mod.__esModule) ? mod : { default: mod };
293
+ }
294
+ function __classPrivateFieldGet(receiver, privateMap) {
295
+ if (!privateMap.has(receiver)) {
296
+ throw new TypeError("attempted to get private field on non-instance");
297
+ }
298
+ return privateMap.get(receiver);
299
+ }
300
+ function __classPrivateFieldSet(receiver, privateMap, value) {
301
+ if (!privateMap.has(receiver)) {
302
+ throw new TypeError("attempted to set private field on non-instance");
303
+ }
304
+ privateMap.set(receiver, value);
305
+ return value;
306
+ }
307
+
308
+ /**
309
+ * @fileoverview added by tsickle
310
+ * Generated from: side-sheet.animation.ts
311
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
312
+ */
313
+ /** @type {?} */
314
+ var tdSideSheetAnimations = {
315
+ /**
316
+ * Animation that is applied on the side-sheet container by default.
317
+ */
318
+ sideSheetContainer: animations.trigger('sideSheetContainer', [
319
+ animations.state('void, exit', animations.style({ transform: 'translateX(100%)' })),
320
+ animations.state('enter', animations.style({ transform: 'translateX(0%)', opacity: 1 })),
321
+ animations.transition('* => enter', animations.animate(core.AnimationDurations.ENTERING + " " + core.AnimationCurves.ACCELERATION_CURVE, animations.style({ transform: 'translateX(0)', opacity: 1 }))),
322
+ animations.transition('* => void, * => exit', animations.animate(core.AnimationDurations.EXITING + " " + core.AnimationCurves.ACCELERATION_CURVE, animations.style({ transform: 'translateX(100%)' }))),
323
+ ]),
324
+ };
325
+
326
+ /**
327
+ * @template D
328
+ */
329
+ var CovalentSideSheetConfig = /** @class */ (function (_super) {
330
+ __extends(CovalentSideSheetConfig, _super);
331
+ function CovalentSideSheetConfig() {
332
+ return _super !== null && _super.apply(this, arguments) || this;
333
+ }
334
+ return CovalentSideSheetConfig;
335
+ }(dialog.MatDialogConfig));
336
+
337
+ /**
338
+ * @return {?}
339
+ */
340
+ function _getFocusedElementPierceShadowDom() {
341
+ /** @type {?} */
342
+ var activeElement = typeof document !== 'undefined' && document ? (( /** @type {?} */(document.activeElement))) : null;
343
+ while (activeElement && activeElement.shadowRoot) {
344
+ /** @type {?} */
345
+ var newActiveElement = ( /** @type {?} */(activeElement.shadowRoot.activeElement));
346
+ if (newActiveElement === activeElement) {
347
+ break;
348
+ }
349
+ else {
350
+ activeElement = newActiveElement;
351
+ }
352
+ }
353
+ return activeElement;
354
+ }
355
+ /**
356
+ * Base class for the `CovalentSideSheetContainer`. The base class does not implement
357
+ * animations as these are left to implementers of the side-sheet container.
358
+ * @abstract
359
+ */
360
+ var _CovalentSideSheetContainerBase = /** @class */ (function (_super) {
361
+ __extends(_CovalentSideSheetContainerBase, _super);
362
+ /**
363
+ * @param {?} _elementRef
364
+ * @param {?} _focusTrapFactory
365
+ * @param {?} _changeDetectorRef
366
+ * @param {?} _document
367
+ * @param {?} _config
368
+ * @param {?=} _focusMonitor
369
+ */
370
+ function _CovalentSideSheetContainerBase(_elementRef, _focusTrapFactory, _changeDetectorRef, _document, _config, _focusMonitor) {
371
+ var _this = _super.call(this) || this;
372
+ _this._elementRef = _elementRef;
373
+ _this._focusTrapFactory = _focusTrapFactory;
374
+ _this._changeDetectorRef = _changeDetectorRef;
375
+ _this._config = _config;
376
+ _this._focusMonitor = _focusMonitor;
377
+ /**
378
+ * Emits when an animation state changes.
379
+ */
380
+ _this._animationStateChanged = new core$1.EventEmitter();
381
+ /**
382
+ * Element that was focused before the side-sheet was opened. Save this to restore upon close.
383
+ */
384
+ _this._elementFocusedBeforeSideSheetWasOpened = null;
385
+ /**
386
+ * Type of interaction that led to the side-sheet being closed. This is used to determine
387
+ * whether the focus style will be applied when returning focus to its original location
388
+ * after the side-sheet is closed.
389
+ */
390
+ _this._closeInteractionType = null;
391
+ /**
392
+ * Attaches a DOM portal to the side-sheet container.
393
+ * @param portal Portal to be attached.
394
+ * @deprecated To be turned into a method.
395
+ */
396
+ _this.attachDomPortal = ( /**
397
+ * @param {?} portal
398
+ * @return {?}
399
+ */function (portal) {
400
+ return _this._portalOutlet.attachDomPortal(portal);
401
+ });
402
+ _this._ariaLabelledBy = _config.ariaLabelledBy || null;
403
+ _this._document = _document;
404
+ return _this;
405
+ }
406
+ /**
407
+ * Initializes the side-sheet container with the attached content.
408
+ * @return {?}
409
+ */
410
+ _CovalentSideSheetContainerBase.prototype._initializeWithAttachedContent = function () {
411
+ this._setupFocusTrap();
412
+ // Save the previously focused element. This element will be re-focused
413
+ // when the side-sheet closes.
414
+ this._capturePreviouslyFocusedElement();
415
+ };
416
+ /**
417
+ * Attach a ComponentPortal as content to this side-sheet container.
418
+ * @template T
419
+ * @param {?} portal Portal to be attached as the side-sheet content.
420
+ * @return {?}
421
+ */
422
+ _CovalentSideSheetContainerBase.prototype.attachComponentPortal = function (portal) {
423
+ return this._portalOutlet.attachComponentPortal(portal);
424
+ };
425
+ /**
426
+ * Attach a TemplatePortal as content to this side-sheet container.
427
+ * @template C
428
+ * @param {?} portal Portal to be attached as the side-sheet content.
429
+ * @return {?}
430
+ */
431
+ _CovalentSideSheetContainerBase.prototype.attachTemplatePortal = function (portal) {
432
+ return this._portalOutlet.attachTemplatePortal(portal);
433
+ };
434
+ /**
435
+ * Moves focus back into the side-sheet if it was moved out.
436
+ * @return {?}
437
+ */
438
+ _CovalentSideSheetContainerBase.prototype._recaptureFocus = function () {
439
+ if (!this._containsFocus()) {
440
+ this._trapFocus();
441
+ }
442
+ };
443
+ /**
444
+ * Moves the focus inside the focus trap. When autoFocus is not set to 'side-sheet', if focus
445
+ * cannot be moved then focus will go to the side-sheet container.
446
+ * @protected
447
+ * @return {?}
448
+ */
449
+ _CovalentSideSheetContainerBase.prototype._trapFocus = function () {
450
+ var _this = this;
451
+ /** @type {?} */
452
+ var element = this._elementRef.nativeElement;
453
+ if (!this._config.autoFocus) {
454
+ if (!this._containsFocus()) {
455
+ element.focus();
456
+ }
457
+ }
458
+ else {
459
+ this._focusTrap.focusInitialElementWhenReady().then(( /**
460
+ * @param {?} focusedSuccessfully
461
+ * @return {?}
462
+ */function (focusedSuccessfully) {
463
+ // If we weren't able to find a focusable element in the side-sheet, then focus the side-sheet
464
+ // container instead.
465
+ if (!focusedSuccessfully) {
466
+ _this._focusSideSheetContainer();
467
+ }
468
+ }));
469
+ }
470
+ };
471
+ /**
472
+ * Restores focus to the element that was focused before the side-sheet opened.
473
+ * @protected
474
+ * @return {?}
475
+ */
476
+ _CovalentSideSheetContainerBase.prototype._restoreFocus = function () {
477
+ /** @type {?} */
478
+ var previousElement = this._elementFocusedBeforeSideSheetWasOpened;
479
+ // We need the extra check, because IE can set the `activeElement` to null in some cases.
480
+ if (this._config.restoreFocus && previousElement && typeof previousElement.focus === 'function') {
481
+ /** @type {?} */
482
+ var activeElement = _getFocusedElementPierceShadowDom();
483
+ /** @type {?} */
484
+ var element = this._elementRef.nativeElement;
485
+ // Make sure that focus is still inside the side-sheet or is on the body (usually because a
486
+ // non-focusable element like the backdrop was clicked) before moving it. It's possible that
487
+ // the consumer moved it themselves before the animation was done, in which case we shouldn't
488
+ // do anything.
489
+ if (!activeElement ||
490
+ activeElement === this._document.body ||
491
+ activeElement === element ||
492
+ element.contains(activeElement)) {
493
+ if (this._focusMonitor) {
494
+ this._focusMonitor.focusVia(previousElement, this._closeInteractionType);
495
+ this._closeInteractionType = null;
496
+ }
497
+ else {
498
+ previousElement.focus();
499
+ }
500
+ }
501
+ }
502
+ if (this._focusTrap) {
503
+ this._focusTrap.destroy();
504
+ }
505
+ };
506
+ /**
507
+ * Sets up the focus trap.
508
+ * @private
509
+ * @return {?}
510
+ */
511
+ _CovalentSideSheetContainerBase.prototype._setupFocusTrap = function () {
512
+ this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);
513
+ };
514
+ /**
515
+ * Captures the element that was focused before the side-sheet was opened.
516
+ * @private
517
+ * @return {?}
518
+ */
519
+ _CovalentSideSheetContainerBase.prototype._capturePreviouslyFocusedElement = function () {
520
+ if (this._document) {
521
+ this._elementFocusedBeforeSideSheetWasOpened = _getFocusedElementPierceShadowDom();
522
+ }
523
+ };
524
+ /**
525
+ * Focuses the side-sheet container.
526
+ * @private
527
+ * @return {?}
528
+ */
529
+ _CovalentSideSheetContainerBase.prototype._focusSideSheetContainer = function () {
530
+ // Note that there is no focus method when rendering on the server.
531
+ if (this._elementRef.nativeElement.focus) {
532
+ this._elementRef.nativeElement.focus();
533
+ }
534
+ };
535
+ /**
536
+ * Returns whether focus is inside the side-sheet.
537
+ * @private
538
+ * @return {?}
539
+ */
540
+ _CovalentSideSheetContainerBase.prototype._containsFocus = function () {
541
+ /** @type {?} */
542
+ var element = this._elementRef.nativeElement;
543
+ /** @type {?} */
544
+ var activeElement = _getFocusedElementPierceShadowDom();
545
+ return element === activeElement || element.contains(activeElement);
546
+ };
547
+ return _CovalentSideSheetContainerBase;
548
+ }(portal.BasePortalOutlet));
549
+ _CovalentSideSheetContainerBase.decorators = [
550
+ { type: core$1.Directive }
551
+ ];
552
+ /** @nocollapse */
553
+ _CovalentSideSheetContainerBase.ctorParameters = function () { return [
554
+ { type: core$1.ElementRef },
555
+ { type: a11y.FocusTrapFactory },
556
+ { type: core$1.ChangeDetectorRef },
557
+ { type: undefined, decorators: [{ type: core$1.Optional }, { type: core$1.Inject, args: [common.DOCUMENT,] }] },
558
+ { type: CovalentSideSheetConfig },
559
+ { type: a11y.FocusMonitor }
560
+ ]; };
561
+ _CovalentSideSheetContainerBase.propDecorators = {
562
+ _portalOutlet: [{ type: core$1.ViewChild, args: [portal.CdkPortalOutlet, { static: true },] }]
563
+ };
564
+ if (false) {
565
+ /**
566
+ * @type {?}
567
+ * @protected
568
+ */
569
+ _CovalentSideSheetContainerBase.prototype._document;
570
+ /**
571
+ * The portal outlet inside of this container into which the side-sheet content will be loaded.
572
+ * @type {?}
573
+ */
574
+ _CovalentSideSheetContainerBase.prototype._portalOutlet;
575
+ /**
576
+ * The class that traps and manages focus within the side-sheet.
577
+ * @type {?}
578
+ * @private
579
+ */
580
+ _CovalentSideSheetContainerBase.prototype._focusTrap;
581
+ /**
582
+ * Emits when an animation state changes.
583
+ * @type {?}
584
+ */
585
+ _CovalentSideSheetContainerBase.prototype._animationStateChanged;
586
+ /**
587
+ * Element that was focused before the side-sheet was opened. Save this to restore upon close.
588
+ * @type {?}
589
+ * @private
590
+ */
591
+ _CovalentSideSheetContainerBase.prototype._elementFocusedBeforeSideSheetWasOpened;
592
+ /**
593
+ * Type of interaction that led to the side-sheet being closed. This is used to determine
594
+ * whether the focus style will be applied when returning focus to its original location
595
+ * after the side-sheet is closed.
596
+ * @type {?}
597
+ */
598
+ _CovalentSideSheetContainerBase.prototype._closeInteractionType;
599
+ /**
600
+ * ID of the element that should be considered as the side-sheet's label.
601
+ * @type {?}
602
+ */
603
+ _CovalentSideSheetContainerBase.prototype._ariaLabelledBy;
604
+ /**
605
+ * ID for the container DOM element.
606
+ * @type {?}
607
+ */
608
+ _CovalentSideSheetContainerBase.prototype._id;
609
+ /**
610
+ * Attaches a DOM portal to the side-sheet container.
611
+ * \@param portal Portal to be attached.
612
+ * @deprecated To be turned into a method.
613
+ * @type {?}
614
+ */
615
+ _CovalentSideSheetContainerBase.prototype.attachDomPortal;
616
+ /**
617
+ * @type {?}
618
+ * @protected
619
+ */
620
+ _CovalentSideSheetContainerBase.prototype._elementRef;
621
+ /**
622
+ * @type {?}
623
+ * @protected
624
+ */
625
+ _CovalentSideSheetContainerBase.prototype._focusTrapFactory;
626
+ /**
627
+ * @type {?}
628
+ * @protected
629
+ */
630
+ _CovalentSideSheetContainerBase.prototype._changeDetectorRef;
631
+ /**
632
+ * The side-sheet configuration.
633
+ * @type {?}
634
+ */
635
+ _CovalentSideSheetContainerBase.prototype._config;
636
+ /**
637
+ * @type {?}
638
+ * @private
639
+ */
640
+ _CovalentSideSheetContainerBase.prototype._focusMonitor;
641
+ /**
642
+ * Starts the side-sheet exit animation.
643
+ * @abstract
644
+ * @return {?}
645
+ */
646
+ _CovalentSideSheetContainerBase.prototype._startExitAnimation = function () { };
647
+ }
648
+ /**
649
+ * Internal component that wraps the generated side-sheet content.
650
+ * This animation below is the only reason for duplicating most of the Material dialog code
651
+ */
652
+ var CovalentSideSheetContainer = /** @class */ (function (_super) {
653
+ __extends(CovalentSideSheetContainer, _super);
654
+ function CovalentSideSheetContainer() {
655
+ var _this = _super.apply(this, __spread(arguments)) || this;
656
+ /**
657
+ * State of the side-sheet animation.
658
+ */
659
+ _this._state = 'enter';
660
+ return _this;
661
+ }
662
+ /**
663
+ * Callback, invoked whenever an animation on the host completes.
664
+ * @param {?} __0
665
+ * @return {?}
666
+ */
667
+ CovalentSideSheetContainer.prototype._onAnimationDone = function (_a) {
668
+ var toState = _a.toState, totalTime = _a.totalTime;
669
+ if (toState === 'enter') {
670
+ this._trapFocus();
671
+ this._animationStateChanged.next({ state: 'opened', totalTime: totalTime });
672
+ }
673
+ else if (toState === 'exit') {
674
+ this._restoreFocus();
675
+ this._animationStateChanged.next({ state: 'closed', totalTime: totalTime });
676
+ }
677
+ };
678
+ /**
679
+ * Starts the side-sheet exit animation.
680
+ * @return {?}
681
+ */
682
+ CovalentSideSheetContainer.prototype._startExitAnimation = function () {
683
+ this._state = 'exit';
684
+ this._changeDetectorRef.markForCheck();
685
+ };
686
+ return CovalentSideSheetContainer;
687
+ }(_CovalentSideSheetContainerBase));
688
+ CovalentSideSheetContainer.decorators = [
689
+ { type: core$1.Component, args: [{
690
+ selector: 'td-side-sheet-container',
691
+ template: "\n <ng-template cdkPortalOutlet></ng-template>\n ",
692
+ encapsulation: core$1.ViewEncapsulation.None,
693
+ changeDetection: core$1.ChangeDetectionStrategy.Default,
694
+ animations: [tdSideSheetAnimations.sideSheetContainer],
695
+ host: {
696
+ 'class': 'td-side-sheet-container',
697
+ 'tabindex': '-1',
698
+ 'aria-modal': 'true',
699
+ '[id]': '_id',
700
+ '[attr.role]': '_config.role',
701
+ '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
702
+ '[attr.aria-label]': '_config.ariaLabel',
703
+ '[attr.aria-describedby]': '_config.ariaDescribedBy || null',
704
+ '[@sideSheetContainer]': '_state',
705
+ '(@sideSheetContainer.done)': '_onAnimationDone($event)',
706
+ },
707
+ styles: [".td-side-sheet-container{background-color:#fff;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-sizing:border-box;display:block;height:100%;max-height:inherit;min-height:inherit;outline:0;overflow:auto;padding:24px;width:100%}.td-side-sheet-wrapper{-ms-flex-direction:column;display:-ms-flexbox;display:flex;flex-direction:column;height:100%}.td-side-sheet-content{-ms-flex:1;-webkit-overflow-scrolling:touch;flex:1;margin:0 -24px;overflow:auto;padding:0 24px}.td-side-sheet-title{margin:-16px 0 20px}.td-side-sheet-actions,.td-side-sheet-title{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.td-side-sheet-actions{-ms-flex-pack:justify;-ms-flex-wrap:wrap;box-sizing:content-box;flex-wrap:wrap;justify-content:space-between;margin:0 -16px -24px;padding:8px 0}.td-side-sheet-actions[align=end]{-ms-flex-pack:end;justify-content:flex-end}.td-side-sheet-actions[align=center]{-ms-flex-pack:center;justify-content:center}.td-side-sheet-actions .mat-button-base+.mat-button-base,.td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .td-side-sheet-actions .mat-button-base+.mat-button-base,[dir=rtl] .td-side-sheet-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}"]
708
+ }] }
709
+ ];
710
+ if (false) {
711
+ /**
712
+ * State of the side-sheet animation.
713
+ * @type {?}
714
+ */
715
+ CovalentSideSheetContainer.prototype._state;
716
+ }
717
+
718
+ // Counter for unique dialog ids.
719
+ /** @type {?} */
720
+ var uniqueId = 0;
721
+ // Create a new side sheet ref to change the id of the ref
722
+ /**
723
+ * @template T, R
724
+ */
725
+ var CovalentSideSheetRef = /** @class */ (function (_super) {
726
+ __extends(CovalentSideSheetRef, _super);
727
+ /**
728
+ * @param {?} overlayRef
729
+ * @param {?} _containerInstance
730
+ * @param {?=} id
731
+ */
732
+ function CovalentSideSheetRef(overlayRef, _containerInstance, id) {
733
+ if (id === void 0) { id = "td-side-sheet-" + uniqueId++; }
734
+ var _this = _super.call(this, overlayRef, _containerInstance, id) || this;
735
+ _this._containerInstance = _containerInstance;
736
+ _this.id = id;
737
+ return _this;
738
+ }
739
+ return CovalentSideSheetRef;
740
+ }(dialog.MatDialogRef));
741
+ if (false) {
742
+ /** @type {?} */
743
+ CovalentSideSheetRef.prototype._containerInstance;
744
+ /** @type {?} */
745
+ CovalentSideSheetRef.prototype.id;
746
+ }
747
+ /**
748
+ * @template R
749
+ * @param {?} ref
750
+ * @param {?} interactionType
751
+ * @param {?=} result
752
+ * @return {?}
753
+ */
754
+ function _closeSideSheetVia(ref, interactionType, result) {
755
+ // Some mock dialog ref instances in tests do not have the `_containerInstance` property.
756
+ // For those, we keep the behavior as is and do not deal with the interaction type.
757
+ if (ref._containerInstance !== undefined) {
758
+ ref._containerInstance._closeInteractionType = interactionType;
759
+ }
760
+ return ref.close(result);
761
+ }
762
+
763
+ /**
764
+ * @template C
765
+ */
766
+ var _CovalentSideSheetBase = /** @class */ (function () {
767
+ /**
768
+ * @param {?} _overlay
769
+ * @param {?} _injector
770
+ * @param {?} _defaultOptions
771
+ * @param {?} _parentSideSheet
772
+ * @param {?} _sideSheetRefConstructor
773
+ * @param {?} _sideSheetContainerType
774
+ * @param {?} _sideSheetDataToken
775
+ */
776
+ function _CovalentSideSheetBase(_overlay, _injector, _defaultOptions, _parentSideSheet, _sideSheetRefConstructor, _sideSheetContainerType, _sideSheetDataToken) {
777
+ this._overlay = _overlay;
778
+ this._injector = _injector;
779
+ this._defaultOptions = _defaultOptions;
780
+ this._parentSideSheet = _parentSideSheet;
781
+ this._sideSheetRefConstructor = _sideSheetRefConstructor;
782
+ this._sideSheetContainerType = _sideSheetContainerType;
783
+ this._sideSheetDataToken = _sideSheetDataToken;
784
+ this._openSideSheetsAtThisLevel = [];
785
+ this._afterAllClosedAtThisLevel = new rxjs.Subject();
786
+ this._afterOpenedAtThisLevel = new rxjs.Subject();
787
+ this.defaultSidebarConfig = {
788
+ minWidth: '400px',
789
+ };
790
+ }
791
+ Object.defineProperty(_CovalentSideSheetBase.prototype, "openSideSheets", {
792
+ /**
793
+ * Keeps track of the currently-open side-sheets.
794
+ * @return {?}
795
+ */
796
+ get: function () {
797
+ return this._parentSideSheet ? this._parentSideSheet.openSideSheets : this._openSideSheetsAtThisLevel;
798
+ },
799
+ enumerable: false,
800
+ configurable: true
801
+ });
802
+ /**
803
+ * @template T, D, R
804
+ * @param {?} componentOrTemplateRef
805
+ * @param {?=} config
806
+ * @return {?}
807
+ */
808
+ _CovalentSideSheetBase.prototype.open = function (componentOrTemplateRef, config) {
809
+ config = Object.assign(Object.assign(Object.assign({}, this.defaultSidebarConfig), config), (this._defaultOptions || new CovalentSideSheetConfig()));
810
+ /** @type {?} */
811
+ var overlayRef = this._createOverlay(config);
812
+ /** @type {?} */
813
+ var sideSheetContainer = this._attachSideSheetContainer(overlayRef, config);
814
+ /** @type {?} */
815
+ var sideSheetRef = this._attachSideSheetContent(componentOrTemplateRef, sideSheetContainer, overlayRef, config);
816
+ this.openSideSheets.push(sideSheetRef);
817
+ // Notify the side-sheet container that the content has been attached.
818
+ sideSheetContainer._initializeWithAttachedContent();
819
+ return sideSheetRef;
820
+ };
821
+ /**
822
+ * @return {?}
823
+ */
824
+ _CovalentSideSheetBase.prototype.ngOnDestroy = function () {
825
+ // Only close the side-sheets at this level on destroy
826
+ // since the parent service may still be active.
827
+ this._closeSideSheets(this._openSideSheetsAtThisLevel);
828
+ this._afterAllClosedAtThisLevel.complete();
829
+ this._afterOpenedAtThisLevel.complete();
830
+ // Clean up any subscriptions to side-sheet that never finished opening.
831
+ if (this._animationStateSubscriptions) {
832
+ this._animationStateSubscriptions.unsubscribe();
833
+ }
834
+ };
835
+ /**
836
+ * Closes all of the currently-open side-sheets.
837
+ * @return {?}
838
+ */
839
+ _CovalentSideSheetBase.prototype.closeAll = function () {
840
+ this._closeSideSheets(this.openSideSheets);
841
+ };
842
+ /**
843
+ * @private
844
+ * @template T
845
+ * @param {?} config
846
+ * @return {?}
847
+ */
848
+ _CovalentSideSheetBase.prototype._createOverlay = function (config) {
849
+ /** @type {?} */
850
+ var overlayConfig = new overlay.OverlayConfig({
851
+ positionStrategy: this._overlay.position().global(),
852
+ scrollStrategy: this._overlay.scrollStrategies.block(),
853
+ panelClass: config.panelClass,
854
+ hasBackdrop: config.hasBackdrop,
855
+ direction: config.direction,
856
+ minWidth: config.minWidth,
857
+ minHeight: config.minHeight,
858
+ maxWidth: config.maxWidth,
859
+ });
860
+ /** @type {?} */
861
+ var overlayRef = this._overlay.create(overlayConfig);
862
+ /** @type {?} */
863
+ var positionStrategy = ( /** @type {?} */(overlayRef.getConfig().positionStrategy));
864
+ positionStrategy.right('0px');
865
+ return overlayRef;
866
+ };
867
+ /**
868
+ * Attaches a container to a side-sheets's already-created overlay.
869
+ * @private
870
+ * @param {?} overlay Reference to the side-sheet's underlying overlay.
871
+ * @param {?} config The side-sheet configuration.
872
+ * @return {?} A promise resolving to a ComponentRef for the attached container.
873
+ */
874
+ _CovalentSideSheetBase.prototype._attachSideSheetContainer = function (overlay, config) {
875
+ /** @type {?} */
876
+ var userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
877
+ /** @type {?} */
878
+ var injector = core$1.Injector.create({
879
+ parent: userInjector || this._injector,
880
+ providers: [{ provide: CovalentSideSheetConfig, useValue: config }],
881
+ });
882
+ /** @type {?} */
883
+ var containerPortal = new portal.ComponentPortal(this._sideSheetContainerType, config.viewContainerRef, injector, config.componentFactoryResolver);
884
+ /** @type {?} */
885
+ var containerRef = overlay.attach(containerPortal);
886
+ return containerRef.instance;
887
+ };
888
+ /**
889
+ * Attaches the user-provided component to the already-created side sheet container.
890
+ * @private
891
+ * @template T, R
892
+ * @param {?} componentOrTemplateRef The type of component being loaded into the side-sheet,
893
+ * or a TemplateRef to instantiate as the content.
894
+ * @param {?} sideSheetContainer
895
+ * @param {?} overlayRef Reference to the overlay in which the side-sheet resides.
896
+ * @param {?} config The side-sheet configuration.
897
+ * @return {?} A promise resolving to the CovalentSideSheetRef that should be returned to the user.
898
+ */
899
+ _CovalentSideSheetBase.prototype._attachSideSheetContent = function (componentOrTemplateRef, sideSheetContainer, overlayRef, config) {
900
+ // Create a reference to the side-sheet we're creating in order to give the user a handle
901
+ // to modify and close it.
902
+ /** @type {?} */
903
+ var sideSheetRef = new this._sideSheetRefConstructor(overlayRef, sideSheetContainer, config.id);
904
+ if (componentOrTemplateRef instanceof core$1.TemplateRef) {
905
+ sideSheetContainer.attachTemplatePortal(new portal.TemplatePortal(componentOrTemplateRef, ( /** @type {?} */(null)), ( /** @type {?} */({
906
+ $implicit: config.data,
907
+ sideSheetRef: sideSheetRef,
908
+ }))));
909
+ }
910
+ else {
911
+ /** @type {?} */
912
+ var injector = this._createInjector(config, sideSheetRef, sideSheetContainer);
913
+ /** @type {?} */
914
+ var contentRef = sideSheetContainer.attach(new portal.ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector));
915
+ sideSheetRef.componentInstance = contentRef.instance;
916
+ }
917
+ sideSheetRef.updateSize(config.width, config.height);
918
+ return sideSheetRef;
919
+ };
920
+ /**
921
+ * @private
922
+ * @template T
923
+ * @param {?} config
924
+ * @param {?} sideSheetRef
925
+ * @param {?} sideSheetContainer
926
+ * @return {?}
927
+ */
928
+ _CovalentSideSheetBase.prototype._createInjector = function (config, sideSheetRef, sideSheetContainer) {
929
+ /** @type {?} */
930
+ var userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
931
+ // The side-sheet container should be provided as the side-sheet container and the side-sheet's
932
+ // content are created out of the same `ViewContainerRef` and as such, are siblings
933
+ // for injector purposes. To allow the hierarchy that is expected, the side-sheet
934
+ // container is explicitly provided in the injector.
935
+ /** @type {?} */
936
+ var providers = [
937
+ { provide: this._sideSheetContainerType, useValue: sideSheetContainer },
938
+ { provide: this._sideSheetDataToken, useValue: config.data },
939
+ { provide: this._sideSheetRefConstructor, useValue: sideSheetRef },
940
+ ];
941
+ if (config.direction &&
942
+ (!userInjector || !userInjector.get(bidi.Directionality, null, core$1.InjectFlags.Optional))) {
943
+ providers.push({
944
+ provide: bidi.Directionality,
945
+ useValue: { value: config.direction, change: rxjs.of() },
946
+ });
947
+ }
948
+ return core$1.Injector.create({ parent: userInjector || this._injector, providers: providers });
949
+ };
950
+ /**
951
+ * Closes all of the side-sheet in an array.
952
+ * @private
953
+ * @param {?} sideSheets
954
+ * @return {?}
955
+ */
956
+ _CovalentSideSheetBase.prototype._closeSideSheets = function (sideSheets) {
957
+ /** @type {?} */
958
+ var i = sideSheets.length;
959
+ while (i--) {
960
+ sideSheets[i].close();
961
+ }
962
+ };
963
+ return _CovalentSideSheetBase;
964
+ }());
965
+ _CovalentSideSheetBase.decorators = [
966
+ { type: core$1.Directive }
967
+ ];
968
+ /** @nocollapse */
969
+ _CovalentSideSheetBase.ctorParameters = function () { return [
970
+ { type: overlay.Overlay },
971
+ { type: core$1.Injector },
972
+ { type: undefined },
973
+ { type: undefined },
974
+ { type: core$1.Type },
975
+ { type: core$1.Type },
976
+ { type: core$1.InjectionToken }
977
+ ]; };
978
+ if (false) {
979
+ /**
980
+ * @type {?}
981
+ * @private
982
+ */
983
+ _CovalentSideSheetBase.prototype._openSideSheetsAtThisLevel;
984
+ /**
985
+ * @type {?}
986
+ * @private
987
+ */
988
+ _CovalentSideSheetBase.prototype._afterAllClosedAtThisLevel;
989
+ /**
990
+ * @type {?}
991
+ * @private
992
+ */
993
+ _CovalentSideSheetBase.prototype._afterOpenedAtThisLevel;
994
+ /**
995
+ * @type {?}
996
+ * @private
997
+ */
998
+ _CovalentSideSheetBase.prototype._animationStateSubscriptions;
999
+ /**
1000
+ * @type {?}
1001
+ * @private
1002
+ */
1003
+ _CovalentSideSheetBase.prototype.defaultSidebarConfig;
1004
+ /**
1005
+ * @type {?}
1006
+ * @private
1007
+ */
1008
+ _CovalentSideSheetBase.prototype._overlay;
1009
+ /**
1010
+ * @type {?}
1011
+ * @private
1012
+ */
1013
+ _CovalentSideSheetBase.prototype._injector;
1014
+ /**
1015
+ * @type {?}
1016
+ * @private
1017
+ */
1018
+ _CovalentSideSheetBase.prototype._defaultOptions;
1019
+ /**
1020
+ * @type {?}
1021
+ * @private
1022
+ */
1023
+ _CovalentSideSheetBase.prototype._parentSideSheet;
1024
+ /**
1025
+ * @type {?}
1026
+ * @private
1027
+ */
1028
+ _CovalentSideSheetBase.prototype._sideSheetRefConstructor;
1029
+ /**
1030
+ * @type {?}
1031
+ * @private
1032
+ */
1033
+ _CovalentSideSheetBase.prototype._sideSheetContainerType;
1034
+ /**
1035
+ * @type {?}
1036
+ * @private
1037
+ */
1038
+ _CovalentSideSheetBase.prototype._sideSheetDataToken;
1039
+ }
1040
+ /**
1041
+ * Service to open Covalent Design side-sheet.
1042
+ */
1043
+ var CovalentSideSheet = /** @class */ (function (_super) {
1044
+ __extends(CovalentSideSheet, _super);
1045
+ /**
1046
+ * @param {?} overlay
1047
+ * @param {?} injector
1048
+ * @param {?} defaultOptions
1049
+ * @param {?} parentSideSheet
1050
+ */
1051
+ function CovalentSideSheet(overlay, injector, defaultOptions, parentSideSheet) {
1052
+ return _super.call(this, overlay, injector, defaultOptions, parentSideSheet, CovalentSideSheetRef, CovalentSideSheetContainer, dialog.MAT_DIALOG_DATA) || this;
1053
+ }
1054
+ return CovalentSideSheet;
1055
+ }(_CovalentSideSheetBase));
1056
+ CovalentSideSheet.decorators = [
1057
+ { type: core$1.Injectable }
1058
+ ];
1059
+ /** @nocollapse */
1060
+ CovalentSideSheet.ctorParameters = function () { return [
1061
+ { type: overlay.Overlay },
1062
+ { type: core$1.Injector },
1063
+ { type: CovalentSideSheetConfig, decorators: [{ type: core$1.Optional }, { type: core$1.Inject, args: [dialog.MAT_DIALOG_DEFAULT_OPTIONS,] }] },
1064
+ { type: CovalentSideSheet, decorators: [{ type: core$1.Optional }, { type: core$1.SkipSelf }] }
1065
+ ]; };
1066
+
1067
+ /**
1068
+ * @fileoverview added by tsickle
1069
+ * Generated from: side-sheet.content-directives.ts
1070
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1071
+ */
1072
+ /**
1073
+ * Counter used to generate unique IDs for dialog elements.
1074
+ * @type {?}
1075
+ */
1076
+ var dialogElementUid = 0;
1077
+ /**
1078
+ * Button that will close the current dialog.
1079
+ */
1080
+ var CovalentSideSheetClose = /** @class */ (function () {
1081
+ /**
1082
+ * @param {?} dialogRef
1083
+ * @param {?} _elementRef
1084
+ * @param {?} _dialog
1085
+ */
1086
+ function CovalentSideSheetClose(dialogRef, _elementRef, _dialog) {
1087
+ this.dialogRef = dialogRef;
1088
+ this._elementRef = _elementRef;
1089
+ this._dialog = _dialog;
1090
+ /**
1091
+ * Default to "button" to prevents accidental form submits.
1092
+ */
1093
+ this.type = 'button';
1094
+ }
1095
+ /**
1096
+ * @return {?}
1097
+ */
1098
+ CovalentSideSheetClose.prototype.ngOnInit = function () {
1099
+ if (!this.dialogRef) {
1100
+ // When this directive is included in a dialog via TemplateRef (rather than being
1101
+ // in a Component), the DialogRef isn't available via injection because embedded
1102
+ // views cannot be given a custom injector. Instead, we look up the DialogRef by
1103
+ // ID. This must occur in `onInit`, as the ID binding for the dialog container won't
1104
+ // be resolved at constructor time.
1105
+ this.dialogRef = ( /** @type {?} */(getClosestDialog(this._elementRef, this._dialog.openSideSheets)));
1106
+ }
1107
+ };
1108
+ /**
1109
+ * @param {?} changes
1110
+ * @return {?}
1111
+ */
1112
+ CovalentSideSheetClose.prototype.ngOnChanges = function (changes) {
1113
+ /** @type {?} */
1114
+ var proxiedChange = changes['_CovalentSideSheetClose'] || changes['_CovalentSideSheetCloseResult'];
1115
+ if (proxiedChange) {
1116
+ this.dialogResult = proxiedChange.currentValue;
1117
+ }
1118
+ };
1119
+ /**
1120
+ * @param {?} event
1121
+ * @return {?}
1122
+ */
1123
+ CovalentSideSheetClose.prototype._onButtonClick = function (event) {
1124
+ // Determinate the focus origin using the click event, because using the FocusMonitor will
1125
+ // result in incorrect origins. Most of the time, close buttons will be auto focused in the
1126
+ // dialog, and therefore clicking the button won't result in a focus change. This means that
1127
+ // the FocusMonitor won't detect any origin change, and will always output `program`.
1128
+ _closeSideSheetVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
1129
+ };
1130
+ return CovalentSideSheetClose;
1131
+ }());
1132
+ CovalentSideSheetClose.decorators = [
1133
+ { type: core$1.Directive, args: [{
1134
+ selector: '[td-side-sheet-close], [CovalentSideSheetClose]',
1135
+ exportAs: 'CovalentSideSheetClose',
1136
+ host: {
1137
+ '(click)': '_onButtonClick($event)',
1138
+ '[attr.aria-label]': 'ariaLabel || null',
1139
+ '[attr.type]': 'type',
1140
+ },
1141
+ },] }
1142
+ ];
1143
+ /** @nocollapse */
1144
+ CovalentSideSheetClose.ctorParameters = function () { return [
1145
+ { type: CovalentSideSheetRef, decorators: [{ type: core$1.Optional }] },
1146
+ { type: core$1.ElementRef },
1147
+ { type: CovalentSideSheet }
1148
+ ]; };
1149
+ CovalentSideSheetClose.propDecorators = {
1150
+ ariaLabel: [{ type: core$1.Input, args: ['aria-label',] }],
1151
+ type: [{ type: core$1.Input }],
1152
+ dialogResult: [{ type: core$1.Input, args: ['td-side-sheet-close',] }],
1153
+ _CovalentSideSheetClose: [{ type: core$1.Input, args: ['CovalentSideSheetClose',] }]
1154
+ };
1155
+ if (false) {
1156
+ /**
1157
+ * Screenreader label for the button.
1158
+ * @type {?}
1159
+ */
1160
+ CovalentSideSheetClose.prototype.ariaLabel;
1161
+ /**
1162
+ * Default to "button" to prevents accidental form submits.
1163
+ * @type {?}
1164
+ */
1165
+ CovalentSideSheetClose.prototype.type;
1166
+ /**
1167
+ * Dialog close input.
1168
+ * @type {?}
1169
+ */
1170
+ CovalentSideSheetClose.prototype.dialogResult;
1171
+ /** @type {?} */
1172
+ CovalentSideSheetClose.prototype._CovalentSideSheetClose;
1173
+ /** @type {?} */
1174
+ CovalentSideSheetClose.prototype.dialogRef;
1175
+ /**
1176
+ * @type {?}
1177
+ * @private
1178
+ */
1179
+ CovalentSideSheetClose.prototype._elementRef;
1180
+ /**
1181
+ * @type {?}
1182
+ * @private
1183
+ */
1184
+ CovalentSideSheetClose.prototype._dialog;
1185
+ }
1186
+ /**
1187
+ * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.
1188
+ */
1189
+ var CovalentSideSheetTitle = /** @class */ (function () {
1190
+ /**
1191
+ * @param {?} _dialogRef
1192
+ * @param {?} _elementRef
1193
+ * @param {?} _dialog
1194
+ */
1195
+ function CovalentSideSheetTitle(_dialogRef, _elementRef, _dialog) {
1196
+ this._dialogRef = _dialogRef;
1197
+ this._elementRef = _elementRef;
1198
+ this._dialog = _dialog;
1199
+ /**
1200
+ * Unique id for the dialog title. If none is supplied, it will be auto-generated.
1201
+ */
1202
+ this.id = "td-side-sheet-title-" + dialogElementUid++;
1203
+ }
1204
+ /**
1205
+ * @return {?}
1206
+ */
1207
+ CovalentSideSheetTitle.prototype.ngOnInit = function () {
1208
+ var _this = this;
1209
+ if (this._dialogRef) {
1210
+ Promise.resolve().then(( /**
1211
+ * @return {?}
1212
+ */function () {
1213
+ /** @type {?} */
1214
+ var container = _this._dialogRef._containerInstance;
1215
+ if (container && !container._ariaLabelledBy) {
1216
+ container._ariaLabelledBy = _this.id;
1217
+ }
1218
+ }));
1219
+ }
1220
+ else {
1221
+ this._dialogRef = ( /** @type {?} */(getClosestDialog(this._elementRef, this._dialog.openSideSheets)));
1222
+ }
1223
+ };
1224
+ return CovalentSideSheetTitle;
1225
+ }());
1226
+ CovalentSideSheetTitle.decorators = [
1227
+ { type: core$1.Directive, args: [{
1228
+ selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',
1229
+ exportAs: 'CovalentSideSheetTitle',
1230
+ host: {
1231
+ 'class': 'td-side-sheet-title',
1232
+ '[id]': 'id',
1233
+ },
1234
+ },] }
1235
+ ];
1236
+ /** @nocollapse */
1237
+ CovalentSideSheetTitle.ctorParameters = function () { return [
1238
+ { type: CovalentSideSheetRef, decorators: [{ type: core$1.Optional }] },
1239
+ { type: core$1.ElementRef },
1240
+ { type: CovalentSideSheet }
1241
+ ]; };
1242
+ CovalentSideSheetTitle.propDecorators = {
1243
+ id: [{ type: core$1.Input }]
1244
+ };
1245
+ if (false) {
1246
+ /**
1247
+ * Unique id for the dialog title. If none is supplied, it will be auto-generated.
1248
+ * @type {?}
1249
+ */
1250
+ CovalentSideSheetTitle.prototype.id;
1251
+ /**
1252
+ * @type {?}
1253
+ * @private
1254
+ */
1255
+ CovalentSideSheetTitle.prototype._dialogRef;
1256
+ /**
1257
+ * @type {?}
1258
+ * @private
1259
+ */
1260
+ CovalentSideSheetTitle.prototype._elementRef;
1261
+ /**
1262
+ * @type {?}
1263
+ * @private
1264
+ */
1265
+ CovalentSideSheetTitle.prototype._dialog;
1266
+ }
1267
+ /**
1268
+ * Scrollable content container of a dialog.
1269
+ */
1270
+ var CovalentSideSheetContent = /** @class */ (function () {
1271
+ function CovalentSideSheetContent() {
1272
+ }
1273
+ return CovalentSideSheetContent;
1274
+ }());
1275
+ CovalentSideSheetContent.decorators = [
1276
+ { type: core$1.Directive, args: [{
1277
+ selector: "[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]",
1278
+ host: { class: 'td-side-sheet-content' },
1279
+ },] }
1280
+ ];
1281
+ /**
1282
+ * Container for the bottom action buttons in a dialog.
1283
+ * Stays fixed to the bottom when scrolling.
1284
+ */
1285
+ var CovalentSideSheetActions = /** @class */ (function () {
1286
+ function CovalentSideSheetActions() {
1287
+ }
1288
+ return CovalentSideSheetActions;
1289
+ }());
1290
+ CovalentSideSheetActions.decorators = [
1291
+ { type: core$1.Directive, args: [{
1292
+ selector: "[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]",
1293
+ host: { class: 'td-side-sheet-actions' },
1294
+ },] }
1295
+ ];
1296
+ /**
1297
+ * Container for the wrapper part of the dialog
1298
+ */
1299
+ var CovalentSideSheetWrapper = /** @class */ (function () {
1300
+ function CovalentSideSheetWrapper() {
1301
+ }
1302
+ return CovalentSideSheetWrapper;
1303
+ }());
1304
+ CovalentSideSheetWrapper.decorators = [
1305
+ { type: core$1.Directive, args: [{
1306
+ selector: "[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]",
1307
+ host: { class: 'td-side-sheet-wrapper' },
1308
+ },] }
1309
+ ];
1310
+ /**
1311
+ * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.
1312
+ * @param {?} element Element relative to which to look for a dialog.
1313
+ * @param {?} openDialogs References to the currently-open dialogs.
1314
+ * @return {?}
1315
+ */
1316
+ function getClosestDialog(element, openDialogs) {
1317
+ /** @type {?} */
1318
+ var parent = element.nativeElement.parentElement;
1319
+ while (parent && !parent.classList.contains('td-side-sheet-container')) {
1320
+ parent = parent.parentElement;
1321
+ }
1322
+ return parent ? openDialogs.find(( /**
1323
+ * @param {?} dialog
1324
+ * @return {?}
1325
+ */function (dialog) { return dialog.id === ( /** @type {?} */(parent)).id; })) : null;
1326
+ }
1327
+
1328
+ /**
1329
+ * @fileoverview added by tsickle
1330
+ * Generated from: side-sheet.module.ts
1331
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1332
+ */
1333
+ var CovalentSideSheetModule = /** @class */ (function () {
1334
+ function CovalentSideSheetModule() {
1335
+ }
1336
+ return CovalentSideSheetModule;
1337
+ }());
1338
+ CovalentSideSheetModule.decorators = [
1339
+ { type: core$1.NgModule, args: [{
1340
+ declarations: [
1341
+ CovalentSideSheetContainer,
1342
+ CovalentSideSheetActions,
1343
+ CovalentSideSheetClose,
1344
+ CovalentSideSheetContent,
1345
+ CovalentSideSheetTitle,
1346
+ CovalentSideSheetWrapper,
1347
+ ],
1348
+ exports: [
1349
+ CovalentSideSheetActions,
1350
+ CovalentSideSheetClose,
1351
+ CovalentSideSheetContent,
1352
+ CovalentSideSheetTitle,
1353
+ CovalentSideSheetWrapper,
1354
+ ],
1355
+ imports: [portal.PortalModule, dialog.MatDialogModule, core.MatCommonModule],
1356
+ providers: [CovalentSideSheet],
1357
+ },] }
1358
+ ];
1359
+
1360
+ /**
1361
+ * @fileoverview added by tsickle
1362
+ * Generated from: public-api.ts
1363
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1364
+ */
1365
+
1366
+ /**
1367
+ * @fileoverview added by tsickle
1368
+ * Generated from: index.ts
1369
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1370
+ */
1371
+
1372
+ /**
1373
+ * @fileoverview added by tsickle
1374
+ * Generated from: covalent-core-side-sheet.ts
1375
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1376
+ */
1377
+
1378
+ exports.CovalentSideSheet = CovalentSideSheet;
1379
+ exports.CovalentSideSheetActions = CovalentSideSheetActions;
1380
+ exports.CovalentSideSheetClose = CovalentSideSheetClose;
1381
+ exports.CovalentSideSheetConfig = CovalentSideSheetConfig;
1382
+ exports.CovalentSideSheetContent = CovalentSideSheetContent;
1383
+ exports.CovalentSideSheetModule = CovalentSideSheetModule;
1384
+ exports.CovalentSideSheetRef = CovalentSideSheetRef;
1385
+ exports.CovalentSideSheetTitle = CovalentSideSheetTitle;
1386
+ exports.CovalentSideSheetWrapper = CovalentSideSheetWrapper;
1387
+ exports._CovalentSideSheetBase = _CovalentSideSheetBase;
1388
+ exports._closeSideSheetVia = _closeSideSheetVia;
1389
+ exports.ɵa = _CovalentSideSheetContainerBase;
1390
+ exports.ɵb = CovalentSideSheetContainer;
1391
+ exports.ɵc = tdSideSheetAnimations;
1392
+
1393
+ Object.defineProperty(exports, '__esModule', { value: true });
1394
+
1395
+ })));
1396
+ //# sourceMappingURL=covalent-core-side-sheet.umd.js.map