@wkly/datetime-picker 12.0.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/bundles/wkly-datetime-picker.umd.js +18 -13
- package/bundles/wkly-datetime-picker.umd.js.map +1 -1
- package/esm2015/field.component.css.shim.ngstyle.js +1 -1
- package/esm2015/field.component.js +1 -1
- package/esm2015/picker.component.js +18 -13
- package/fesm2015/wkly-datetime-picker.js +18 -13
- package/fesm2015/wkly-datetime-picker.js.map +1 -1
- package/package.json +23 -5
- package/picker.component.d.ts +1 -0
- package/wkly-datetime-picker.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wkly-datetime-picker.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/wkly-datetime-picker.12/src/config.ts","../../../projects/wkly-datetime-picker.12/src/picker.component.ts","../../../projects/wkly-datetime-picker.12/src/presentation.ts","../../../projects/wkly-datetime-picker.12/src/field.component.ts","../../../projects/wkly-datetime-picker.12/src/public-api.ts","../../../projects/wkly-datetime-picker.12/src/wkly-datetime-picker.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import {\n Directive,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n} from \"@angular/core\";\nimport { WklyWeekOffset } from \"@wkly/core\";\nimport {\n WklyCalendarAdapter,\n WklyDisabledDatePredicate,\n WklyDisabledTimePredicate,\n WklyHourCycle,\n WklyPickerValue,\n WklyRangeValidator,\n WklySelectionMode,\n WklyValidationError,\n WklyViewportPreset,\n WklyWeekLabelFormatter,\n WklyWeekLabelMode,\n} from \"@wkly/adapters\";\nimport {\n DEFAULT_OVERSCAN_WEEKS,\n WklyClock,\n WklyConfiguration,\n WklyCloseReason,\n WklyPickerInputs as WklyPickerInputsContract,\n WklyPickerOutputs as WklyPickerOutputsContract,\n WklyStrings,\n WklyTranslations,\n WklyViewportChange,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n} from \"@wkly/presentation\";\nexport * from \"@wkly/presentation\";\nexport const WKLY_CLOCK = new InjectionToken<WklyClock>(\"WKLY_CLOCK\", {\n providedIn: \"root\",\n factory: () => ({ now: () => new Date() }),\n});\nexport const WKLY_CONFIG = new InjectionToken<WklyConfiguration>(\n \"WKLY_CONFIG\",\n { providedIn: \"root\", factory: () => ({}) },\n);\nexport const WKLY_LOCALIZATION = new InjectionToken<WklyStrings>(\n \"WKLY_LOCALIZATION\",\n { providedIn: \"root\", factory: () => ({}) },\n);\nexport const WKLY_TRANSLATIONS = new InjectionToken<WklyTranslations>(\n \"WKLY_TRANSLATIONS\",\n { providedIn: \"root\", factory: () => ({}) },\n);\n/** Shared public inputs/outputs inherited by the picker and both trigger directives. */\n// Inherited inputs need literal names in published decorator metadata.\n@Directive({\n inputs: [\n \"mode\",\n \"value\",\n \"calendarAdapter\",\n \"locale\",\n \"weekOffset\",\n \"viewportPreset\",\n \"hourCycle\",\n \"showSeconds\",\n \"minuteStep\",\n \"secondStep\",\n \"min\",\n \"max\",\n \"isDateDisabled\",\n \"isTimeDisabled\",\n \"rangeValidator\",\n \"allowRangeAcrossDisabled\",\n \"required\",\n \"disabled\",\n \"weekLabelMode\",\n \"weekLabelFormatter\",\n \"weekCacheSize\",\n \"overscanWeeks\",\n \"ariaLabel\",\n \"ariaDescribedBy\",\n \"initialEpochDay\",\n \"closeOnBackdrop\",\n \"validators\",\n \"translations\",\n ],\n outputs: [\n \"valueChange\",\n \"validationChange\",\n \"opened\",\n \"closed\",\n \"viewportChange\",\n \"viewModeChange\",\n ],\n})\nexport abstract class WklyPickerInputs\n implements WklyPickerInputsContract, WklyPickerOutputsContract\n{\n @Input() [WklyPickerInputsPropertyKeys.Mode]: WklySelectionMode = \"datetime\";\n @Input() [WklyPickerInputsPropertyKeys.Value]: WklyPickerValue = null;\n @Input() [WklyPickerInputsPropertyKeys.CalendarAdapter]!: WklyCalendarAdapter;\n @Input() [WklyPickerInputsPropertyKeys.Locale]: string = \"\";\n @Input() [WklyPickerInputsPropertyKeys.WeekOffset]: WklyWeekOffset | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.ViewportPreset]: WklyViewportPreset = {\n kind: \"full-month\",\n };\n @Input() [WklyPickerInputsPropertyKeys.HourCycle]: WklyHourCycle = \"locale\";\n @Input() [WklyPickerInputsPropertyKeys.ShowSeconds]: boolean = false;\n @Input() [WklyPickerInputsPropertyKeys.MinuteStep]: number = 1;\n @Input() [WklyPickerInputsPropertyKeys.SecondStep]: number = 1;\n @Input() [WklyPickerInputsPropertyKeys.Min]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.Max]: string | null = null;\n @Input()\n [WklyPickerInputsPropertyKeys.IsDateDisabled]: WklyDisabledDatePredicate | null =\n null;\n @Input()\n [WklyPickerInputsPropertyKeys.IsTimeDisabled]: WklyDisabledTimePredicate | null =\n null;\n @Input()\n [WklyPickerInputsPropertyKeys.RangeValidator]: WklyRangeValidator | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled] = false;\n @Input() [WklyPickerInputsPropertyKeys.Required] = false;\n @Input() [WklyPickerInputsPropertyKeys.Disabled] = false;\n @Input() [WklyPickerInputsPropertyKeys.WeekLabelMode]: WklyWeekLabelMode =\n \"locale\";\n @Input()\n [WklyPickerInputsPropertyKeys.WeekLabelFormatter]: WklyWeekLabelFormatter | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.WeekCacheSize] = 256;\n @Input() [WklyPickerInputsPropertyKeys.OverscanWeeks] =\n DEFAULT_OVERSCAN_WEEKS;\n @Input() [WklyPickerInputsPropertyKeys.AriaLabel]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.AriaDescribedBy]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.InitialEpochDay]: number | null = null;\n @Input() [WklyPickerInputsPropertyKeys.CloseOnBackdrop] = true;\n @Input() [WklyPickerInputsPropertyKeys.Validators]: readonly ((\n value: WklyPickerValue,\n ) => WklyValidationError | null)[] = [];\n @Input()\n [WklyPickerInputsPropertyKeys.Translations]: WklyTranslations | null = null;\n @Output() [WklyPickerOutputsPropertyKeys.ValueChange] =\n new EventEmitter<WklyPickerValue>();\n @Output() [WklyPickerOutputsPropertyKeys.ValidationChange] = new EventEmitter<\n readonly WklyValidationError[]\n >(true);\n @Output() [WklyPickerOutputsPropertyKeys.Opened] = new EventEmitter<void>();\n @Output() [WklyPickerOutputsPropertyKeys.Closed] =\n new EventEmitter<WklyCloseReason>();\n @Output() [WklyPickerOutputsPropertyKeys.ViewportChange] =\n new EventEmitter<WklyViewportChange>(true);\n @Output() [WklyPickerOutputsPropertyKeys.ViewModeChange] = new EventEmitter<\n \"calendar\" | \"manual\"\n >();\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n ViewChild,\n} from \"@angular/core\";\nimport { getLocaleFirstDayOfWeek, isPlatformBrowser } from \"@angular/common\";\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport {\n absoluteWeekOf,\n createWeekGenerator,\n firstEpochDayOf,\n integer,\n WklyWeekGenerator,\n WklyWeekOffset,\n} from \"@wkly/core\";\nimport {\n decodeIso,\n error,\n resolveWeekOffset,\n validateSelection,\n WklyCalendarAdapter,\n WklyCalendarDate,\n WklyDateTime,\n WklyGregorianCalendarAdapter,\n WklyPickerValue,\n WklyValidationError,\n} from \"@wkly/adapters\";\nimport {\n draftDayDifference,\n setDraftDayDifference,\n calendarMonthBounds,\n resolveWklyTranslation,\n createWeekRows,\n validateDrafts,\n WklyDraft as Draft,\n WklyWeekRow as Row,\n} from \"@wkly/presentation\";\nimport {\n coerceBoolean,\n WKLY_CLOCK,\n WKLY_CONFIG,\n WKLY_LOCALIZATION,\n WKLY_TRANSLATIONS,\n WklyClock,\n WklyCloseReason,\n WklyConfiguration,\n WklyJumpOptions,\n WklyPickerInputs,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n WklyStrings,\n WklyTranslations,\n} from \"./config\";\ndeclare class ResizeObserver {\n constructor(callback: () => void);\n observe(element: Element): void;\n disconnect(): void;\n}\n@Component({\n selector: \"wkly-datetime-picker\",\n templateUrl: \"./picker.component.html\",\n styleUrls: [\"../../wkly-datetime-picker/src/picker.component.css\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerComponent\n extends WklyPickerInputs\n implements\n OnInit,\n OnChanges,\n AfterViewInit,\n OnDestroy,\n ControlValueAccessor,\n Validator\n{\n @ViewChild(\"scroller\") scroller?: ElementRef<HTMLElement>;\n presentation: \"inline\" | \"transient\" = \"inline\";\n viewMode: \"calendar\" | \"manual\" = \"calendar\";\n endView: \"date\" | \"days\" = \"date\";\n adapter!: WklyCalendarAdapter;\n effectiveLocale = \"en-US\";\n effectiveOffset: WklyWeekOffset = 0;\n effectiveHourCycle: \"h12\" | \"h24\" = \"h24\";\n direction = \"ltr\";\n rows: Row[] = [];\n weekdays: string[] = [];\n drafts: Draft[] = [];\n errors: readonly WklyValidationError[] = [];\n today = 0;\n focused = 0;\n anchorWeek = 0;\n firstWeek = 0;\n visibleCount = 6;\n rowHeight = 76;\n scrollHeight = 152076;\n paddingTop = 0;\n initialized = false;\n compact = false;\n readonly WklyPickerInputsPropertyKeys = WklyPickerInputsPropertyKeys;\n private baseWeek = 0;\n private firstSupportedDay = 0;\n private lastSupportedDay = 0;\n private firstSupportedWeek = 0;\n private lastSupportedWeek = 0;\n private generator!: WklyWeekGenerator;\n private initialMonth = \"\";\n private clipMonth = false;\n private browser = false;\n private observer?: ResizeObserver;\n private destroyed = false;\n private scrollEndTimer?: ReturnType<typeof setTimeout>;\n private snapPending = false;\n private onChange: (value: WklyPickerValue) => void = () => {};\n private onTouched: () => void = () => {};\n private validatorChanged: () => void = () => {};\n private configErrors: WklyValidationError[] = [];\n private pendingValue: WklyPickerValue = null;\n private emittedValue: string | null = null;\n private manualDateEndpoint = 0;\n constructor(\n @Inject(LOCALE_ID) private defaultLocale: string,\n @Inject(WKLY_CONFIG) private defaults: WklyConfiguration,\n @Inject(WKLY_CLOCK) private clock: WklyClock,\n @Inject(WKLY_LOCALIZATION) private strings: WklyStrings,\n @Inject(WKLY_TRANSLATIONS) private defaultTranslations: WklyTranslations,\n @Inject(PLATFORM_ID) platform: Object,\n private host: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n ) {\n super();\n this.browser = isPlatformBrowser(platform);\n }\n ngOnInit(): void {\n this.initialize();\n }\n ngOnChanges(changes: any): void {\n if (this.initialized) {\n if (\n Object.keys(changes).length === 1 &&\n changes[WklyPickerInputsPropertyKeys.Value] &&\n this.emittedValue ===\n JSON.stringify(this[WklyPickerInputsPropertyKeys.Value])\n ) {\n this.emittedValue = null;\n return;\n }\n const focus = this.focused;\n this.configure();\n if (\n changes[WklyPickerInputsPropertyKeys.Value] ||\n changes[WklyPickerInputsPropertyKeys.Mode] ||\n changes[WklyPickerInputsPropertyKeys.CalendarAdapter]\n ) {\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.position(this.focused, true);\n } else {\n this.check();\n if (changes[WklyPickerInputsPropertyKeys.ViewportPreset])\n this.position(focus, true);\n else this.scrollToEpochDay(focus);\n }\n }\n }\n initialize(): void {\n if (this.initialized) return;\n this.configure();\n const initialEpochDay = this[WklyPickerInputsPropertyKeys.InitialEpochDay];\n this.today = this.browser\n ? Math.floor(this.clock.now().getTime() / 86400000)\n : initialEpochDay === null\n ? 0\n : initialEpochDay;\n this.focused =\n initialEpochDay === null\n ? this.defaults.initialEpochDay === undefined\n ? this.today\n : this.defaults.initialEpochDay\n : initialEpochDay;\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.initialized = true;\n this.position(this.focused, true);\n }\n configure(): void {\n this.configErrors = [];\n [\n WklyPickerInputsPropertyKeys.ShowSeconds,\n WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled,\n WklyPickerInputsPropertyKeys.Required,\n WklyPickerInputsPropertyKeys.Disabled,\n WklyPickerInputsPropertyKeys.CloseOnBackdrop,\n ].forEach(\n (key) => ((this as any)[key] = coerceBoolean((this as any)[key])),\n );\n this.effectiveLocale =\n this[WklyPickerInputsPropertyKeys.Locale] ||\n this.defaults.locale ||\n this.defaultLocale;\n this.direction = /^(ar|he|fa|ur)(-|$)/.test(this.effectiveLocale)\n ? \"rtl\"\n : \"ltr\";\n this.adapter =\n this[WklyPickerInputsPropertyKeys.CalendarAdapter] ||\n new WklyGregorianCalendarAdapter(this.effectiveLocale);\n try {\n let firstDay: number | undefined;\n try {\n firstDay = getLocaleFirstDayOfWeek(this.effectiveLocale);\n } catch (_) {}\n this.effectiveOffset = resolveWeekOffset(\n this.effectiveLocale,\n this[WklyPickerInputsPropertyKeys.WeekOffset],\n this.defaults.weekOffset,\n firstDay,\n );\n integer(this[WklyPickerInputsPropertyKeys.WeekCacheSize]);\n integer(this[WklyPickerInputsPropertyKeys.OverscanWeeks]);\n if (\n this[WklyPickerInputsPropertyKeys.WeekCacheSize] < 0 ||\n this[WklyPickerInputsPropertyKeys.OverscanWeeks] < 0 ||\n this[WklyPickerInputsPropertyKeys.OverscanWeeks] > 50\n )\n throw new RangeError();\n if (\n ![\n \"datetime\",\n \"date\",\n \"time\",\n \"datetime-range\",\n \"date-range\",\n \"time-range\",\n ].includes(this[WklyPickerInputsPropertyKeys.Mode])\n )\n throw new RangeError();\n const preset = this[WklyPickerInputsPropertyKeys.ViewportPreset];\n if (preset.kind === \"weeks\") {\n integer(preset.visibleWeekCount);\n if (preset.visibleWeekCount < 1 || preset.visibleWeekCount > 52)\n throw new RangeError();\n }\n if (preset.kind === \"full-month-and-around\")\n for (const n of [\n preset.extraWeeksBefore || 0,\n preset.extraWeeksAfter || 0,\n ]) {\n integer(n);\n if (n < 0 || n > 52) throw new RangeError();\n }\n this.generator = createWeekGenerator({\n weekOffset: this.effectiveOffset,\n cacheSize: this[WklyPickerInputsPropertyKeys.WeekCacheSize],\n });\n } catch (_) {\n this.configErrors.push(\n error(\n \"configuration-error\",\n this[WklyPickerInputsPropertyKeys.WeekOffset],\n ),\n );\n this.generator = createWeekGenerator();\n this.effectiveOffset = 0;\n }\n this.setSupportedScrollRange();\n this.effectiveHourCycle =\n this[WklyPickerInputsPropertyKeys.HourCycle] === \"h12\"\n ? \"h12\"\n : this[WklyPickerInputsPropertyKeys.HourCycle] === \"locale\"\n ? new Intl.DateTimeFormat(this.effectiveLocale, {\n hour: \"numeric\",\n timeZone: \"UTC\",\n }).resolvedOptions().hour12\n ? \"h12\"\n : \"h24\"\n : \"h24\";\n this.weekdays = Array.from({ length: 7 }, (_, i) =>\n this.adapter.formatWeekday(this.effectiveOffset + i, \"short\"),\n );\n }\n private setSupportedScrollRange(): void {\n let [first, last] = this.adapter.supportedEpochDayRange;\n const [firstYear, lastYear] = this.adapter.supportedYearRange;\n const yearOf = (day: number) => this.adapter.epochDayToDate(day).year;\n if (yearOf(first) < firstYear) {\n let low = first,\n high = last;\n while (low < high) {\n const mid = Math.floor((low + high) / 2);\n if (yearOf(mid) < firstYear) low = mid + 1;\n else high = mid;\n }\n first = low;\n }\n if (yearOf(last) > lastYear) {\n let low = first,\n high = last;\n while (low < high) {\n const mid = Math.ceil((low + high) / 2);\n if (yearOf(mid) > lastYear) high = mid - 1;\n else low = mid;\n }\n last = low;\n }\n if (\n first > last ||\n yearOf(first) < firstYear ||\n yearOf(first) > lastYear ||\n yearOf(last) < firstYear ||\n yearOf(last) > lastYear\n )\n throw new RangeError(\"No supported days within the calendar year range\");\n this.firstSupportedDay = first;\n this.lastSupportedDay = last;\n this.firstSupportedWeek = absoluteWeekOf(first, this.effectiveOffset);\n this.lastSupportedWeek = absoluteWeekOf(last, this.effectiveOffset);\n }\n private clampFirstWeek(week: number): number {\n // Keep supported weeks inside the viewport; renderRows adds the buffer rows.\n const last = Math.max(\n this.firstSupportedWeek,\n this.lastSupportedWeek - this.visibleCount + 1,\n );\n return Math.max(this.firstSupportedWeek, Math.min(last, week));\n }\n ngAfterViewInit(): void {\n this.resetScroll();\n if (this.browser && typeof ResizeObserver !== \"undefined\") {\n this.observer = new ResizeObserver(() => {\n this.compact = this.host.nativeElement.clientWidth < 338;\n const row = this.host.nativeElement.querySelector(\n \".week-row\",\n ) as HTMLElement;\n // CSS heights and scrollTop use layout pixels; client rectangles include zoom.\n const height = row ? parseFloat(getComputedStyle(row).height) : 0;\n if (height && height !== this.rowHeight) {\n this.rowHeight = height;\n this.scrollHeight = this.rowHeight * 2001;\n this.renderRows();\n this.resetScroll();\n }\n });\n this.observer.observe(this.host.nativeElement);\n }\n }\n ngOnDestroy(): void {\n this.destroyed = true;\n if (this.observer) this.observer.disconnect();\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n if (this.generator) this.generator.clearCache();\n }\n t(key: string): string {\n return resolveWklyTranslation(\n key,\n this.effectiveLocale,\n this[WklyPickerInputsPropertyKeys.Translations] ||\n this.defaultTranslations,\n this.strings,\n );\n }\n get isRange(): boolean {\n return this[WklyPickerInputsPropertyKeys.Mode].endsWith(\"-range\");\n }\n get hasDate(): boolean {\n return !this[WklyPickerInputsPropertyKeys.Mode].startsWith(\"time\");\n }\n get hasTime(): boolean {\n return (\n this[WklyPickerInputsPropertyKeys.Mode] !== \"date\" &&\n this[WklyPickerInputsPropertyKeys.Mode] !== \"date-range\"\n );\n }\n get submitVisible(): boolean {\n return (\n this.presentation === \"transient\" &&\n (this[WklyPickerInputsPropertyKeys.Mode] !== \"date\" ||\n this.viewMode === \"manual\")\n );\n }\n get title(): string {\n try {\n const d = this.adapter.epochDayToDate(\n Math.max(\n this.firstSupportedDay,\n Math.min(\n this.lastSupportedDay,\n firstEpochDayOf(this.anchorWeek, this.effectiveOffset),\n ),\n ),\n );\n return this.adapter.formatMonth(d) + \" \" + this.adapter.formatYear(d);\n } catch (_) {\n return \"\";\n }\n }\n get canSubmit(): boolean {\n return (\n !this[WklyPickerInputsPropertyKeys.Disabled] &&\n !this.errors.length &&\n this.pendingValue !== null\n );\n }\n private blank(day: number): Draft {\n const safe = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n return {\n date: this.adapter.epochDayToDate(safe),\n hour: 0,\n minute: 0,\n second: 0,\n present: false,\n };\n }\n load(value: WklyPickerValue): void {\n this.drafts = [this.blank(this.focused), this.blank(this.focused)];\n const validation = validateSelection(value, this, this.adapter);\n if (value !== null && !validation.length) {\n const values = typeof value === \"string\" ? [value] : value;\n values.forEach((v, i) => {\n const d = decodeIso(v);\n this.drafts[i] = {\n date: this.hasDate\n ? this.adapter.epochDayToDate(d.epochDay)\n : this.blank(this.today).date,\n hour: d.hour,\n minute: d.minute,\n second: d.second,\n present: true,\n };\n if (i === 0 && this.hasDate) this.focused = d.epochDay;\n });\n }\n if (validation.length) {\n this.pendingValue = null;\n this.report(validation);\n } else this.check();\n }\n writeValue(value: WklyPickerValue): void {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n if (this.initialized) {\n this.load(value);\n this.position(this.focused, true);\n }\n }\n registerOnChange(fn: (value: WklyPickerValue) => void): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(disabled: boolean): void {\n this[WklyPickerInputsPropertyKeys.Disabled] = disabled;\n }\n validate(_control: AbstractControl): ValidationErrors | null {\n return this.errors.length ? { wkly: this.errors } : null;\n }\n registerOnValidatorChange(fn: () => void): void {\n this.validatorChanged = fn;\n }\n touched(): void {\n Promise.resolve().then(() => this.onTouched());\n }\n private report(errors: readonly WklyValidationError[]): void {\n const changed = JSON.stringify(this.errors) !== JSON.stringify(errors);\n this.errors = errors;\n if (changed) {\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(errors);\n this.validatorChanged();\n }\n }\n check(): void {\n const result = validateDrafts({\n drafts: this.drafts,\n configErrors: this.configErrors,\n adapter: this.adapter,\n selection: this,\n mode: this[WklyPickerInputsPropertyKeys.Mode],\n isRange: this.isRange,\n hasDate: this.hasDate,\n hasTime: this.hasTime,\n showSeconds: this[WklyPickerInputsPropertyKeys.ShowSeconds],\n required: this[WklyPickerInputsPropertyKeys.Required],\n });\n this.pendingValue = result.pendingValue;\n this.report(result.errors);\n }\n trackDraft(index: number): number {\n // Endpoint controls keep their identity and focus when draft objects swap.\n return index;\n }\n private orderDrafts(): void {\n if (!this.isRange || !this.drafts.every((draft) => draft.present)) return;\n if (this.drafts.some((draft) => draft.unsupportedEpochDay !== undefined))\n return;\n try {\n const a = this.drafts[0],\n b = this.drafts[1];\n const key = (d: Draft) =>\n this.adapter.dateToEpochDay(d.date) * 86400 +\n (d.hour || 0) * 3600 +\n (d.minute || 0) * 60 +\n (d.second || 0);\n if (key(a) > key(b)) this.drafts = [b, a];\n } catch (_) {\n // Impossible or incomplete dates remain editable until corrected.\n }\n }\n finish(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.orderDrafts();\n if (this.viewMode === \"manual\" && this.hasDate) this.positionOnManualDate();\n this.check();\n if (this.presentation === \"inline\" && this.canSubmit) this.commit();\n }\n private commit(): void {\n if (!this.canSubmit) return;\n const next = this.pendingValue;\n if (\n JSON.stringify(next) !==\n JSON.stringify(this[WklyPickerInputsPropertyKeys.Value])\n ) {\n this[WklyPickerInputsPropertyKeys.Value] = next;\n this.emittedValue = JSON.stringify(next);\n this.onChange(next);\n this[WklyPickerOutputsPropertyKeys.ValueChange].emit(next);\n }\n this.onTouched();\n }\n submit(reason: WklyCloseReason = \"submit\"): void {\n this.check();\n if (!this.canSubmit) return;\n this.commit();\n if (this.presentation === \"transient\")\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n cancel(reason: WklyCloseReason = \"close-button\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.onTouched();\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n now(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n const n = this.clock.now();\n const day = Math.floor(n.getTime() / 86400000);\n this.drafts = [0, 1].map((index) => ({\n ...this.clockDraft(day, n),\n present: index === 0 || this.isRange,\n }));\n if (\n this.hasDate &&\n (day < this.firstSupportedDay || day > this.lastSupportedDay)\n ) {\n this.report([error(\"unsupported-adapter-date\", day)]);\n return;\n }\n this.focused = day;\n this.position(day, true);\n this.check();\n this.submit(\"now\");\n }\n private clockDraft(day: number, now: Date): Draft {\n return {\n ...this.blank(day),\n hour: now.getUTCHours(),\n minute:\n Math.floor(\n now.getUTCMinutes() / this[WklyPickerInputsPropertyKeys.MinuteStep],\n ) * this[WklyPickerInputsPropertyKeys.MinuteStep],\n second: this[WklyPickerInputsPropertyKeys.ShowSeconds]\n ? Math.floor(\n now.getUTCSeconds() / this[WklyPickerInputsPropertyKeys.SecondStep],\n ) * this[WklyPickerInputsPropertyKeys.SecondStep]\n : 0,\n };\n }\n private initializeManualRange(): void {\n if (\n !this.isRange ||\n !this.hasDate ||\n this.drafts.every((draft) => draft.present)\n )\n return;\n let seed = this.drafts.find((draft) => draft.present);\n if (!seed) {\n if (this[WklyPickerInputsPropertyKeys.Value] !== null) return;\n const now = this.clock.now();\n const initialEpochDay =\n this[WklyPickerInputsPropertyKeys.InitialEpochDay];\n const day =\n initialEpochDay === null\n ? this.defaults.initialEpochDay === undefined\n ? Math.floor(now.getTime() / 86400000)\n : this.defaults.initialEpochDay\n : initialEpochDay;\n seed = { ...this.clockDraft(day, now), present: true };\n }\n // Complete missing endpoints without replacing selected or invalid drafts.\n const initial = seed;\n this.drafts = this.drafts.map((draft) =>\n draft.present ? draft : { ...initial, date: { ...initial.date } },\n );\n this.finish();\n // Positioning renders before validation; refresh completion controls afterward.\n this.changeDetector.markForCheck();\n }\n toggleView(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || !this.hasDate) return;\n this.viewMode = this.viewMode === \"calendar\" ? \"manual\" : \"calendar\";\n if (this.viewMode === \"manual\") this.initializeManualRange();\n if (this.viewMode === \"calendar\") this.positionOnManualDate();\n this[WklyPickerOutputsPropertyKeys.ViewModeChange].emit(this.viewMode);\n if (this.viewMode === \"calendar\") setTimeout(() => this.resetScroll());\n }\n private positionOnManualDate(): void {\n const draft = this.drafts[this.manualDateEndpoint];\n if (!draft || !draft.present) return;\n try {\n // A valid day follows the selection. An impossible day keeps its draft\n // fields but still shows the chosen month in the calendar.\n const target = this.adapter.dateToEpochDay(draft.date);\n this.focused = target;\n this.position(target, true);\n } catch (_) {\n try {\n const first = this.adapter.dateToEpochDay({ ...draft.date, day: 1 });\n this.focused = first;\n this.position(first, true);\n } catch (_) {}\n }\n }\n months(draft: Draft): readonly string[] {\n try {\n return this.adapter.getMonths(draft.date.year).map((m) => m.label);\n } catch (_) {\n return [];\n }\n }\n monthCount(draft: Draft): number {\n return this.months(draft).length || 12;\n }\n get inDays(): number | null {\n return draftDayDifference(this.drafts, this.adapter);\n }\n get inDaysLabel(): string {\n const days = this.inDays;\n return this.t(\"inDays\").replace(\n /{{\\s*days\\s*}}/g,\n days === null\n ? this.t(\"daysUnavailable\")\n : new Intl.NumberFormat(this.effectiveLocale, {\n useGrouping: false,\n }).format(days),\n );\n }\n get resultingEndDate(): string {\n try {\n const draft = this.drafts[1];\n if (\n draft.unsupportedEpochDay !== undefined ||\n this.adapter.validateDate(draft.date).length\n )\n return \"\";\n return [\n this.adapter.formatDay(draft.date),\n this.adapter.formatMonth(draft.date),\n this.adapter.formatYear(draft.date),\n ].join(\" \");\n } catch (_) {\n return \"\";\n }\n }\n toggleEndView(view: \"date\" | \"days\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.endView = view;\n }\n days(value: number | null): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.manualDateEndpoint = 1;\n setDraftDayDifference(this.drafts, this.adapter, value);\n this.check();\n }\n field(index: number, field: string, value: number | null): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n const draft = this.drafts[index];\n draft.present = true;\n if (field === \"day\" || field === \"year\" || field === \"month\") {\n this.manualDateEndpoint = index;\n delete draft.unsupportedEpochDay;\n let date = { ...draft.date, [field]: value } as WklyCalendarDate;\n if (field === \"month\") {\n let month;\n try {\n month = this.adapter\n .getMonths(date.year)\n .find((m) => m.month === value);\n } catch (_) {}\n date = { ...date, monthCode: month ? month.monthCode : \"\" };\n }\n if (field === \"year\" && value !== null) {\n try {\n const months = this.adapter.getMonths(value);\n const month = months.find((m) => m.monthCode === date.monthCode);\n if (month) date = { ...date, month: month.month };\n } catch (_) {}\n }\n draft.date = date;\n } else if (field === \"hour\" && this.effectiveHourCycle === \"h12\")\n draft.hour =\n value === null\n ? null\n : value >= 1 && value <= 12\n ? (value % 12) + ((draft.hour || 0) >= 12 ? 12 : 0)\n : 24 + value;\n else (draft as any)[field] = value;\n this.check();\n }\n displayHour(draft: Draft): number | null {\n return draft.hour === null\n ? null\n : this.effectiveHourCycle === \"h12\"\n ? draft.hour % 12 || 12\n : draft.hour;\n }\n period(index: number, period: \"am\" | \"pm\" | \"24\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n if (period === \"24\") this.effectiveHourCycle = \"h24\";\n else {\n this.effectiveHourCycle = \"h12\";\n this.drafts[index].hour =\n ((this.drafts[index].hour || 0) % 12) + (period === \"pm\" ? 12 : 0);\n this.drafts[index].present = true;\n this.finish();\n }\n }\n selected(day: number): boolean {\n return this.drafts.some((d) => {\n try {\n return d.present && this.adapter.dateToEpochDay(d.date) === day;\n } catch (_) {\n return false;\n }\n });\n }\n inRange(day: number): boolean {\n if (!this.isRange || !this.drafts.every((d) => d.present)) return false;\n try {\n const a = this.adapter.dateToEpochDay(this.drafts[0].date),\n b = this.adapter.dateToEpochDay(this.drafts[1].date);\n return day > Math.min(a, b) && day < Math.max(a, b);\n } catch (_) {\n return false;\n }\n }\n dayDisabled(day: number): boolean {\n if (day < this.firstSupportedDay || day > this.lastSupportedDay)\n return true;\n try {\n const date = this.adapter.epochDayToDate(day);\n const isDateDisabled = this[WklyPickerInputsPropertyKeys.IsDateDisabled];\n if (\n isDateDisabled &&\n isDateDisabled(day, {\n mode: this[WklyPickerInputsPropertyKeys.Mode],\n endpoint: this.isRange\n ? this.drafts[0]?.present && !this.drafts[1]?.present\n ? \"end\"\n : \"start\"\n : \"single\",\n calendarDate: date,\n })\n )\n return true;\n const min = this[WklyPickerInputsPropertyKeys.Min];\n const max = this[WklyPickerInputsPropertyKeys.Max];\n if (min && day < decodeIso(min).epochDay) return true;\n if (max && day > decodeIso(max).epochDay) return true;\n return false;\n } catch (_) {\n return true;\n }\n }\n select(day: number): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || this.dayDisabled(day))\n return;\n this.focused = day;\n const index =\n this.isRange && this.drafts[0].present && !this.drafts[1].present ? 1 : 0;\n if (this.isRange && index === 0) this.drafts[1].present = false;\n delete this.drafts[index].unsupportedEpochDay;\n this.drafts[index].date = this.adapter.epochDayToDate(day);\n this.drafts[index].present = true;\n this.orderDrafts();\n this.renderRows();\n this.finish();\n if (\n this.presentation === \"transient\" &&\n this[WklyPickerInputsPropertyKeys.Mode] === \"date\" &&\n this.viewMode === \"calendar\"\n )\n this.submit(\"auto-submit\");\n }\n key(event: KeyboardEvent, day: number): void {\n let delta = 0;\n if (event.key === \"ArrowLeft\") delta = -1;\n if (event.key === \"ArrowRight\") delta = 1;\n if (event.key === \"ArrowUp\") delta = -7;\n if (event.key === \"ArrowDown\") delta = 7;\n if (event.key === \"PageUp\")\n delta = -7 * (event.shiftKey ? this.visibleCount : 1);\n if (event.key === \"PageDown\")\n delta = 7 * (event.shiftKey ? this.visibleCount : 1);\n if (event.key === \"Home\") {\n event.preventDefault();\n this.scrollToEpochDay(this.today, { focus: true });\n }\n if (delta) {\n event.preventDefault();\n const target = day + delta;\n if (target >= this.firstSupportedDay && target <= this.lastSupportedDay)\n this.scrollToEpochDay(target, { focus: true });\n }\n }\n private position(\n day: number,\n preset = false,\n options: WklyJumpOptions = {},\n ): void {\n day = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n this.anchorWeek = absoluteWeekOf(day, this.effectiveOffset);\n const viewportPreset = this[WklyPickerInputsPropertyKeys.ViewportPreset];\n this.clipMonth = preset && viewportPreset.kind === \"full-month\";\n if (preset && viewportPreset.kind !== \"weeks\") {\n const d = this.adapter.epochDayToDate(day);\n this.initialMonth = d.year + \"/\" + d.monthCode;\n const [start, end] = calendarMonthBounds(this.adapter, day);\n this.firstWeek = absoluteWeekOf(start, this.effectiveOffset);\n this.visibleCount =\n absoluteWeekOf(end, this.effectiveOffset) - this.firstWeek + 1;\n if (\n viewportPreset.kind === \"full-month-and-around\" &&\n !this.configErrors.length\n ) {\n const before = viewportPreset.extraWeeksBefore || 0,\n after = viewportPreset.extraWeeksAfter || 0;\n this.firstWeek -= before;\n this.visibleCount += before + after;\n }\n } else {\n if (viewportPreset.kind === \"weeks\")\n this.visibleCount = this.configErrors.length\n ? 6\n : viewportPreset.visibleWeekCount;\n this.firstWeek =\n this.anchorWeek -\n (options.align === \"start\"\n ? 0\n : options.align === \"end\"\n ? this.visibleCount - 1\n : Math.floor(this.visibleCount / 2));\n }\n this.firstWeek = this.clampFirstWeek(this.firstWeek);\n this.baseWeek = this.firstWeek - 1000;\n this.renderRows();\n // Apply the new runway before writing scrollTop or locating a focus target.\n this.changeDetector.detectChanges();\n this.resetScroll();\n }\n private resetScroll(): void {\n // Round week boundaries to avoid scrollTop truncation under CSS zoom.\n if (this.scroller)\n this.scroller.nativeElement.scrollTop = Math.round(1000 * this.rowHeight);\n }\n scroll(event: Event): void {\n const element = event.target as HTMLElement;\n this.snapPending = true;\n this.scheduleSnap();\n // Quantize displacement around the reset point, equally in both directions.\n const relativeRows = element.scrollTop / this.rowHeight - 1000;\n const index =\n 1000 + Math.sign(relativeRows) * Math.round(Math.abs(relativeRows));\n const requestedFirst = this.baseWeek + index;\n const first = this.clampFirstWeek(requestedFirst);\n if (requestedFirst !== first) {\n element.scrollTop = Math.round((first - this.baseWeek) * this.rowHeight);\n }\n if (first === this.firstWeek) return;\n this.clipMonth = false;\n this.firstWeek = first;\n this.anchorWeek = first + Math.floor(this.visibleCount / 2);\n if (index < 100 || index > 1900) {\n // Preserve signed displacement from this week; modulo turns fractional\n // rounding just below a boundary into almost a full row after rebasing.\n const offset =\n element.scrollTop - (first - this.baseWeek) * this.rowHeight;\n this.baseWeek = first - 1000;\n element.scrollTop = Math.round(1000 * this.rowHeight + offset);\n }\n this.renderRows();\n }\n private scheduleSnap(): void {\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n this.scrollEndTimer = setTimeout(() => this.snapWeek(), 200);\n }\n snapWeek(): void {\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n this.scrollEndTimer = undefined;\n if (!this.snapPending || !this.scroller) return;\n this.snapPending = false;\n // Align the current virtual week without rebuilding or rebasing its rows.\n const element = this.scroller.nativeElement;\n const target = Math.round(\n (this.firstWeek - this.baseWeek) * this.rowHeight,\n );\n if (element.scrollTop !== target) element.scrollTop = target;\n }\n private showFirstWeek(week: number): void {\n const first = this.clampFirstWeek(week);\n if (first === this.firstWeek) return;\n this.clipMonth = false;\n this.firstWeek = first;\n this.anchorWeek = first + Math.floor(this.visibleCount / 2);\n this.baseWeek = first - 1000;\n this.renderRows();\n this.resetScroll();\n }\n canMoveWeek(delta: number): boolean {\n return this.clampFirstWeek(this.firstWeek + delta) !== this.firstWeek;\n }\n moveWeek(delta: number): void {\n if (!this[WklyPickerInputsPropertyKeys.Disabled])\n this.showFirstWeek(this.firstWeek + delta);\n }\n private renderRows(): void {\n // Keep the virtual scroll offset here; row data is shared across Angular versions.\n const overscan = Math.max(\n 0,\n Math.min(50, this[WklyPickerInputsPropertyKeys.OverscanWeeks] || 0),\n );\n const start = this.firstWeek - overscan;\n this.paddingTop = (start - this.baseWeek) * this.rowHeight;\n this.rows = createWeekRows({\n generator: this.generator,\n adapter: this.adapter,\n startWeek: start,\n count: this.visibleCount + 2 * overscan,\n firstVisibleWeek: this.firstWeek,\n firstSupportedDay: this.firstSupportedDay,\n lastSupportedDay: this.lastSupportedDay,\n clipMonth: this.clipMonth,\n initialMonth: this.initialMonth,\n weekLabelMode: this[WklyPickerInputsPropertyKeys.WeekLabelMode],\n weekLabelFormatter:\n this[WklyPickerInputsPropertyKeys.WeekLabelFormatter] || null,\n isDayDisabled: (day) => this.dayDisabled(day),\n });\n this[WklyPickerOutputsPropertyKeys.ViewportChange].emit({\n firstVisibleAbsoluteWeek: this.firstWeek,\n lastVisibleAbsoluteWeek: this.firstWeek + this.visibleCount - 1,\n anchorAbsoluteWeek: this.anchorWeek,\n });\n }\n // Retain day DOM nodes and keyboard focus when row metadata is regenerated.\n trackCell(_i: number, cell: { epochDay: number }): number {\n return cell.epochDay;\n }\n trackRow(_i: number, row: Row): number {\n return row.week.absoluteWeek;\n }\n scrollToEpochDay(day: number, options: WklyJumpOptions = {}): void {\n integer(day);\n this.adapter.epochDayToDate(day);\n day = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n // position renders synchronously; publish the tab stop before that render.\n if (options.focus) this.focused = day;\n this.position(day, false, options);\n if (options.select) this.select(day);\n if (options.focus) this.focusDay();\n }\n scrollToAbsoluteWeek(week: number, options: WklyJumpOptions = {}): void {\n // A boundary week can start before the adapter's first supported day.\n const first = firstEpochDayOf(week, this.effectiveOffset);\n this.scrollToEpochDay(\n week === this.firstSupportedWeek\n ? Math.max(first, this.firstSupportedDay)\n : first,\n options,\n );\n }\n scrollToCalendarDate(\n date: WklyCalendarDate,\n options: WklyJumpOptions = {},\n ): void {\n this.scrollToEpochDay(this.adapter.dateToEpochDay(date), options);\n }\n scrollToValue(value: string, options: WklyJumpOptions = {}): void {\n this.scrollToEpochDay(decodeIso(value).epochDay, options);\n }\n focusDay(): void {\n if (!this.browser) return;\n setTimeout(() => {\n if (this.destroyed) return;\n this.changeDetector.detectChanges();\n const day = this.host.nativeElement.querySelector(\n '[data-day=\"' + this.focused + '\"]',\n ) as HTMLElement;\n const fallback = this.host.nativeElement.querySelector(\n \"button:not(:disabled),input:not(:disabled)\",\n ) as HTMLElement;\n (day || fallback)?.focus({ preventScroll: true });\n });\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Injectable,\n Injector,\n OnChanges,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n} from \"@angular/core\";\nimport { DOCUMENT, isPlatformBrowser } from \"@angular/common\";\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport {\n validateSelection,\n WklyGregorianCalendarAdapter,\n WklyCalendarDate,\n WklyPickerValue,\n WklyValidationError,\n} from \"@wkly/adapters\";\nimport { Subscription } from \"rxjs\";\nimport {\n coerceBoolean,\n INPUT_NAMES,\n WklyCloseReason,\n WklyJumpOptions,\n WklyPickerInputs,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n} from \"./config\";\nimport { WklyDateTimePickerComponent } from \"./picker.component\";\nexport interface WklyPresentationRef {\n readonly component: ComponentRef<WklyDateTimePickerComponent>;\n destroy(): void;\n}\n/** Native-dialog factory. Browser resources are allocated only by open(). */\n@Injectable({ providedIn: \"root\" })\nexport class WklyDateTimePickerDialogService {\n constructor(\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private app: ApplicationRef,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platform: Object,\n ) {}\n open(\n trigger: HTMLElement,\n onCancel: (reason: WklyCloseReason) => void,\n backdrop = true,\n injector?: Injector,\n ): WklyPresentationRef {\n if (!isPlatformBrowser(this.platform))\n throw new Error(\"Picker presentations can only open in a browser\");\n const dialog = this.document.createElement(\n \"dialog\",\n ) as HTMLDialogElement & {\n showModal(): void;\n close(): void;\n };\n dialog.setAttribute(\"aria-label\", \"Date and time picker\");\n Object.assign(dialog.style, {\n padding: \"0\",\n border: \"0\",\n borderRadius: \"14px\",\n width: \"min(390px, 100vw)\",\n maxWidth: \"100vw\",\n maxHeight: \"94vh\",\n background: \"transparent\",\n });\n const component = this.resolver\n .resolveComponentFactory(WklyDateTimePickerComponent)\n .create(injector || this.injector);\n component.instance.presentation = \"transient\";\n dialog.appendChild(component.location.nativeElement);\n this.document.body.appendChild(dialog);\n this.app.attachView(component.hostView);\n const cancel = (event: Event) => {\n event.preventDefault();\n onCancel(\"escape\");\n };\n const click = (event: MouseEvent) => {\n if (backdrop && event.target === dialog) {\n const r = dialog.getBoundingClientRect();\n if (\n event.clientX < r.left ||\n event.clientX > r.right ||\n event.clientY < r.top ||\n event.clientY > r.bottom\n )\n onCancel(\"backdrop\");\n }\n };\n const keydown = (event: KeyboardEvent) => {\n if (event.key !== \"Tab\") return;\n const controls = Array.from(\n dialog.querySelectorAll<HTMLElement>(\n 'button:not(:disabled),input:not(:disabled),[tabindex=\"0\"]',\n ),\n ).filter(\n (el) =>\n el.tabIndex >= 0 &&\n el.getClientRects().length &&\n getComputedStyle(el).visibility !== \"hidden\",\n );\n const first = controls[0],\n last = controls[controls.length - 1];\n if (\n first &&\n (event.shiftKey\n ? this.document.activeElement === first\n : this.document.activeElement === last)\n ) {\n event.preventDefault();\n (event.shiftKey ? last : first).focus();\n }\n };\n dialog.addEventListener(\"cancel\", cancel);\n dialog.addEventListener(\"click\", click);\n dialog.addEventListener(\"keydown\", keydown);\n dialog.showModal();\n return {\n component,\n destroy: () => {\n dialog.removeEventListener(\"cancel\", cancel);\n dialog.removeEventListener(\"click\", click);\n dialog.removeEventListener(\"keydown\", keydown);\n dialog.close();\n this.app.detachView(component.hostView);\n component.destroy();\n dialog.remove();\n trigger.focus();\n },\n };\n }\n}\n/** Shared trigger lifecycle; optional presentation packages extend this class. */\n@Directive()\nexport abstract class WklyTriggerBase\n extends WklyPickerInputs\n implements ControlValueAccessor, Validator, OnChanges, OnDestroy\n{\n protected ref: WklyPresentationRef | null = null;\n protected subscriptions: Subscription[] = [];\n private errors: readonly WklyValidationError[] = [];\n private change: (value: WklyPickerValue) => void = () => {};\n private touched: () => void = () => {};\n private validation: () => void = () => {};\n constructor(protected element: ElementRef<HTMLElement>) {\n super();\n }\n protected abstract create(): WklyPresentationRef;\n @HostListener(\"click\") open(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || this.ref) return;\n this.ref = this.create();\n const picker = this.ref.component.instance;\n this.copy();\n this.subscriptions = [\n picker[WklyPickerOutputsPropertyKeys.ValueChange].subscribe((value) => {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n this.change(value);\n this[WklyPickerOutputsPropertyKeys.ValueChange].emit(value);\n this.display();\n }),\n picker[WklyPickerOutputsPropertyKeys.ValidationChange].subscribe(\n (errors) => {\n this.errors = errors;\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(errors);\n this.validation();\n },\n ),\n picker[WklyPickerOutputsPropertyKeys.Closed].subscribe((reason) =>\n this.close(reason),\n ),\n picker[WklyPickerOutputsPropertyKeys.ViewportChange].subscribe((value) =>\n this[WklyPickerOutputsPropertyKeys.ViewportChange].emit(value),\n ),\n picker[WklyPickerOutputsPropertyKeys.ViewModeChange].subscribe((value) =>\n this[WklyPickerOutputsPropertyKeys.ViewModeChange].emit(value),\n ),\n ];\n this.ref.component.changeDetectorRef.detectChanges();\n picker.focusDay();\n this[WklyPickerOutputsPropertyKeys.Opened].emit();\n }\n @HostListener(\"keydown\", [\"$event\"]) key(event: KeyboardEvent): void {\n if (\n event.key === \"Enter\" ||\n event.key === \" \" ||\n event.key === \"ArrowDown\"\n ) {\n event.preventDefault();\n this.open();\n }\n }\n @HostListener(\"blur\") blur(): void {\n this.touched();\n }\n close(reason: WklyCloseReason = \"programmatic\"): void {\n if (!this.ref) return;\n const ref = this.ref;\n this.ref = null;\n this.subscriptions.forEach((s) => s.unsubscribe());\n this.subscriptions = [];\n ref.destroy();\n this.touched();\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n ngOnChanges(): void {\n [\n WklyPickerInputsPropertyKeys.ShowSeconds,\n WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled,\n WklyPickerInputsPropertyKeys.Required,\n WklyPickerInputsPropertyKeys.Disabled,\n WklyPickerInputsPropertyKeys.CloseOnBackdrop,\n ].forEach(\n (key) => ((this as any)[key] = coerceBoolean((this as any)[key])),\n );\n this.checkValue();\n this.display();\n if (this.ref) {\n this.copy();\n this.ref.component.instance.ngOnChanges({\n [WklyPickerInputsPropertyKeys.Value]: true,\n });\n this.ref.component.changeDetectorRef.detectChanges();\n }\n }\n ngOnDestroy(): void {\n this.close();\n }\n private copy(): void {\n if (this.ref)\n for (const name of INPUT_NAMES)\n (this.ref.component.instance as any)[name] = (this as any)[name];\n }\n private display(): void {\n const host = this.element.nativeElement as HTMLInputElement;\n if (host.tagName === \"INPUT\") {\n host.readOnly = true;\n const value = this[WklyPickerInputsPropertyKeys.Value];\n host.value =\n value === null\n ? \"\"\n : typeof value === \"string\"\n ? value\n : value.join(\" — \");\n host.disabled = this[WklyPickerInputsPropertyKeys.Disabled];\n host.setAttribute(\"aria-haspopup\", \"dialog\");\n }\n }\n private checkValue(): void {\n this.errors = validateSelection(\n this[WklyPickerInputsPropertyKeys.Value],\n this,\n this[WklyPickerInputsPropertyKeys.CalendarAdapter] ||\n new WklyGregorianCalendarAdapter(\n this[WklyPickerInputsPropertyKeys.Locale] || \"en-US\",\n ),\n );\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(this.errors);\n this.validation();\n }\n writeValue(value: WklyPickerValue): void {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n this.checkValue();\n this.display();\n if (this.ref) this.ref.component.instance.writeValue(value);\n }\n registerOnChange(fn: (value: WklyPickerValue) => void): void {\n this.change = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.touched = fn;\n }\n setDisabledState(value: boolean): void {\n this[WklyPickerInputsPropertyKeys.Disabled] = value;\n this.display();\n if (this.ref) this.ref.component.instance.setDisabledState(value);\n }\n validate(): ValidationErrors | null {\n return this.errors.length ? { wkly: this.errors } : null;\n }\n registerOnValidatorChange(fn: () => void): void {\n this.validation = fn;\n }\n scrollToEpochDay(day: number, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToEpochDay(day, options);\n }\n scrollToAbsoluteWeek(week: number, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToAbsoluteWeek(week, options);\n }\n scrollToCalendarDate(\n date: WklyCalendarDate,\n options?: WklyJumpOptions,\n ): void {\n this.open();\n this.ref?.component.instance.scrollToCalendarDate(date, options);\n }\n scrollToValue(value: string, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToValue(value, options);\n }\n}\n@Directive({\n selector: \"[wklyDateTimePickerDialog]\",\n exportAs: \"wklyDialog\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerDialogDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerDialogDirective),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerDialogDirective extends WklyTriggerBase {\n constructor(\n element: ElementRef<HTMLElement>,\n private service: WklyDateTimePickerDialogService,\n private triggerInjector: Injector,\n ) {\n super(element);\n }\n protected create(): WklyPresentationRef {\n return this.service.open(\n this.element.nativeElement,\n (reason) => this.close(reason),\n this[WklyPickerInputsPropertyKeys.CloseOnBackdrop],\n this.triggerInjector,\n );\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n} from \"@angular/core\";\nimport { floorMod } from \"@wkly/core\";\nimport { normalizeDigits } from \"@wkly/adapters\";\n@Component({\n selector: \"wkly-field\",\n templateUrl: \"./field.component.html\",\n styleUrls: [\"./field.component.css\"],\n})\nexport class WklyFieldComponent implements OnChanges, OnDestroy {\n @Input() value: number | null = 0;\n @Input() label = \"\";\n @Input() hideLabel = false;\n @Input() previousLabel = \"\";\n @Input() nextLabel = \"\";\n @Input() min = 0;\n @Input() max = 59;\n @Input() step = 1;\n @Input() locale = \"en-US\";\n @Input() disabled = false;\n @Input() invalid = false;\n @Input() labels: readonly string[] | null = null;\n @Output() valueChange = new EventEmitter<number | null>();\n @Output() complete = new EventEmitter<void>();\n private before: number | null = null;\n private touchY = 0;\n private touchSteps = 0;\n private touchChanged = false;\n private typed: string | null = null;\n private inputTimer: ReturnType<typeof setTimeout> | null = null;\n private wheelTimer: ReturnType<typeof setTimeout> | null = null;\n get display(): string {\n if (this.typed !== null) return this.typed;\n return this.value === null\n ? \"\"\n : this.labels\n ? this.labels[this.value - this.min] || String(this.value)\n : new Intl.NumberFormat(this.locale, {\n useGrouping: false,\n minimumIntegerDigits: this.max < 60 ? 2 : 1,\n }).format(this.value);\n }\n ngOnChanges(changes: any): void {\n if (changes.value && this.min < 0 && this.typed !== null) {\n const typedValue =\n this.typed === \"\" || this.typed === \"-\" ? null : Number(this.typed);\n if (this.value !== typedValue) {\n // External date edits replace a pending relative-day preview.\n this.cancelInput();\n this.typed = null;\n }\n }\n }\n ngOnDestroy(): void {\n this.cancelInput();\n if (this.wheelTimer !== null) clearTimeout(this.wheelTimer);\n }\n next(delta: number): number {\n const count = Math.floor((this.max - this.min) / this.step) + 1;\n return (\n this.min +\n floorMod(\n Math.floor(\n ((this.value === null ? this.min : this.value) - this.min) /\n this.step,\n ) + delta,\n count,\n ) *\n this.step\n );\n }\n neighbor(delta: number): string {\n const n = this.next(delta);\n return this.labels\n ? this.labels[n - this.min] || \"\"\n : new Intl.NumberFormat(this.locale, { useGrouping: false }).format(n);\n }\n stepBy(delta: number): void {\n if (this.disabled) return;\n this.scrollBy(delta);\n this.complete.emit();\n }\n begin(event: FocusEvent): void {\n this.before = this.value;\n (event.target as HTMLInputElement).select();\n }\n type(event: Event): void {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n const raw = input.value;\n const numeric = Array.from(raw).every(\n (character) => normalizeDigits(character).length === 1,\n );\n if (this.min < 0 && !this.labels) {\n // Preserve the sign while using the same locale digit normalization.\n const signed = raw\n .replace(/[\\u200e\\u200f\\u061c]/g, \"\")\n .replace(/\\u2212/g, \"-\");\n const digits = normalizeDigits(signed);\n this.typed = input.value = (signed.startsWith(\"-\") ? \"-\" : \"\") + digits;\n this.value =\n digits === \"\"\n ? null\n : Math.max(this.min, Math.min(this.max, Number(this.typed)));\n if (this.value !== null && Number(this.typed) !== this.value)\n this.typed = input.value = String(this.value);\n } else if (numeric) {\n const normalized = normalizeDigits(raw);\n this.typed = input.value =\n this.min >= 0 && this.max < 100 ? normalized.slice(-2) : normalized;\n this.value = this.typed === \"\" ? null : Number(this.typed);\n } else if (this.labels) {\n const search = raw.trim().toLocaleLowerCase(this.locale);\n this.typed = raw;\n const matches = this.labels\n .map((label, index) => ({ label, index }))\n .filter((item) =>\n item.label.toLocaleLowerCase(this.locale).includes(search),\n );\n this.value = matches.length === 1 ? this.min + matches[0].index : null;\n } else {\n this.typed = input.value = normalizeDigits(raw);\n this.value = this.typed === \"\" ? null : Number(this.typed);\n }\n this.valueChange.emit(this.value);\n this.cancelInput();\n if (!numeric && this.labels && this.value !== null) this.complete.emit();\n this.inputTimer = setTimeout(() => {\n this.inputTimer = null;\n this.typed = null;\n if (!this.disabled) this.complete.emit();\n }, 1000);\n }\n key(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n this.cancelInput();\n this.typed = null;\n this.value = this.before;\n this.valueChange.emit(this.before);\n (event.target as HTMLInputElement).value = this.display;\n (event.target as HTMLInputElement).blur();\n }\n if (event.key === \"Enter\") {\n event.preventDefault();\n event.stopPropagation();\n this.finish();\n }\n const delta =\n event.key === \"ArrowUp\"\n ? -1\n : event.key === \"ArrowDown\"\n ? 1\n : event.key === \"PageUp\"\n ? -5\n : event.key === \"PageDown\"\n ? 5\n : 0;\n if (delta) {\n event.preventDefault();\n this.stepBy(delta);\n }\n }\n finish(): void {\n this.cancelInput();\n this.typed = null;\n this.complete.emit();\n }\n wheel(event: WheelEvent): void {\n if (this.disabled || Math.abs(event.deltaY) < 1) return;\n event.preventDefault();\n this.scrollBy(event.deltaY > 0 ? 1 : -1);\n if (this.wheelTimer !== null) clearTimeout(this.wheelTimer);\n this.wheelTimer = setTimeout(() => {\n this.wheelTimer = null;\n this.complete.emit();\n }, 140);\n }\n touchStart(event: TouchEvent): void {\n this.touchY = event.touches[0].clientY;\n this.touchSteps = 0;\n this.touchChanged = false;\n }\n touchMove(event: TouchEvent): void {\n this.applyTouchY(event.touches[0].clientY);\n }\n touchEnd(event: TouchEvent): void {\n this.applyTouchY(event.changedTouches[0].clientY);\n if (this.touchChanged) this.complete.emit();\n this.touchChanged = false;\n }\n private cancelInput(): void {\n if (this.inputTimer !== null) clearTimeout(this.inputTimer);\n this.inputTimer = null;\n }\n private scrollBy(delta: number): void {\n if (this.disabled || !delta) return;\n this.cancelInput();\n this.typed = null;\n this.value = this.next(delta);\n this.valueChange.emit(this.value);\n }\n private applyTouchY(y: number): void {\n // Count total gesture steps so repeated move events do not duplicate changes.\n if (this.disabled) return;\n const delta = this.touchY - y;\n const steps =\n Math.abs(delta) > 16\n ? Math.sign(delta) * Math.max(1, Math.round(Math.abs(delta) / 40))\n : 0;\n const change = steps - this.touchSteps;\n if (!change) return;\n this.scrollBy(change);\n this.touchSteps = steps;\n this.touchChanged = true;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { WklyDateTimePickerComponent } from \"./picker.component\";\nimport { WklyDateTimePickerDialogDirective } from \"./presentation\";\nimport { WklyFieldComponent } from \"./field.component\";\nexport * from \"./config\";\nexport { WklyDateTimePickerComponent } from \"./picker.component\";\nexport {\n WklyPresentationRef,\n WklyDateTimePickerDialogService,\n WklyTriggerBase,\n WklyDateTimePickerDialogDirective,\n} from \"./presentation\";\nexport { WklyFieldComponent } from \"./field.component\";\nexport {\n WklyPickerValue,\n WklyIsoString,\n WklyRangeValue,\n WklySelectionMode,\n WklyValidationError,\n WklyValidationErrorCode,\n WklyViewportPreset,\n WklyHourCycle,\n WklyEndpoint,\n WklyDisabledDatePredicate,\n WklyDisabledTimePredicate,\n WklyRangeValidator,\n WklyWeekLabelMode,\n WklyWeekLabelFormatter,\n} from \"@wkly/adapters\";\n@NgModule({\n imports: [CommonModule],\n declarations: [\n WklyDateTimePickerComponent,\n WklyDateTimePickerDialogDirective,\n WklyFieldComponent,\n ],\n entryComponents: [WklyDateTimePickerComponent],\n exports: [WklyDateTimePickerComponent, WklyDateTimePickerDialogDirective],\n})\nexport class WklyDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {WklyClock as ɵb,WklyConfiguration as ɵa,WklyStrings as ɵc,WklyTranslations as ɵd} from './config';"],"names":["__decorate","__metadata","InjectionToken","DEFAULT_OVERSCAN_WEEKS","EventEmitter","WklyPickerInputsPropertyKeys","WklyPickerOutputsPropertyKeys","Directive","Input","Output","isPlatformBrowser","coerceBoolean","WklyGregorianCalendarAdapter","getLocaleFirstDayOfWeek","resolveWeekOffset","integer","createWeekGenerator","error","absoluteWeekOf","resolveWklyTranslation","firstEpochDayOf","validateSelection","decodeIso","validateDrafts","draftDayDifference","setDraftDayDifference","calendarMonthBounds","createWeekRows","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Inject","LOCALE_ID","PLATFORM_ID","ElementRef","ChangeDetectorRef","ViewChild","Injectable","ComponentFactoryResolver","Injector","ApplicationRef","DOCUMENT","INPUT_NAMES","HostListener","floorMod","normalizeDigits","NgModule","CommonModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wkly-datetime-picker.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/wkly-datetime-picker.12/src/config.ts","../../../projects/wkly-datetime-picker.12/src/picker.component.ts","../../../projects/wkly-datetime-picker.12/src/presentation.ts","../../../projects/wkly-datetime-picker.12/src/field.component.ts","../../../projects/wkly-datetime-picker.12/src/public-api.ts","../../../projects/wkly-datetime-picker.12/src/wkly-datetime-picker.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import {\n Directive,\n EventEmitter,\n InjectionToken,\n Input,\n Output,\n} from \"@angular/core\";\nimport { WklyWeekOffset } from \"@wkly/core\";\nimport {\n WklyCalendarAdapter,\n WklyDisabledDatePredicate,\n WklyDisabledTimePredicate,\n WklyHourCycle,\n WklyPickerValue,\n WklyRangeValidator,\n WklySelectionMode,\n WklyValidationError,\n WklyViewportPreset,\n WklyWeekLabelFormatter,\n WklyWeekLabelMode,\n} from \"@wkly/adapters\";\nimport {\n DEFAULT_OVERSCAN_WEEKS,\n WklyClock,\n WklyConfiguration,\n WklyCloseReason,\n WklyPickerInputs as WklyPickerInputsContract,\n WklyPickerOutputs as WklyPickerOutputsContract,\n WklyStrings,\n WklyTranslations,\n WklyViewportChange,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n} from \"@wkly/presentation\";\nexport * from \"@wkly/presentation\";\nexport const WKLY_CLOCK = new InjectionToken<WklyClock>(\"WKLY_CLOCK\", {\n providedIn: \"root\",\n factory: () => ({ now: () => new Date() }),\n});\nexport const WKLY_CONFIG = new InjectionToken<WklyConfiguration>(\n \"WKLY_CONFIG\",\n { providedIn: \"root\", factory: () => ({}) },\n);\nexport const WKLY_LOCALIZATION = new InjectionToken<WklyStrings>(\n \"WKLY_LOCALIZATION\",\n { providedIn: \"root\", factory: () => ({}) },\n);\nexport const WKLY_TRANSLATIONS = new InjectionToken<WklyTranslations>(\n \"WKLY_TRANSLATIONS\",\n { providedIn: \"root\", factory: () => ({}) },\n);\n/** Shared public inputs/outputs inherited by the picker and both trigger directives. */\n// Inherited inputs need literal names in published decorator metadata.\n@Directive({\n inputs: [\n \"mode\",\n \"value\",\n \"calendarAdapter\",\n \"locale\",\n \"weekOffset\",\n \"viewportPreset\",\n \"hourCycle\",\n \"showSeconds\",\n \"minuteStep\",\n \"secondStep\",\n \"min\",\n \"max\",\n \"isDateDisabled\",\n \"isTimeDisabled\",\n \"rangeValidator\",\n \"allowRangeAcrossDisabled\",\n \"required\",\n \"disabled\",\n \"weekLabelMode\",\n \"weekLabelFormatter\",\n \"weekCacheSize\",\n \"overscanWeeks\",\n \"ariaLabel\",\n \"ariaDescribedBy\",\n \"initialEpochDay\",\n \"closeOnBackdrop\",\n \"validators\",\n \"translations\",\n ],\n outputs: [\n \"valueChange\",\n \"validationChange\",\n \"opened\",\n \"closed\",\n \"viewportChange\",\n \"viewModeChange\",\n ],\n})\nexport abstract class WklyPickerInputs\n implements WklyPickerInputsContract, WklyPickerOutputsContract\n{\n @Input() [WklyPickerInputsPropertyKeys.Mode]: WklySelectionMode = \"datetime\";\n @Input() [WklyPickerInputsPropertyKeys.Value]: WklyPickerValue = null;\n @Input() [WklyPickerInputsPropertyKeys.CalendarAdapter]!: WklyCalendarAdapter;\n @Input() [WklyPickerInputsPropertyKeys.Locale]: string = \"\";\n @Input() [WklyPickerInputsPropertyKeys.WeekOffset]: WklyWeekOffset | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.ViewportPreset]: WklyViewportPreset = {\n kind: \"full-month\",\n };\n @Input() [WklyPickerInputsPropertyKeys.HourCycle]: WklyHourCycle = \"locale\";\n @Input() [WklyPickerInputsPropertyKeys.ShowSeconds]: boolean = false;\n @Input() [WklyPickerInputsPropertyKeys.MinuteStep]: number = 1;\n @Input() [WklyPickerInputsPropertyKeys.SecondStep]: number = 1;\n @Input() [WklyPickerInputsPropertyKeys.Min]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.Max]: string | null = null;\n @Input()\n [WklyPickerInputsPropertyKeys.IsDateDisabled]: WklyDisabledDatePredicate | null =\n null;\n @Input()\n [WklyPickerInputsPropertyKeys.IsTimeDisabled]: WklyDisabledTimePredicate | null =\n null;\n @Input()\n [WklyPickerInputsPropertyKeys.RangeValidator]: WklyRangeValidator | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled] = false;\n @Input() [WklyPickerInputsPropertyKeys.Required] = false;\n @Input() [WklyPickerInputsPropertyKeys.Disabled] = false;\n @Input() [WklyPickerInputsPropertyKeys.WeekLabelMode]: WklyWeekLabelMode =\n \"locale\";\n @Input()\n [WklyPickerInputsPropertyKeys.WeekLabelFormatter]: WklyWeekLabelFormatter | null =\n null;\n @Input() [WklyPickerInputsPropertyKeys.WeekCacheSize] = 256;\n @Input() [WklyPickerInputsPropertyKeys.OverscanWeeks] =\n DEFAULT_OVERSCAN_WEEKS;\n @Input() [WklyPickerInputsPropertyKeys.AriaLabel]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.AriaDescribedBy]: string | null = null;\n @Input() [WklyPickerInputsPropertyKeys.InitialEpochDay]: number | null = null;\n @Input() [WklyPickerInputsPropertyKeys.CloseOnBackdrop] = true;\n @Input() [WklyPickerInputsPropertyKeys.Validators]: readonly ((\n value: WklyPickerValue,\n ) => WklyValidationError | null)[] = [];\n @Input()\n [WklyPickerInputsPropertyKeys.Translations]: WklyTranslations | null = null;\n @Output() [WklyPickerOutputsPropertyKeys.ValueChange] =\n new EventEmitter<WklyPickerValue>();\n @Output() [WklyPickerOutputsPropertyKeys.ValidationChange] = new EventEmitter<\n readonly WklyValidationError[]\n >(true);\n @Output() [WklyPickerOutputsPropertyKeys.Opened] = new EventEmitter<void>();\n @Output() [WklyPickerOutputsPropertyKeys.Closed] =\n new EventEmitter<WklyCloseReason>();\n @Output() [WklyPickerOutputsPropertyKeys.ViewportChange] =\n new EventEmitter<WklyViewportChange>(true);\n @Output() [WklyPickerOutputsPropertyKeys.ViewModeChange] = new EventEmitter<\n \"calendar\" | \"manual\"\n >();\n}\n","import type { WklyHourCycle } from \"@wkly/adapters\";\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n ViewChild,\n} from \"@angular/core\";\nimport { getLocaleFirstDayOfWeek, isPlatformBrowser } from \"@angular/common\";\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport {\n absoluteWeekOf,\n createWeekGenerator,\n firstEpochDayOf,\n integer,\n WklyWeekGenerator,\n WklyWeekOffset,\n} from \"@wkly/core\";\nimport {\n decodeIso,\n error,\n resolveWeekOffset,\n validateSelection,\n WklyCalendarAdapter,\n WklyCalendarDate,\n WklyDateTime,\n WklyGregorianCalendarAdapter,\n WklyPickerValue,\n WklyValidationError,\n} from \"@wkly/adapters\";\nimport {\n draftDayDifference,\n setDraftDayDifference,\n calendarMonthBounds,\n resolveWklyTranslation,\n createWeekRows,\n validateDrafts,\n WklyDraft as Draft,\n WklyWeekRow as Row,\n} from \"@wkly/presentation\";\nimport {\n coerceBoolean,\n WKLY_CLOCK,\n WKLY_CONFIG,\n WKLY_LOCALIZATION,\n WKLY_TRANSLATIONS,\n WklyClock,\n WklyCloseReason,\n WklyConfiguration,\n WklyJumpOptions,\n WklyPickerInputs,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n WklyStrings,\n WklyTranslations,\n} from \"./config\";\ndeclare class ResizeObserver {\n constructor(callback: () => void);\n observe(element: Element): void;\n disconnect(): void;\n}\n@Component({\n selector: \"wkly-datetime-picker\",\n templateUrl: \"./picker.component.html\",\n styleUrls: [\"../../wkly-datetime-picker/src/picker.component.css\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerComponent\n extends WklyPickerInputs\n implements\n OnInit,\n OnChanges,\n AfterViewInit,\n OnDestroy,\n ControlValueAccessor,\n Validator\n{\n @ViewChild(\"scroller\") scroller?: ElementRef<HTMLElement>;\n presentation: \"inline\" | \"transient\" = \"inline\";\n viewMode: \"calendar\" | \"manual\" = \"calendar\";\n endView: \"date\" | \"days\" = \"date\";\n adapter!: WklyCalendarAdapter;\n effectiveLocale = \"en-US\";\n effectiveOffset: WklyWeekOffset = 0;\n effectiveHourCycle: \"h12\" | \"h24\" = \"h24\";\n private configuredHourCycle?: WklyHourCycle;\n direction = \"ltr\";\n rows: Row[] = [];\n weekdays: string[] = [];\n drafts: Draft[] = [];\n errors: readonly WklyValidationError[] = [];\n today = 0;\n focused = 0;\n anchorWeek = 0;\n firstWeek = 0;\n visibleCount = 6;\n rowHeight = 76;\n scrollHeight = 152076;\n paddingTop = 0;\n initialized = false;\n compact = false;\n readonly WklyPickerInputsPropertyKeys = WklyPickerInputsPropertyKeys;\n private baseWeek = 0;\n private firstSupportedDay = 0;\n private lastSupportedDay = 0;\n private firstSupportedWeek = 0;\n private lastSupportedWeek = 0;\n private generator!: WklyWeekGenerator;\n private initialMonth = \"\";\n private clipMonth = false;\n private browser = false;\n private observer?: ResizeObserver;\n private destroyed = false;\n private scrollEndTimer?: ReturnType<typeof setTimeout>;\n private snapPending = false;\n private onChange: (value: WklyPickerValue) => void = () => {};\n private onTouched: () => void = () => {};\n private validatorChanged: () => void = () => {};\n private configErrors: WklyValidationError[] = [];\n private pendingValue: WklyPickerValue = null;\n private emittedValue: string | null = null;\n private manualDateEndpoint = 0;\n constructor(\n @Inject(LOCALE_ID) private defaultLocale: string,\n @Inject(WKLY_CONFIG) private defaults: WklyConfiguration,\n @Inject(WKLY_CLOCK) private clock: WklyClock,\n @Inject(WKLY_LOCALIZATION) private strings: WklyStrings,\n @Inject(WKLY_TRANSLATIONS) private defaultTranslations: WklyTranslations,\n @Inject(PLATFORM_ID) platform: Object,\n private host: ElementRef<HTMLElement>,\n private changeDetector: ChangeDetectorRef,\n ) {\n super();\n this.browser = isPlatformBrowser(platform);\n }\n ngOnInit(): void {\n this.initialize();\n }\n ngOnChanges(changes: any): void {\n if (this.initialized) {\n if (\n Object.keys(changes).length === 1 &&\n changes[WklyPickerInputsPropertyKeys.Value] &&\n this.emittedValue ===\n JSON.stringify(this[WklyPickerInputsPropertyKeys.Value])\n ) {\n this.emittedValue = null;\n return;\n }\n const focus = this.focused;\n this.configure();\n if (\n changes[WklyPickerInputsPropertyKeys.Value] ||\n changes[WklyPickerInputsPropertyKeys.Mode] ||\n changes[WklyPickerInputsPropertyKeys.CalendarAdapter]\n ) {\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.position(this.focused, true);\n } else {\n this.check();\n if (changes[WklyPickerInputsPropertyKeys.ViewportPreset])\n this.position(focus, true);\n else this.scrollToEpochDay(focus);\n }\n }\n }\n initialize(): void {\n if (this.initialized) return;\n this.configure();\n const initialEpochDay = this[WklyPickerInputsPropertyKeys.InitialEpochDay];\n this.today = this.browser\n ? Math.floor(this.clock.now().getTime() / 86400000)\n : initialEpochDay === null\n ? 0\n : initialEpochDay;\n this.focused =\n initialEpochDay === null\n ? this.defaults.initialEpochDay === undefined\n ? this.today\n : this.defaults.initialEpochDay\n : initialEpochDay;\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.initialized = true;\n this.position(this.focused, true);\n }\n configure(): void {\n this.configErrors = [];\n [\n WklyPickerInputsPropertyKeys.ShowSeconds,\n WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled,\n WklyPickerInputsPropertyKeys.Required,\n WklyPickerInputsPropertyKeys.Disabled,\n WklyPickerInputsPropertyKeys.CloseOnBackdrop,\n ].forEach(\n (key) => ((this as any)[key] = coerceBoolean((this as any)[key])),\n );\n this.effectiveLocale =\n this[WklyPickerInputsPropertyKeys.Locale] ||\n this.defaults.locale ||\n this.defaultLocale;\n this.direction = /^(ar|he|fa|ur)(-|$)/.test(this.effectiveLocale)\n ? \"rtl\"\n : \"ltr\";\n this.adapter =\n this[WklyPickerInputsPropertyKeys.CalendarAdapter] ||\n new WklyGregorianCalendarAdapter(this.effectiveLocale);\n try {\n let firstDay: number | undefined;\n try {\n firstDay = getLocaleFirstDayOfWeek(this.effectiveLocale);\n } catch (_) {}\n this.effectiveOffset = resolveWeekOffset(\n this.effectiveLocale,\n this[WklyPickerInputsPropertyKeys.WeekOffset],\n this.defaults.weekOffset,\n firstDay,\n );\n integer(this[WklyPickerInputsPropertyKeys.WeekCacheSize]);\n integer(this[WklyPickerInputsPropertyKeys.OverscanWeeks]);\n if (\n this[WklyPickerInputsPropertyKeys.WeekCacheSize] < 0 ||\n this[WklyPickerInputsPropertyKeys.OverscanWeeks] < 0 ||\n this[WklyPickerInputsPropertyKeys.OverscanWeeks] > 50\n )\n throw new RangeError();\n if (\n ![\n \"datetime\",\n \"date\",\n \"time\",\n \"datetime-range\",\n \"date-range\",\n \"time-range\",\n ].includes(this[WklyPickerInputsPropertyKeys.Mode])\n )\n throw new RangeError();\n const preset = this[WklyPickerInputsPropertyKeys.ViewportPreset];\n if (preset.kind === \"weeks\") {\n integer(preset.visibleWeekCount);\n if (preset.visibleWeekCount < 1 || preset.visibleWeekCount > 52)\n throw new RangeError();\n }\n if (preset.kind === \"full-month-and-around\")\n for (const n of [\n preset.extraWeeksBefore || 0,\n preset.extraWeeksAfter || 0,\n ]) {\n integer(n);\n if (n < 0 || n > 52) throw new RangeError();\n }\n this.generator = createWeekGenerator({\n weekOffset: this.effectiveOffset,\n cacheSize: this[WklyPickerInputsPropertyKeys.WeekCacheSize],\n });\n } catch (_) {\n this.configErrors.push(\n error(\n \"configuration-error\",\n this[WklyPickerInputsPropertyKeys.WeekOffset],\n ),\n );\n this.generator = createWeekGenerator();\n this.effectiveOffset = 0;\n }\n this.setSupportedScrollRange();\n const hourCycle = this[WklyPickerInputsPropertyKeys.HourCycle];\n // Host value/configuration feedback must retain the user's switchable format.\n if (hourCycle !== \"switchable\" || this.configuredHourCycle !== hourCycle) {\n this.effectiveHourCycle =\n hourCycle === \"h12\"\n ? \"h12\"\n : hourCycle === \"locale\"\n ? new Intl.DateTimeFormat(this.effectiveLocale, {\n hour: \"numeric\",\n timeZone: \"UTC\",\n }).resolvedOptions().hour12\n ? \"h12\"\n : \"h24\"\n : \"h24\";\n }\n this.configuredHourCycle = hourCycle;\n this.weekdays = Array.from({ length: 7 }, (_, i) =>\n this.adapter.formatWeekday(this.effectiveOffset + i, \"short\"),\n );\n }\n private setSupportedScrollRange(): void {\n let [first, last] = this.adapter.supportedEpochDayRange;\n const [firstYear, lastYear] = this.adapter.supportedYearRange;\n const yearOf = (day: number) => this.adapter.epochDayToDate(day).year;\n if (yearOf(first) < firstYear) {\n let low = first,\n high = last;\n while (low < high) {\n const mid = Math.floor((low + high) / 2);\n if (yearOf(mid) < firstYear) low = mid + 1;\n else high = mid;\n }\n first = low;\n }\n if (yearOf(last) > lastYear) {\n let low = first,\n high = last;\n while (low < high) {\n const mid = Math.ceil((low + high) / 2);\n if (yearOf(mid) > lastYear) high = mid - 1;\n else low = mid;\n }\n last = low;\n }\n if (\n first > last ||\n yearOf(first) < firstYear ||\n yearOf(first) > lastYear ||\n yearOf(last) < firstYear ||\n yearOf(last) > lastYear\n )\n throw new RangeError(\"No supported days within the calendar year range\");\n this.firstSupportedDay = first;\n this.lastSupportedDay = last;\n this.firstSupportedWeek = absoluteWeekOf(first, this.effectiveOffset);\n this.lastSupportedWeek = absoluteWeekOf(last, this.effectiveOffset);\n }\n private clampFirstWeek(week: number): number {\n // Keep supported weeks inside the viewport; renderRows adds the buffer rows.\n const last = Math.max(\n this.firstSupportedWeek,\n this.lastSupportedWeek - this.visibleCount + 1,\n );\n return Math.max(this.firstSupportedWeek, Math.min(last, week));\n }\n ngAfterViewInit(): void {\n this.resetScroll();\n if (this.browser && typeof ResizeObserver !== \"undefined\") {\n this.observer = new ResizeObserver(() => {\n this.compact = this.host.nativeElement.clientWidth < 338;\n const row = this.host.nativeElement.querySelector(\n \".week-row\",\n ) as HTMLElement;\n // CSS heights and scrollTop use layout pixels; client rectangles include zoom.\n const height = row ? parseFloat(getComputedStyle(row).height) : 0;\n if (height && height !== this.rowHeight) {\n this.rowHeight = height;\n this.scrollHeight = this.rowHeight * 2001;\n this.renderRows();\n this.resetScroll();\n }\n });\n this.observer.observe(this.host.nativeElement);\n }\n }\n ngOnDestroy(): void {\n this.destroyed = true;\n if (this.observer) this.observer.disconnect();\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n if (this.generator) this.generator.clearCache();\n }\n t(key: string): string {\n return resolveWklyTranslation(\n key,\n this.effectiveLocale,\n this[WklyPickerInputsPropertyKeys.Translations] ||\n this.defaultTranslations,\n this.strings,\n );\n }\n get isRange(): boolean {\n return this[WklyPickerInputsPropertyKeys.Mode].endsWith(\"-range\");\n }\n get hasDate(): boolean {\n return !this[WklyPickerInputsPropertyKeys.Mode].startsWith(\"time\");\n }\n get hasTime(): boolean {\n return (\n this[WklyPickerInputsPropertyKeys.Mode] !== \"date\" &&\n this[WklyPickerInputsPropertyKeys.Mode] !== \"date-range\"\n );\n }\n get submitVisible(): boolean {\n return (\n this.presentation === \"transient\" &&\n (this[WklyPickerInputsPropertyKeys.Mode] !== \"date\" ||\n this.viewMode === \"manual\")\n );\n }\n get title(): string {\n try {\n const d = this.adapter.epochDayToDate(\n Math.max(\n this.firstSupportedDay,\n Math.min(\n this.lastSupportedDay,\n firstEpochDayOf(this.anchorWeek, this.effectiveOffset),\n ),\n ),\n );\n return this.adapter.formatMonth(d) + \" \" + this.adapter.formatYear(d);\n } catch (_) {\n return \"\";\n }\n }\n get canSubmit(): boolean {\n return (\n !this[WklyPickerInputsPropertyKeys.Disabled] &&\n !this.errors.length &&\n this.pendingValue !== null\n );\n }\n private blank(day: number): Draft {\n const safe = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n return {\n date: this.adapter.epochDayToDate(safe),\n hour: 0,\n minute: 0,\n second: 0,\n present: false,\n };\n }\n load(value: WklyPickerValue): void {\n this.drafts = [this.blank(this.focused), this.blank(this.focused)];\n const validation = validateSelection(value, this, this.adapter);\n if (value !== null && !validation.length) {\n const values = typeof value === \"string\" ? [value] : value;\n values.forEach((v, i) => {\n const d = decodeIso(v);\n this.drafts[i] = {\n date: this.hasDate\n ? this.adapter.epochDayToDate(d.epochDay)\n : this.blank(this.today).date,\n hour: d.hour,\n minute: d.minute,\n second: d.second,\n present: true,\n };\n if (i === 0 && this.hasDate) this.focused = d.epochDay;\n });\n }\n if (validation.length) {\n this.pendingValue = null;\n this.report(validation);\n } else this.check();\n }\n writeValue(value: WklyPickerValue): void {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n if (this.initialized) {\n this.load(value);\n this.position(this.focused, true);\n }\n }\n registerOnChange(fn: (value: WklyPickerValue) => void): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(disabled: boolean): void {\n this[WklyPickerInputsPropertyKeys.Disabled] = disabled;\n }\n validate(_control: AbstractControl): ValidationErrors | null {\n return this.errors.length ? { wkly: this.errors } : null;\n }\n registerOnValidatorChange(fn: () => void): void {\n this.validatorChanged = fn;\n }\n touched(): void {\n Promise.resolve().then(() => this.onTouched());\n }\n private report(errors: readonly WklyValidationError[]): void {\n const changed = JSON.stringify(this.errors) !== JSON.stringify(errors);\n this.errors = errors;\n if (changed) {\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(errors);\n this.validatorChanged();\n }\n }\n check(): void {\n const result = validateDrafts({\n drafts: this.drafts,\n configErrors: this.configErrors,\n adapter: this.adapter,\n selection: this,\n mode: this[WklyPickerInputsPropertyKeys.Mode],\n isRange: this.isRange,\n hasDate: this.hasDate,\n hasTime: this.hasTime,\n showSeconds: this[WklyPickerInputsPropertyKeys.ShowSeconds],\n required: this[WklyPickerInputsPropertyKeys.Required],\n });\n this.pendingValue = result.pendingValue;\n this.report(result.errors);\n }\n trackDraft(index: number): number {\n // Endpoint controls keep their identity and focus when draft objects swap.\n return index;\n }\n private orderDrafts(): void {\n if (!this.isRange || !this.drafts.every((draft) => draft.present)) return;\n if (this.drafts.some((draft) => draft.unsupportedEpochDay !== undefined))\n return;\n try {\n const a = this.drafts[0],\n b = this.drafts[1];\n const key = (d: Draft) =>\n this.adapter.dateToEpochDay(d.date) * 86400 +\n (d.hour || 0) * 3600 +\n (d.minute || 0) * 60 +\n (d.second || 0);\n if (key(a) > key(b)) this.drafts = [b, a];\n } catch (_) {\n // Impossible or incomplete dates remain editable until corrected.\n }\n }\n finish(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.orderDrafts();\n if (this.viewMode === \"manual\" && this.hasDate) this.positionOnManualDate();\n this.check();\n if (this.presentation === \"inline\" && this.canSubmit) this.commit();\n }\n private commit(): void {\n if (!this.canSubmit) return;\n const next = this.pendingValue;\n if (\n JSON.stringify(next) !==\n JSON.stringify(this[WklyPickerInputsPropertyKeys.Value])\n ) {\n this[WklyPickerInputsPropertyKeys.Value] = next;\n this.emittedValue = JSON.stringify(next);\n this.onChange(next);\n this[WklyPickerOutputsPropertyKeys.ValueChange].emit(next);\n }\n this.onTouched();\n }\n submit(reason: WklyCloseReason = \"submit\"): void {\n this.check();\n if (!this.canSubmit) return;\n this.commit();\n if (this.presentation === \"transient\")\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n cancel(reason: WklyCloseReason = \"close-button\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.load(this[WklyPickerInputsPropertyKeys.Value]);\n this.onTouched();\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n now(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n const n = this.clock.now();\n const day = Math.floor(n.getTime() / 86400000);\n this.drafts = [0, 1].map((index) => ({\n ...this.clockDraft(day, n),\n present: index === 0 || this.isRange,\n }));\n if (\n this.hasDate &&\n (day < this.firstSupportedDay || day > this.lastSupportedDay)\n ) {\n this.report([error(\"unsupported-adapter-date\", day)]);\n return;\n }\n this.focused = day;\n this.position(day, true);\n this.check();\n this.submit(\"now\");\n }\n private clockDraft(day: number, now: Date): Draft {\n return {\n ...this.blank(day),\n hour: now.getUTCHours(),\n minute:\n Math.floor(\n now.getUTCMinutes() / this[WklyPickerInputsPropertyKeys.MinuteStep],\n ) * this[WklyPickerInputsPropertyKeys.MinuteStep],\n second: this[WklyPickerInputsPropertyKeys.ShowSeconds]\n ? Math.floor(\n now.getUTCSeconds() / this[WklyPickerInputsPropertyKeys.SecondStep],\n ) * this[WklyPickerInputsPropertyKeys.SecondStep]\n : 0,\n };\n }\n private initializeManualRange(): void {\n if (\n !this.isRange ||\n !this.hasDate ||\n this.drafts.every((draft) => draft.present)\n )\n return;\n let seed = this.drafts.find((draft) => draft.present);\n if (!seed) {\n if (this[WklyPickerInputsPropertyKeys.Value] !== null) return;\n const now = this.clock.now();\n const initialEpochDay =\n this[WklyPickerInputsPropertyKeys.InitialEpochDay];\n const day =\n initialEpochDay === null\n ? this.defaults.initialEpochDay === undefined\n ? Math.floor(now.getTime() / 86400000)\n : this.defaults.initialEpochDay\n : initialEpochDay;\n seed = { ...this.clockDraft(day, now), present: true };\n }\n // Complete missing endpoints without replacing selected or invalid drafts.\n const initial = seed;\n this.drafts = this.drafts.map((draft) =>\n draft.present ? draft : { ...initial, date: { ...initial.date } },\n );\n this.finish();\n // Positioning renders before validation; refresh completion controls afterward.\n this.changeDetector.markForCheck();\n }\n toggleView(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || !this.hasDate) return;\n this.viewMode = this.viewMode === \"calendar\" ? \"manual\" : \"calendar\";\n if (this.viewMode === \"manual\") this.initializeManualRange();\n if (this.viewMode === \"calendar\") this.positionOnManualDate();\n this[WklyPickerOutputsPropertyKeys.ViewModeChange].emit(this.viewMode);\n if (this.viewMode === \"calendar\") setTimeout(() => this.resetScroll());\n }\n private positionOnManualDate(): void {\n const draft = this.drafts[this.manualDateEndpoint];\n if (!draft || !draft.present) return;\n try {\n // A valid day follows the selection. An impossible day keeps its draft\n // fields but still shows the chosen month in the calendar.\n const target = this.adapter.dateToEpochDay(draft.date);\n this.focused = target;\n this.position(target, true);\n } catch (_) {\n try {\n const first = this.adapter.dateToEpochDay({ ...draft.date, day: 1 });\n this.focused = first;\n this.position(first, true);\n } catch (_) {}\n }\n }\n months(draft: Draft): readonly string[] {\n try {\n return this.adapter.getMonths(draft.date.year).map((m) => m.label);\n } catch (_) {\n return [];\n }\n }\n monthCount(draft: Draft): number {\n return this.months(draft).length || 12;\n }\n get inDays(): number | null {\n return draftDayDifference(this.drafts, this.adapter);\n }\n get inDaysLabel(): string {\n const days = this.inDays;\n return this.t(\"inDays\").replace(\n /{{\\s*days\\s*}}/g,\n days === null\n ? this.t(\"daysUnavailable\")\n : new Intl.NumberFormat(this.effectiveLocale, {\n useGrouping: false,\n }).format(days),\n );\n }\n get resultingEndDate(): string {\n try {\n const draft = this.drafts[1];\n if (\n draft.unsupportedEpochDay !== undefined ||\n this.adapter.validateDate(draft.date).length\n )\n return \"\";\n return [\n this.adapter.formatDay(draft.date),\n this.adapter.formatMonth(draft.date),\n this.adapter.formatYear(draft.date),\n ].join(\" \");\n } catch (_) {\n return \"\";\n }\n }\n toggleEndView(view: \"date\" | \"days\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.endView = view;\n }\n days(value: number | null): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n this.manualDateEndpoint = 1;\n setDraftDayDifference(this.drafts, this.adapter, value);\n this.check();\n }\n field(index: number, field: string, value: number | null): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n const draft = this.drafts[index];\n draft.present = true;\n if (field === \"day\" || field === \"year\" || field === \"month\") {\n this.manualDateEndpoint = index;\n delete draft.unsupportedEpochDay;\n let date = { ...draft.date, [field]: value } as WklyCalendarDate;\n if (field === \"month\") {\n let month;\n try {\n month = this.adapter\n .getMonths(date.year)\n .find((m) => m.month === value);\n } catch (_) {}\n date = { ...date, monthCode: month ? month.monthCode : \"\" };\n }\n if (field === \"year\" && value !== null) {\n try {\n const months = this.adapter.getMonths(value);\n const month = months.find((m) => m.monthCode === date.monthCode);\n if (month) date = { ...date, month: month.month };\n } catch (_) {}\n }\n draft.date = date;\n } else if (field === \"hour\" && this.effectiveHourCycle === \"h12\")\n draft.hour =\n value === null\n ? null\n : value >= 1 && value <= 12\n ? (value % 12) + ((draft.hour || 0) >= 12 ? 12 : 0)\n : 24 + value;\n else (draft as any)[field] = value;\n this.check();\n }\n displayHour(draft: Draft): number | null {\n return draft.hour === null\n ? null\n : this.effectiveHourCycle === \"h12\"\n ? draft.hour % 12 || 12\n : draft.hour;\n }\n period(index: number, period: \"am\" | \"pm\" | \"24\"): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled]) return;\n if (period === \"24\") this.effectiveHourCycle = \"h24\";\n else {\n this.effectiveHourCycle = \"h12\";\n this.drafts[index].hour =\n ((this.drafts[index].hour || 0) % 12) + (period === \"pm\" ? 12 : 0);\n this.drafts[index].present = true;\n this.finish();\n }\n }\n selected(day: number): boolean {\n return this.drafts.some((d) => {\n try {\n return d.present && this.adapter.dateToEpochDay(d.date) === day;\n } catch (_) {\n return false;\n }\n });\n }\n inRange(day: number): boolean {\n if (!this.isRange || !this.drafts.every((d) => d.present)) return false;\n try {\n const a = this.adapter.dateToEpochDay(this.drafts[0].date),\n b = this.adapter.dateToEpochDay(this.drafts[1].date);\n return day > Math.min(a, b) && day < Math.max(a, b);\n } catch (_) {\n return false;\n }\n }\n dayDisabled(day: number): boolean {\n if (day < this.firstSupportedDay || day > this.lastSupportedDay)\n return true;\n try {\n const date = this.adapter.epochDayToDate(day);\n const isDateDisabled = this[WklyPickerInputsPropertyKeys.IsDateDisabled];\n if (\n isDateDisabled &&\n isDateDisabled(day, {\n mode: this[WklyPickerInputsPropertyKeys.Mode],\n endpoint: this.isRange\n ? this.drafts[0]?.present && !this.drafts[1]?.present\n ? \"end\"\n : \"start\"\n : \"single\",\n calendarDate: date,\n })\n )\n return true;\n const min = this[WklyPickerInputsPropertyKeys.Min];\n const max = this[WklyPickerInputsPropertyKeys.Max];\n if (min && day < decodeIso(min).epochDay) return true;\n if (max && day > decodeIso(max).epochDay) return true;\n return false;\n } catch (_) {\n return true;\n }\n }\n select(day: number): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || this.dayDisabled(day))\n return;\n this.focused = day;\n const index =\n this.isRange && this.drafts[0].present && !this.drafts[1].present ? 1 : 0;\n if (this.isRange && index === 0) this.drafts[1].present = false;\n delete this.drafts[index].unsupportedEpochDay;\n this.drafts[index].date = this.adapter.epochDayToDate(day);\n this.drafts[index].present = true;\n this.orderDrafts();\n this.renderRows();\n this.finish();\n if (\n this.presentation === \"transient\" &&\n this[WklyPickerInputsPropertyKeys.Mode] === \"date\" &&\n this.viewMode === \"calendar\"\n )\n this.submit(\"auto-submit\");\n }\n key(event: KeyboardEvent, day: number): void {\n let delta = 0;\n if (event.key === \"ArrowLeft\") delta = -1;\n if (event.key === \"ArrowRight\") delta = 1;\n if (event.key === \"ArrowUp\") delta = -7;\n if (event.key === \"ArrowDown\") delta = 7;\n if (event.key === \"PageUp\")\n delta = -7 * (event.shiftKey ? this.visibleCount : 1);\n if (event.key === \"PageDown\")\n delta = 7 * (event.shiftKey ? this.visibleCount : 1);\n if (event.key === \"Home\") {\n event.preventDefault();\n this.scrollToEpochDay(this.today, { focus: true });\n }\n if (delta) {\n event.preventDefault();\n const target = day + delta;\n if (target >= this.firstSupportedDay && target <= this.lastSupportedDay)\n this.scrollToEpochDay(target, { focus: true });\n }\n }\n private position(\n day: number,\n preset = false,\n options: WklyJumpOptions = {},\n ): void {\n day = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n this.anchorWeek = absoluteWeekOf(day, this.effectiveOffset);\n const viewportPreset = this[WklyPickerInputsPropertyKeys.ViewportPreset];\n this.clipMonth = preset && viewportPreset.kind === \"full-month\";\n if (preset && viewportPreset.kind !== \"weeks\") {\n const d = this.adapter.epochDayToDate(day);\n this.initialMonth = d.year + \"/\" + d.monthCode;\n const [start, end] = calendarMonthBounds(this.adapter, day);\n this.firstWeek = absoluteWeekOf(start, this.effectiveOffset);\n this.visibleCount =\n absoluteWeekOf(end, this.effectiveOffset) - this.firstWeek + 1;\n if (\n viewportPreset.kind === \"full-month-and-around\" &&\n !this.configErrors.length\n ) {\n const before = viewportPreset.extraWeeksBefore || 0,\n after = viewportPreset.extraWeeksAfter || 0;\n this.firstWeek -= before;\n this.visibleCount += before + after;\n }\n } else {\n if (viewportPreset.kind === \"weeks\")\n this.visibleCount = this.configErrors.length\n ? 6\n : viewportPreset.visibleWeekCount;\n this.firstWeek =\n this.anchorWeek -\n (options.align === \"start\"\n ? 0\n : options.align === \"end\"\n ? this.visibleCount - 1\n : Math.floor(this.visibleCount / 2));\n }\n this.firstWeek = this.clampFirstWeek(this.firstWeek);\n this.baseWeek = this.firstWeek - 1000;\n this.renderRows();\n // Apply the new runway before writing scrollTop or locating a focus target.\n this.changeDetector.detectChanges();\n this.resetScroll();\n }\n private resetScroll(): void {\n // Round week boundaries to avoid scrollTop truncation under CSS zoom.\n if (this.scroller)\n this.scroller.nativeElement.scrollTop = Math.round(1000 * this.rowHeight);\n }\n scroll(event: Event): void {\n const element = event.target as HTMLElement;\n this.snapPending = true;\n this.scheduleSnap();\n // Quantize displacement around the reset point, equally in both directions.\n const relativeRows = element.scrollTop / this.rowHeight - 1000;\n const index =\n 1000 + Math.sign(relativeRows) * Math.round(Math.abs(relativeRows));\n const requestedFirst = this.baseWeek + index;\n const first = this.clampFirstWeek(requestedFirst);\n if (requestedFirst !== first) {\n element.scrollTop = Math.round((first - this.baseWeek) * this.rowHeight);\n }\n if (first === this.firstWeek) return;\n this.clipMonth = false;\n this.firstWeek = first;\n this.anchorWeek = first + Math.floor(this.visibleCount / 2);\n if (index < 100 || index > 1900) {\n // Preserve signed displacement from this week; modulo turns fractional\n // rounding just below a boundary into almost a full row after rebasing.\n const offset =\n element.scrollTop - (first - this.baseWeek) * this.rowHeight;\n this.baseWeek = first - 1000;\n element.scrollTop = Math.round(1000 * this.rowHeight + offset);\n }\n this.renderRows();\n }\n private scheduleSnap(): void {\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n this.scrollEndTimer = setTimeout(() => this.snapWeek(), 200);\n }\n snapWeek(): void {\n if (this.scrollEndTimer) clearTimeout(this.scrollEndTimer);\n this.scrollEndTimer = undefined;\n if (!this.snapPending || !this.scroller) return;\n this.snapPending = false;\n // Align the current virtual week without rebuilding or rebasing its rows.\n const element = this.scroller.nativeElement;\n const target = Math.round(\n (this.firstWeek - this.baseWeek) * this.rowHeight,\n );\n if (element.scrollTop !== target) element.scrollTop = target;\n }\n private showFirstWeek(week: number): void {\n const first = this.clampFirstWeek(week);\n if (first === this.firstWeek) return;\n this.clipMonth = false;\n this.firstWeek = first;\n this.anchorWeek = first + Math.floor(this.visibleCount / 2);\n this.baseWeek = first - 1000;\n this.renderRows();\n this.resetScroll();\n }\n canMoveWeek(delta: number): boolean {\n return this.clampFirstWeek(this.firstWeek + delta) !== this.firstWeek;\n }\n moveWeek(delta: number): void {\n if (!this[WklyPickerInputsPropertyKeys.Disabled])\n this.showFirstWeek(this.firstWeek + delta);\n }\n private renderRows(): void {\n // Keep the virtual scroll offset here; row data is shared across Angular versions.\n const overscan = Math.max(\n 0,\n Math.min(50, this[WklyPickerInputsPropertyKeys.OverscanWeeks] || 0),\n );\n const start = this.firstWeek - overscan;\n this.paddingTop = (start - this.baseWeek) * this.rowHeight;\n this.rows = createWeekRows({\n generator: this.generator,\n adapter: this.adapter,\n startWeek: start,\n count: this.visibleCount + 2 * overscan,\n firstVisibleWeek: this.firstWeek,\n firstSupportedDay: this.firstSupportedDay,\n lastSupportedDay: this.lastSupportedDay,\n clipMonth: this.clipMonth,\n initialMonth: this.initialMonth,\n weekLabelMode: this[WklyPickerInputsPropertyKeys.WeekLabelMode],\n weekLabelFormatter:\n this[WklyPickerInputsPropertyKeys.WeekLabelFormatter] || null,\n isDayDisabled: (day) => this.dayDisabled(day),\n });\n this[WklyPickerOutputsPropertyKeys.ViewportChange].emit({\n firstVisibleAbsoluteWeek: this.firstWeek,\n lastVisibleAbsoluteWeek: this.firstWeek + this.visibleCount - 1,\n anchorAbsoluteWeek: this.anchorWeek,\n });\n }\n // Retain day DOM nodes and keyboard focus when row metadata is regenerated.\n trackCell(_i: number, cell: { epochDay: number }): number {\n return cell.epochDay;\n }\n trackRow(_i: number, row: Row): number {\n return row.week.absoluteWeek;\n }\n scrollToEpochDay(day: number, options: WklyJumpOptions = {}): void {\n integer(day);\n this.adapter.epochDayToDate(day);\n day = Math.max(\n this.firstSupportedDay,\n Math.min(this.lastSupportedDay, day),\n );\n // position renders synchronously; publish the tab stop before that render.\n if (options.focus) this.focused = day;\n this.position(day, false, options);\n if (options.select) this.select(day);\n if (options.focus) this.focusDay();\n }\n scrollToAbsoluteWeek(week: number, options: WklyJumpOptions = {}): void {\n // A boundary week can start before the adapter's first supported day.\n const first = firstEpochDayOf(week, this.effectiveOffset);\n this.scrollToEpochDay(\n week === this.firstSupportedWeek\n ? Math.max(first, this.firstSupportedDay)\n : first,\n options,\n );\n }\n scrollToCalendarDate(\n date: WklyCalendarDate,\n options: WklyJumpOptions = {},\n ): void {\n this.scrollToEpochDay(this.adapter.dateToEpochDay(date), options);\n }\n scrollToValue(value: string, options: WklyJumpOptions = {}): void {\n this.scrollToEpochDay(decodeIso(value).epochDay, options);\n }\n focusDay(): void {\n if (!this.browser) return;\n setTimeout(() => {\n if (this.destroyed) return;\n this.changeDetector.detectChanges();\n const day = this.host.nativeElement.querySelector(\n '[data-day=\"' + this.focused + '\"]',\n ) as HTMLElement;\n const fallback = this.host.nativeElement.querySelector(\n \"button:not(:disabled),input:not(:disabled)\",\n ) as HTMLElement;\n (day || fallback)?.focus({ preventScroll: true });\n });\n }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Injectable,\n Injector,\n OnChanges,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n} from \"@angular/core\";\nimport { DOCUMENT, isPlatformBrowser } from \"@angular/common\";\nimport {\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n} from \"@angular/forms\";\nimport {\n validateSelection,\n WklyGregorianCalendarAdapter,\n WklyCalendarDate,\n WklyPickerValue,\n WklyValidationError,\n} from \"@wkly/adapters\";\nimport { Subscription } from \"rxjs\";\nimport {\n coerceBoolean,\n INPUT_NAMES,\n WklyCloseReason,\n WklyJumpOptions,\n WklyPickerInputs,\n WklyPickerInputsPropertyKeys,\n WklyPickerOutputsPropertyKeys,\n} from \"./config\";\nimport { WklyDateTimePickerComponent } from \"./picker.component\";\nexport interface WklyPresentationRef {\n readonly component: ComponentRef<WklyDateTimePickerComponent>;\n destroy(): void;\n}\n/** Native-dialog factory. Browser resources are allocated only by open(). */\n@Injectable({ providedIn: \"root\" })\nexport class WklyDateTimePickerDialogService {\n constructor(\n private resolver: ComponentFactoryResolver,\n private injector: Injector,\n private app: ApplicationRef,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platform: Object,\n ) {}\n open(\n trigger: HTMLElement,\n onCancel: (reason: WklyCloseReason) => void,\n backdrop = true,\n injector?: Injector,\n ): WklyPresentationRef {\n if (!isPlatformBrowser(this.platform))\n throw new Error(\"Picker presentations can only open in a browser\");\n const dialog = this.document.createElement(\n \"dialog\",\n ) as HTMLDialogElement & {\n showModal(): void;\n close(): void;\n };\n dialog.setAttribute(\"aria-label\", \"Date and time picker\");\n Object.assign(dialog.style, {\n padding: \"0\",\n border: \"0\",\n borderRadius: \"14px\",\n width: \"min(390px, 100vw)\",\n maxWidth: \"100vw\",\n maxHeight: \"94vh\",\n background: \"transparent\",\n });\n const component = this.resolver\n .resolveComponentFactory(WklyDateTimePickerComponent)\n .create(injector || this.injector);\n component.instance.presentation = \"transient\";\n dialog.appendChild(component.location.nativeElement);\n this.document.body.appendChild(dialog);\n this.app.attachView(component.hostView);\n const cancel = (event: Event) => {\n event.preventDefault();\n onCancel(\"escape\");\n };\n const click = (event: MouseEvent) => {\n if (backdrop && event.target === dialog) {\n const r = dialog.getBoundingClientRect();\n if (\n event.clientX < r.left ||\n event.clientX > r.right ||\n event.clientY < r.top ||\n event.clientY > r.bottom\n )\n onCancel(\"backdrop\");\n }\n };\n const keydown = (event: KeyboardEvent) => {\n if (event.key !== \"Tab\") return;\n const controls = Array.from(\n dialog.querySelectorAll<HTMLElement>(\n 'button:not(:disabled),input:not(:disabled),[tabindex=\"0\"]',\n ),\n ).filter(\n (el) =>\n el.tabIndex >= 0 &&\n el.getClientRects().length &&\n getComputedStyle(el).visibility !== \"hidden\",\n );\n const first = controls[0],\n last = controls[controls.length - 1];\n if (\n first &&\n (event.shiftKey\n ? this.document.activeElement === first\n : this.document.activeElement === last)\n ) {\n event.preventDefault();\n (event.shiftKey ? last : first).focus();\n }\n };\n dialog.addEventListener(\"cancel\", cancel);\n dialog.addEventListener(\"click\", click);\n dialog.addEventListener(\"keydown\", keydown);\n dialog.showModal();\n return {\n component,\n destroy: () => {\n dialog.removeEventListener(\"cancel\", cancel);\n dialog.removeEventListener(\"click\", click);\n dialog.removeEventListener(\"keydown\", keydown);\n dialog.close();\n this.app.detachView(component.hostView);\n component.destroy();\n dialog.remove();\n trigger.focus();\n },\n };\n }\n}\n/** Shared trigger lifecycle; optional presentation packages extend this class. */\n@Directive()\nexport abstract class WklyTriggerBase\n extends WklyPickerInputs\n implements ControlValueAccessor, Validator, OnChanges, OnDestroy\n{\n protected ref: WklyPresentationRef | null = null;\n protected subscriptions: Subscription[] = [];\n private errors: readonly WklyValidationError[] = [];\n private change: (value: WklyPickerValue) => void = () => {};\n private touched: () => void = () => {};\n private validation: () => void = () => {};\n constructor(protected element: ElementRef<HTMLElement>) {\n super();\n }\n protected abstract create(): WklyPresentationRef;\n @HostListener(\"click\") open(): void {\n if (this[WklyPickerInputsPropertyKeys.Disabled] || this.ref) return;\n this.ref = this.create();\n const picker = this.ref.component.instance;\n this.copy();\n this.subscriptions = [\n picker[WklyPickerOutputsPropertyKeys.ValueChange].subscribe((value) => {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n this.change(value);\n this[WklyPickerOutputsPropertyKeys.ValueChange].emit(value);\n this.display();\n }),\n picker[WklyPickerOutputsPropertyKeys.ValidationChange].subscribe(\n (errors) => {\n this.errors = errors;\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(errors);\n this.validation();\n },\n ),\n picker[WklyPickerOutputsPropertyKeys.Closed].subscribe((reason) =>\n this.close(reason),\n ),\n picker[WklyPickerOutputsPropertyKeys.ViewportChange].subscribe((value) =>\n this[WklyPickerOutputsPropertyKeys.ViewportChange].emit(value),\n ),\n picker[WklyPickerOutputsPropertyKeys.ViewModeChange].subscribe((value) =>\n this[WklyPickerOutputsPropertyKeys.ViewModeChange].emit(value),\n ),\n ];\n this.ref.component.changeDetectorRef.detectChanges();\n picker.focusDay();\n this[WklyPickerOutputsPropertyKeys.Opened].emit();\n }\n @HostListener(\"keydown\", [\"$event\"]) key(event: KeyboardEvent): void {\n if (\n event.key === \"Enter\" ||\n event.key === \" \" ||\n event.key === \"ArrowDown\"\n ) {\n event.preventDefault();\n this.open();\n }\n }\n @HostListener(\"blur\") blur(): void {\n this.touched();\n }\n close(reason: WklyCloseReason = \"programmatic\"): void {\n if (!this.ref) return;\n const ref = this.ref;\n this.ref = null;\n this.subscriptions.forEach((s) => s.unsubscribe());\n this.subscriptions = [];\n ref.destroy();\n this.touched();\n this[WklyPickerOutputsPropertyKeys.Closed].emit(reason);\n }\n ngOnChanges(): void {\n [\n WklyPickerInputsPropertyKeys.ShowSeconds,\n WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled,\n WklyPickerInputsPropertyKeys.Required,\n WklyPickerInputsPropertyKeys.Disabled,\n WklyPickerInputsPropertyKeys.CloseOnBackdrop,\n ].forEach(\n (key) => ((this as any)[key] = coerceBoolean((this as any)[key])),\n );\n this.checkValue();\n this.display();\n if (this.ref) {\n this.copy();\n this.ref.component.instance.ngOnChanges({\n [WklyPickerInputsPropertyKeys.Value]: true,\n });\n this.ref.component.changeDetectorRef.detectChanges();\n }\n }\n ngOnDestroy(): void {\n this.close();\n }\n private copy(): void {\n if (this.ref)\n for (const name of INPUT_NAMES)\n (this.ref.component.instance as any)[name] = (this as any)[name];\n }\n private display(): void {\n const host = this.element.nativeElement as HTMLInputElement;\n if (host.tagName === \"INPUT\") {\n host.readOnly = true;\n const value = this[WklyPickerInputsPropertyKeys.Value];\n host.value =\n value === null\n ? \"\"\n : typeof value === \"string\"\n ? value\n : value.join(\" — \");\n host.disabled = this[WklyPickerInputsPropertyKeys.Disabled];\n host.setAttribute(\"aria-haspopup\", \"dialog\");\n }\n }\n private checkValue(): void {\n this.errors = validateSelection(\n this[WklyPickerInputsPropertyKeys.Value],\n this,\n this[WklyPickerInputsPropertyKeys.CalendarAdapter] ||\n new WklyGregorianCalendarAdapter(\n this[WklyPickerInputsPropertyKeys.Locale] || \"en-US\",\n ),\n );\n this[WklyPickerOutputsPropertyKeys.ValidationChange].emit(this.errors);\n this.validation();\n }\n writeValue(value: WklyPickerValue): void {\n this[WklyPickerInputsPropertyKeys.Value] = value;\n this.checkValue();\n this.display();\n if (this.ref) this.ref.component.instance.writeValue(value);\n }\n registerOnChange(fn: (value: WklyPickerValue) => void): void {\n this.change = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.touched = fn;\n }\n setDisabledState(value: boolean): void {\n this[WklyPickerInputsPropertyKeys.Disabled] = value;\n this.display();\n if (this.ref) this.ref.component.instance.setDisabledState(value);\n }\n validate(): ValidationErrors | null {\n return this.errors.length ? { wkly: this.errors } : null;\n }\n registerOnValidatorChange(fn: () => void): void {\n this.validation = fn;\n }\n scrollToEpochDay(day: number, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToEpochDay(day, options);\n }\n scrollToAbsoluteWeek(week: number, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToAbsoluteWeek(week, options);\n }\n scrollToCalendarDate(\n date: WklyCalendarDate,\n options?: WklyJumpOptions,\n ): void {\n this.open();\n this.ref?.component.instance.scrollToCalendarDate(date, options);\n }\n scrollToValue(value: string, options?: WklyJumpOptions): void {\n this.open();\n this.ref?.component.instance.scrollToValue(value, options);\n }\n}\n@Directive({\n selector: \"[wklyDateTimePickerDialog]\",\n exportAs: \"wklyDialog\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => WklyDateTimePickerDialogDirective),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => WklyDateTimePickerDialogDirective),\n multi: true,\n },\n ],\n})\nexport class WklyDateTimePickerDialogDirective extends WklyTriggerBase {\n constructor(\n element: ElementRef<HTMLElement>,\n private service: WklyDateTimePickerDialogService,\n private triggerInjector: Injector,\n ) {\n super(element);\n }\n protected create(): WklyPresentationRef {\n return this.service.open(\n this.element.nativeElement,\n (reason) => this.close(reason),\n this[WklyPickerInputsPropertyKeys.CloseOnBackdrop],\n this.triggerInjector,\n );\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n} from \"@angular/core\";\nimport { floorMod } from \"@wkly/core\";\nimport { normalizeDigits } from \"@wkly/adapters\";\n@Component({\n selector: \"wkly-field\",\n templateUrl: \"./field.component.html\",\n styleUrls: [\"./field.component.css\"],\n})\nexport class WklyFieldComponent implements OnChanges, OnDestroy {\n @Input() value: number | null = 0;\n @Input() label = \"\";\n @Input() hideLabel = false;\n @Input() previousLabel = \"\";\n @Input() nextLabel = \"\";\n @Input() min = 0;\n @Input() max = 59;\n @Input() step = 1;\n @Input() locale = \"en-US\";\n @Input() disabled = false;\n @Input() invalid = false;\n @Input() labels: readonly string[] | null = null;\n @Output() valueChange = new EventEmitter<number | null>();\n @Output() complete = new EventEmitter<void>();\n private before: number | null = null;\n private touchY = 0;\n private touchSteps = 0;\n private touchChanged = false;\n private typed: string | null = null;\n private inputTimer: ReturnType<typeof setTimeout> | null = null;\n private wheelTimer: ReturnType<typeof setTimeout> | null = null;\n get display(): string {\n if (this.typed !== null) return this.typed;\n return this.value === null\n ? \"\"\n : this.labels\n ? this.labels[this.value - this.min] || String(this.value)\n : new Intl.NumberFormat(this.locale, {\n useGrouping: false,\n minimumIntegerDigits: this.max < 60 ? 2 : 1,\n }).format(this.value);\n }\n ngOnChanges(changes: any): void {\n if (changes.value && this.min < 0 && this.typed !== null) {\n const typedValue =\n this.typed === \"\" || this.typed === \"-\" ? null : Number(this.typed);\n if (this.value !== typedValue) {\n // External date edits replace a pending relative-day preview.\n this.cancelInput();\n this.typed = null;\n }\n }\n }\n ngOnDestroy(): void {\n this.cancelInput();\n if (this.wheelTimer !== null) clearTimeout(this.wheelTimer);\n }\n next(delta: number): number {\n const count = Math.floor((this.max - this.min) / this.step) + 1;\n return (\n this.min +\n floorMod(\n Math.floor(\n ((this.value === null ? this.min : this.value) - this.min) /\n this.step,\n ) + delta,\n count,\n ) *\n this.step\n );\n }\n neighbor(delta: number): string {\n const n = this.next(delta);\n return this.labels\n ? this.labels[n - this.min] || \"\"\n : new Intl.NumberFormat(this.locale, { useGrouping: false }).format(n);\n }\n stepBy(delta: number): void {\n if (this.disabled) return;\n this.scrollBy(delta);\n this.complete.emit();\n }\n begin(event: FocusEvent): void {\n this.before = this.value;\n (event.target as HTMLInputElement).select();\n }\n type(event: Event): void {\n if (this.disabled) return;\n const input = event.target as HTMLInputElement;\n const raw = input.value;\n const numeric = Array.from(raw).every(\n (character) => normalizeDigits(character).length === 1,\n );\n if (this.min < 0 && !this.labels) {\n // Preserve the sign while using the same locale digit normalization.\n const signed = raw\n .replace(/[\\u200e\\u200f\\u061c]/g, \"\")\n .replace(/\\u2212/g, \"-\");\n const digits = normalizeDigits(signed);\n this.typed = input.value = (signed.startsWith(\"-\") ? \"-\" : \"\") + digits;\n this.value =\n digits === \"\"\n ? null\n : Math.max(this.min, Math.min(this.max, Number(this.typed)));\n if (this.value !== null && Number(this.typed) !== this.value)\n this.typed = input.value = String(this.value);\n } else if (numeric) {\n const normalized = normalizeDigits(raw);\n this.typed = input.value =\n this.min >= 0 && this.max < 100 ? normalized.slice(-2) : normalized;\n this.value = this.typed === \"\" ? null : Number(this.typed);\n } else if (this.labels) {\n const search = raw.trim().toLocaleLowerCase(this.locale);\n this.typed = raw;\n const matches = this.labels\n .map((label, index) => ({ label, index }))\n .filter((item) =>\n item.label.toLocaleLowerCase(this.locale).includes(search),\n );\n this.value = matches.length === 1 ? this.min + matches[0].index : null;\n } else {\n this.typed = input.value = normalizeDigits(raw);\n this.value = this.typed === \"\" ? null : Number(this.typed);\n }\n this.valueChange.emit(this.value);\n this.cancelInput();\n if (!numeric && this.labels && this.value !== null) this.complete.emit();\n this.inputTimer = setTimeout(() => {\n this.inputTimer = null;\n this.typed = null;\n if (!this.disabled) this.complete.emit();\n }, 1000);\n }\n key(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n this.cancelInput();\n this.typed = null;\n this.value = this.before;\n this.valueChange.emit(this.before);\n (event.target as HTMLInputElement).value = this.display;\n (event.target as HTMLInputElement).blur();\n }\n if (event.key === \"Enter\") {\n event.preventDefault();\n event.stopPropagation();\n this.finish();\n }\n const delta =\n event.key === \"ArrowUp\"\n ? -1\n : event.key === \"ArrowDown\"\n ? 1\n : event.key === \"PageUp\"\n ? -5\n : event.key === \"PageDown\"\n ? 5\n : 0;\n if (delta) {\n event.preventDefault();\n this.stepBy(delta);\n }\n }\n finish(): void {\n this.cancelInput();\n this.typed = null;\n this.complete.emit();\n }\n wheel(event: WheelEvent): void {\n if (this.disabled || Math.abs(event.deltaY) < 1) return;\n event.preventDefault();\n this.scrollBy(event.deltaY > 0 ? 1 : -1);\n if (this.wheelTimer !== null) clearTimeout(this.wheelTimer);\n this.wheelTimer = setTimeout(() => {\n this.wheelTimer = null;\n this.complete.emit();\n }, 140);\n }\n touchStart(event: TouchEvent): void {\n this.touchY = event.touches[0].clientY;\n this.touchSteps = 0;\n this.touchChanged = false;\n }\n touchMove(event: TouchEvent): void {\n this.applyTouchY(event.touches[0].clientY);\n }\n touchEnd(event: TouchEvent): void {\n this.applyTouchY(event.changedTouches[0].clientY);\n if (this.touchChanged) this.complete.emit();\n this.touchChanged = false;\n }\n private cancelInput(): void {\n if (this.inputTimer !== null) clearTimeout(this.inputTimer);\n this.inputTimer = null;\n }\n private scrollBy(delta: number): void {\n if (this.disabled || !delta) return;\n this.cancelInput();\n this.typed = null;\n this.value = this.next(delta);\n this.valueChange.emit(this.value);\n }\n private applyTouchY(y: number): void {\n // Count total gesture steps so repeated move events do not duplicate changes.\n if (this.disabled) return;\n const delta = this.touchY - y;\n const steps =\n Math.abs(delta) > 16\n ? Math.sign(delta) * Math.max(1, Math.round(Math.abs(delta) / 40))\n : 0;\n const change = steps - this.touchSteps;\n if (!change) return;\n this.scrollBy(change);\n this.touchSteps = steps;\n this.touchChanged = true;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { WklyDateTimePickerComponent } from \"./picker.component\";\nimport { WklyDateTimePickerDialogDirective } from \"./presentation\";\nimport { WklyFieldComponent } from \"./field.component\";\nexport * from \"./config\";\nexport { WklyDateTimePickerComponent } from \"./picker.component\";\nexport {\n WklyPresentationRef,\n WklyDateTimePickerDialogService,\n WklyTriggerBase,\n WklyDateTimePickerDialogDirective,\n} from \"./presentation\";\nexport { WklyFieldComponent } from \"./field.component\";\nexport {\n WklyPickerValue,\n WklyIsoString,\n WklyRangeValue,\n WklySelectionMode,\n WklyValidationError,\n WklyValidationErrorCode,\n WklyViewportPreset,\n WklyHourCycle,\n WklyEndpoint,\n WklyDisabledDatePredicate,\n WklyDisabledTimePredicate,\n WklyRangeValidator,\n WklyWeekLabelMode,\n WklyWeekLabelFormatter,\n} from \"@wkly/adapters\";\n@NgModule({\n imports: [CommonModule],\n declarations: [\n WklyDateTimePickerComponent,\n WklyDateTimePickerDialogDirective,\n WklyFieldComponent,\n ],\n entryComponents: [WklyDateTimePickerComponent],\n exports: [WklyDateTimePickerComponent, WklyDateTimePickerDialogDirective],\n})\nexport class WklyDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {WklyClock as ɵb,WklyConfiguration as ɵa,WklyStrings as ɵc,WklyTranslations as ɵd} from './config';"],"names":["__decorate","__metadata","InjectionToken","DEFAULT_OVERSCAN_WEEKS","EventEmitter","WklyPickerInputsPropertyKeys","WklyPickerOutputsPropertyKeys","Directive","Input","Output","isPlatformBrowser","coerceBoolean","WklyGregorianCalendarAdapter","getLocaleFirstDayOfWeek","resolveWeekOffset","integer","createWeekGenerator","error","absoluteWeekOf","resolveWklyTranslation","firstEpochDayOf","validateSelection","decodeIso","validateDrafts","draftDayDifference","setDraftDayDifference","calendarMonthBounds","createWeekRows","Component","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Inject","LOCALE_ID","PLATFORM_ID","ElementRef","ChangeDetectorRef","ViewChild","Injectable","ComponentFactoryResolver","Injector","ApplicationRef","DOCUMENT","INPUT_NAMES","HostListener","floorMod","normalizeDigits","NgModule","CommonModule"],"mappings":"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"}
|