@angular/material 12.0.0-rc.0 → 12.0.0
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.
- package/bundles/material-chips.umd.js.map +1 -1
- package/bundles/material-core.umd.js +27 -30
- package/bundles/material-core.umd.js.map +1 -1
- package/bundles/material-datepicker-testing.umd.js +5 -5
- package/bundles/material-datepicker-testing.umd.js.map +1 -1
- package/bundles/material-datepicker.umd.js +57 -7
- package/bundles/material-datepicker.umd.js.map +1 -1
- package/bundles/material-form-field-testing.umd.js +16 -8
- package/bundles/material-form-field-testing.umd.js.map +1 -1
- package/bundles/material-menu.umd.js.map +1 -1
- package/bundles/material-paginator.umd.js +1 -0
- package/bundles/material-paginator.umd.js.map +1 -1
- package/bundles/material-table-testing.umd.js +103 -143
- package/bundles/material-table-testing.umd.js.map +1 -1
- package/bundles/material-tabs.umd.js +8 -1
- package/bundles/material-tabs.umd.js.map +1 -1
- package/bundles/material-tree.umd.js +1 -3
- package/bundles/material-tree.umd.js.map +1 -1
- package/chips/chip.d.ts +2 -1
- package/chips/index.metadata.json +1 -1
- package/core/common-behaviors/color.d.ts +3 -3
- package/core/common-behaviors/constructor.d.ts +1 -3
- package/core/common-behaviors/disable-ripple.d.ts +2 -2
- package/core/common-behaviors/disabled.d.ts +3 -3
- package/core/common-behaviors/error-state.d.ts +3 -3
- package/core/common-behaviors/tabindex.d.ts +1 -1
- package/core/index.metadata.json +1 -1
- package/core/ripple/ripple-renderer.d.ts +2 -0
- package/core/ripple/ripple.d.ts +2 -0
- package/datepicker/date-range-input-parts.d.ts +2 -0
- package/datepicker/date-range-input.d.ts +6 -1
- package/datepicker/date-selection-model.d.ts +2 -0
- package/datepicker/datepicker-base.d.ts +1 -0
- package/datepicker/datepicker-input.d.ts +4 -2
- package/datepicker/index.metadata.json +1 -1
- package/datepicker/testing/datepicker-input-harness-base.d.ts +3 -2
- package/esm2015/chips/chip.js +1 -1
- package/esm2015/core/common-behaviors/color.js +1 -2
- package/esm2015/core/common-behaviors/common-module.js +1 -1
- package/esm2015/core/common-behaviors/constructor.js +1 -1
- package/esm2015/core/common-behaviors/disable-ripple.js +3 -8
- package/esm2015/core/common-behaviors/disabled.js +1 -2
- package/esm2015/core/common-behaviors/error-state.js +1 -5
- package/esm2015/core/common-behaviors/tabindex.js +3 -10
- package/esm2015/core/ripple/ripple-renderer.js +9 -1
- package/esm2015/core/ripple/ripple.js +8 -1
- package/esm2015/core/version.js +1 -1
- package/esm2015/datepicker/date-range-input-parts.js +23 -1
- package/esm2015/datepicker/date-range-input.js +18 -3
- package/esm2015/datepicker/date-selection-model.js +3 -2
- package/esm2015/datepicker/datepicker-base.js +8 -3
- package/esm2015/datepicker/datepicker-input.js +8 -1
- package/esm2015/datepicker/datepicker-toggle.js +1 -1
- package/esm2015/datepicker/testing/datepicker-input-harness-base.js +4 -3
- package/esm2015/form-field/testing/form-field-harness.js +12 -3
- package/esm2015/menu/menu-trigger.js +1 -1
- package/esm2015/menu/menu.js +1 -1
- package/esm2015/paginator/paginator.js +2 -1
- package/esm2015/table/testing/cell-harness.js +9 -9
- package/esm2015/table/testing/row-harness.js +38 -70
- package/esm2015/table/testing/table-harness.js +23 -15
- package/esm2015/tabs/paginated-tab-header.js +2 -2
- package/esm2015/tabs/tab-group.js +8 -1
- package/esm2015/tree/data-source/nested-data-source.js +2 -4
- package/fesm2015/chips.js.map +1 -1
- package/fesm2015/core.js +21 -24
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/datepicker/testing.js +2 -1
- package/fesm2015/datepicker/testing.js.map +1 -1
- package/fesm2015/datepicker.js +55 -5
- package/fesm2015/datepicker.js.map +1 -1
- package/fesm2015/form-field/testing.js +11 -2
- package/fesm2015/form-field/testing.js.map +1 -1
- package/fesm2015/menu.js.map +1 -1
- package/fesm2015/paginator.js +1 -0
- package/fesm2015/paginator.js.map +1 -1
- package/fesm2015/table/testing.js +66 -90
- package/fesm2015/table/testing.js.map +1 -1
- package/fesm2015/tabs.js +8 -1
- package/fesm2015/tabs.js.map +1 -1
- package/fesm2015/tree.js +1 -3
- package/fesm2015/tree.js.map +1 -1
- package/form-field/testing/form-field-harness.d.ts +6 -1
- package/package.json +6 -6
- package/paginator/index.metadata.json +1 -1
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/schematics/collection.json +0 -6
- package/schematics/ng-add/index.js +2 -2
- package/schematics/ng-update/index.js +3 -1
- package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/config.d.ts +6 -0
- package/schematics/ng-update/migrations/theming-api-v12/config.js +206 -0
- package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/migration.d.ts +0 -0
- package/schematics/ng-update/migrations/theming-api-v12/migration.js +234 -0
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.d.ts +18 -0
- package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +45 -0
- package/table/testing/cell-harness.d.ts +2 -1
- package/table/testing/row-harness.d.ts +21 -22
- package/table/testing/table-harness.d.ts +32 -13
- package/tabs/_tabs-theme.scss +5 -2
- package/tabs/index.metadata.json +1 -1
- package/schematics/ng-generate/theming-api/config.js +0 -183
- package/schematics/ng-generate/theming-api/index.d.ts +0 -10
- package/schematics/ng-generate/theming-api/index.js +0 -26
- package/schematics/ng-generate/theming-api/migration.js +0 -223
- package/schematics/ng-generate/theming-api/schema.d.ts +0 -9
- package/schematics/ng-generate/theming-api/schema.js +0 -10
- package/schematics/ng-generate/theming-api/schema.json +0 -7
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/testing'), require('@angular/cdk/coercion')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@angular/material/datepicker/testing', ['exports', '@angular/cdk/testing', '@angular/cdk/coercion'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.datepicker = global.ng.material.datepicker || {}, global.ng.material.datepicker.testing = {}), global.ng.cdk.testing, global.ng.cdk.coercion));
|
|
5
|
-
}(this, (function (exports, testing, coercion) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/testing'), require('@angular/material/form-field/testing/control'), require('@angular/cdk/coercion')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@angular/material/datepicker/testing', ['exports', '@angular/cdk/testing', '@angular/material/form-field/testing/control', '@angular/cdk/coercion'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.datepicker = global.ng.material.datepicker || {}, global.ng.material.datepicker.testing = {}), global.ng.cdk.testing, global.ng.material.formField.testing.control, global.ng.cdk.coercion));
|
|
5
|
+
}(this, (function (exports, testing, control, coercion) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -467,7 +467,7 @@
|
|
|
467
467
|
});
|
|
468
468
|
};
|
|
469
469
|
return MatDatepickerInputHarnessBase;
|
|
470
|
-
}(
|
|
470
|
+
}(control.MatFormFieldControlHarness));
|
|
471
471
|
|
|
472
472
|
/** Harness for interacting with a standard Material calendar cell in tests. */
|
|
473
473
|
var MatCalendarCellHarness = /** @class */ (function (_super) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-datepicker-testing.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material/datepicker/testing/datepicker-input-harness-base.ts","../../../../../src/material/datepicker/testing/calendar-cell-harness.ts","../../../../../src/material/datepicker/testing/calendar-harness.ts","../../../../../src/material/datepicker/testing/datepicker-trigger-harness-base.ts","../../../../../src/material/datepicker/testing/datepicker-input-harness.ts","../../../../../src/material/datepicker/testing/datepicker-toggle-harness.ts","../../../../../src/material/datepicker/testing/date-range-input-harness.ts","../../../../../src/material/datepicker/testing/public-api.ts","../../../../../src/material/datepicker/testing/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentHarnessConstructor,\n HarnessPredicate,\n ComponentHarness,\n} from '@angular/cdk/testing';\nimport {DatepickerInputHarnessFilters} from './datepicker-harness-filters';\n\n/** Sets up the filter predicates for a datepicker input harness. */\nexport function getInputPredicate<T extends MatDatepickerInputHarnessBase>(\n type: ComponentHarnessConstructor<T>,\n options: DatepickerInputHarnessFilters): HarnessPredicate<T> {\n\n return new HarnessPredicate(type, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n });\n}\n\n/** Base class for datepicker input harnesses. */\nexport abstract class MatDatepickerInputHarnessBase extends ComponentHarness {\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty('disabled')!;\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty('required')!;\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return (await (await this.host()).getProperty('value'))!;\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n\n await inputEl.dispatchEvent('change');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return (await (await this.host()).getProperty('placeholder'));\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the formatted minimum date for the input's value. */\n async getMin(): Promise<string | null> {\n return (await this.host()).getAttribute('min');\n }\n\n /** Gets the formatted maximum date for the input's value. */\n async getMax(): Promise<string | null> {\n return (await this.host()).getAttribute('max');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarCellHarnessFilters} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material calendar cell in tests. */\nexport class MatCalendarCellHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar-body-cell';\n\n /** Reference to the inner content element inside the cell. */\n private _content = this.locatorFor('.mat-calendar-body-cell-content');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarCellHarness`\n * that meets certain criteria.\n * @param options Options for filtering which cell instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarCellHarnessFilters = {}): HarnessPredicate<MatCalendarCellHarness> {\n return new HarnessPredicate(MatCalendarCellHarness, options)\n .addOption('text', options.text, (harness, text) => {\n return HarnessPredicate.stringMatches(harness.getText(), text);\n })\n .addOption('selected', options.selected, async (harness, selected) => {\n return (await harness.isSelected()) === selected;\n })\n .addOption('active', options.active, async (harness, active) => {\n return (await harness.isActive()) === active;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('today', options.today, async (harness, today) => {\n return (await harness.isToday()) === today;\n })\n .addOption('inRange', options.inRange, async (harness, inRange) => {\n return (await harness.isInRange()) === inRange;\n })\n .addOption('inComparisonRange', options.inComparisonRange,\n async (harness, inComparisonRange) => {\n return (await harness.isInComparisonRange()) === inComparisonRange;\n })\n .addOption('inPreviewRange', options.inPreviewRange, async (harness, inPreviewRange) => {\n return (await harness.isInPreviewRange()) === inPreviewRange;\n });\n }\n\n /** Gets the text of the calendar cell. */\n async getText(): Promise<string> {\n return (await this._content()).text();\n }\n\n /** Gets the aria-label of the calendar cell. */\n async getAriaLabel(): Promise<string> {\n // We're guaranteed for the `aria-label` to be defined\n // since this is a private element that we control.\n return (await this.host()).getAttribute('aria-label') as Promise<string>;\n }\n\n /** Whether the cell is selected. */\n async isSelected(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-selected')) === 'true';\n }\n\n /** Whether the cell is disabled. */\n async isDisabled(): Promise<boolean> {\n return this._hasState('disabled');\n }\n\n /** Whether the cell is currently activated using keyboard navigation. */\n async isActive(): Promise<boolean> {\n return this._hasState('active');\n }\n\n /** Whether the cell represents today's date. */\n async isToday(): Promise<boolean> {\n return (await this._content()).hasClass('mat-calendar-body-today');\n }\n\n /** Selects the calendar cell. Won't do anything if the cell is disabled. */\n async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Hovers over the calendar cell. */\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n\n /** Moves the mouse away from the calendar cell. */\n async mouseAway(): Promise<void> {\n return (await this.host()).mouseAway();\n }\n\n /** Focuses the calendar cell. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Removes focus from the calendar cell. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the cell is the start of the main range. */\n async isRangeStart(): Promise<boolean> {\n return this._hasState('range-start');\n }\n\n /** Whether the cell is the end of the main range. */\n async isRangeEnd(): Promise<boolean> {\n return this._hasState('range-end');\n }\n\n /** Whether the cell is part of the main range. */\n async isInRange(): Promise<boolean> {\n return this._hasState('in-range');\n }\n\n /** Whether the cell is the start of the comparison range. */\n async isComparisonRangeStart(): Promise<boolean> {\n return this._hasState('comparison-start');\n }\n\n /** Whether the cell is the end of the comparison range. */\n async isComparisonRangeEnd(): Promise<boolean> {\n return this._hasState('comparison-end');\n }\n\n /** Whether the cell is inside of the comparison range. */\n async isInComparisonRange(): Promise<boolean> {\n return this._hasState('in-comparison-range');\n }\n\n /** Whether the cell is the start of the preview range. */\n async isPreviewRangeStart(): Promise<boolean> {\n return this._hasState('preview-start');\n }\n\n /** Whether the cell is the end of the preview range. */\n async isPreviewRangeEnd(): Promise<boolean> {\n return this._hasState('preview-end');\n }\n\n /** Whether the cell is inside of the preview range. */\n async isInPreviewRange(): Promise<boolean> {\n return this._hasState('in-preview');\n }\n\n /** Returns whether the cell has a particular CSS class-based state. */\n private async _hasState(name: string): Promise<boolean> {\n return (await this.host()).hasClass(`mat-calendar-body-${name}`);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters, CalendarCellHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarCellHarness} from './calendar-cell-harness';\n\n/** Possible views of a `MatCalendarHarness`. */\nexport const enum CalendarView {MONTH, YEAR, MULTI_YEAR}\n\n/** Harness for interacting with a standard Material calendar in tests. */\nexport class MatCalendarHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar';\n\n /** Queries for the calendar's period toggle button. */\n private _periodButton = this.locatorFor('.mat-calendar-period-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarHarness`\n * that meets certain criteria.\n * @param options Options for filtering which calendar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarHarnessFilters = {}): HarnessPredicate<MatCalendarHarness> {\n return new HarnessPredicate(MatCalendarHarness, options);\n }\n\n /**\n * Gets a list of cells inside the calendar.\n * @param filter Optionally filters which cells are included.\n */\n async getCells(filter: CalendarCellHarnessFilters = {}): Promise<MatCalendarCellHarness[]> {\n return this.locatorForAll(MatCalendarCellHarness.with(filter))();\n }\n\n /** Gets the current view that is being shown inside the calendar. */\n async getCurrentView(): Promise<CalendarView> {\n if (await this.locatorForOptional('mat-multi-year-view')()) {\n return CalendarView.MULTI_YEAR;\n }\n\n if (await this.locatorForOptional('mat-year-view')()) {\n return CalendarView.YEAR;\n }\n\n return CalendarView.MONTH;\n }\n\n /** Gets the label of the current calendar view. */\n async getCurrentViewLabel(): Promise<string> {\n return (await this._periodButton()).text();\n }\n\n /** Changes the calendar view by clicking on the view toggle button. */\n async changeView(): Promise<void> {\n return (await this._periodButton()).click();\n }\n\n /** Goes to the next page of the current view (e.g. next month when inside the month view). */\n async next(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-next-button')()).click();\n }\n\n /**\n * Goes to the previous page of the current view\n * (e.g. previous month when inside the month view).\n */\n async previous(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-previous-button')()).click();\n }\n\n /**\n * Selects a cell in the current calendar view.\n * @param filter An optional filter to apply to the cells. The first cell matching the filter\n * will be selected.\n */\n async selectCell(filter: CalendarCellHarnessFilters = {}): Promise<void> {\n const cells = await this.getCells(filter);\n if (!cells.length) {\n throw Error(`Cannot find calendar cell matching filter ${JSON.stringify(filter)}`);\n }\n await cells[0].select();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, LocatorFactory, parallel, TestElement} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarHarness} from './calendar-harness';\n\n/** Interface for a test harness that can open and close a calendar. */\nexport interface DatepickerTrigger {\n isCalendarOpen(): Promise<boolean>;\n openCalendar(): Promise<void>;\n closeCalendar(): Promise<void>;\n hasCalendar(): Promise<boolean>;\n getCalendar(filter?: CalendarHarnessFilters): Promise<MatCalendarHarness>;\n}\n\n/** Base class for harnesses that can trigger a calendar. */\nexport abstract class DatepickerTriggerHarnessBase extends ComponentHarness implements\n DatepickerTrigger {\n /** Whether the trigger is disabled. */\n abstract isDisabled(): Promise<boolean>;\n\n /** Whether the calendar associated with the trigger is open. */\n abstract isCalendarOpen(): Promise<boolean>;\n\n /** Opens the calendar associated with the trigger. */\n protected abstract _openCalendar(): Promise<void>;\n\n /** Opens the calendar if the trigger is enabled and it has a calendar. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n return this._openCalendar();\n }\n }\n\n /** Closes the calendar if it is open. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Gets whether there is a calendar associated with the trigger. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\n }\n}\n\n/** Gets the ID of the calendar that a particular test element can trigger. */\nexport async function getCalendarId(host: Promise<TestElement>): Promise<string | null> {\n return (await host).getAttribute('data-mat-calendar');\n}\n\n/** Closes the calendar with a specific ID. */\nexport async function closeCalendar(\n calendarId: Promise<string | null>,\n documentLocator: LocatorFactory) {\n // We close the calendar by clicking on the backdrop, even though all datepicker variants\n // have the ability to close by pressing escape. The backdrop is preferrable, because the\n // escape key has multiple functions inside a range picker (either cancel the current range\n // or close the calendar). Since we don't have access to set the ID on the backdrop in all\n // cases, we set a unique class instead which is the same as the calendar's ID and suffixed\n // with `-backdrop`.\n const backdropSelector = `.${await calendarId}-backdrop`;\n return (await documentLocator.locatorFor(backdropSelector)()).click();\n}\n\n/** Gets the test harness for a calendar associated with a particular host. */\nexport async function getCalendar(\n filter: CalendarHarnessFilters,\n host: Promise<TestElement>,\n documentLocator: LocatorFactory): Promise<MatCalendarHarness> {\n const calendarId = await getCalendarId(host);\n\n if (!calendarId) {\n throw Error(`Element is not associated with a calendar`);\n }\n\n return documentLocator.locatorFor(MatCalendarHarness.with({\n ...filter,\n selector: `#${calendarId}`\n }))();\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {DatepickerInputHarnessFilters, CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {MatCalendarHarness} from './calendar-harness';\nimport {\n DatepickerTrigger,\n closeCalendar,\n getCalendarId,\n getCalendar,\n} from './datepicker-trigger-harness-base';\n\n/** Harness for interacting with a standard Material datepicker inputs in tests. */\nexport class MatDatepickerInputHarness extends MatDatepickerInputHarnessBase implements\n DatepickerTrigger {\n static hostSelector = '.mat-datepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatDatepickerInputHarness> {\n return getInputPredicate(MatDatepickerInputHarness, options);\n }\n\n /** Gets whether the calendar associated with the input is open. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set only if there's an open datepicker so we can use it as an indicator.\n const host = await this.host();\n return (await host.getAttribute('aria-owns')) != null;\n }\n\n /** Opens the calendar associated with the input. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const host = await this.host();\n return host.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n }\n\n /** Closes the calendar associated with the input. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Whether a calendar is associated with the input. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DatepickerToggleHarnessFilters} from './datepicker-harness-filters';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\n\n\n/** Harness for interacting with a standard Material datepicker toggle in tests. */\nexport class MatDatepickerToggleHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-datepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which datepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerToggleHarnessFilters = {}):\n HarnessPredicate<MatDatepickerToggleHarness> {\n return new HarnessPredicate(MatDatepickerToggleHarness, options);\n }\n\n /** Gets whether the calendar associated with the toggle is open. */\n async isCalendarOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-datepicker-toggle-active');\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n\n protected async _openCalendar(): Promise<void> {\n return (await this._button()).click();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\nimport {\n DatepickerInputHarnessFilters,\n DateRangeInputHarnessFilters,\n} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material date range start input in tests. */\nexport class MatStartDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-start-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatStartDateHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatStartDateHarness> {\n return getInputPredicate(MatStartDateHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Material date range end input in tests. */\nexport class MatEndDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-end-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatEndDateHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatEndDateHarness> {\n return getInputPredicate(MatEndDateHarness, options);\n }\n}\n\n\n/** Harness for interacting with a standard Material date range input in tests. */\nexport class MatDateRangeInputHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-date-range-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDateRangeInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DateRangeInputHarnessFilters = {}):\n HarnessPredicate<MatDateRangeInputHarness> {\n return new HarnessPredicate(MatDateRangeInputHarness, options)\n .addOption('value', options.value,\n (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value));\n }\n\n /** Gets the combined value of the start and end inputs, including the separator. */\n async getValue(): Promise<string> {\n const [start, end, separator] = await parallel(() => [\n this.getStartInput().then(input => input.getValue()),\n this.getEndInput().then(input => input.getValue()),\n this.getSeparator()\n ]);\n\n return start + `${end ? ` ${separator} ${end}` : ''}`;\n }\n\n /** Gets the inner start date input inside the range input. */\n async getStartInput(): Promise<MatStartDateHarness> {\n // Don't pass in filters here since the start input is required and there can only be one.\n return this.locatorFor(MatStartDateHarness)();\n }\n\n /** Gets the inner start date input inside the range input. */\n async getEndInput(): Promise<MatEndDateHarness> {\n // Don't pass in filters here since the end input is required and there can only be one.\n return this.locatorFor(MatEndDateHarness)();\n }\n\n /** Gets the separator text between the values of the two inputs. */\n async getSeparator(): Promise<string> {\n return (await this.locatorFor('.mat-date-range-input-separator')()).text();\n }\n\n /** Gets whether the range input is disabled. */\n async isDisabled(): Promise<boolean> {\n // We consider the input as disabled if both of the sub-inputs are disabled.\n const [startDisabled, endDisabled] = await parallel(() => [\n this.getStartInput().then(input => input.isDisabled()),\n this.getEndInput().then(input => input.isDisabled())\n ]);\n\n return startDisabled && endDisabled;\n }\n\n /** Gets whether the range input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).hasClass('mat-date-range-input-required');\n }\n\n /** Opens the calendar associated with the input. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set on both inputs only if there's an\n // open range picker so we can use it as an indicator.\n const startHost = await (await this.getStartInput()).host();\n return (await startHost.getAttribute('aria-owns')) != null;\n }\n\n protected async _openCalendar(): Promise<void> {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const startHost = await (await this.getStartInput()).host();\n return startHost.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './datepicker-harness-filters';\nexport * from './datepicker-input-harness';\nexport * from './datepicker-toggle-harness';\nexport * from './date-range-input-harness';\nexport * from './calendar-harness';\nexport * from './calendar-cell-harness';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["HarnessPredicate","ComponentHarness","parallel","TestKey","coerceBooleanProperty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"material-datepicker-testing.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material/datepicker/testing/datepicker-input-harness-base.ts","../../../../../src/material/datepicker/testing/calendar-cell-harness.ts","../../../../../src/material/datepicker/testing/calendar-harness.ts","../../../../../src/material/datepicker/testing/datepicker-trigger-harness-base.ts","../../../../../src/material/datepicker/testing/datepicker-input-harness.ts","../../../../../src/material/datepicker/testing/datepicker-toggle-harness.ts","../../../../../src/material/datepicker/testing/date-range-input-harness.ts","../../../../../src/material/datepicker/testing/public-api.ts","../../../../../src/material/datepicker/testing/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n 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; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n 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);\r\n 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); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {MatFormFieldControlHarness} from '@angular/material/form-field/testing/control';\nimport {DatepickerInputHarnessFilters} from './datepicker-harness-filters';\n\n/** Sets up the filter predicates for a datepicker input harness. */\nexport function getInputPredicate<T extends MatDatepickerInputHarnessBase>(\n type: ComponentHarnessConstructor<T>,\n options: DatepickerInputHarnessFilters): HarnessPredicate<T> {\n\n return new HarnessPredicate(type, options)\n .addOption('value', options.value, (harness, value) => {\n return HarnessPredicate.stringMatches(harness.getValue(), value);\n })\n .addOption('placeholder', options.placeholder, (harness, placeholder) => {\n return HarnessPredicate.stringMatches(harness.getPlaceholder(), placeholder);\n });\n}\n\n/** Base class for datepicker input harnesses. */\nexport abstract class MatDatepickerInputHarnessBase extends MatFormFieldControlHarness {\n /** Whether the input is disabled. */\n async isDisabled(): Promise<boolean> {\n return (await this.host()).getProperty('disabled')!;\n }\n\n /** Whether the input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).getProperty('required')!;\n }\n\n /** Gets the value of the input. */\n async getValue(): Promise<string> {\n // The \"value\" property of the native input is always defined.\n return (await (await this.host()).getProperty('value'))!;\n }\n\n /**\n * Sets the value of the input. The value will be set by simulating\n * keypresses that correspond to the given value.\n */\n async setValue(newValue: string): Promise<void> {\n const inputEl = await this.host();\n await inputEl.clear();\n\n // We don't want to send keys for the value if the value is an empty\n // string in order to clear the value. Sending keys with an empty string\n // still results in unnecessary focus events.\n if (newValue) {\n await inputEl.sendKeys(newValue);\n }\n\n await inputEl.dispatchEvent('change');\n }\n\n /** Gets the placeholder of the input. */\n async getPlaceholder(): Promise<string> {\n return (await (await this.host()).getProperty('placeholder'));\n }\n\n /**\n * Focuses the input and returns a promise that indicates when the\n * action is complete.\n */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /**\n * Blurs the input and returns a promise that indicates when the\n * action is complete.\n */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the input is focused. */\n async isFocused(): Promise<boolean> {\n return (await this.host()).isFocused();\n }\n\n /** Gets the formatted minimum date for the input's value. */\n async getMin(): Promise<string | null> {\n return (await this.host()).getAttribute('min');\n }\n\n /** Gets the formatted maximum date for the input's value. */\n async getMax(): Promise<string | null> {\n return (await this.host()).getAttribute('max');\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarCellHarnessFilters} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material calendar cell in tests. */\nexport class MatCalendarCellHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar-body-cell';\n\n /** Reference to the inner content element inside the cell. */\n private _content = this.locatorFor('.mat-calendar-body-cell-content');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarCellHarness`\n * that meets certain criteria.\n * @param options Options for filtering which cell instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarCellHarnessFilters = {}): HarnessPredicate<MatCalendarCellHarness> {\n return new HarnessPredicate(MatCalendarCellHarness, options)\n .addOption('text', options.text, (harness, text) => {\n return HarnessPredicate.stringMatches(harness.getText(), text);\n })\n .addOption('selected', options.selected, async (harness, selected) => {\n return (await harness.isSelected()) === selected;\n })\n .addOption('active', options.active, async (harness, active) => {\n return (await harness.isActive()) === active;\n })\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n .addOption('today', options.today, async (harness, today) => {\n return (await harness.isToday()) === today;\n })\n .addOption('inRange', options.inRange, async (harness, inRange) => {\n return (await harness.isInRange()) === inRange;\n })\n .addOption('inComparisonRange', options.inComparisonRange,\n async (harness, inComparisonRange) => {\n return (await harness.isInComparisonRange()) === inComparisonRange;\n })\n .addOption('inPreviewRange', options.inPreviewRange, async (harness, inPreviewRange) => {\n return (await harness.isInPreviewRange()) === inPreviewRange;\n });\n }\n\n /** Gets the text of the calendar cell. */\n async getText(): Promise<string> {\n return (await this._content()).text();\n }\n\n /** Gets the aria-label of the calendar cell. */\n async getAriaLabel(): Promise<string> {\n // We're guaranteed for the `aria-label` to be defined\n // since this is a private element that we control.\n return (await this.host()).getAttribute('aria-label') as Promise<string>;\n }\n\n /** Whether the cell is selected. */\n async isSelected(): Promise<boolean> {\n const host = await this.host();\n return (await host.getAttribute('aria-selected')) === 'true';\n }\n\n /** Whether the cell is disabled. */\n async isDisabled(): Promise<boolean> {\n return this._hasState('disabled');\n }\n\n /** Whether the cell is currently activated using keyboard navigation. */\n async isActive(): Promise<boolean> {\n return this._hasState('active');\n }\n\n /** Whether the cell represents today's date. */\n async isToday(): Promise<boolean> {\n return (await this._content()).hasClass('mat-calendar-body-today');\n }\n\n /** Selects the calendar cell. Won't do anything if the cell is disabled. */\n async select(): Promise<void> {\n return (await this.host()).click();\n }\n\n /** Hovers over the calendar cell. */\n async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n\n /** Moves the mouse away from the calendar cell. */\n async mouseAway(): Promise<void> {\n return (await this.host()).mouseAway();\n }\n\n /** Focuses the calendar cell. */\n async focus(): Promise<void> {\n return (await this.host()).focus();\n }\n\n /** Removes focus from the calendar cell. */\n async blur(): Promise<void> {\n return (await this.host()).blur();\n }\n\n /** Whether the cell is the start of the main range. */\n async isRangeStart(): Promise<boolean> {\n return this._hasState('range-start');\n }\n\n /** Whether the cell is the end of the main range. */\n async isRangeEnd(): Promise<boolean> {\n return this._hasState('range-end');\n }\n\n /** Whether the cell is part of the main range. */\n async isInRange(): Promise<boolean> {\n return this._hasState('in-range');\n }\n\n /** Whether the cell is the start of the comparison range. */\n async isComparisonRangeStart(): Promise<boolean> {\n return this._hasState('comparison-start');\n }\n\n /** Whether the cell is the end of the comparison range. */\n async isComparisonRangeEnd(): Promise<boolean> {\n return this._hasState('comparison-end');\n }\n\n /** Whether the cell is inside of the comparison range. */\n async isInComparisonRange(): Promise<boolean> {\n return this._hasState('in-comparison-range');\n }\n\n /** Whether the cell is the start of the preview range. */\n async isPreviewRangeStart(): Promise<boolean> {\n return this._hasState('preview-start');\n }\n\n /** Whether the cell is the end of the preview range. */\n async isPreviewRangeEnd(): Promise<boolean> {\n return this._hasState('preview-end');\n }\n\n /** Whether the cell is inside of the preview range. */\n async isInPreviewRange(): Promise<boolean> {\n return this._hasState('in-preview');\n }\n\n /** Returns whether the cell has a particular CSS class-based state. */\n private async _hasState(name: string): Promise<boolean> {\n return (await this.host()).hasClass(`mat-calendar-body-${name}`);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, ComponentHarness} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters, CalendarCellHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarCellHarness} from './calendar-cell-harness';\n\n/** Possible views of a `MatCalendarHarness`. */\nexport const enum CalendarView {MONTH, YEAR, MULTI_YEAR}\n\n/** Harness for interacting with a standard Material calendar in tests. */\nexport class MatCalendarHarness extends ComponentHarness {\n static hostSelector = '.mat-calendar';\n\n /** Queries for the calendar's period toggle button. */\n private _periodButton = this.locatorFor('.mat-calendar-period-button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatCalendarHarness`\n * that meets certain criteria.\n * @param options Options for filtering which calendar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: CalendarHarnessFilters = {}): HarnessPredicate<MatCalendarHarness> {\n return new HarnessPredicate(MatCalendarHarness, options);\n }\n\n /**\n * Gets a list of cells inside the calendar.\n * @param filter Optionally filters which cells are included.\n */\n async getCells(filter: CalendarCellHarnessFilters = {}): Promise<MatCalendarCellHarness[]> {\n return this.locatorForAll(MatCalendarCellHarness.with(filter))();\n }\n\n /** Gets the current view that is being shown inside the calendar. */\n async getCurrentView(): Promise<CalendarView> {\n if (await this.locatorForOptional('mat-multi-year-view')()) {\n return CalendarView.MULTI_YEAR;\n }\n\n if (await this.locatorForOptional('mat-year-view')()) {\n return CalendarView.YEAR;\n }\n\n return CalendarView.MONTH;\n }\n\n /** Gets the label of the current calendar view. */\n async getCurrentViewLabel(): Promise<string> {\n return (await this._periodButton()).text();\n }\n\n /** Changes the calendar view by clicking on the view toggle button. */\n async changeView(): Promise<void> {\n return (await this._periodButton()).click();\n }\n\n /** Goes to the next page of the current view (e.g. next month when inside the month view). */\n async next(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-next-button')()).click();\n }\n\n /**\n * Goes to the previous page of the current view\n * (e.g. previous month when inside the month view).\n */\n async previous(): Promise<void> {\n return (await this.locatorFor('.mat-calendar-previous-button')()).click();\n }\n\n /**\n * Selects a cell in the current calendar view.\n * @param filter An optional filter to apply to the cells. The first cell matching the filter\n * will be selected.\n */\n async selectCell(filter: CalendarCellHarnessFilters = {}): Promise<void> {\n const cells = await this.getCells(filter);\n if (!cells.length) {\n throw Error(`Cannot find calendar cell matching filter ${JSON.stringify(filter)}`);\n }\n await cells[0].select();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, LocatorFactory, parallel, TestElement} from '@angular/cdk/testing';\nimport {CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatCalendarHarness} from './calendar-harness';\n\n/** Interface for a test harness that can open and close a calendar. */\nexport interface DatepickerTrigger {\n isCalendarOpen(): Promise<boolean>;\n openCalendar(): Promise<void>;\n closeCalendar(): Promise<void>;\n hasCalendar(): Promise<boolean>;\n getCalendar(filter?: CalendarHarnessFilters): Promise<MatCalendarHarness>;\n}\n\n/** Base class for harnesses that can trigger a calendar. */\nexport abstract class DatepickerTriggerHarnessBase extends ComponentHarness implements\n DatepickerTrigger {\n /** Whether the trigger is disabled. */\n abstract isDisabled(): Promise<boolean>;\n\n /** Whether the calendar associated with the trigger is open. */\n abstract isCalendarOpen(): Promise<boolean>;\n\n /** Opens the calendar associated with the trigger. */\n protected abstract _openCalendar(): Promise<void>;\n\n /** Opens the calendar if the trigger is enabled and it has a calendar. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n return this._openCalendar();\n }\n }\n\n /** Closes the calendar if it is open. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Gets whether there is a calendar associated with the trigger. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\n }\n}\n\n/** Gets the ID of the calendar that a particular test element can trigger. */\nexport async function getCalendarId(host: Promise<TestElement>): Promise<string | null> {\n return (await host).getAttribute('data-mat-calendar');\n}\n\n/** Closes the calendar with a specific ID. */\nexport async function closeCalendar(\n calendarId: Promise<string | null>,\n documentLocator: LocatorFactory) {\n // We close the calendar by clicking on the backdrop, even though all datepicker variants\n // have the ability to close by pressing escape. The backdrop is preferrable, because the\n // escape key has multiple functions inside a range picker (either cancel the current range\n // or close the calendar). Since we don't have access to set the ID on the backdrop in all\n // cases, we set a unique class instead which is the same as the calendar's ID and suffixed\n // with `-backdrop`.\n const backdropSelector = `.${await calendarId}-backdrop`;\n return (await documentLocator.locatorFor(backdropSelector)()).click();\n}\n\n/** Gets the test harness for a calendar associated with a particular host. */\nexport async function getCalendar(\n filter: CalendarHarnessFilters,\n host: Promise<TestElement>,\n documentLocator: LocatorFactory): Promise<MatCalendarHarness> {\n const calendarId = await getCalendarId(host);\n\n if (!calendarId) {\n throw Error(`Element is not associated with a calendar`);\n }\n\n return documentLocator.locatorFor(MatCalendarHarness.with({\n ...filter,\n selector: `#${calendarId}`\n }))();\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {DatepickerInputHarnessFilters, CalendarHarnessFilters} from './datepicker-harness-filters';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {MatCalendarHarness} from './calendar-harness';\nimport {\n DatepickerTrigger,\n closeCalendar,\n getCalendarId,\n getCalendar,\n} from './datepicker-trigger-harness-base';\n\n/** Harness for interacting with a standard Material datepicker inputs in tests. */\nexport class MatDatepickerInputHarness extends MatDatepickerInputHarnessBase implements\n DatepickerTrigger {\n static hostSelector = '.mat-datepicker-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatDatepickerInputHarness> {\n return getInputPredicate(MatDatepickerInputHarness, options);\n }\n\n /** Gets whether the calendar associated with the input is open. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set only if there's an open datepicker so we can use it as an indicator.\n const host = await this.host();\n return (await host.getAttribute('aria-owns')) != null;\n }\n\n /** Opens the calendar associated with the input. */\n async openCalendar(): Promise<void> {\n const [isDisabled, hasCalendar] = await parallel(() => [this.isDisabled(), this.hasCalendar()]);\n\n if (!isDisabled && hasCalendar) {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const host = await this.host();\n return host.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n }\n\n /** Closes the calendar associated with the input. */\n async closeCalendar(): Promise<void> {\n if (await this.isCalendarOpen()) {\n await closeCalendar(getCalendarId(this.host()), this.documentRootLocatorFactory());\n // This is necessary so that we wait for the closing animation to finish in touch UI mode.\n await this.forceStabilize();\n }\n }\n\n /** Whether a calendar is associated with the input. */\n async hasCalendar(): Promise<boolean> {\n return (await getCalendarId(this.host())) != null;\n }\n\n /**\n * Gets the `MatCalendarHarness` that is associated with the trigger.\n * @param filter Optionally filters which calendar is included.\n */\n async getCalendar(filter: CalendarHarnessFilters = {}): Promise<MatCalendarHarness> {\n return getCalendar(filter, this.host(), this.documentRootLocatorFactory());\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate} from '@angular/cdk/testing';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {DatepickerToggleHarnessFilters} from './datepicker-harness-filters';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\n\n\n/** Harness for interacting with a standard Material datepicker toggle in tests. */\nexport class MatDatepickerToggleHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-datepicker-toggle';\n\n /** The clickable button inside the toggle. */\n private _button = this.locatorFor('button');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDatepickerToggleHarness` that\n * meets certain criteria.\n * @param options Options for filtering which datepicker toggle instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerToggleHarnessFilters = {}):\n HarnessPredicate<MatDatepickerToggleHarness> {\n return new HarnessPredicate(MatDatepickerToggleHarness, options);\n }\n\n /** Gets whether the calendar associated with the toggle is open. */\n async isCalendarOpen(): Promise<boolean> {\n return (await this.host()).hasClass('mat-datepicker-toggle-active');\n }\n\n /** Whether the toggle is disabled. */\n async isDisabled(): Promise<boolean> {\n const button = await this._button();\n return coerceBooleanProperty(await button.getAttribute('disabled'));\n }\n\n protected async _openCalendar(): Promise<void> {\n return (await this._button()).click();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {HarnessPredicate, parallel, TestKey} from '@angular/cdk/testing';\nimport {MatDatepickerInputHarnessBase, getInputPredicate} from './datepicker-input-harness-base';\nimport {DatepickerTriggerHarnessBase} from './datepicker-trigger-harness-base';\nimport {\n DatepickerInputHarnessFilters,\n DateRangeInputHarnessFilters,\n} from './datepicker-harness-filters';\n\n/** Harness for interacting with a standard Material date range start input in tests. */\nexport class MatStartDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-start-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatStartDateHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatStartDateHarness> {\n return getInputPredicate(MatStartDateHarness, options);\n }\n}\n\n/** Harness for interacting with a standard Material date range end input in tests. */\nexport class MatEndDateHarness extends MatDatepickerInputHarnessBase {\n static hostSelector = '.mat-end-date';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatEndDateHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DatepickerInputHarnessFilters = {}):\n HarnessPredicate<MatEndDateHarness> {\n return getInputPredicate(MatEndDateHarness, options);\n }\n}\n\n\n/** Harness for interacting with a standard Material date range input in tests. */\nexport class MatDateRangeInputHarness extends DatepickerTriggerHarnessBase {\n static hostSelector = '.mat-date-range-input';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a `MatDateRangeInputHarness`\n * that meets certain criteria.\n * @param options Options for filtering which input instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: DateRangeInputHarnessFilters = {}):\n HarnessPredicate<MatDateRangeInputHarness> {\n return new HarnessPredicate(MatDateRangeInputHarness, options)\n .addOption('value', options.value,\n (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value));\n }\n\n /** Gets the combined value of the start and end inputs, including the separator. */\n async getValue(): Promise<string> {\n const [start, end, separator] = await parallel(() => [\n this.getStartInput().then(input => input.getValue()),\n this.getEndInput().then(input => input.getValue()),\n this.getSeparator()\n ]);\n\n return start + `${end ? ` ${separator} ${end}` : ''}`;\n }\n\n /** Gets the inner start date input inside the range input. */\n async getStartInput(): Promise<MatStartDateHarness> {\n // Don't pass in filters here since the start input is required and there can only be one.\n return this.locatorFor(MatStartDateHarness)();\n }\n\n /** Gets the inner start date input inside the range input. */\n async getEndInput(): Promise<MatEndDateHarness> {\n // Don't pass in filters here since the end input is required and there can only be one.\n return this.locatorFor(MatEndDateHarness)();\n }\n\n /** Gets the separator text between the values of the two inputs. */\n async getSeparator(): Promise<string> {\n return (await this.locatorFor('.mat-date-range-input-separator')()).text();\n }\n\n /** Gets whether the range input is disabled. */\n async isDisabled(): Promise<boolean> {\n // We consider the input as disabled if both of the sub-inputs are disabled.\n const [startDisabled, endDisabled] = await parallel(() => [\n this.getStartInput().then(input => input.isDisabled()),\n this.getEndInput().then(input => input.isDisabled())\n ]);\n\n return startDisabled && endDisabled;\n }\n\n /** Gets whether the range input is required. */\n async isRequired(): Promise<boolean> {\n return (await this.host()).hasClass('mat-date-range-input-required');\n }\n\n /** Opens the calendar associated with the input. */\n async isCalendarOpen(): Promise<boolean> {\n // `aria-owns` is set on both inputs only if there's an\n // open range picker so we can use it as an indicator.\n const startHost = await (await this.getStartInput()).host();\n return (await startHost.getAttribute('aria-owns')) != null;\n }\n\n protected async _openCalendar(): Promise<void> {\n // Alt + down arrow is the combination for opening the calendar with the keyboard.\n const startHost = await (await this.getStartInput()).host();\n return startHost.sendKeys({alt: true}, TestKey.DOWN_ARROW);\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './datepicker-harness-filters';\nexport * from './datepicker-input-harness';\nexport * from './datepicker-toggle-harness';\nexport * from './date-range-input-harness';\nexport * from './calendar-harness';\nexport * from './calendar-cell-harness';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["HarnessPredicate","MatFormFieldControlHarness","ComponentHarness","parallel","TestKey","coerceBooleanProperty"],"mappings":"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"}
|
|
@@ -729,8 +729,9 @@
|
|
|
729
729
|
* @param source Object that triggered the selection change.
|
|
730
730
|
*/
|
|
731
731
|
MatDateSelectionModel.prototype.updateSelection = function (value, source) {
|
|
732
|
+
var oldValue = this.selection;
|
|
732
733
|
this.selection = value;
|
|
733
|
-
this._selectionChanged.next({ selection: value, source: source });
|
|
734
|
+
this._selectionChanged.next({ selection: value, source: source, oldValue: oldValue });
|
|
734
735
|
};
|
|
735
736
|
MatDateSelectionModel.prototype.ngOnDestroy = function () {
|
|
736
737
|
this._selectionChanged.complete();
|
|
@@ -2646,6 +2647,7 @@
|
|
|
2646
2647
|
var _this = this;
|
|
2647
2648
|
this._destroyOverlay();
|
|
2648
2649
|
var isDialog = this.touchUi;
|
|
2650
|
+
var labelId = this.datepickerInput.getOverlayLabelId();
|
|
2649
2651
|
var portal$1 = new portal.ComponentPortal(MatDatepickerContent, this._viewContainerRef);
|
|
2650
2652
|
var overlayRef = this._overlayRef = this._overlay.create(new overlay.OverlayConfig({
|
|
2651
2653
|
positionStrategy: isDialog ? this._getDialogStrategy() : this._getDropdownStrategy(),
|
|
@@ -2658,9 +2660,13 @@
|
|
|
2658
2660
|
scrollStrategy: isDialog ? this._overlay.scrollStrategies.block() : this._scrollStrategy(),
|
|
2659
2661
|
panelClass: "mat-datepicker-" + (isDialog ? 'dialog' : 'popup'),
|
|
2660
2662
|
}));
|
|
2661
|
-
overlayRef.overlayElement
|
|
2663
|
+
var overlayElement = overlayRef.overlayElement;
|
|
2664
|
+
overlayElement.setAttribute('role', 'dialog');
|
|
2665
|
+
if (labelId) {
|
|
2666
|
+
overlayElement.setAttribute('aria-labelledby', labelId);
|
|
2667
|
+
}
|
|
2662
2668
|
if (isDialog) {
|
|
2663
|
-
|
|
2669
|
+
overlayElement.setAttribute('aria-modal', 'true');
|
|
2664
2670
|
}
|
|
2665
2671
|
this._getCloseStream(overlayRef).subscribe(function (event) {
|
|
2666
2672
|
if (event) {
|
|
@@ -3180,6 +3186,13 @@
|
|
|
3180
3186
|
MatDatepickerInput.prototype.getConnectedOverlayOrigin = function () {
|
|
3181
3187
|
return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
|
|
3182
3188
|
};
|
|
3189
|
+
/** Gets the ID of an element that should be used a description for the calendar overlay. */
|
|
3190
|
+
MatDatepickerInput.prototype.getOverlayLabelId = function () {
|
|
3191
|
+
if (this._formField) {
|
|
3192
|
+
return this._formField.getLabelId();
|
|
3193
|
+
}
|
|
3194
|
+
return this._elementRef.nativeElement.getAttribute('aria-labelledby');
|
|
3195
|
+
};
|
|
3183
3196
|
/** Returns the palette used by the input's form field, if any. */
|
|
3184
3197
|
MatDatepickerInput.prototype.getThemePalette = function () {
|
|
3185
3198
|
return this._formField ? this._formField.color : undefined;
|
|
@@ -3445,8 +3458,8 @@
|
|
|
3445
3458
|
MatDateRangeInputPartBase.prototype._parentDisabled = function () {
|
|
3446
3459
|
return this._rangeInput._groupDisabled;
|
|
3447
3460
|
};
|
|
3448
|
-
MatDateRangeInputPartBase.prototype._shouldHandleChangeEvent = function (
|
|
3449
|
-
var source =
|
|
3461
|
+
MatDateRangeInputPartBase.prototype._shouldHandleChangeEvent = function (_b) {
|
|
3462
|
+
var source = _b.source;
|
|
3450
3463
|
return source !== this._rangeInput._startInput && source !== this._rangeInput._endInput;
|
|
3451
3464
|
};
|
|
3452
3465
|
MatDateRangeInputPartBase.prototype._assignValueProgrammatically = function (value) {
|
|
@@ -3514,6 +3527,17 @@
|
|
|
3514
3527
|
MatStartDate.prototype._getValueFromModel = function (modelValue) {
|
|
3515
3528
|
return modelValue.start;
|
|
3516
3529
|
};
|
|
3530
|
+
MatStartDate.prototype._shouldHandleChangeEvent = function (change) {
|
|
3531
|
+
var _a;
|
|
3532
|
+
if (!_super.prototype._shouldHandleChangeEvent.call(this, change)) {
|
|
3533
|
+
return false;
|
|
3534
|
+
}
|
|
3535
|
+
else {
|
|
3536
|
+
return !((_a = change.oldValue) === null || _a === void 0 ? void 0 : _a.start) ? !!change.selection.start :
|
|
3537
|
+
!change.selection.start ||
|
|
3538
|
+
!!this._dateAdapter.compareDate(change.oldValue.start, change.selection.start);
|
|
3539
|
+
}
|
|
3540
|
+
};
|
|
3517
3541
|
MatStartDate.prototype._assignValueToModel = function (value) {
|
|
3518
3542
|
if (this._model) {
|
|
3519
3543
|
var range = new DateRange(value, this._model.selection.end);
|
|
@@ -3611,6 +3635,17 @@
|
|
|
3611
3635
|
MatEndDate.prototype._getValueFromModel = function (modelValue) {
|
|
3612
3636
|
return modelValue.end;
|
|
3613
3637
|
};
|
|
3638
|
+
MatEndDate.prototype._shouldHandleChangeEvent = function (change) {
|
|
3639
|
+
var _a;
|
|
3640
|
+
if (!_super.prototype._shouldHandleChangeEvent.call(this, change)) {
|
|
3641
|
+
return false;
|
|
3642
|
+
}
|
|
3643
|
+
else {
|
|
3644
|
+
return !((_a = change.oldValue) === null || _a === void 0 ? void 0 : _a.end) ? !!change.selection.end :
|
|
3645
|
+
!change.selection.end ||
|
|
3646
|
+
!!this._dateAdapter.compareDate(change.oldValue.end, change.selection.end);
|
|
3647
|
+
}
|
|
3648
|
+
};
|
|
3614
3649
|
MatEndDate.prototype._assignValueToModel = function (value) {
|
|
3615
3650
|
if (this._model) {
|
|
3616
3651
|
var range = new DateRange(this._model.selection.start, value);
|
|
@@ -3698,6 +3733,11 @@
|
|
|
3698
3733
|
if (!_dateAdapter && (typeof ngDevMode === 'undefined' || ngDevMode)) {
|
|
3699
3734
|
throw createMissingDateImplError('DateAdapter');
|
|
3700
3735
|
}
|
|
3736
|
+
// The datepicker module can be used both with MDC and non-MDC form fields. We have
|
|
3737
|
+
// to conditionally add the MDC input class so that the range picker looks correctly.
|
|
3738
|
+
if (_formField === null || _formField === void 0 ? void 0 : _formField._elementRef.nativeElement.classList.contains('mat-mdc-form-field')) {
|
|
3739
|
+
_elementRef.nativeElement.classList.add('mat-mdc-input-element');
|
|
3740
|
+
}
|
|
3701
3741
|
// TODO(crisbeto): remove `as any` after #18206 lands.
|
|
3702
3742
|
this.ngControl = control;
|
|
3703
3743
|
}
|
|
@@ -3905,6 +3945,10 @@
|
|
|
3905
3945
|
MatDateRangeInput.prototype.getConnectedOverlayOrigin = function () {
|
|
3906
3946
|
return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
|
|
3907
3947
|
};
|
|
3948
|
+
/** Gets the ID of an element that should be used a description for the calendar overlay. */
|
|
3949
|
+
MatDateRangeInput.prototype.getOverlayLabelId = function () {
|
|
3950
|
+
return this._formField ? this._formField.getLabelId() : null;
|
|
3951
|
+
};
|
|
3908
3952
|
/** Gets the value that is used to mirror the state input. */
|
|
3909
3953
|
MatDateRangeInput.prototype._getInputMirrorValue = function () {
|
|
3910
3954
|
return this._startInput ? this._startInput.getMirrorValue() : '';
|
|
@@ -3926,13 +3970,19 @@
|
|
|
3926
3970
|
};
|
|
3927
3971
|
/** Whether the separate text should be hidden. */
|
|
3928
3972
|
MatDateRangeInput.prototype._shouldHideSeparator = function () {
|
|
3929
|
-
return (!this._formField || this._formField.
|
|
3973
|
+
return (!this._formField || (this._formField.getLabelId() &&
|
|
3974
|
+
!this._formField._shouldLabelFloat())) && this.empty;
|
|
3930
3975
|
};
|
|
3931
3976
|
/** Gets the value for the `aria-labelledby` attribute of the inputs. */
|
|
3932
3977
|
MatDateRangeInput.prototype._getAriaLabelledby = function () {
|
|
3933
3978
|
var formField = this._formField;
|
|
3934
3979
|
return formField && formField._hasFloatingLabel() ? formField._labelId : null;
|
|
3935
3980
|
};
|
|
3981
|
+
/** Updates the focused state of the range input. */
|
|
3982
|
+
MatDateRangeInput.prototype._updateFocus = function (origin) {
|
|
3983
|
+
this.focused = origin !== null;
|
|
3984
|
+
this.stateChanges.next();
|
|
3985
|
+
};
|
|
3936
3986
|
/** Re-runs the validators on the start/end inputs. */
|
|
3937
3987
|
MatDateRangeInput.prototype._revalidate = function () {
|
|
3938
3988
|
if (this._startInput) {
|
|
@@ -3956,7 +4006,7 @@
|
|
|
3956
4006
|
MatDateRangeInput.decorators = [
|
|
3957
4007
|
{ type: i0.Component, args: [{
|
|
3958
4008
|
selector: 'mat-date-range-input',
|
|
3959
|
-
template: "<div\n class=\"mat-date-range-input-container\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"
|
|
4009
|
+
template: "<div\n class=\"mat-date-range-input-container\"\n cdkMonitorSubtreeFocus\n (cdkFocusChange)=\"_updateFocus($event)\">\n <div class=\"mat-date-range-input-start-wrapper\">\n <ng-content select=\"input[matStartDate]\"></ng-content>\n <span\n class=\"mat-date-range-input-mirror\"\n aria-hidden=\"true\">{{_getInputMirrorValue()}}</span>\n </div>\n\n <span\n class=\"mat-date-range-input-separator\"\n [class.mat-date-range-input-separator-hidden]=\"_shouldHideSeparator()\">{{separator}}</span>\n\n <div class=\"mat-date-range-input-end-wrapper\">\n <ng-content select=\"input[matEndDate]\"></ng-content>\n </div>\n</div>\n\n",
|
|
3960
4010
|
exportAs: 'matDateRangeInput',
|
|
3961
4011
|
host: {
|
|
3962
4012
|
'class': 'mat-date-range-input',
|