@dhutaryan/ngx-mat-timepicker 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -0
- package/_index.scss +1 -0
- package/_timepicker-theme.scss +109 -0
- package/bundles/dhutaryan-ngx-mat-timepicker.umd.js +2476 -0
- package/bundles/dhutaryan-ngx-mat-timepicker.umd.js.map +1 -0
- package/dhutaryan-ngx-mat-timepicker.d.ts +5 -0
- package/esm2015/dhutaryan-ngx-mat-timepicker.js +5 -0
- package/esm2015/lib/adapter/index.js +26 -0
- package/esm2015/lib/adapter/native-date-time-adapter.js +130 -0
- package/esm2015/lib/adapter/time-adapter.js +62 -0
- package/esm2015/lib/clock-dials.js +59 -0
- package/esm2015/lib/hours-clock-dial.js +159 -0
- package/esm2015/lib/minutes-clock-dial.js +124 -0
- package/esm2015/lib/time-face-base.js +75 -0
- package/esm2015/lib/time-inputs.js +140 -0
- package/esm2015/lib/time-period.js +55 -0
- package/esm2015/lib/time-selection-model.js +76 -0
- package/esm2015/lib/timepicker-actions-default.js +3 -0
- package/esm2015/lib/timepicker-actions.js +125 -0
- package/esm2015/lib/timepicker-animations.js +22 -0
- package/esm2015/lib/timepicker-base.js +335 -0
- package/esm2015/lib/timepicker-content-layout.js +23 -0
- package/esm2015/lib/timepicker-content.js +104 -0
- package/esm2015/lib/timepicker-input-base.js +203 -0
- package/esm2015/lib/timepicker-input.js +92 -0
- package/esm2015/lib/timepicker-scroll-strategy.js +15 -0
- package/esm2015/lib/timepicker-toggle.js +71 -0
- package/esm2015/lib/timepicker.js +26 -0
- package/esm2015/lib/timepicker.module.js +144 -0
- package/esm2015/public-api.js +19 -0
- package/fesm2015/dhutaryan-ngx-mat-timepicker.js +1967 -0
- package/fesm2015/dhutaryan-ngx-mat-timepicker.js.map +1 -0
- package/lib/adapter/index.d.ts +9 -0
- package/lib/adapter/native-date-time-adapter.d.ts +43 -0
- package/lib/adapter/time-adapter.d.ts +120 -0
- package/lib/clock-dials.d.ts +21 -0
- package/lib/hours-clock-dial.d.ts +41 -0
- package/lib/minutes-clock-dial.d.ts +27 -0
- package/lib/time-face-base.d.ts +30 -0
- package/lib/time-inputs.d.ts +37 -0
- package/lib/time-period.d.ts +19 -0
- package/lib/time-selection-model.d.ts +62 -0
- package/lib/timepicker-actions-default.d.ts +3 -0
- package/lib/timepicker-actions.d.ts +41 -0
- package/lib/timepicker-animations.d.ts +6 -0
- package/lib/timepicker-base.d.ts +121 -0
- package/lib/timepicker-content-layout.d.ts +7 -0
- package/lib/timepicker-content.d.ts +50 -0
- package/lib/timepicker-input-base.d.ts +94 -0
- package/lib/timepicker-input.d.ts +33 -0
- package/lib/timepicker-scroll-strategy.d.ts +12 -0
- package/lib/timepicker-toggle.d.ts +26 -0
- package/lib/timepicker.d.ts +6 -0
- package/lib/timepicker.module.d.ts +28 -0
- package/package.json +36 -0
- package/public-api.d.ts +15 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dhutaryan-ngx-mat-timepicker.umd.js","sources":["../../../projects/mat-timepicker/src/lib/timepicker-scroll-strategy.ts","../../../projects/mat-timepicker/src/lib/timepicker-toggle.ts","../../../projects/mat-timepicker/src/lib/timepicker-toggle.html","../../../node_modules/tslib/tslib.es6.js","../../../projects/mat-timepicker/src/lib/timepicker-animations.ts","../../../projects/mat-timepicker/src/lib/adapter/time-adapter.ts","../../../projects/mat-timepicker/src/lib/adapter/native-date-time-adapter.ts","../../../projects/mat-timepicker/src/lib/adapter/index.ts","../../../projects/mat-timepicker/src/lib/time-selection-model.ts","../../../projects/mat-timepicker/src/lib/time-face-base.ts","../../../projects/mat-timepicker/src/lib/timepicker-content-layout.ts","../../../projects/mat-timepicker/src/lib/timepicker-content-layout.html","../../../projects/mat-timepicker/src/lib/time-period.ts","../../../projects/mat-timepicker/src/lib/time-period.html","../../../projects/mat-timepicker/src/lib/time-inputs.ts","../../../projects/mat-timepicker/src/lib/time-inputs.html","../../../projects/mat-timepicker/src/lib/hours-clock-dial.ts","../../../projects/mat-timepicker/src/lib/hours-clock-dial.html","../../../projects/mat-timepicker/src/lib/minutes-clock-dial.ts","../../../projects/mat-timepicker/src/lib/minutes-clock-dial.html","../../../projects/mat-timepicker/src/lib/clock-dials.ts","../../../projects/mat-timepicker/src/lib/clock-dials.html","../../../projects/mat-timepicker/src/lib/timepicker-content.ts","../../../projects/mat-timepicker/src/lib/timepicker-content.html","../../../projects/mat-timepicker/src/lib/timepicker-actions-default.ts","../../../projects/mat-timepicker/src/lib/timepicker-base.ts","../../../projects/mat-timepicker/src/lib/timepicker.ts","../../../projects/mat-timepicker/src/lib/timepicker-input-base.ts","../../../projects/mat-timepicker/src/lib/timepicker-input.ts","../../../projects/mat-timepicker/src/lib/timepicker-actions.ts","../../../projects/mat-timepicker/src/lib/timepicker.module.ts","../../../projects/mat-timepicker/src/public-api.ts","../../../projects/mat-timepicker/src/dhutaryan-ngx-mat-timepicker.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\r\n\r\n/** Injection token that determines the scroll handling while the calendar is open. */\r\nexport const MAT_TIMEPICKER_SCROLL_STRATEGY = new InjectionToken<\r\n () => ScrollStrategy\r\n>('mat-timepicker-scroll-strategy');\r\n\r\n/** Timepicker scroll strategy factory. */\r\nexport function MAT_TIMEPICKER_SCROLL_STRATEGY_FACTORY(\r\n overlay: Overlay\r\n): () => ScrollStrategy {\r\n return () => overlay.scrollStrategies.reposition();\r\n}\r\n\r\n/** Timepicker scroll strategy provider. */\r\nexport const MAT_TIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER = {\r\n provide: MAT_TIMEPICKER_SCROLL_STRATEGY,\r\n deps: [Overlay],\r\n useFactory: MAT_TIMEPICKER_SCROLL_STRATEGY_FACTORY,\r\n};\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n Directive,\r\n ViewEncapsulation,\r\n Input,\r\n ContentChild,\r\n Attribute,\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nimport { MatTimepicker } from './timepicker';\r\n\r\n@Directive({ selector: '[matTimepickerToggleIcon]' })\r\nexport class MatTimepickerToggleIcon {}\r\n\r\n@Component({\r\n selector: 'mat-timepicker-toggle',\r\n templateUrl: './timepicker-toggle.html',\r\n styleUrls: ['./timepicker-toggle.scss'],\r\n exportAs: 'matTimepickerToggle',\r\n host: {\r\n class: 'mat-timepicker-toggle',\r\n '[attr.tabindex]': 'null',\r\n '(click)': 'open($event)',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MatTimepickerToggle<T> {\r\n /** Timepicker instance. */\r\n @Input('for') timepicker: MatTimepicker<T>;\r\n\r\n /** Whether the toggle button is disabled. */\r\n @Input()\r\n get disabled(): boolean {\r\n if (this._disabled === undefined && this.timepicker) {\r\n return this.timepicker.disabled;\r\n }\r\n\r\n return !!this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n private _disabled: boolean;\r\n\r\n /** Whether ripples on the toggle should be disabled. */\r\n @Input() disableRipple: boolean;\r\n\r\n /** Tabindex for the toggle. */\r\n @Input() tabIndex: number | null;\r\n\r\n /** Custom icon set by the consumer. */\r\n @ContentChild(MatTimepickerToggleIcon) customIcon: MatTimepickerToggleIcon;\r\n\r\n constructor(@Attribute('tabindex') defaultTabIndex: string) {\r\n const parsedTabIndex = Number(defaultTabIndex);\r\n this.tabIndex =\r\n parsedTabIndex || parsedTabIndex === 0 ? parsedTabIndex : null;\r\n }\r\n\r\n /** Opens timepicker. */\r\n open(event: Event): void {\r\n if (this.timepicker && !this.disabled) {\r\n this.timepicker.open();\r\n event.stopPropagation();\r\n }\r\n }\r\n}\r\n","<button\r\n type=\"button\"\r\n #button\r\n mat-icon-button\r\n [attr.aria-haspopup]=\"timepicker ? 'dialog' : null\"\r\n [attr.tabindex]=\"disabled ? -1 : tabIndex\"\r\n [disabled]=\"disabled\"\r\n [disableRipple]=\"disableRipple\"\r\n>\r\n <svg\r\n class=\"mat-timepicker-toggle-default-icon\"\r\n viewBox=\"0 0 24 24\"\r\n width=\"24\"\r\n height=\"24\"\r\n fill=\"currentColor\"\r\n focusable=\"false\"\r\n *ngIf=\"!customIcon\"\r\n >\r\n <path\r\n d=\"M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10s10-4.5,10-10S17.5,2,12,2z M12,20c-4.41,0-8-3.59-8-8s3.59-8,8-8s8,3.59,8,8 S16.41,20,12,20z M12.5,7H11v6l5.2,3.2l0.8-1.3l-4.5-2.7V7z\"\r\n />\r\n </svg>\r\n\r\n <ng-content select=\"[matTimepickerToggleIcon]\"></ng-content>\r\n</button>\r\n","/******************************************************************************\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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\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, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {\r\n animate,\r\n state,\r\n style,\r\n transition,\r\n trigger,\r\n keyframes,\r\n AnimationTriggerMetadata,\r\n} from '@angular/animations';\r\n\r\n/** Animations used by the timepicker. */\r\nexport const matTimepickerAnimations: {\r\n readonly transformPanel: AnimationTriggerMetadata;\r\n readonly fadeInTimepicker: AnimationTriggerMetadata;\r\n} = {\r\n /** Transforms the height of the timepicker's. */\r\n transformPanel: trigger('transformPanel', [\r\n transition(\r\n 'void => enter-dropdown',\r\n animate(\r\n '120ms cubic-bezier(0, 0, 0.2, 1)',\r\n keyframes([\r\n style({ opacity: 0, transform: 'scale(1, 0.8)' }),\r\n style({ opacity: 1, transform: 'scale(1, 1)' }),\r\n ])\r\n )\r\n ),\r\n transition(\r\n 'void => enter-dialog',\r\n animate(\r\n '150ms cubic-bezier(0, 0, 0.2, 1)',\r\n keyframes([\r\n style({ opacity: 0, transform: 'scale(0.7)' }),\r\n style({ transform: 'none', opacity: 1 }),\r\n ])\r\n )\r\n ),\r\n transition('* => void', animate('100ms linear', style({ opacity: 0 }))),\r\n ]),\r\n\r\n /** Fades in the content of the timepicker. */\r\n fadeInTimepicker: trigger('fadeInTimepicker', [\r\n state('void', style({ opacity: 0 })),\r\n state('enter', style({ opacity: 1 })),\r\n ]),\r\n};\r\n","import { InjectionToken, LOCALE_ID } from '@angular/core';\r\nimport { MatTimePeriodType } from '../time-period';\r\n\r\n/** InjectionToken for timepicker that can be used to override default locale code. */\r\nexport const MAT_TIME_LOCALE = new InjectionToken<string>('MAT_TIME_LOCALE');\r\n\r\n/** Provider for MAT_TIME_LOCALE injection token. */\r\nexport const MAT_TIME_LOCALE_PROVIDER = {\r\n provide: MAT_TIME_LOCALE,\r\n useExisting: LOCALE_ID,\r\n};\r\n\r\nexport abstract class TimeAdapter<T, L = any> {\r\n /** The locale to use for time. */\r\n protected locale: L;\r\n\r\n /**\r\n * Gets now's time.\r\n * @returns Now's time.\r\n */\r\n abstract now(): T;\r\n\r\n /**\r\n * Parses a time from a user-provided value.\r\n * @param value The value to parse.\r\n * @param parseFormat The expected format of the value being parsed\r\n * (type is implementation-dependent).\r\n * @returns The parsed time.\r\n */\r\n abstract parse(value: any, parseFormat: any): T | null;\r\n\r\n /**\r\n * Gets the hour component of the given time.\r\n * @param time The time to extract the hour from.\r\n * @returns The hour component.\r\n */\r\n abstract getHour(time: T): number;\r\n\r\n /**\r\n * Gets the minute component of the given time.\r\n * @param time The time to extract the minute from.\r\n * @returns The minute component.\r\n */\r\n abstract getMinute(time: T): number;\r\n\r\n /**\r\n * Update the hour component of the given time.\r\n * @param time The time to update the hour.\r\n * @param hour The new hour to update given time.\r\n * @returns The new time with updated hour component.\r\n */\r\n abstract updateHour(time: T, hour: number): T;\r\n\r\n /**\r\n * Update the minute component of the given time.\r\n * @param time The time to update the minute.\r\n * @param minute The new minute to update given time.\r\n * @returns The new time with updated minute component.\r\n */\r\n abstract updateMinute(time: T, minute: number): T;\r\n\r\n /**\r\n * Gets the period component of the given time.\r\n * @param time The time to extract the period from.\r\n * @returns The period component.\r\n */\r\n abstract getPeriod(time: T): MatTimePeriodType;\r\n\r\n /**\r\n * Formats a time as a string according to the given format.\r\n * @param time The value to format.\r\n * @param displayFormat The format to use to display the time as a string.\r\n * @returns The formatted time string.\r\n */\r\n abstract format(time: T, displayFormat: any): string;\r\n\r\n /**\r\n * Checks whether the given object is considered a time instance by this timeAdapter.\r\n * @param obj The object to check\r\n * @returns Whether the object is a time instance.\r\n */\r\n abstract isTimeInstance(obj: any): boolean;\r\n\r\n /**\r\n * Checks whether the given time is valid.\r\n * @param time The time to check.\r\n * @returns Whether the time is valid.\r\n */\r\n abstract isValid(time: T): boolean;\r\n\r\n /**\r\n * Gets time instance that is not valid.\r\n * @returns An invalid time.\r\n */\r\n abstract invalid(): T;\r\n\r\n /**\r\n * Given a potential time object, returns that same time object if it is\r\n * a valid time, or `null` if it's not a valid time.\r\n * @param obj The object to check.\r\n * @returns A time or `null`.\r\n */\r\n getValidTimeOrNull(obj: unknown): T | null {\r\n return this.isTimeInstance(obj) && this.isValid(obj as T)\r\n ? (obj as T)\r\n : null;\r\n }\r\n\r\n /**\r\n * Attempts to deserialize a value to a valid time object. The `<mat-timepicker>` will call this\r\n * method on all of its `@Input()` properties that accept time. It is therefore possible to\r\n * support passing values from your backend directly to these properties by overriding this method\r\n * to also deserialize the format used by your backend.\r\n * @param value The value to be deserialized into a time object.\r\n * @returns The deserialized time object, either a valid time, null if the value can be\r\n * deserialized into a null time (e.g. the empty string), or an invalid date.\r\n */\r\n deserialize(value: any): T | null {\r\n if (value == null || (this.isTimeInstance(value) && this.isValid(value))) {\r\n return value;\r\n }\r\n return this.invalid();\r\n }\r\n\r\n /**\r\n * Sets the locale used for all time.\r\n * @param locale The new locale.\r\n */\r\n setLocale(locale: L) {\r\n this.locale = locale;\r\n }\r\n\r\n /**\r\n * Compares two time.\r\n * @param first The first time to compare.\r\n * @param second The second time to compare.\r\n * @returns 0 if the time are equal, a number less than 0 if the first time is earlier,\r\n * a number greater than 0 if the first time is later.\r\n */\r\n abstract compareTime(first: T, second: T): number;\r\n\r\n /**\r\n * Checks if two time are equal.\r\n * @param first The first time to check.\r\n * @param second The second time to check.\r\n * @returns Whether the two time are equal.\r\n * Null time are considered equal to other null time.\r\n */\r\n sameTime(first: T | null, second: T | null): boolean {\r\n if (first && second) {\r\n let firstValid = this.isValid(first);\r\n let secondValid = this.isValid(second);\r\n if (firstValid && secondValid) {\r\n return !this.compareTime(first, second);\r\n }\r\n return firstValid == secondValid;\r\n }\r\n return first == second;\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\n\r\nimport { MAT_TIME_LOCALE, TimeAdapter } from './time-adapter';\r\nimport { MatTimePeriodType } from '../time-period';\r\n\r\n/**\r\n * Matches strings that have the form of a valid RFC 3339 string\r\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\r\n * because the regex will match strings an with out of bounds month, date, etc.\r\n */\r\nconst ISO_8601_REGEX =\r\n /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\r\n\r\n/** Adapts the native JS Date for components that work with time. */\r\n@Injectable()\r\nexport class NativeDateTimeAdapter extends TimeAdapter<Date> {\r\n constructor(@Optional() @Inject(MAT_TIME_LOCALE) matTimeLocale: string) {\r\n super();\r\n super.setLocale(matTimeLocale);\r\n }\r\n\r\n now(): Date {\r\n return new Date();\r\n }\r\n\r\n parse(value: any, parseFormat?: any): Date | null {\r\n // We have no way using the native JS Date to set the parse format or locale, so we ignore these\r\n // parameters.\r\n if (typeof value == 'number') {\r\n return new Date(value);\r\n }\r\n\r\n const { hour, minute } = this.parseTime(value);\r\n const date = new Date();\r\n date.setHours(Number(hour));\r\n date.setMinutes(Number(minute));\r\n\r\n return value ? new Date(date) : null;\r\n }\r\n\r\n parseTime(value: string) {\r\n const [hour, minute] = value\r\n .replace(/(\\sam|\\spm|\\sAM|\\sPM|am|pm|AM|PM)/g, '')\r\n .split(':');\r\n\r\n return { hour, minute };\r\n }\r\n\r\n getHour(date: Date): number {\r\n return date.getHours();\r\n }\r\n\r\n getMinute(date: Date): number {\r\n return date.getMinutes();\r\n }\r\n\r\n updateHour(date: Date, hour: number): Date {\r\n const copy = new Date(date.getTime());\r\n copy.setHours(hour);\r\n\r\n return copy;\r\n }\r\n\r\n updateMinute(date: Date, minute: number): Date {\r\n const copy = new Date(date.getTime());\r\n copy.setMinutes(minute);\r\n\r\n return copy;\r\n }\r\n\r\n getPeriod(date: Date): MatTimePeriodType {\r\n return date.getHours() < 12 ? 'am' : 'pm';\r\n }\r\n\r\n format(date: Date, displayFormat: Object): string {\r\n if (!this.isValid(date)) {\r\n throw Error('NativeDateTimeAdapter: Cannot format invalid date.');\r\n }\r\n\r\n const dtf = new Intl.DateTimeFormat(this.locale, {\r\n ...displayFormat,\r\n timeZone: 'utc',\r\n });\r\n\r\n return this._format(dtf, date);\r\n }\r\n\r\n /**\r\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\r\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\r\n * invalid date for all other values.\r\n */\r\n override deserialize(value: any): Date | null {\r\n if (typeof value === 'string') {\r\n if (!value) {\r\n return null;\r\n }\r\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\r\n // string is the right format first.\r\n if (ISO_8601_REGEX.test(value)) {\r\n const date = new Date(value);\r\n if (this.isValid(date)) {\r\n return date;\r\n }\r\n }\r\n }\r\n return super.deserialize(value);\r\n }\r\n\r\n isTimeInstance(obj: any): boolean {\r\n return obj instanceof Date;\r\n }\r\n\r\n isValid(date: Date): boolean {\r\n return !isNaN(date.getTime());\r\n }\r\n\r\n invalid(): Date {\r\n return new Date(NaN);\r\n }\r\n\r\n compareTime(first: Date, second: Date): number {\r\n return (\r\n first.getFullYear() - second.getFullYear() ||\r\n first.getMonth() - second.getMonth() ||\r\n first.getDate() - second.getDate() ||\r\n first.getHours() - second.getHours() ||\r\n first.getMinutes() - first.getMinutes()\r\n );\r\n }\r\n\r\n /**\r\n * When converting Date object to string, javascript built-in functions may return wrong\r\n * results because it applies its internal DST rules. The DST rules around the world change\r\n * very frequently, and the current valid rule is not always valid in previous years though.\r\n * We work around this problem building a new Date object which has its internal UTC\r\n * representation with the local date and time.\r\n * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have\r\n * timeZone set to 'utc' to work fine.\r\n * @param date Date from which we want to get the string representation according to dtf\r\n * @returns A Date object with its UTC representation based on the passed in date info\r\n */\r\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\r\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\r\n // To work around this we use `setUTCFullYear` and `setUTCHours` instead.\r\n const d = new Date();\r\n d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());\r\n d.setUTCHours(\r\n date.getHours(),\r\n date.getMinutes(),\r\n date.getSeconds(),\r\n date.getMilliseconds()\r\n );\r\n return dtf.format(d);\r\n }\r\n}\r\n","import { PlatformModule } from '@angular/cdk/platform';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { MAT_TIME_LOCALE_PROVIDER, TimeAdapter } from './time-adapter';\r\nimport { NativeDateTimeAdapter } from './native-date-time-adapter';\r\n\r\nexport * from './time-adapter';\r\nexport * from './native-date-time-adapter';\r\n\r\n@NgModule({\r\n imports: [PlatformModule],\r\n providers: [\r\n { provide: TimeAdapter, useClass: NativeDateTimeAdapter },\r\n MAT_TIME_LOCALE_PROVIDER,\r\n ],\r\n})\r\nexport class MatNativeDateTimeModule {}\r\n","import {\r\n FactoryProvider,\r\n Injectable,\r\n OnDestroy,\r\n Optional,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { TimeAdapter } from './adapter';\r\n\r\nexport type ExtractTimeTypeFromSelection<T> = NonNullable<T>;\r\n\r\n/**\r\n * Event emitted by the time selection model when its selection changes.\r\n * @docs-private\r\n */\r\nexport interface TimeSelectionModelChange<S> {\r\n /** New value for the selection. */\r\n selection: S;\r\n\r\n /** Object that triggered the change. */\r\n source: unknown;\r\n\r\n /** Previous value */\r\n oldValue?: S;\r\n}\r\n\r\n/**\r\n * A selection model containing a time selection.\r\n */\r\n@Injectable()\r\nexport abstract class MatTimeSelectionModel<\r\n S,\r\n T = ExtractTimeTypeFromSelection<S>\r\n> implements OnDestroy\r\n{\r\n /** The current selection. */\r\n readonly selection: S;\r\n\r\n private readonly _selectionChanged = new Subject<\r\n TimeSelectionModelChange<S>\r\n >();\r\n\r\n /** Emits when the selection has changed. */\r\n selectionChanged: Observable<TimeSelectionModelChange<S>> =\r\n this._selectionChanged;\r\n\r\n /**\r\n * Updates the current selection in the model.\r\n * @param value New selection that should be assigned.\r\n * @param source Object that triggered the selection change.\r\n */\r\n updateSelection(value: S, source: unknown) {\r\n const oldValue = (this as { selection: S }).selection;\r\n (this as { selection: S }).selection = value;\r\n this._selectionChanged.next({ selection: value, source, oldValue });\r\n }\r\n\r\n protected constructor(protected _adapter: TimeAdapter<T>) {\r\n // this.selection = selection;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._selectionChanged.complete();\r\n }\r\n\r\n /** Adds a time to the current selection. */\r\n abstract add(time: T | null): void;\r\n\r\n /** Clones the selection model. */\r\n abstract clone(): MatTimeSelectionModel<S, T>;\r\n}\r\n\r\n/**\r\n * A selection model that contains a single time.\r\n */\r\n@Injectable()\r\nexport class MatSingleTimeSelectionModel<T> extends MatTimeSelectionModel<\r\n T | null,\r\n T\r\n> {\r\n constructor(adapter: TimeAdapter<T>) {\r\n super(adapter);\r\n }\r\n\r\n /**\r\n * Adds a time to the current selection. In the case of a single time selection, the added time\r\n * simply overwrites the previous selection\r\n */\r\n add(time: T | null) {\r\n super.updateSelection(time, this);\r\n }\r\n\r\n /** Clones the selection model. */\r\n clone() {\r\n const clone = new MatSingleTimeSelectionModel<T>(this._adapter);\r\n clone.updateSelection(this.selection, this);\r\n return clone;\r\n }\r\n}\r\n\r\nexport function MAT_SINGLE_TIME_SELECTION_MODEL_FACTORY(\r\n parent: MatSingleTimeSelectionModel<unknown>,\r\n adapter: TimeAdapter<unknown>\r\n) {\r\n return parent || new MatSingleTimeSelectionModel(adapter);\r\n}\r\n\r\n/**\r\n * Used to provide a single selection model to a component.\r\n */\r\nexport const MAT_SINGLE_TIME_SELECTION_MODEL_PROVIDER: FactoryProvider = {\r\n provide: MatTimeSelectionModel,\r\n deps: [\r\n [new Optional(), new SkipSelf(), MatSingleTimeSelectionModel],\r\n TimeAdapter,\r\n ],\r\n useFactory: MAT_SINGLE_TIME_SELECTION_MODEL_FACTORY,\r\n};\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n Optional,\r\n Output,\r\n} from '@angular/core';\r\nimport { TimeAdapter } from './adapter';\r\nimport { MatTimePeriodType } from './time-period';\r\n\r\n@Directive()\r\nexport abstract class MatTimeFaceBase<T> {\r\n /** The currently selected time. */\r\n @Input()\r\n get selected(): T | null {\r\n return this._selected;\r\n }\r\n set selected(value: T | null) {\r\n this._selected = this._timeAdapter.getValidTimeOrNull(\r\n this._timeAdapter.deserialize(value)\r\n );\r\n\r\n if (!this._selected) {\r\n this._selected = this._timeAdapter.now();\r\n }\r\n\r\n const hour = this._timeAdapter.getHour(this._selected);\r\n this.selectedHour = hour > 12 && this.isMeridiem ? hour - 12 : hour;\r\n this.selectedMinute = this._timeAdapter.getMinute(this._selected);\r\n\r\n if (this.isMeridiem) {\r\n this.period = this._timeAdapter.getPeriod(this._selected);\r\n }\r\n }\r\n private _selected: T | null;\r\n\r\n /** Whether the clock uses 12 hour format. */\r\n @Input() isMeridiem: boolean;\r\n\r\n /** Emits when any hour, minute or period is selected. */\r\n @Output() _userSelection = new EventEmitter<T>();\r\n\r\n selectedHour: number = 0;\r\n selectedMinute: number = 0;\r\n period: MatTimePeriodType;\r\n\r\n constructor(@Optional() protected _timeAdapter: TimeAdapter<T>) {}\r\n\r\n /** Handles hour selection. */\r\n _onHourSelected(hour: number): void {\r\n this.selectedHour = hour;\r\n const selected = this._timeAdapter.updateHour(\r\n this.selected!,\r\n this._getHourBasedOnPeriod(hour)\r\n );\r\n this._emitUserSelection(selected);\r\n }\r\n\r\n /** Handles minute selection. */\r\n _onMinuteSelected(minute: number): void {\r\n this.selectedMinute = minute;\r\n const selected = this._timeAdapter.updateMinute(this.selected!, minute);\r\n this._emitUserSelection(selected);\r\n }\r\n\r\n /** Handles period changing. */\r\n _onPeriodChanged(period: MatTimePeriodType): void {\r\n this.period = period;\r\n const selected = this._timeAdapter.updateHour(\r\n this.selected!,\r\n this._getHourBasedOnPeriod(this.selectedHour)\r\n );\r\n this._emitUserSelection(selected);\r\n }\r\n\r\n /** Gets a correct hours based on meridiem and period. */\r\n private _getHourBasedOnPeriod(hour: number): number {\r\n const afterNoon = this.isMeridiem && this.period === 'pm';\r\n const beforeNoon = this.isMeridiem && this.period === 'am';\r\n\r\n if (afterNoon) {\r\n return hour === 12 ? hour : hour + 12;\r\n }\r\n\r\n if (beforeNoon) {\r\n return hour === 12 ? 0 : hour;\r\n }\r\n\r\n return hour;\r\n }\r\n\r\n private _emitUserSelection(value: T): void {\r\n this._userSelection.emit(value);\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'mat-timepicker-content-layout',\r\n templateUrl: './timepicker-content-layout.html',\r\n styleUrls: ['./timepicker-content-layout.scss'],\r\n exportAs: 'matTimepickerContent',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-timepicker-content-layout',\r\n },\r\n})\r\nexport class MatTimepickerContentLayout {\r\n /** Content title. */\r\n @Input() title: string;\r\n}\r\n","<h6 class=\"mat-timepicker-content-layout-title\">{{ title }}</h6>\r\n\r\n<div class=\"mat-timepicker-content-layout-values\">\r\n <div class=\"mat-timepicker-content-layout-hours\">\r\n <ng-content select=\"[hours]\"></ng-content>\r\n </div>\r\n <span class=\"mat-timepicker-content-layout-separator\">:</span>\r\n <div class=\"mat-timepicker-content-layout-minutes\">\r\n <ng-content select=\"[minutes]\"></ng-content>\r\n </div>\r\n\r\n <ng-content select=\"[mat-time-period]\"></ng-content>\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n","import {\r\n Component,\r\n OnInit,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\n\r\nexport type MatTimePeriodType = 'am' | 'pm';\r\n\r\n@Component({\r\n selector: 'mat-time-period',\r\n templateUrl: './time-period.html',\r\n styleUrls: ['./time-period.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-time-period',\r\n '[class.mat-time-period-vertical]': 'vertical',\r\n '[class.mat-time-period-horizontal]': '!vertical',\r\n '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\r\n },\r\n})\r\nexport class MatTimePeriod implements OnInit {\r\n /** Whether the time period is vertically aligned. */\r\n @Input()\r\n get vertical(): boolean {\r\n return this._vertical;\r\n }\r\n set vertical(value: BooleanInput) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n private _vertical: boolean = true;\r\n\r\n @Input()\r\n get period(): MatTimePeriodType {\r\n return this._period;\r\n }\r\n set period(value: MatTimePeriodType) {\r\n this._period = value || 'am';\r\n }\r\n private _period: MatTimePeriodType = 'am';\r\n\r\n @Output() periodChanged = new EventEmitter<MatTimePeriodType>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n setPeriod(period: MatTimePeriodType): void {\r\n this.period = period;\r\n this.periodChanged.emit(period);\r\n }\r\n}\r\n","<div\r\n class=\"mat-time-period-item\"\r\n matRipple\r\n [class.mat-time-period-item-active]=\"period === 'am'\"\r\n (click)=\"setPeriod('am')\"\r\n>\r\n AM\r\n</div>\r\n<mat-divider></mat-divider>\r\n<div\r\n class=\"mat-time-period-item\"\r\n matRipple\r\n [class.mat-time-period-item-active]=\"period === 'pm'\"\r\n (click)=\"setPeriod('pm')\"\r\n>\r\n PM\r\n</div>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n Input,\r\n Optional,\r\n Output,\r\n EventEmitter,\r\n Directive,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Inject,\r\n} from '@angular/core';\r\n\r\nimport { TimeAdapter } from './adapter';\r\nimport { MatTimeFaceBase } from './time-face-base';\r\n\r\nexport function withZeroPrefix(value: number, isMeridiem: boolean): string {\r\n const newValue = isMeridiem && value === 0 ? 12 : value;\r\n\r\n return newValue < 10 ? `0${newValue}` : `${newValue}`;\r\n}\r\n\r\n@Directive({\r\n selector: 'input[matTimeInput]',\r\n exportAs: 'matTimeInput',\r\n host: {\r\n class: 'mat-time-input',\r\n '(focus)': 'focus($event)',\r\n '(blur)': 'blur($event)',\r\n },\r\n})\r\nexport class MatTimeInput {\r\n @Input()\r\n get min(): number {\r\n return this._min;\r\n }\r\n set min(value: number) {\r\n this._min = value;\r\n }\r\n private _min = 0;\r\n\r\n @Input()\r\n get max(): number {\r\n return this._max;\r\n }\r\n set max(value: number) {\r\n this._max = value;\r\n }\r\n private _max = Infinity;\r\n\r\n @Input()\r\n get value(): number {\r\n return this._value;\r\n }\r\n set value(value: number) {\r\n this._value = value;\r\n if (!this.hasFocus) {\r\n this.setInputValue(this._value);\r\n }\r\n this.setInputPlaceholder(this._value);\r\n }\r\n private _value: number;\r\n\r\n @Input() isMeridiem: boolean;\r\n\r\n @Output() timeChanged = new EventEmitter<number>();\r\n\r\n get inputElement() {\r\n return this.element.nativeElement as HTMLInputElement;\r\n }\r\n\r\n get hasFocus() {\r\n return this.element?.nativeElement === this._document.activeElement;\r\n }\r\n\r\n constructor(\r\n private element: ElementRef<HTMLInputElement>,\r\n private cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private _document: Document\r\n ) {}\r\n\r\n focus() {\r\n this.setInputValue(null);\r\n }\r\n\r\n blur() {\r\n const value = this._formatValue(\r\n Number(this.inputElement.value || this._value)\r\n );\r\n this.setInputValue(value);\r\n this.setInputPlaceholder(value);\r\n this.timeChanged.emit(value);\r\n }\r\n\r\n setInputValue(value: number | null) {\r\n if (value !== null) {\r\n this.inputElement.value = this._withZeroPrefix(value);\r\n } else {\r\n this.inputElement.value = '';\r\n }\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n setInputPlaceholder(value: number) {\r\n this.inputElement.placeholder = this._withZeroPrefix(value);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n _withZeroPrefix(value: number): string {\r\n return withZeroPrefix(value, this.isMeridiem);\r\n }\r\n\r\n private _formatValue(value: number): number {\r\n if (this.isMeridiem && (value === 0 || value === 24)) {\r\n return 12;\r\n }\r\n\r\n if (this.isMeridiem && value > 12 && value < 24) {\r\n return value - 12;\r\n }\r\n\r\n if (!this.isMeridiem && value === 24) {\r\n return 0;\r\n }\r\n\r\n return Math.min(Math.max(value, this._min), this._max);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'mat-time-inputs',\r\n templateUrl: './time-inputs.html',\r\n styleUrls: ['./time-inputs.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-time-inputs',\r\n },\r\n})\r\nexport class MatTimeInputs<T> extends MatTimeFaceBase<T> {\r\n constructor(@Optional() _timeAdapter: TimeAdapter<T>) {\r\n super(_timeAdapter);\r\n }\r\n}\r\n","<mat-timepicker-content-layout title=\"Enter time\">\r\n <mat-form-field class=\"mat-time-inputs-field\" appearance=\"outline\" hours>\r\n <input\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n maxlength=\"2\"\r\n matInput\r\n matTimeInput\r\n [isMeridiem]=\"isMeridiem\"\r\n [value]=\"selectedHour\"\r\n [min]=\"isMeridiem ? 1 : 0\"\r\n [max]=\"isMeridiem ? 12 : 23\"\r\n (timeChanged)=\"_onHourSelected($event)\"\r\n />\r\n <mat-hint>Hour</mat-hint>\r\n </mat-form-field>\r\n <mat-form-field class=\"mat-time-inputs-field\" appearance=\"outline\" minutes>\r\n <input\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n maxlength=\"2\"\r\n matInput\r\n matTimeInput\r\n [value]=\"selectedMinute\"\r\n [min]=\"0\"\r\n [max]=\"59\"\r\n (timeChanged)=\"_onMinuteSelected($event)\"\r\n />\r\n <mat-hint>Minute</mat-hint>\r\n </mat-form-field>\r\n\r\n <ng-template mat-time-period [ngIf]=\"isMeridiem\">\r\n <mat-time-period\r\n [period]=\"period\"\r\n (periodChanged)=\"_onPeriodChanged($event)\"\r\n ></mat-time-period>\r\n </ng-template>\r\n</mat-timepicker-content-layout>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { debounceTime, fromEvent, merge, take } from 'rxjs';\r\n\r\nexport interface ClockDialViewCell {\r\n value: number;\r\n displayValue: string;\r\n left: number;\r\n top: number;\r\n}\r\n\r\nconst HOURS = Array(24)\r\n .fill(null)\r\n .map((_, i) => i);\r\nconst CLOCK_RADIUS = 128;\r\nconst CLOCK_TICK_RADIUS = 16;\r\nconst CLOCK_CORRECTED_RADIUS = CLOCK_RADIUS - CLOCK_TICK_RADIUS;\r\nconst CLOCK_OUTER_RADIUS = 100;\r\nconst CLOCK_INNER_RADIUS = CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS * 2;\r\n\r\n@Component({\r\n selector: 'mat-hours-clock-dial',\r\n templateUrl: 'hours-clock-dial.html',\r\n styleUrls: ['clock-dial.scss'],\r\n exportAs: 'matHoursClockDial',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-clock-dial mat-clock-dial-hours',\r\n '(mousedown)': '_onMouseDown($event)',\r\n },\r\n})\r\nexport class MatHoursClockDial implements OnInit {\r\n /** Selected hour. */\r\n @Input()\r\n get selectedHour(): number {\r\n return this._selectedHour;\r\n }\r\n set selectedHour(value: number) {\r\n const edgeValue = this.isMeridiem ? 12 : 0;\r\n this._selectedHour = value === 0 ? edgeValue : value;\r\n }\r\n private _selectedHour: number;\r\n\r\n /** Whether the clock uses 12 hour format. */\r\n @Input()\r\n get isMeridiem(): boolean {\r\n return this._isMeridiem;\r\n }\r\n set isMeridiem(value: boolean) {\r\n this._isMeridiem = value;\r\n const edgeValue = value ? 12 : 0;\r\n this._selectedHour =\r\n this._selectedHour === 0 ? edgeValue : this._selectedHour;\r\n }\r\n private _isMeridiem: boolean;\r\n\r\n /** Emits selected hour. */\r\n @Output() selectedChange = new EventEmitter<number>();\r\n\r\n public hours: ClockDialViewCell[] = [];\r\n\r\n constructor(\r\n private _element: ElementRef<HTMLElement>,\r\n private _cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private _document: Document,\r\n @Inject(Window) private _window: Window\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._initHours();\r\n }\r\n\r\n /** Hand styles based on selected hour. */\r\n _handStyles(): any {\r\n const deg = Math.round(this.selectedHour * (360 / (24 / 2)));\r\n const radius = this._getRadius(this.selectedHour);\r\n const height = radius;\r\n const marginTop = CLOCK_RADIUS - radius;\r\n\r\n return {\r\n transform: `rotate(${deg}deg)`,\r\n height: `${height}px`,\r\n 'margin-top': `${marginTop}px`,\r\n };\r\n }\r\n\r\n /** Handles mouse and touch events on dial and document. */\r\n _onMouseDown(event: MouseEvent | TouchEvent): void {\r\n this._setHour(event);\r\n\r\n const eventsSubscription = merge(\r\n fromEvent<MouseEvent>(this._document, 'mousemove'),\r\n fromEvent<TouchEvent>(this._document, 'touchmove')\r\n )\r\n .pipe(debounceTime(0))\r\n .subscribe({\r\n next: (event) => {\r\n event.preventDefault();\r\n this._setHour(event);\r\n },\r\n });\r\n\r\n merge(\r\n fromEvent<MouseEvent>(this._document, 'mouseup'),\r\n fromEvent<TouchEvent>(this._document, 'touchend')\r\n )\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => {\r\n eventsSubscription.unsubscribe();\r\n this.selectedChange.emit(this.selectedHour);\r\n },\r\n });\r\n }\r\n\r\n /** Changes selected hour based on coordinates. */\r\n private _setHour(event: MouseEvent | TouchEvent): void {\r\n const element = this._element.nativeElement;\r\n const elementRect = element.getBoundingClientRect();\r\n const width = element.offsetWidth;\r\n const height = element.offsetHeight;\r\n const pageX =\r\n event instanceof MouseEvent ? event.pageX : event.touches[0].pageX;\r\n const pageY =\r\n event instanceof MouseEvent ? event.pageY : event.touches[0].pageY;\r\n const x = width / 2 - (pageX - elementRect.left - this._window.scrollX);\r\n const y = height / 2 - (pageY - elementRect.top - this._window.scrollY);\r\n const unit = Math.PI / 6;\r\n const atan2 = Math.atan2(-x, y);\r\n const radian = atan2 < 0 ? Math.PI * 2 + atan2 : atan2;\r\n const initialValue = Math.round(radian / unit);\r\n const z = Math.sqrt(x * x + y * y);\r\n const outer = z > CLOCK_OUTER_RADIUS - CLOCK_TICK_RADIUS;\r\n const value = this._getHourValue(initialValue, outer);\r\n this.selectedHour = value;\r\n this._cdr.detectChanges();\r\n }\r\n\r\n /** Return value of hour. */\r\n private _getHourValue(value: number, outer: boolean): number {\r\n const edgeValue = value === 0 || value === 12;\r\n\r\n if (outer || this.isMeridiem) {\r\n return edgeValue ? 0 : value;\r\n }\r\n\r\n return edgeValue ? 12 : value + 12;\r\n }\r\n\r\n /** Creates list of hours. */\r\n private _initHours(): void {\r\n const initialHours = this.isMeridiem ? HOURS.slice(1, 13) : HOURS;\r\n\r\n this.hours = initialHours.map((hour) => {\r\n const radian = (hour / 6) * Math.PI;\r\n const radius = this._getRadius(hour);\r\n\r\n return {\r\n value: hour,\r\n displayValue: hour === 0 ? '00' : String(hour),\r\n left: CLOCK_CORRECTED_RADIUS + Math.sin(radian) * radius,\r\n top: CLOCK_CORRECTED_RADIUS - Math.cos(radian) * radius,\r\n };\r\n });\r\n }\r\n\r\n /** Returns radius based on hour */\r\n private _getRadius(hour: number): number {\r\n if (this.isMeridiem) {\r\n return CLOCK_OUTER_RADIUS;\r\n }\r\n\r\n const outer = hour >= 0 && hour < 12;\r\n const radius = outer ? CLOCK_OUTER_RADIUS : CLOCK_INNER_RADIUS;\r\n\r\n return radius;\r\n }\r\n}\r\n","<div class=\"mat-clock-dial-hand\" [ngStyle]=\"_handStyles()\"></div>\r\n<ng-template ngFor let-hour [ngForOf]=\"hours\">\r\n <button\r\n class=\"mat-clock-dial-cell mat-elevation-z0\"\r\n mat-mini-fab\r\n disableRipple\r\n [style.left.px]=\"hour.left\"\r\n [style.top.px]=\"hour.top\"\r\n [color]=\"selectedHour === hour.value ? 'primary' : undefined\"\r\n >\r\n {{ hour.displayValue }}\r\n </button>\r\n</ng-template>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { debounceTime, fromEvent, merge, Subject, take, takeUntil } from 'rxjs';\r\n\r\nimport { ClockDialViewCell } from './hours-clock-dial';\r\n\r\nconst MINUTES = Array(60)\r\n .fill(null)\r\n .map((_, i) => i);\r\n\r\nconst CLOCK_RADIUS = 128;\r\nconst CLOCK_TICK_RADIUS = 16;\r\nconst CLOCK_CORRECTED_RADIUS = CLOCK_RADIUS - CLOCK_TICK_RADIUS;\r\nconst CLOCK_OUTER_RADIUS = 100;\r\n\r\n@Component({\r\n selector: 'mat-minutes-clock-dial',\r\n templateUrl: 'minutes-clock-dial.html',\r\n styleUrls: ['clock-dial.scss'],\r\n exportAs: 'matMinutesClockDial',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-clock-dial mat-clock-dial-minutes',\r\n '(mousedown)': '_onMouseDown($event)',\r\n },\r\n})\r\nexport class MatMinutesClockDial implements OnInit {\r\n /** Selected minute. */\r\n @Input()\r\n get selectedMinute(): number {\r\n return this._selectedMinute;\r\n }\r\n set selectedMinute(value: number) {\r\n this._selectedMinute = value;\r\n }\r\n private _selectedMinute = 0;\r\n\r\n /** Emits selected minute. */\r\n @Output() selectedChange = new EventEmitter<number>();\r\n\r\n public minutes: ClockDialViewCell[] = [];\r\n\r\n constructor(\r\n private _element: ElementRef<HTMLElement>,\r\n private _cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private _document: Document,\r\n @Inject(Window) private _window: Window\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this._initMinutes();\r\n }\r\n\r\n /** Hand styles based on selected minute. */\r\n _handStyles(): any {\r\n const deg = Math.round(this._selectedMinute * (360 / 60));\r\n const height = CLOCK_OUTER_RADIUS;\r\n const marginTop = CLOCK_RADIUS - CLOCK_OUTER_RADIUS;\r\n\r\n return {\r\n transform: `rotate(${deg}deg)`,\r\n height: `${height}px`,\r\n 'margin-top': `${marginTop}px`,\r\n };\r\n }\r\n\r\n /** Handles mouse and touch events on dial and document. */\r\n _onMouseDown(event: MouseEvent | TouchEvent): void {\r\n this._setMinute(event);\r\n\r\n const eventsSubscription = merge(\r\n fromEvent<MouseEvent>(this._document, 'mousemove'),\r\n fromEvent<TouchEvent>(this._document, 'touchmove')\r\n )\r\n .pipe(debounceTime(0))\r\n .subscribe({\r\n next: (event) => {\r\n event.preventDefault();\r\n this._setMinute(event);\r\n },\r\n });\r\n\r\n merge(\r\n fromEvent<MouseEvent>(this._document, 'mouseup'),\r\n fromEvent<TouchEvent>(this._document, 'touchend')\r\n )\r\n .pipe(take(1))\r\n .subscribe({\r\n next: () => {\r\n eventsSubscription.unsubscribe();\r\n this.selectedChange.emit(this._selectedMinute);\r\n },\r\n });\r\n }\r\n\r\n private _setMinute(event: MouseEvent | TouchEvent): void {\r\n const element = this._element.nativeElement;\r\n const elementRect = element.getBoundingClientRect();\r\n const width = element.offsetWidth;\r\n const height = element.offsetHeight;\r\n const pageX =\r\n event instanceof MouseEvent ? event.pageX : event.touches[0].pageX;\r\n const pageY =\r\n event instanceof MouseEvent ? event.pageY : event.touches[0].pageY;\r\n const x = width / 2 - (pageX - elementRect.left - this._window.scrollX);\r\n const y = height / 2 - (pageY - elementRect.top - this._window.scrollY);\r\n const unit = Math.PI / 30;\r\n const atan2 = Math.atan2(-x, y);\r\n const radian = atan2 < 0 ? Math.PI * 2 + atan2 : atan2;\r\n const initialValue = Math.round(radian / unit);\r\n const value = initialValue === 60 ? 0 : initialValue;\r\n this._selectedMinute = value;\r\n this._cdr.detectChanges();\r\n }\r\n\r\n /** Creates list of minutes. */\r\n private _initMinutes(): void {\r\n this.minutes = MINUTES.filter((minute) => minute % 5 === 0).map(\r\n (minute) => {\r\n const radian = (minute / 30) * Math.PI;\r\n const displayValue = minute === 0 ? '00' : String(minute);\r\n\r\n return {\r\n value: minute,\r\n displayValue,\r\n left: CLOCK_CORRECTED_RADIUS + Math.sin(radian) * CLOCK_OUTER_RADIUS,\r\n top: CLOCK_CORRECTED_RADIUS - Math.cos(radian) * CLOCK_OUTER_RADIUS,\r\n };\r\n }\r\n );\r\n }\r\n}\r\n","<div class=\"mat-clock-dial-hand\" [ngStyle]=\"_handStyles()\"></div>\r\n<ng-template ngFor let-minute [ngForOf]=\"minutes\">\r\n <button\r\n class=\"mat-clock-dial-cell mat-elevation-z0\"\r\n mat-mini-fab\r\n disableRipple\r\n [style.left.px]=\"minute.left\"\r\n [style.top.px]=\"minute.top\"\r\n [color]=\"selectedMinute === minute.value ? 'primary' : undefined\"\r\n >\r\n {{ minute.displayValue }}\r\n </button>\r\n</ng-template>\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n OnInit,\r\n OnDestroy,\r\n Input,\r\n Optional,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\n\r\nimport { TimeAdapter } from './adapter';\r\nimport { MatTimePeriodType } from './time-period';\r\nimport { MatTimeFaceBase } from './time-face-base';\r\nimport { withZeroPrefix } from './time-inputs';\r\n\r\nexport type MatDialView = 'hours' | 'minutes';\r\n\r\n@Component({\r\n selector: 'mat-clock-dials',\r\n templateUrl: './clock-dials.html',\r\n styleUrls: ['./clock-dials.scss'],\r\n exportAs: 'matClockDials',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-clock-dials',\r\n },\r\n})\r\nexport class MatClockDials<T>\r\n extends MatTimeFaceBase<T>\r\n implements OnInit, OnDestroy\r\n{\r\n isHoursView = true;\r\n\r\n /** Specifies the view of clock dial. */\r\n private readonly _view = new BehaviorSubject<MatDialView>('hours');\r\n private _viewSubscription: Subscription | null = Subscription.EMPTY;\r\n\r\n constructor(@Optional() _timeAdapter: TimeAdapter<T>) {\r\n super(_timeAdapter);\r\n }\r\n\r\n ngOnInit(): void {\r\n this._viewSubscription = this._view.subscribe(\r\n (view) => (this.isHoursView = view === 'hours')\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._viewSubscription?.unsubscribe();\r\n this._viewSubscription = null;\r\n }\r\n\r\n /** Changes clock dial view. */\r\n onViewChange(view: MatDialView): void {\r\n this._view.next(view);\r\n }\r\n\r\n _withZeroPrefix(value: number): string {\r\n return withZeroPrefix(value, this.isMeridiem);\r\n }\r\n\r\n /** Handles hour selection. */\r\n _onHourChanged(hour: number): void {\r\n this._view.next('minutes');\r\n this._onHourSelected(hour);\r\n }\r\n}\r\n","<mat-timepicker-content-layout title=\"Select time\">\r\n <div\r\n class=\"mat-clock-dial-value\"\r\n hours\r\n [class.mat-clock-dial-value-active]=\"isHoursView\"\r\n (click)=\"onViewChange('hours')\"\r\n >\r\n {{ _withZeroPrefix(selectedHour) }}\r\n </div>\r\n <div\r\n class=\"mat-clock-dial-value\"\r\n minutes\r\n [class.mat-clock-dial-value-active]=\"!isHoursView\"\r\n (click)=\"onViewChange('minutes')\"\r\n >\r\n {{ _withZeroPrefix(selectedMinute) }}\r\n </div>\r\n\r\n <ng-template mat-time-period [ngIf]=\"isMeridiem\">\r\n <mat-time-period\r\n [period]=\"period\"\r\n (periodChanged)=\"_onPeriodChanged($event)\"\r\n ></mat-time-period>\r\n </ng-template>\r\n\r\n <div class=\"mat-clock-dial-faces\">\r\n <ng-template [ngIf]=\"isHoursView\">\r\n <mat-hours-clock-dial\r\n [selectedHour]=\"selectedHour\"\r\n [isMeridiem]=\"isMeridiem\"\r\n (selectedChange)=\"_onHourChanged($event)\"\r\n ></mat-hours-clock-dial>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!isHoursView\">\r\n <mat-minutes-clock-dial\r\n [selectedMinute]=\"selectedMinute\"\r\n (selectedChange)=\"_onMinuteSelected($event)\"\r\n ></mat-minutes-clock-dial>\r\n </ng-template>\r\n </div>\r\n</mat-timepicker-content-layout>\r\n","import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n ViewEncapsulation,\r\n ElementRef,\r\n OnInit,\r\n forwardRef,\r\n} from '@angular/core';\r\nimport { mixinColor } from '@angular/material/core';\r\nimport { Subject } from 'rxjs';\r\nimport { TimeAdapter } from './adapter';\r\n\r\nimport {\r\n ExtractTimeTypeFromSelection,\r\n MatTimeSelectionModel,\r\n} from './time-selection-model';\r\nimport { matTimepickerAnimations } from './timepicker-animations';\r\nimport { MatTimepickerBase, TimepickerMode } from './timepicker-base';\r\n\r\n// Boilerplate for applying mixins to MatTimepickerContent.\r\nconst _MatTimepickerContentBase = mixinColor(\r\n class {\r\n constructor(public _elementRef: ElementRef) {}\r\n }\r\n);\r\n\r\n@Component({\r\n selector: 'mat-timepicker-content',\r\n templateUrl: './timepicker-content.html',\r\n styleUrls: ['./timepicker-content.scss'],\r\n exportAs: 'matTimepickerContent',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {\r\n class: 'mat-timepicker-content',\r\n '[@transformPanel]': '_animationState',\r\n '(@transformPanel.done)': '_animationDone.next()',\r\n },\r\n animations: [\r\n matTimepickerAnimations.transformPanel,\r\n matTimepickerAnimations.fadeInTimepicker,\r\n ],\r\n})\r\nexport class MatTimepickerContent<S, T = ExtractTimeTypeFromSelection<S>>\r\n extends _MatTimepickerContentBase\r\n implements OnInit\r\n{\r\n /** Reference to the timepicker that created the overlay. */\r\n timepicker: MatTimepickerBase<any, S, T>;\r\n\r\n /** Display mode. */\r\n mode: TimepickerMode;\r\n\r\n /** Current state of the animation. */\r\n _animationState: 'enter-dropdown' | 'enter-dialog' | 'void';\r\n\r\n /** Whether the clock uses 12 hour format. */\r\n isMeridiem: boolean;\r\n\r\n /** Portal with projected action buttons. */\r\n _actionsPortal: TemplatePortal | ComponentPortal<any> | null = null;\r\n\r\n /** Emits when an animation has finished. */\r\n readonly _animationDone = new Subject<void>();\r\n\r\n private _model: MatTimeSelectionModel<S, T>;\r\n\r\n constructor(\r\n elementRef: ElementRef,\r\n private _globalModel: MatTimeSelectionModel<S, T>,\r\n private _changeDetectorRef: ChangeDetectorRef,\r\n private _timeAdapter: TimeAdapter<T>\r\n ) {\r\n super(elementRef);\r\n }\r\n\r\n ngOnInit() {\r\n this._animationState =\r\n this.timepicker.openAs === 'dialog' ? 'enter-dialog' : 'enter-dropdown';\r\n }\r\n\r\n /** Changes animation state while closing timepicker content. */\r\n startExitAnimation() {\r\n this._animationState = 'void';\r\n this._changeDetectorRef.markForCheck();\r\n }\r\n\r\n onToggleMode(mode: TimepickerMode): void {\r\n this.mode = mode;\r\n }\r\n\r\n _getSelected() {\r\n return this._model?.selection as unknown as T | null;\r\n }\r\n\r\n /** Applies the current pending selection to the global model. */\r\n _applyPendingSelection() {\r\n if (this._model !== this._globalModel) {\r\n this._globalModel.updateSelection(this._model.selection, this);\r\n }\r\n }\r\n\r\n /**\r\n * Assigns a new portal containing the timepicker actions.\r\n * @param portal Portal with the actions to be assigned.\r\n * @param forceRerender Whether a re-render of the portal should be triggered. This isn't\r\n * necessary if the portal is assigned during initialization, but it may be required if it's\r\n * added at a later point.\r\n */\r\n _assignActions(\r\n portal: TemplatePortal<any> | ComponentPortal<any> | null,\r\n forceRerender: boolean\r\n ) {\r\n // As we have actions, clone the model so that we have the ability to cancel the selection.\r\n // Note that we want to assign this as soon as possible,\r\n // but `_actionsPortal` isn't available in the constructor so we do it in `ngOnInit`.\r\n this._model = this._globalModel.clone();\r\n\r\n // If no value in input set default as now\r\n if (!this._getSelected()) {\r\n this._model.add(this._timeAdapter.now());\r\n }\r\n this._actionsPortal = portal;\r\n\r\n if (forceRerender) {\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n _handleUserSelection(event: T) {\r\n const value = event;\r\n this._model.add(value);\r\n }\r\n}\r\n","<div class=\"mat-timepicker-content-container\" cdkTrapFocus>\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-template ngSwitchCase=\"input\">\r\n <mat-time-inputs\r\n [isMeridiem]=\"isMeridiem\"\r\n [selected]=\"_getSelected()\"\r\n (_userSelection)=\"_handleUserSelection($event)\"\r\n ></mat-time-inputs>\r\n\r\n <div class=\"mat-timepicker-content-actions\">\r\n <button\r\n class=\"mat-time-toggle-mode-button\"\r\n mat-icon-button\r\n (click)=\"onToggleMode('dial')\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"24\"\r\n width=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n d=\"m15.175 16.625 1.475-1.45-3.6-3.6V7.1h-2.075v5.3ZM12 21.95q-2.075 0-3.887-.787-1.813-.788-3.15-2.125-1.338-1.338-2.125-3.151Q2.05 14.075 2.05 12t.788-3.887q.787-1.813 2.125-3.15Q6.3 3.625 8.113 2.837 9.925 2.05 12 2.05t3.887.787q1.813.788 3.151 2.126 1.337 1.337 2.125 3.15.787 1.812.787 3.887t-.787 3.887q-.788 1.813-2.125 3.151-1.338 1.337-3.151 2.125-1.812.787-3.887.787ZM12 12Zm0 7.8q3.225 0 5.513-2.275Q19.8 15.25 19.8 12q0-3.25-2.287-5.525Q15.225 4.2 12 4.2T6.488 6.475Q4.2 8.75 4.2 12q0 3.25 2.288 5.525Q8.775 19.8 12 19.8Z\"\r\n />\r\n </svg>\r\n </button>\r\n\r\n <ng-template [cdkPortalOutlet]=\"_actionsPortal\"></ng-template>\r\n </div>\r\n </ng-template>\r\n <ng-template ngSwitchCase=\"dial\">\r\n <mat-clock-dials\r\n [isMeridiem]=\"isMeridiem\"\r\n [selected]=\"_getSelected()\"\r\n (_userSelection)=\"_handleUserSelection($event)\"\r\n ></mat-clock-dials>\r\n\r\n <div class=\"mat-timepicker-content-actions\">\r\n <button\r\n class=\"mat-time-toggle-mode-button\"\r\n mat-icon-button\r\n (click)=\"onToggleMode('input')\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n height=\"24\"\r\n width=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n d=\"M4 19q-.825 0-1.412-.587Q2 17.825 2 17V7q0-.825.588-1.412Q3.175 5 4 5h16q.825 0 1.413.588Q22 6.175 22 7v10q0 .825-.587 1.413Q20.825 19 20 19Zm0-2h16V7H4v10Zm4-1h8v-2H8Zm-3-3h2v-2H5Zm3 0h2v-2H8Zm3 0h2v-2h-2Zm3 0h2v-2h-2Zm3 0h2v-2h-2ZM5 10h2V8H5Zm3 0h2V8H8Zm3 0h2V8h-2Zm3 0h2V8h-2Zm3 0h2V8h-2ZM4 17V7v10Z\"\r\n />\r\n </svg>\r\n </button>\r\n\r\n <ng-template [cdkPortalOutlet]=\"_actionsPortal\"></ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</div>\r\n","import { ComponentType } from '@angular/cdk/portal';\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const MAT_DEFAULT_ACITONS = new InjectionToken<ComponentType<any>>(\r\n 'MAT_DEFAULT_ACITONS'\r\n);\r\n","import {\r\n Input,\r\n ComponentRef,\r\n ViewContainerRef,\r\n Directive,\r\n NgZone,\r\n Inject,\r\n Output,\r\n EventEmitter,\r\n OnChanges,\r\n SimpleChanges,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport {\r\n FlexibleConnectedPositionStrategy,\r\n Overlay,\r\n OverlayConfig,\r\n OverlayRef,\r\n ScrollStrategy,\r\n} from '@angular/cdk/overlay';\r\nimport {\r\n ComponentPortal,\r\n ComponentType,\r\n TemplatePortal,\r\n} from '@angular/cdk/portal';\r\nimport {\r\n DOWN_ARROW,\r\n ESCAPE,\r\n hasModifierKey,\r\n LEFT_ARROW,\r\n PAGE_DOWN,\r\n PAGE_UP,\r\n RIGHT_ARROW,\r\n UP_ARROW,\r\n} from '@angular/cdk/keycodes';\r\nimport { filter, first, merge, Observable } from 'rxjs';\r\n\r\nimport { MatTimepickerContent } from './timepicker-content';\r\nimport { MAT_TIMEPICKER_SCROLL_STRATEGY } from './timepicker-scroll-strategy';\r\nimport {\r\n ExtractTimeTypeFromSelection,\r\n MatTimeSelectionModel,\r\n} from './time-selection-model';\r\nimport { MAT_DEFAULT_ACITONS } from './timepicker-actions-default';\r\n\r\n/** Possible options for the timepicker to open. */\r\nexport type TimepickerOpenAs = 'dialog' | 'popup';\r\n\r\n/** Possible positions for the timepicker dropdown along the X axis. */\r\nexport type TimepickerDropdownPositionX = 'start' | 'end';\r\n\r\n/** Possible positions for the timepicker dropdown along the Y axis. */\r\nexport type TimepickerDropdownPositionY = 'above' | 'below';\r\n\r\n/** Possible options for the timepicker to display. */\r\nexport type TimepickerMode = 'input' | 'dial';\r\n\r\n/** Possible options for the timepicker period format. */\r\nexport type TimepickerFormat = '12' | '24';\r\n\r\n/** Form control that can be associated with a timepicker. */\r\nexport interface MatTimepickerControl<T> {\r\n disabled: boolean;\r\n getThemePalette(): ThemePalette;\r\n getConnectedOverlayOrigin(): ElementRef;\r\n}\r\n\r\n/** A timepicker that can be attached to a {@link MatTimepickerControl}. */\r\nexport interface MatTimepickerPanel<\r\n C extends MatTimepickerControl<T>,\r\n S,\r\n T = ExtractTimeTypeFromSelection<S>\r\n> {\r\n /** Register an input with the timeepicker. */\r\n registerInput(input: C): MatTimeSelectionModel<S, T>;\r\n}\r\n\r\n/** Used to generate a unique ID for each timepicker instance. */\r\nlet timepickerUid = 0;\r\n\r\n@Directive()\r\nexport abstract class MatTimepickerBase<\r\n C extends MatTimepickerControl<T>,\r\n S,\r\n T = ExtractTimeTypeFromSelection<S>\r\n> implements OnChanges\r\n{\r\n /** Whether the timepicker pop-up should be disabled. */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._disabled) {\r\n this._disabled = newValue;\r\n }\r\n }\r\n private _disabled: boolean;\r\n\r\n /** Whether the timepicker is open. */\r\n @Input()\r\n get opened(): boolean {\r\n return this._opened;\r\n }\r\n set opened(value: BooleanInput) {\r\n coerceBooleanProperty(value) ? this.open() : this.close();\r\n }\r\n private _opened = false;\r\n\r\n /** Whether the timepicker mode which determines what the timepicker will be opened as. */\r\n @Input()\r\n get openAs(): TimepickerOpenAs {\r\n return this._openAs;\r\n }\r\n set openAs(value: TimepickerOpenAs) {\r\n this._openAs = value || 'popup';\r\n }\r\n private _openAs: TimepickerOpenAs = 'popup';\r\n\r\n /** Color palette to use on the timepicker's content. */\r\n @Input()\r\n get color(): ThemePalette {\r\n return (\r\n this._color ||\r\n (this.timepickerInput\r\n ? this.timepickerInput.getThemePalette()\r\n : undefined)\r\n );\r\n }\r\n set color(value: ThemePalette) {\r\n this._color = value;\r\n }\r\n private _color: ThemePalette;\r\n\r\n /** Timepicker display mode. */\r\n @Input()\r\n get mode(): TimepickerMode {\r\n return this._mode;\r\n }\r\n set mode(value: TimepickerMode) {\r\n this._mode = value || 'input';\r\n }\r\n private _mode: TimepickerMode = 'dial';\r\n\r\n /** Timepicker period format. */\r\n @Input()\r\n get format(): TimepickerFormat {\r\n return this._format;\r\n }\r\n set format(value: TimepickerFormat) {\r\n this._format = value;\r\n }\r\n private _format: TimepickerFormat = '12';\r\n\r\n /** Preferred position of the timepicker in the X axis. */\r\n @Input()\r\n xPosition: TimepickerDropdownPositionX = 'start';\r\n\r\n /** Preferred position of the timepicker in the Y axis. */\r\n @Input()\r\n yPosition: TimepickerDropdownPositionY = 'below';\r\n\r\n /** Emits when the timepicker has been closed. */\r\n @Output('closed') readonly closedStream = new EventEmitter<void>();\r\n\r\n /** The id for the timepicker. */\r\n id: string = `mat-timepicker-${timepickerUid++}`;\r\n\r\n /** The input element this timepicker is associated with. */\r\n timepickerInput!: C;\r\n\r\n /** Portal with projected action buttons. */\r\n _actionsPortal: TemplatePortal | null = null;\r\n\r\n /** A reference to the overlay into which we've rendered the timepicker. */\r\n private _overlayRef: OverlayRef | null;\r\n\r\n /** Reference to the component instance rendered in the overlay. */\r\n private _componentRef!: ComponentRef<MatTimepickerContent<S, T>> | null;\r\n\r\n /** Unique class that will be added to the backdrop so that the test harnesses can look it up. */\r\n private _backdropHarnessClass = `${this.id}-backdrop`;\r\n\r\n /** Scroll strategy. */\r\n private _scrollStrategy: () => ScrollStrategy;\r\n\r\n constructor(\r\n private _viewContainerRef: ViewContainerRef,\r\n private _overlay: Overlay,\r\n private _ngZone: NgZone,\r\n @Inject(MAT_TIMEPICKER_SCROLL_STRATEGY) scrollStrategy: any,\r\n @Inject(MAT_DEFAULT_ACITONS)\r\n private _defaultActionsComponent: ComponentType<any>,\r\n private _model: MatTimeSelectionModel<S, T>\r\n ) {\r\n this._scrollStrategy = scrollStrategy;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const positionChange = changes['xPosition'] || changes['yPosition'];\r\n\r\n if (positionChange && !positionChange.firstChange && this._overlayRef) {\r\n const positionStrategy = this._overlayRef.getConfig().positionStrategy;\r\n\r\n if (positionStrategy instanceof FlexibleConnectedPositionStrategy) {\r\n this._setConnectedPositions(positionStrategy);\r\n\r\n if (this.opened) {\r\n this._overlayRef.updatePosition();\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._destroyOverlay();\r\n this.close();\r\n }\r\n\r\n /** Opens the timepicker. */\r\n open(): void {\r\n if (this._opened || this.disabled) {\r\n return;\r\n }\r\n\r\n if (!this.timepickerInput) {\r\n throw Error(\r\n 'Attempted to open an MatTimepicker with no associated input.'\r\n );\r\n }\r\n\r\n this._openOverlay();\r\n this._opened = true;\r\n }\r\n\r\n /** Closes the timepicker. */\r\n close(): void {\r\n if (!this._opened) {\r\n return;\r\n }\r\n\r\n if (this._componentRef) {\r\n const instance = this._componentRef.instance;\r\n instance.startExitAnimation();\r\n instance._animationDone\r\n .pipe(first())\r\n .subscribe(() => this._destroyOverlay());\r\n }\r\n\r\n // The `_opened` could've been reset already if\r\n // we got two events in quick succession.\r\n if (this._opened) {\r\n this._opened = false;\r\n this.closedStream.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Register an input with this timepicker.\r\n * @param input The timepicker input to register with this timepicker.\r\n * @returns Selection model that the input should hook itself up to.\r\n */\r\n registerInput(input: C): MatTimeSelectionModel<S, T> {\r\n if (this.timepickerInput) {\r\n throw Error(\r\n 'A MatTimepicker can only be associated with a single input.'\r\n );\r\n }\r\n\r\n this.timepickerInput = input;\r\n return this._model;\r\n }\r\n\r\n /**\r\n * Registers a portal containing action buttons with the timepicker.\r\n * @param portal Portal to be registered.\r\n */\r\n registerActions(portal: TemplatePortal): void {\r\n if (this._actionsPortal) {\r\n throw Error(\r\n 'A MatTimepicker can only be associated with a single actions row.'\r\n );\r\n }\r\n this._actionsPortal = portal;\r\n this._componentRef?.instance._assignActions(portal, true);\r\n }\r\n\r\n /**\r\n * Removes a portal containing action buttons from the timepicker.\r\n * @param portal Portal to be removed.\r\n */\r\n removeActions(portal: TemplatePortal): void {\r\n if (portal === this._actionsPortal) {\r\n this._actionsPortal = null;\r\n this._componentRef?.instance._assignActions(null, true);\r\n }\r\n }\r\n\r\n /** Applies the current pending selection on the overlay to the model. */\r\n _applyPendingSelection() {\r\n this._componentRef?.instance?._applyPendingSelection();\r\n }\r\n\r\n /** Forwards relevant values from the timepicker to the timepicker content inside the overlay. */\r\n protected _forwardContentValues(instance: MatTimepickerContent<S, T>): void {\r\n const defaultPortal = new ComponentPortal(this._defaultActionsComponent);\r\n\r\n instance.timepicker = this;\r\n instance.color = this.color;\r\n instance.mode = this.mode;\r\n instance.isMeridiem = this.format === '12';\r\n instance._assignActions(this._actionsPortal || defaultPortal, false);\r\n }\r\n\r\n /** Opens the overlay with the timepicker. */\r\n private _openOverlay(): void {\r\n this._destroyOverlay();\r\n\r\n const isDialog = this.openAs === 'dialog';\r\n const portal = new ComponentPortal<MatTimepickerContent<S, T>>(\r\n MatTimepickerContent,\r\n this._viewContainerRef\r\n );\r\n\r\n const overlayRef = (this._overlayRef = this._overlay.create(\r\n new OverlayConfig({\r\n positionStrategy: isDialog\r\n ? this._getDialogStrategy()\r\n : this._getDropdownStrategy(),\r\n hasBackdrop: true,\r\n backdropClass: [\r\n isDialog\r\n ? 'cdk-overlay-dark-backdrop'\r\n : 'mat-overlay-transparent-backdrop',\r\n this._backdropHarnessClass,\r\n ],\r\n direction: 'ltr',\r\n scrollStrategy: isDialog\r\n ? this._overlay.scrollStrategies.block()\r\n : this._scrollStrategy(),\r\n panelClass: `mat-timepicker-${this.openAs}`,\r\n })\r\n ));\r\n\r\n this._getCloseStream(overlayRef).subscribe((event) => {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.close();\r\n });\r\n\r\n // The `preventDefault` call happens inside the timepicker as well, however focus moves into\r\n // it inside a timeout which can give browsers a chance to fire off a keyboard event in-between\r\n // that can scroll the page. Always block default actions of arrow keys for the\r\n // entire overlay so the page doesn't get scrolled by accident.\r\n overlayRef.keydownEvents().subscribe((event) => {\r\n const keyCode = event.keyCode;\r\n\r\n if (\r\n keyCode === UP_ARROW ||\r\n keyCode === DOWN_ARROW ||\r\n keyCode === LEFT_ARROW ||\r\n keyCode === RIGHT_ARROW ||\r\n keyCode === PAGE_UP ||\r\n keyCode === PAGE_DOWN\r\n ) {\r\n event.preventDefault();\r\n }\r\n });\r\n\r\n this._componentRef = overlayRef.attach(portal);\r\n this._forwardContentValues(this._componentRef.instance);\r\n\r\n // Update the position once the timepicker has rendered. Only relevant in dropdown mode.\r\n if (!isDialog) {\r\n this._ngZone.onStable\r\n .pipe(first())\r\n .subscribe(() => overlayRef.updatePosition());\r\n }\r\n }\r\n\r\n /** Destroys the current overlay. */\r\n private _destroyOverlay(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = this._componentRef = null;\r\n }\r\n }\r\n\r\n /** Gets a position strategy that will open the timepicker as a dropdown. */\r\n private _getDialogStrategy() {\r\n return this._overlay\r\n .position()\r\n .global()\r\n .centerHorizontally()\r\n .centerVertically();\r\n }\r\n\r\n /** Gets a position strategy that will open the timepicker as a dropdown. */\r\n private _getDropdownStrategy() {\r\n const strategy = this._overlay\r\n .position()\r\n .flexibleConnectedTo(this.timepickerInput.getConnectedOverlayOrigin())\r\n .withTransformOriginOn('.mat-timepicker-content')\r\n .withFlexibleDimensions(false)\r\n .withViewportMargin(8)\r\n .withLockedPosition();\r\n\r\n return this._setConnectedPositions(strategy);\r\n }\r\n\r\n /** Sets the positions of the timepicker in dropdown mode based on the current configuration. */\r\n private _setConnectedPositions(\r\n strategy: FlexibleConnectedPositionStrategy\r\n ): FlexibleConnectedPositionStrategy {\r\n const primaryX = this.xPosition === 'end' ? 'end' : 'start';\r\n const secondaryX = primaryX === 'start' ? 'end' : 'start';\r\n const primaryY = this.yPosition === 'above' ? 'bottom' : 'top';\r\n const secondaryY = primaryY === 'top' ? 'bottom' : 'top';\r\n\r\n return strategy.withPositions([\r\n {\r\n originX: primaryX,\r\n originY: secondaryY,\r\n overlayX: primaryX,\r\n overlayY: primaryY,\r\n },\r\n {\r\n originX: primaryX,\r\n originY: primaryY,\r\n overlayX: primaryX,\r\n overlayY: secondaryY,\r\n },\r\n {\r\n originX: secondaryX,\r\n originY: secondaryY,\r\n overlayX: secondaryX,\r\n overlayY: primaryY,\r\n },\r\n {\r\n originX: secondaryX,\r\n originY: primaryY,\r\n overlayX: secondaryX,\r\n overlayY: secondaryY,\r\n },\r\n ]);\r\n }\r\n\r\n /** Gets an observable that will emit when the overlay is supposed to be closed. */\r\n private _getCloseStream(\r\n overlayRef: OverlayRef\r\n ): Observable<void | KeyboardEvent | MouseEvent> {\r\n return merge(\r\n overlayRef.backdropClick(),\r\n overlayRef.detachments(),\r\n overlayRef.keydownEvents().pipe(\r\n filter((event) => {\r\n // Closing on alt + up is only valid when there's an input associated with the timepicker.\r\n return (\r\n (event.keyCode === ESCAPE && !hasModifierKey(event)) ||\r\n (this.timepickerInput &&\r\n hasModifierKey(event, 'altKey') &&\r\n event.keyCode === UP_ARROW)\r\n );\r\n })\r\n )\r\n );\r\n }\r\n}\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { MatTimepickerBase, MatTimepickerControl } from './timepicker-base';\r\nimport { MAT_SINGLE_TIME_SELECTION_MODEL_PROVIDER } from './time-selection-model';\r\n\r\n@Component({\r\n selector: 'mat-timepicker',\r\n template: '',\r\n exportAs: 'matTimepicker',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n MAT_SINGLE_TIME_SELECTION_MODEL_PROVIDER,\r\n { provide: MatTimepickerBase, useExisting: MatTimepicker },\r\n ],\r\n})\r\nexport class MatTimepicker<T> extends MatTimepickerBase<\r\n MatTimepickerControl<T>,\r\n T | null,\r\n T\r\n> {}\r\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Optional,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n ValidationErrors,\r\n Validator,\r\n ValidatorFn,\r\n} from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TimeAdapter } from './adapter';\r\nimport {\r\n ExtractTimeTypeFromSelection,\r\n MatTimeSelectionModel,\r\n TimeSelectionModelChange,\r\n} from './time-selection-model';\r\n\r\n/**\r\n * An event used for timepicker input and change events. We don't always have access to a native\r\n * input or change event because the event may have been triggered by the user clicking on the\r\n * clock popup. For consistency, we always use MatTimepickerInputEvent instead.\r\n */\r\nexport class MatTimepickerInputEvent<D, S = unknown> {\r\n /** The new value for the target timepicker input. */\r\n value: D | null;\r\n\r\n constructor(\r\n /** Reference to the timepicker input component that emitted the event. */\r\n public target: MatTimepickerInputBase<S, D>,\r\n /** Reference to the native input element associated with the timepicker input. */\r\n public targetElement: HTMLElement\r\n ) {\r\n this.value = this.target.value;\r\n }\r\n}\r\n\r\nconst TIME_FORMATS = { hour: '2-digit', minute: '2-digit' };\r\n\r\n@Directive()\r\nexport abstract class MatTimepickerInputBase<\r\n S,\r\n T = ExtractTimeTypeFromSelection<S>\r\n> implements ControlValueAccessor, Validator\r\n{\r\n /** The value of the input. */\r\n @Input()\r\n get value(): T | null {\r\n return this._model\r\n ? this._getValueFromModel(this._model.selection)\r\n : this._pendingValue;\r\n }\r\n set value(value: any) {\r\n this._assignValueProgrammatically(value);\r\n }\r\n protected _model: MatTimeSelectionModel<S, T> | undefined;\r\n\r\n /** Whether the timepicker-input is disabled. */\r\n @Input()\r\n get disabled(): boolean {\r\n return !!this._disabled;\r\n }\r\n set disabled(value: BooleanInput) {\r\n const newValue = coerceBooleanProperty(value);\r\n const element = this._elementRef.nativeElement;\r\n\r\n if (this._disabled !== newValue) {\r\n this._disabled = newValue;\r\n // this.stateChanges.next(undefined);\r\n }\r\n\r\n // We need to null check the `blur` method, because it's undefined during SSR.\r\n // In Ivy static bindings are invoked earlier, before the element is attached to the DOM.\r\n // This can cause an error to be thrown in some browsers (IE/Edge) which assert that the\r\n // element has been inserted.\r\n if (newValue && this._isInitialized && element.blur) {\r\n // Normally, native input elements automatically blur if they turn disabled. This behavior\r\n // is problematic, because it would mean that it triggers another change detection cycle,\r\n // which then causes a changed after checked error if the input element was focused before.\r\n element.blur();\r\n }\r\n }\r\n private _disabled: boolean;\r\n\r\n /** Emits when a change event is fired on this <input>. */\r\n @Output() readonly timeChange: EventEmitter<MatTimepickerInputEvent<T, S>> =\r\n new EventEmitter<MatTimepickerInputEvent<T, S>>();\r\n\r\n /** Emits when an input event is fired on this <input>. */\r\n @Output() readonly timeInput: EventEmitter<MatTimepickerInputEvent<T, S>> =\r\n new EventEmitter<MatTimepickerInputEvent<T, S>>();\r\n\r\n /** Combined form control validator for this input. */\r\n protected abstract _validator: ValidatorFn | null;\r\n\r\n /** Whether the component has been initialized. */\r\n private _isInitialized: boolean;\r\n\r\n /**\r\n * Since the value is kept on the model which is assigned in an Input,\r\n * we might get a value before we have a model. This property keeps track\r\n * of the value until we have somewhere to assign it.\r\n */\r\n private _pendingValue: T | null;\r\n\r\n _onTouched = () => {};\r\n _validatorOnChange = () => {};\r\n\r\n private _cvaOnChange: (value: any) => void = () => {};\r\n private _valueChangesSubscription = Subscription.EMPTY;\r\n\r\n constructor(\r\n protected _elementRef: ElementRef<HTMLInputElement>,\r\n @Optional() public _timeAdapter: TimeAdapter<T>\r\n ) {}\r\n\r\n /** Registers a time selection model with the input. */\r\n _registerModel(model: MatTimeSelectionModel<S, T>): void {\r\n this._model = model;\r\n this._valueChangesSubscription.unsubscribe();\r\n\r\n if (this._pendingValue) {\r\n this._assignValue(this._pendingValue);\r\n }\r\n\r\n this._valueChangesSubscription = this._model.selectionChanged.subscribe(\r\n (event) => {\r\n if (this._shouldHandleChangeEvent(event)) {\r\n const value = this._getValueFromModel(event.selection);\r\n this._lastValueValid = this._isValidValue(value);\r\n this._cvaOnChange(value);\r\n this._onTouched();\r\n this._formatValue(value);\r\n this.timeInput.emit(\r\n new MatTimepickerInputEvent(this, this._elementRef.nativeElement)\r\n );\r\n this.timeChange.emit(\r\n new MatTimepickerInputEvent(this, this._elementRef.nativeElement)\r\n );\r\n }\r\n }\r\n );\r\n }\r\n\r\n _onInput(value: string) {\r\n const lastValueWasValid = this._lastValueValid;\r\n let time = this._timeAdapter.parse(value, TIME_FORMATS);\r\n this._lastValueValid = this._isValidValue(time);\r\n time = this._timeAdapter.getValidTimeOrNull(time);\r\n const hasChanged = !this._timeAdapter.sameTime(time, this.value);\r\n\r\n // We need to fire the CVA change event for all\r\n // nulls, otherwise the validators won't run.\r\n if (!time || hasChanged) {\r\n this._cvaOnChange(time);\r\n } else {\r\n // Call the CVA change handler for invalid values\r\n // since this is what marks the control as dirty.\r\n if (value && !this.value) {\r\n this._cvaOnChange(time);\r\n }\r\n\r\n if (lastValueWasValid !== this._lastValueValid) {\r\n this._validatorOnChange();\r\n }\r\n }\r\n\r\n if (hasChanged) {\r\n this._assignValue(time);\r\n this.timeInput.emit(\r\n new MatTimepickerInputEvent(this, this._elementRef.nativeElement)\r\n );\r\n }\r\n }\r\n\r\n /** Handles change event on the input. */\r\n _onChange() {\r\n this.timeChange.emit(\r\n new MatTimepickerInputEvent(this, this._elementRef.nativeElement)\r\n );\r\n }\r\n\r\n /** Handles blur event on the input. */\r\n _onBlur() {\r\n // Reformat the input only if we have a valid value.\r\n if (this.value) {\r\n this._formatValue(this.value);\r\n }\r\n\r\n this._onTouched();\r\n }\r\n\r\n /** Implemented as part of ControlValueAccessor. */\r\n writeValue(value: T | null): void {\r\n this.value = value;\r\n }\r\n\r\n /** Implemented as part of ControlValueAccessor. */\r\n registerOnChange(fn: any): void {\r\n this._cvaOnChange = fn;\r\n }\r\n\r\n /** Implemented as part of ControlValueAccessor. */\r\n registerOnTouched(fn: () => void): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n /** Implemented as part of ControlValueAccessor. */\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n registerOnValidatorChange(fn: () => void): void {\r\n this._validatorOnChange = fn;\r\n }\r\n\r\n validate(c: AbstractControl): ValidationErrors | null {\r\n return this._validator ? this._validator(c) : null;\r\n }\r\n\r\n /** Whether the last value set on the input was valid. */\r\n protected _lastValueValid = false;\r\n\r\n /** Assigns a value to the input's model. */\r\n protected abstract _assignValueToModel(model: T | null): void;\r\n\r\n /** Converts a value from the model into a native value for the input. */\r\n protected abstract _getValueFromModel(modelValue: S): T | null;\r\n\r\n /** Predicate that determines whether the input should handle a particular change event. */\r\n protected abstract _shouldHandleChangeEvent(\r\n event: TimeSelectionModelChange<S>\r\n ): boolean;\r\n\r\n /** Programmatically assigns a value to the input. */\r\n protected _assignValueProgrammatically(value: T | null) {\r\n value = this._timeAdapter.deserialize(value);\r\n this._lastValueValid = this._isValidValue(value);\r\n value = this._timeAdapter.getValidTimeOrNull(value);\r\n this._assignValue(value);\r\n this._formatValue(value);\r\n }\r\n\r\n /** Formats a value and sets it on the input element. */\r\n protected _formatValue(value: T | null) {\r\n this._elementRef.nativeElement.value =\r\n value != null ? this._timeAdapter.format(value, TIME_FORMATS) : '';\r\n }\r\n\r\n /** Gets the base validator functions. */\r\n protected _getValidators(): ValidatorFn[] {\r\n return [this._parseValidator];\r\n }\r\n\r\n /** Whether a value is considered valid. */\r\n private _isValidValue(value: T | null): boolean {\r\n return !value || this._timeAdapter.isValid(value);\r\n }\r\n\r\n /** Assigns a value to the model. */\r\n private _assignValue(value: T | null) {\r\n // We may get some incoming values before the model was\r\n // assigned. Save the value so that we can assign it later.\r\n if (this._model) {\r\n this._assignValueToModel(value);\r\n this._pendingValue = null;\r\n } else {\r\n this._pendingValue = value;\r\n }\r\n }\r\n\r\n /** The form control validator for whether the input parses. */\r\n private _parseValidator: ValidatorFn = (): ValidationErrors | null => {\r\n return this._lastValueValid\r\n ? null\r\n : { matTimepickerParse: { text: this._elementRef.nativeElement.value } };\r\n };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n Inject,\r\n Input,\r\n Optional,\r\n} from '@angular/core';\r\nimport {\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ValidatorFn,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatFormField, MAT_FORM_FIELD } from '@angular/material/form-field';\r\nimport { MAT_INPUT_VALUE_ACCESSOR } from '@angular/material/input';\r\n\r\nimport { MatTimepicker } from './timepicker';\r\nimport { TimeAdapter } from './adapter/time-adapter';\r\nimport { MatTimepickerInputBase } from './timepicker-input-base';\r\nimport { TimeSelectionModelChange } from './time-selection-model';\r\nimport { MatTimepickerControl, MatTimepickerPanel } from './timepicker-base';\r\n\r\nexport const MAT_TIMEPICKER_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => MatTimepickerInput),\r\n multi: true,\r\n};\r\n\r\nexport const MAT_TIMEPICKER_VALIDATORS: any = {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => MatTimepickerInput),\r\n multi: true,\r\n};\r\n\r\n/** Directive used to connect an input to a MatTimepicker. */\r\n@Directive({\r\n selector: 'input[matTimepicker]',\r\n exportAs: 'matTimepickerInput',\r\n providers: [\r\n MAT_TIMEPICKER_VALUE_ACCESSOR,\r\n MAT_TIMEPICKER_VALIDATORS,\r\n { provide: MAT_INPUT_VALUE_ACCESSOR, useExisting: MatTimepickerInput },\r\n ],\r\n host: {\r\n class: 'mat-timepicker-input',\r\n '[disabled]': 'disabled',\r\n '(input)': '_onInput($event.target.value)',\r\n '(change)': '_onChange()',\r\n '(blur)': '_onBlur()',\r\n },\r\n})\r\nexport class MatTimepickerInput<T>\r\n extends MatTimepickerInputBase<T | null, T>\r\n implements MatTimepickerControl<T | null>\r\n{\r\n /** The timepicker that this input is associated with. */\r\n @Input()\r\n set matTimepicker(\r\n timepicker: MatTimepickerPanel<MatTimepickerControl<T>, T | null, T>\r\n ) {\r\n if (timepicker) {\r\n this._timepicker = timepicker;\r\n this._registerModel(timepicker.registerInput(this));\r\n }\r\n }\r\n private _timepicker: MatTimepickerPanel<MatTimepickerControl<T>, T | null, T>;\r\n\r\n /** The combined form control validator for this input. */\r\n protected _validator: ValidatorFn | null;\r\n\r\n constructor(\r\n elementRef: ElementRef<HTMLInputElement>,\r\n @Optional() timeAdapter: TimeAdapter<T>,\r\n @Optional() @Inject(MAT_FORM_FIELD) private _formField?: MatFormField\r\n ) {\r\n super(elementRef, timeAdapter);\r\n this._validator = Validators.compose(super._getValidators());\r\n }\r\n\r\n /**\r\n * Gets the element that the timepicker popup should be connected to.\r\n * @return The element to connect the popup to.\r\n */\r\n getConnectedOverlayOrigin(): ElementRef {\r\n return this._formField\r\n ? this._formField.getConnectedOverlayOrigin()\r\n : this._elementRef;\r\n }\r\n\r\n /** Returns the palette used by the input's form field, if any. */\r\n getThemePalette(): ThemePalette {\r\n return this._formField ? this._formField.color : undefined;\r\n }\r\n\r\n protected _assignValueToModel(value: T | null): void {\r\n if (this._model) {\r\n this._model.updateSelection(value, this);\r\n }\r\n }\r\n\r\n protected _getValueFromModel(modelValue: T | null): T | null {\r\n return modelValue;\r\n }\r\n\r\n protected _shouldHandleChangeEvent(event: TimeSelectionModelChange<T>) {\r\n return event.source !== this;\r\n }\r\n}\r\n","import { TemplatePortal } from '@angular/cdk/portal';\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport { MatTimepickerBase, MatTimepickerControl } from './timepicker-base';\r\n\r\n/** Button that will close the timepicker and assign the current selection to the data model. */\r\n@Directive({\r\n selector: '[matTimepickerApply]',\r\n host: {\r\n '(click)': '_applySelection()',\r\n },\r\n})\r\nexport class MatTimepickerApply {\r\n constructor(\r\n private _timepicker: MatTimepickerBase<MatTimepickerControl<any>, unknown>\r\n ) {}\r\n\r\n _applySelection() {\r\n this._timepicker._applyPendingSelection();\r\n this._timepicker.close();\r\n }\r\n}\r\n\r\n/** Button that will close the timepicker and discard the current selection. */\r\n@Directive({\r\n selector: '[matTimepickerCancel]',\r\n host: {\r\n '(click)': 'close()',\r\n },\r\n})\r\nexport class MatTimepickerCancel {\r\n constructor(\r\n private _timepicker: MatTimepickerBase<MatTimepickerControl<any>, unknown>\r\n ) {}\r\n\r\n close() {\r\n this._timepicker.close();\r\n }\r\n}\r\n\r\n/**\r\n * Container that can be used to project a row of action buttons\r\n * to the bottom of a timepicker.\r\n */\r\n@Component({\r\n selector: 'mat-timepicker-actions',\r\n styleUrls: ['timepicker-actions.scss'],\r\n template: `\r\n <ng-template>\r\n <div class=\"mat-timepicker-actions\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-template>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MatTimepickerActions implements AfterViewInit, OnDestroy {\r\n @ViewChild(TemplateRef) _template: TemplateRef<unknown>;\r\n\r\n private _portal: TemplatePortal;\r\n\r\n constructor(\r\n private _timepicker: MatTimepickerBase<MatTimepickerControl<any>, unknown>,\r\n private _viewContainerRef: ViewContainerRef\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n this._portal = new TemplatePortal(this._template, this._viewContainerRef);\r\n this._timepicker.registerActions(this._portal);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._timepicker.removeActions(this._portal);\r\n\r\n // Needs to be null checked since we initialize it in `ngAfterViewInit`.\r\n if (this._portal && this._portal.isAttached) {\r\n this._portal?.detach();\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Default action buttons to the bottom of a timepicker.\r\n */\r\n@Component({\r\n selector: 'mat-timepicker-default-actions',\r\n styleUrls: ['timepicker-actions.scss'],\r\n template: `\r\n <div class=\"mat-timepicker-actions\">\r\n <ng-content></ng-content>\r\n <button color=\"primary\" mat-button matTimepickerCancel>Cancel</button>\r\n <button color=\"primary\" mat-button matTimepickerApply>OK</button>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MatTimepickerDefaultActions {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\n\r\nimport { MAT_TIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER } from './timepicker-scroll-strategy';\r\nimport {\r\n MatTimepickerToggle,\r\n MatTimepickerToggleIcon,\r\n} from './timepicker-toggle';\r\nimport { MatTimepicker } from './timepicker';\r\nimport { MatTimepickerContent } from './timepicker-content';\r\nimport { MatTimepickerContentLayout } from './timepicker-content-layout';\r\nimport { MatTimepickerInput } from './timepicker-input';\r\nimport { MatTimeInput, MatTimeInputs } from './time-inputs';\r\nimport { MatClockDials } from './clock-dials';\r\nimport { MatHoursClockDial } from './hours-clock-dial';\r\nimport { MatMinutesClockDial } from './minutes-clock-dial';\r\nimport { MatTimePeriod } from './time-period';\r\nimport {\r\n MatTimepickerActions,\r\n MatTimepickerApply,\r\n MatTimepickerCancel,\r\n MatTimepickerDefaultActions,\r\n} from './timepicker-actions';\r\nimport { MAT_DEFAULT_ACITONS } from './timepicker-actions-default';\r\n\r\n@NgModule({\r\n declarations: [\r\n MatTimepickerToggle,\r\n MatTimepickerToggleIcon,\r\n MatTimepicker,\r\n MatTimepickerContent,\r\n MatTimepickerContentLayout,\r\n MatTimepickerInput,\r\n MatTimeInputs,\r\n MatTimeInput,\r\n MatClockDials,\r\n MatHoursClockDial,\r\n MatMinutesClockDial,\r\n MatTimePeriod,\r\n MatTimepickerActions,\r\n MatTimepickerDefaultActions,\r\n MatTimepickerApply,\r\n MatTimepickerCancel,\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatButtonModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatRippleModule,\r\n MatDividerModule,\r\n OverlayModule,\r\n PortalModule,\r\n A11yModule,\r\n ],\r\n exports: [\r\n CdkScrollableModule,\r\n MatTimepickerToggle,\r\n MatTimepickerToggleIcon,\r\n MatTimepicker,\r\n MatTimepickerContent,\r\n MatTimepickerContentLayout,\r\n MatTimepickerInput,\r\n MatTimeInputs,\r\n MatTimeInput,\r\n MatClockDials,\r\n MatHoursClockDial,\r\n MatMinutesClockDial,\r\n MatTimepickerActions,\r\n MatTimepickerDefaultActions,\r\n MatTimepickerApply,\r\n MatTimepickerCancel,\r\n ],\r\n providers: [\r\n MAT_TIMEPICKER_SCROLL_STRATEGY_FACTORY_PROVIDER,\r\n { provide: Window, useValue: window },\r\n { provide: MAT_DEFAULT_ACITONS, useValue: MatTimepickerDefaultActions },\r\n ],\r\n})\r\nexport class MatTimepickerModule {}\r\n","/*\r\n * Public API Surface of mat-timepicker\r\n */\r\n\r\nexport * from './lib/timepicker.module';\r\nexport * from './lib/timepicker';\r\nexport * from './lib/timepicker-toggle';\r\nexport * from './lib/timepicker-content';\r\nexport * from './lib/timepicker-content-layout';\r\nexport * from './lib/timepicker-input';\r\nexport * from './lib/hours-clock-dial';\r\nexport * from './lib/minutes-clock-dial';\r\nexport * from './lib/time-inputs';\r\nexport * from './lib/clock-dials';\r\nexport * from './lib/time-period';\r\nexport * from './lib/timepicker-actions';\r\nexport * from './lib/timepicker-actions-default';\r\nexport * from './lib/adapter';\r\nexport * from './lib/timepicker-scroll-strategy';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","Overlay","i0","Directive","coerceBooleanProperty","i1","i2","Component","ViewEncapsulation","ChangeDetectionStrategy","Attribute","Input","ContentChild","trigger","transition","animate","keyframes","style","state","LOCALE_ID","Injectable","Optional","Inject","PlatformModule","NgModule","Subject","i1.TimeAdapter","SkipSelf","EventEmitter","Output","DOCUMENT","i2.MatTimepickerContentLayout","i3","i4.MatTimePeriod","i5","i6","CLOCK_RADIUS","CLOCK_TICK_RADIUS","CLOCK_CORRECTED_RADIUS","CLOCK_OUTER_RADIUS","merge","fromEvent","debounceTime","take","BehaviorSubject","Subscription","i3.MatTimePeriod","i4.MatHoursClockDial","i5.MatMinutesClockDial","mixinColor","i1.MatTimeSelectionModel","i2.TimeAdapter","i3.MatTimeInputs","i4","i5.MatClockDials","i7","i8","FlexibleConnectedPositionStrategy","first","ComponentPortal","OverlayConfig","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","PAGE_UP","PAGE_DOWN","filter","ESCAPE","hasModifierKey","i2.MatTimeSelectionModel","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Validators","MAT_FORM_FIELD","MAT_INPUT_VALUE_ACCESSOR","i1.MatTimepickerBase","TemplatePortal","TemplateRef","ViewChild","CommonModule","MatButtonModule","MatFormFieldModule","MatInputModule","MatIconModule","MatRippleModule","MatDividerModule","OverlayModule","PortalModule","A11yModule","CdkScrollableModule"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGh1dGFyeWFuLW5neC1tYXQtdGltZXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hdC10aW1lcGlja2VyL3NyYy9kaHV0YXJ5YW4tbmd4LW1hdC10aW1lcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { PlatformModule } from '@angular/cdk/platform';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MAT_TIME_LOCALE_PROVIDER, TimeAdapter } from './time-adapter';
|
|
4
|
+
import { NativeDateTimeAdapter } from './native-date-time-adapter';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export * from './time-adapter';
|
|
7
|
+
export * from './native-date-time-adapter';
|
|
8
|
+
export class MatNativeDateTimeModule {
|
|
9
|
+
}
|
|
10
|
+
MatNativeDateTimeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatNativeDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
MatNativeDateTimeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatNativeDateTimeModule, imports: [PlatformModule] });
|
|
12
|
+
MatNativeDateTimeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatNativeDateTimeModule, providers: [
|
|
13
|
+
{ provide: TimeAdapter, useClass: NativeDateTimeAdapter },
|
|
14
|
+
MAT_TIME_LOCALE_PROVIDER,
|
|
15
|
+
], imports: [[PlatformModule]] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatNativeDateTimeModule, decorators: [{
|
|
17
|
+
type: NgModule,
|
|
18
|
+
args: [{
|
|
19
|
+
imports: [PlatformModule],
|
|
20
|
+
providers: [
|
|
21
|
+
{ provide: TimeAdapter, useClass: NativeDateTimeAdapter },
|
|
22
|
+
MAT_TIME_LOCALE_PROVIDER,
|
|
23
|
+
],
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL2FkYXB0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUVuRSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsNEJBQTRCLENBQUM7QUFTM0MsTUFBTSxPQUFPLHVCQUF1Qjs7cUhBQXZCLHVCQUF1QjtzSEFBdkIsdUJBQXVCLFlBTnhCLGNBQWM7c0hBTWIsdUJBQXVCLGFBTHZCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTtRQUN6RCx3QkFBd0I7S0FDekIsWUFKUSxDQUFDLGNBQWMsQ0FBQzs0RkFNZCx1QkFBdUI7a0JBUG5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTt3QkFDekQsd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1BVF9USU1FX0xPQ0FMRV9QUk9WSURFUiwgVGltZUFkYXB0ZXIgfSBmcm9tICcuL3RpbWUtYWRhcHRlcic7XHJcbmltcG9ydCB7IE5hdGl2ZURhdGVUaW1lQWRhcHRlciB9IGZyb20gJy4vbmF0aXZlLWRhdGUtdGltZS1hZGFwdGVyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdGltZS1hZGFwdGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYXRpdmUtZGF0ZS10aW1lLWFkYXB0ZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbUGxhdGZvcm1Nb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBUaW1lQWRhcHRlciwgdXNlQ2xhc3M6IE5hdGl2ZURhdGVUaW1lQWRhcHRlciB9LFxyXG4gICAgTUFUX1RJTUVfTE9DQUxFX1BST1ZJREVSLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXROYXRpdmVEYXRlVGltZU1vZHVsZSB7fVxyXG4iXX0=
|