UNPKG

react-klasha

Version:

This is an reactJS library for implementing klasha payment gateway

1 lines 173 kB
{"ast":null,"code":"import { __awaiter, __generator } from \"tslib\";\nimport { r as registerInstance, e as createEvent, h, H as Host, i as getElement } from \"./index-7a8b7a1c.js\";\nimport { b as getIonMode } from \"./ionic-global-63a97a32.js\";\nimport { a as addEventListener, j as clamp, h as findItemLabel, e as renderHiddenInput } from \"./helpers-dd7e4b7b.js\";\nimport { p as pickerController, B as BACKDROP, i as isCancel, e as prepareOverlay, d as present, f as dismiss, g as eventMethod, s as safeCall } from \"./overlays-e9ccff30.js\";\nimport { h as hostContext, g as getClassMap } from \"./theme-ff3fc52f.js\";\nimport { c as createAnimation } from \"./animation-096c6391.js\";\nimport { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from \"./haptic-27b3f981.js\";\nimport \"./hardware-back-button-4a6b37fb.js\";\n\nvar getDateValue = function (t, e) {\n var i = getValueFromFormat(t, e);\n\n if (i !== undefined) {\n if (e === FORMAT_A || e === FORMAT_a) {\n t.ampm = i;\n }\n\n return i;\n }\n\n var r = parseDate(new Date().toISOString());\n return getValueFromFormat(r, e);\n};\n\nvar renderDatetime = function (t, e, i) {\n if (e === undefined) {\n return undefined;\n }\n\n var r = [];\n var n = false;\n FORMAT_KEYS.forEach(function (o, a) {\n if (t.indexOf(o.f) > -1) {\n var s = \"{\" + a + \"}\";\n var d = renderTextFormat(o.f, e[o.k], e, i);\n\n if (!n && d !== undefined && e[o.k] != null) {\n n = true;\n }\n\n r.push(s, d || \"\");\n t = t.replace(o.f, s);\n }\n });\n\n if (!n) {\n return undefined;\n }\n\n for (var o = 0; o < r.length; o += 2) {\n t = t.replace(r[o], r[o + 1]);\n }\n\n return t;\n};\n\nvar renderTextFormat = function (t, e, i, r) {\n if (t === FORMAT_DDDD || t === FORMAT_DDD) {\n try {\n e = new Date(i.year, i.month - 1, i.day).getDay();\n\n if (t === FORMAT_DDDD) {\n return (r.dayNames ? r.dayNames : DAY_NAMES)[e];\n }\n\n return (r.dayShortNames ? r.dayShortNames : DAY_SHORT_NAMES)[e];\n } catch (n) {}\n\n return undefined;\n }\n\n if (t === FORMAT_A) {\n return i !== undefined && i.hour !== undefined ? i.hour < 12 ? \"AM\" : \"PM\" : e ? e.toUpperCase() : \"\";\n }\n\n if (t === FORMAT_a) {\n return i !== undefined && i.hour !== undefined ? i.hour < 12 ? \"am\" : \"pm\" : e || \"\";\n }\n\n if (e == null) {\n return \"\";\n }\n\n if (t === FORMAT_YY || t === FORMAT_MM || t === FORMAT_DD || t === FORMAT_HH || t === FORMAT_mm || t === FORMAT_ss) {\n return twoDigit(e);\n }\n\n if (t === FORMAT_YYYY) {\n return fourDigit(e);\n }\n\n if (t === FORMAT_MMMM) {\n return (r.monthNames ? r.monthNames : MONTH_NAMES)[e - 1];\n }\n\n if (t === FORMAT_MMM) {\n return (r.monthShortNames ? r.monthShortNames : MONTH_SHORT_NAMES)[e - 1];\n }\n\n if (t === FORMAT_hh || t === FORMAT_h) {\n if (e === 0) {\n return \"12\";\n }\n\n if (e > 12) {\n e -= 12;\n }\n\n if (t === FORMAT_hh && e < 10) {\n return \"0\" + e;\n }\n }\n\n return e.toString();\n};\n\nvar dateValueRange = function (t, e, i) {\n var r = [];\n\n if (t === FORMAT_YYYY || t === FORMAT_YY) {\n if (i.year === undefined || e.year === undefined) {\n throw new Error(\"min and max year is undefined\");\n }\n\n for (var n = i.year; n >= e.year; n--) {\n r.push(n);\n }\n } else if (t === FORMAT_MMMM || t === FORMAT_MMM || t === FORMAT_MM || t === FORMAT_M || t === FORMAT_hh || t === FORMAT_h) {\n for (var n = 1; n < 13; n++) {\n r.push(n);\n }\n } else if (t === FORMAT_DDDD || t === FORMAT_DDD || t === FORMAT_DD || t === FORMAT_D) {\n for (var n = 1; n < 32; n++) {\n r.push(n);\n }\n } else if (t === FORMAT_HH || t === FORMAT_H) {\n for (var n = 0; n < 24; n++) {\n r.push(n);\n }\n } else if (t === FORMAT_mm || t === FORMAT_m) {\n for (var n = 0; n < 60; n++) {\n r.push(n);\n }\n } else if (t === FORMAT_ss || t === FORMAT_s) {\n for (var n = 0; n < 60; n++) {\n r.push(n);\n }\n } else if (t === FORMAT_A || t === FORMAT_a) {\n r.push(\"am\", \"pm\");\n }\n\n return r;\n};\n\nvar dateSortValue = function (t, e, i, r, n) {\n if (r === void 0) {\n r = 0;\n }\n\n if (n === void 0) {\n n = 0;\n }\n\n return parseInt(\"1\" + fourDigit(t) + twoDigit(e) + twoDigit(i) + twoDigit(r) + twoDigit(n), 10);\n};\n\nvar dateDataSortValue = function (t) {\n return dateSortValue(t.year, t.month, t.day, t.hour, t.minute);\n};\n\nvar daysInMonth = function (t, e) {\n return t === 4 || t === 6 || t === 9 || t === 11 ? 30 : t === 2 ? isLeapYear(e) ? 29 : 28 : 31;\n};\n\nvar isLeapYear = function (t) {\n return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;\n};\n\nvar ISO_8601_REGEXP = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\nvar TIME_REGEXP = /^((\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\n\nvar parseDate = function (t) {\n var e = null;\n\n if (t != null && t !== \"\") {\n e = TIME_REGEXP.exec(t);\n\n if (e) {\n e.unshift(undefined, undefined);\n e[2] = e[3] = undefined;\n } else {\n e = ISO_8601_REGEXP.exec(t);\n }\n }\n\n if (e === null) {\n return undefined;\n }\n\n for (var i = 1; i < 8; i++) {\n e[i] = e[i] !== undefined ? parseInt(e[i], 10) : undefined;\n }\n\n var r = 0;\n\n if (e[9] && e[10]) {\n r = parseInt(e[10], 10) * 60;\n\n if (e[11]) {\n r += parseInt(e[11], 10);\n }\n\n if (e[9] === \"-\") {\n r *= -1;\n }\n }\n\n return {\n year: e[1],\n month: e[2],\n day: e[3],\n hour: e[4],\n minute: e[5],\n second: e[6],\n millisecond: e[7],\n tzOffset: r\n };\n};\n\nvar getDateTime = function (t, e) {\n if (t === void 0) {\n t = \"\";\n }\n\n if (e === void 0) {\n e = \"\";\n }\n\n if (t === undefined || t === null) {\n t = \"\";\n }\n\n if (t.length === 10 || t.length === 7 || t.length === 4) {\n t += \" \";\n }\n\n var i = typeof t === \"string\" && t.length > 0 ? new Date(t) : new Date();\n var r = new Date(Date.UTC(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), i.getSeconds(), i.getMilliseconds()));\n\n if (e && e.length > 0) {\n return new Date(i.getTime() - getTimezoneOffset(r, e));\n }\n\n return r;\n};\n\nvar getTimezoneOffset = function (t, e) {\n var i = new Date(t.toLocaleString(\"en-US\", {\n timeZone: \"utc\"\n }));\n var r = new Date(t.toLocaleString(\"en-US\", {\n timeZone: e\n }));\n return i.getTime() - r.getTime();\n};\n\nvar updateDate = function (t, e, i) {\n if (!e || typeof e === \"string\") {\n var r = getDateTime(e, i);\n\n if (!Number.isNaN(r.getTime())) {\n e = r.toISOString();\n }\n }\n\n if (e && e !== \"\") {\n if (typeof e === \"string\") {\n e = parseDate(e);\n\n if (e) {\n Object.assign(t, e);\n return true;\n }\n } else if (e.year || e.hour || e.month || e.day || e.minute || e.second) {\n if (e.ampm !== undefined && e.hour !== undefined) {\n e.hour.value = e.ampm.value === \"pm\" ? e.hour.value === 12 ? 12 : e.hour.value + 12 : e.hour.value === 12 ? 0 : e.hour.value;\n }\n\n for (var n = 0, o = Object.keys(e); n < o.length; n++) {\n var a = o[n];\n t[a] = e[a].value;\n }\n\n return true;\n } else if (e.ampm) {\n e.hour = {\n value: e.hour ? e.hour.value : e.ampm.value === \"pm\" ? t.hour < 12 ? t.hour + 12 : t.hour : t.hour >= 12 ? t.hour - 12 : t.hour\n };\n t[\"hour\"] = e[\"hour\"].value;\n t[\"ampm\"] = e[\"ampm\"].value;\n return true;\n }\n\n console.warn('Error parsing date: \"' + e + '\". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime');\n } else {\n for (var s in t) {\n if (t.hasOwnProperty(s)) {\n delete t[s];\n }\n }\n }\n\n return false;\n};\n\nvar parseTemplate = function (t) {\n var e = [];\n t = t.replace(/[^\\w\\s]/gi, \" \");\n FORMAT_KEYS.forEach(function (e) {\n if (e.f.length > 1 && t.indexOf(e.f) > -1 && t.indexOf(e.f + e.f.charAt(0)) < 0) {\n t = t.replace(e.f, \" \" + e.f + \" \");\n }\n });\n var i = t.split(\" \").filter(function (t) {\n return t.length > 0;\n });\n i.forEach(function (t, r) {\n FORMAT_KEYS.forEach(function (n) {\n if (t === n.f) {\n if (t === FORMAT_A || t === FORMAT_a) {\n if (e.indexOf(FORMAT_h) < 0 && e.indexOf(FORMAT_hh) < 0 || VALID_AMPM_PREFIX.indexOf(i[r - 1]) === -1) {\n return;\n }\n }\n\n e.push(t);\n }\n });\n });\n return e;\n};\n\nvar getValueFromFormat = function (t, e) {\n if (e === FORMAT_A || e === FORMAT_a) {\n return t.hour < 12 ? \"am\" : \"pm\";\n }\n\n if (e === FORMAT_hh || e === FORMAT_h) {\n return t.hour > 12 ? t.hour - 12 : t.hour === 0 ? 12 : t.hour;\n }\n\n return t[convertFormatToKey(e)];\n};\n\nvar convertFormatToKey = function (t) {\n for (var e in FORMAT_KEYS) {\n if (FORMAT_KEYS[e].f === t) {\n return FORMAT_KEYS[e].k;\n }\n }\n\n return undefined;\n};\n\nvar convertDataToISO = function (t) {\n var e = \"\";\n\n if (t.year !== undefined) {\n e = fourDigit(t.year);\n\n if (t.month !== undefined) {\n e += \"-\" + twoDigit(t.month);\n\n if (t.day !== undefined) {\n e += \"-\" + twoDigit(t.day);\n\n if (t.hour !== undefined) {\n e += \"T\" + twoDigit(t.hour) + \":\" + twoDigit(t.minute) + \":\" + twoDigit(t.second);\n\n if (t.millisecond > 0) {\n e += \".\" + threeDigit(t.millisecond);\n }\n\n if (t.tzOffset === undefined) {\n e += \"Z\";\n } else {\n e += (t.tzOffset > 0 ? \"+\" : \"-\") + twoDigit(Math.floor(Math.abs(t.tzOffset / 60))) + \":\" + twoDigit(t.tzOffset % 60);\n }\n }\n }\n }\n } else if (t.hour !== undefined) {\n e = twoDigit(t.hour) + \":\" + twoDigit(t.minute);\n\n if (t.second !== undefined) {\n e += \":\" + twoDigit(t.second);\n\n if (t.millisecond !== undefined) {\n e += \".\" + threeDigit(t.millisecond);\n }\n }\n }\n\n return e;\n};\n\nvar convertToArrayOfStrings = function (t, e) {\n if (t == null) {\n return undefined;\n }\n\n if (typeof t === \"string\") {\n t = t.replace(/\\[|\\]/g, \"\").split(\",\");\n }\n\n var i;\n\n if (Array.isArray(t)) {\n i = t.map(function (t) {\n return t.toString().trim();\n });\n }\n\n if (i === undefined || i.length === 0) {\n console.warn('Invalid \"' + e + 'Names\". Must be an array of strings, or a comma separated string.');\n }\n\n return i;\n};\n\nvar convertToArrayOfNumbers = function (t, e) {\n if (typeof t === \"string\") {\n t = t.replace(/\\[|\\]|\\s/g, \"\").split(\",\");\n }\n\n var i;\n\n if (Array.isArray(t)) {\n i = t.map(function (t) {\n return parseInt(t, 10);\n }).filter(isFinite);\n } else {\n i = [t];\n }\n\n if (i.length === 0) {\n console.warn('Invalid \"' + e + 'Values\". Must be an array of numbers, or a comma separated string of numbers.');\n }\n\n return i;\n};\n\nvar twoDigit = function (t) {\n return (\"0\" + (t !== undefined ? Math.abs(t) : \"0\")).slice(-2);\n};\n\nvar threeDigit = function (t) {\n return (\"00\" + (t !== undefined ? Math.abs(t) : \"0\")).slice(-3);\n};\n\nvar fourDigit = function (t) {\n return (\"000\" + (t !== undefined ? Math.abs(t) : \"0\")).slice(-4);\n};\n\nvar FORMAT_YYYY = \"YYYY\";\nvar FORMAT_YY = \"YY\";\nvar FORMAT_MMMM = \"MMMM\";\nvar FORMAT_MMM = \"MMM\";\nvar FORMAT_MM = \"MM\";\nvar FORMAT_M = \"M\";\nvar FORMAT_DDDD = \"DDDD\";\nvar FORMAT_DDD = \"DDD\";\nvar FORMAT_DD = \"DD\";\nvar FORMAT_D = \"D\";\nvar FORMAT_HH = \"HH\";\nvar FORMAT_H = \"H\";\nvar FORMAT_hh = \"hh\";\nvar FORMAT_h = \"h\";\nvar FORMAT_mm = \"mm\";\nvar FORMAT_m = \"m\";\nvar FORMAT_ss = \"ss\";\nvar FORMAT_s = \"s\";\nvar FORMAT_A = \"A\";\nvar FORMAT_a = \"a\";\nvar FORMAT_KEYS = [{\n f: FORMAT_YYYY,\n k: \"year\"\n}, {\n f: FORMAT_MMMM,\n k: \"month\"\n}, {\n f: FORMAT_DDDD,\n k: \"day\"\n}, {\n f: FORMAT_MMM,\n k: \"month\"\n}, {\n f: FORMAT_DDD,\n k: \"day\"\n}, {\n f: FORMAT_YY,\n k: \"year\"\n}, {\n f: FORMAT_MM,\n k: \"month\"\n}, {\n f: FORMAT_DD,\n k: \"day\"\n}, {\n f: FORMAT_HH,\n k: \"hour\"\n}, {\n f: FORMAT_hh,\n k: \"hour\"\n}, {\n f: FORMAT_mm,\n k: \"minute\"\n}, {\n f: FORMAT_ss,\n k: \"second\"\n}, {\n f: FORMAT_M,\n k: \"month\"\n}, {\n f: FORMAT_D,\n k: \"day\"\n}, {\n f: FORMAT_H,\n k: \"hour\"\n}, {\n f: FORMAT_h,\n k: \"hour\"\n}, {\n f: FORMAT_m,\n k: \"minute\"\n}, {\n f: FORMAT_s,\n k: \"second\"\n}, {\n f: FORMAT_A,\n k: \"ampm\"\n}, {\n f: FORMAT_a,\n k: \"ampm\"\n}];\nvar DAY_NAMES = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\nvar DAY_SHORT_NAMES = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nvar MONTH_NAMES = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\nvar MONTH_SHORT_NAMES = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nvar VALID_AMPM_PREFIX = [FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s];\nvar datetimeIosCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}\";\nvar datetimeMdCss = \":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-ms-flex:1;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}\";\n\nvar Datetime = function () {\n function t(t) {\n var e = this;\n registerInstance(this, t);\n this.ionCancel = createEvent(this, \"ionCancel\", 7);\n this.ionChange = createEvent(this, \"ionChange\", 7);\n this.ionFocus = createEvent(this, \"ionFocus\", 7);\n this.ionBlur = createEvent(this, \"ionBlur\", 7);\n this.ionStyle = createEvent(this, \"ionStyle\", 7);\n this.inputId = \"ion-dt-\" + datetimeIds++;\n this.locale = {};\n this.datetimeMin = {};\n this.datetimeMax = {};\n this.datetimeValue = {};\n this.isExpanded = false;\n this.name = this.inputId;\n this.disabled = false;\n this.readonly = false;\n this.displayFormat = \"MMM D, YYYY\";\n this.cancelText = \"Cancel\";\n this.doneText = \"Done\";\n\n this.onClick = function () {\n e.setFocus();\n e.open();\n };\n\n this.onFocus = function () {\n e.ionFocus.emit();\n };\n\n this.onBlur = function () {\n e.ionBlur.emit();\n };\n }\n\n t.prototype.disabledChanged = function () {\n this.emitStyle();\n };\n\n t.prototype.valueChanged = function () {\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n this.ionChange.emit({\n value: this.value\n });\n };\n\n t.prototype.componentWillLoad = function () {\n this.locale = {\n monthNames: convertToArrayOfStrings(this.monthNames, \"monthNames\"),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, \"monthShortNames\"),\n dayNames: convertToArrayOfStrings(this.dayNames, \"dayNames\"),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, \"dayShortNames\")\n };\n this.updateDatetimeValue(this.value);\n this.emitStyle();\n };\n\n t.prototype.open = function () {\n return __awaiter(this, void 0, void 0, function () {\n var t, e;\n var i = this;\n return __generator(this, function (r) {\n switch (r.label) {\n case 0:\n if (this.disabled || this.isExpanded) {\n return [2];\n }\n\n t = this.generatePickerOptions();\n return [4, pickerController.create(t)];\n\n case 1:\n e = r.sent();\n this.isExpanded = true;\n e.onDidDismiss().then(function () {\n i.isExpanded = false;\n i.setFocus();\n });\n addEventListener(e, \"ionPickerColChange\", function (t) {\n return __awaiter(i, void 0, void 0, function () {\n var i, r, n, o;\n return __generator(this, function (a) {\n i = t.detail;\n r = i.selectedIndex;\n n = i.options;\n o = {};\n o[i.name] = {\n value: n[r].value\n };\n\n if (i.name !== \"ampm\" && this.datetimeValue.ampm !== undefined) {\n o[\"ampm\"] = {\n value: this.datetimeValue.ampm\n };\n }\n\n this.updateDatetimeValue(o);\n e.columns = this.generateColumns();\n return [2];\n });\n });\n });\n return [4, e.present()];\n\n case 2:\n r.sent();\n return [2];\n }\n });\n });\n };\n\n t.prototype.emitStyle = function () {\n this.ionStyle.emit({\n interactive: true,\n datetime: true,\n \"has-placeholder\": this.placeholder != null,\n \"has-value\": this.hasValue(),\n \"interactive-disabled\": this.disabled\n });\n };\n\n t.prototype.updateDatetimeValue = function (t) {\n updateDate(this.datetimeValue, t, this.displayTimezone);\n };\n\n t.prototype.generatePickerOptions = function () {\n var t = this;\n var e = getIonMode(this);\n this.locale = {\n monthNames: convertToArrayOfStrings(this.monthNames, \"monthNames\"),\n monthShortNames: convertToArrayOfStrings(this.monthShortNames, \"monthShortNames\"),\n dayNames: convertToArrayOfStrings(this.dayNames, \"dayNames\"),\n dayShortNames: convertToArrayOfStrings(this.dayShortNames, \"dayShortNames\")\n };\n var i = Object.assign(Object.assign({\n mode: e\n }, this.pickerOptions), {\n columns: this.generateColumns()\n });\n var r = i.buttons;\n\n if (!r || r.length === 0) {\n i.buttons = [{\n text: this.cancelText,\n role: \"cancel\",\n handler: function () {\n t.updateDatetimeValue(t.value);\n t.ionCancel.emit();\n }\n }, {\n text: this.doneText,\n handler: function (e) {\n t.updateDatetimeValue(e);\n var i = new Date(convertDataToISO(t.datetimeValue));\n t.datetimeValue.tzOffset = t.displayTimezone !== undefined && t.displayTimezone.length > 0 ? getTimezoneOffset(i, t.displayTimezone) / 1e3 / 60 * -1 : i.getTimezoneOffset() * -1;\n t.value = convertDataToISO(t.datetimeValue);\n }\n }];\n }\n\n return i;\n };\n\n t.prototype.generateColumns = function () {\n var t = this;\n var e = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT;\n\n if (e.length === 0) {\n return [];\n }\n\n this.calcMinMax();\n e = e.replace(\"DDDD\", \"{~}\").replace(\"DDD\", \"{~}\");\n\n if (e.indexOf(\"D\") === -1) {\n e = e.replace(\"{~}\", \"D\");\n }\n\n e = e.replace(/{~}/g, \"\");\n var i = parseTemplate(e).map(function (e) {\n var i = convertFormatToKey(e);\n var r;\n var n = t;\n r = n[i + \"Values\"] ? convertToArrayOfNumbers(n[i + \"Values\"], i) : dateValueRange(e, t.datetimeMin, t.datetimeMax);\n var o = r.map(function (i) {\n return {\n value: i,\n text: renderTextFormat(e, i, undefined, t.locale)\n };\n });\n var a = getDateValue(t.datetimeValue, e);\n var s = o.findIndex(function (t) {\n return t.value === a;\n });\n return {\n name: i,\n selectedIndex: s >= 0 ? s : 0,\n options: o\n };\n });\n var r = this.datetimeMin;\n var n = this.datetimeMax;\n [\"month\", \"day\", \"hour\", \"minute\"].filter(function (t) {\n return !i.find(function (e) {\n return e.name === t;\n });\n }).forEach(function (t) {\n r[t] = 0;\n n[t] = 0;\n });\n return this.validateColumns(divyColumns(i));\n };\n\n t.prototype.validateColumns = function (t) {\n var e = new Date();\n var i = dateDataSortValue(this.datetimeMin);\n var r = dateDataSortValue(this.datetimeMax);\n var n = t.find(function (t) {\n return t.name === \"year\";\n });\n var o = e.getFullYear();\n\n if (n) {\n if (!n.options.find(function (t) {\n return t.value === e.getFullYear();\n })) {\n o = n.options[0].value;\n }\n\n var a = n.selectedIndex;\n\n if (a !== undefined) {\n var s = n.options[a];\n\n if (s) {\n o = s.value;\n }\n }\n }\n\n var d = this.validateColumn(t, \"month\", 1, i, r, [o, 0, 0, 0, 0], [o, 12, 31, 23, 59]);\n var l = daysInMonth(d, o);\n var c = this.validateColumn(t, \"day\", 2, i, r, [o, d, 0, 0, 0], [o, d, l, 23, 59]);\n var p = this.validateColumn(t, \"hour\", 3, i, r, [o, d, c, 0, 0], [o, d, c, 23, 59]);\n this.validateColumn(t, \"minute\", 4, i, r, [o, d, c, p, 0], [o, d, c, p, 59]);\n return t;\n };\n\n t.prototype.calcMinMax = function () {\n var t = new Date().getFullYear();\n\n if (this.yearValues !== undefined) {\n var e = convertToArrayOfNumbers(this.yearValues, \"year\");\n\n if (this.min === undefined) {\n this.min = Math.min.apply(Math, e).toString();\n }\n\n if (this.max === undefined) {\n this.max = Math.max.apply(Math, e).toString();\n }\n } else {\n if (this.min === undefined) {\n this.min = (t - 100).toString();\n }\n\n if (this.max === undefined) {\n this.max = t.toString();\n }\n }\n\n var i = this.datetimeMin = parseDate(this.min);\n var r = this.datetimeMax = parseDate(this.max);\n i.year = i.year || t;\n r.year = r.year || t;\n i.month = i.month || 1;\n r.month = r.month || 12;\n i.day = i.day || 1;\n r.day = r.day || 31;\n i.hour = i.hour || 0;\n r.hour = r.hour === undefined ? 23 : r.hour;\n i.minute = i.minute || 0;\n r.minute = r.minute === undefined ? 59 : r.minute;\n i.second = i.second || 0;\n r.second = r.second === undefined ? 59 : r.second;\n\n if (i.year > r.year) {\n console.error(\"min.year > max.year\");\n i.year = r.year - 100;\n }\n\n if (i.year === r.year) {\n if (i.month > r.month) {\n console.error(\"min.month > max.month\");\n i.month = 1;\n } else if (i.month === r.month && i.day > r.day) {\n console.error(\"min.day > max.day\");\n i.day = 1;\n }\n }\n };\n\n t.prototype.validateColumn = function (t, e, i, r, n, o, a) {\n var s = t.find(function (t) {\n return t.name === e;\n });\n\n if (!s) {\n return 0;\n }\n\n var d = o.slice();\n var l = a.slice();\n var c = s.options;\n var p = c.length - 1;\n var h = 0;\n\n for (var u = 0; u < c.length; u++) {\n var f = c[u];\n var m = f.value;\n d[i] = f.value;\n l[i] = f.value;\n var g = f.disabled = m < o[i] || m > a[i] || dateSortValue(l[0], l[1], l[2], l[3], l[4]) < r || dateSortValue(d[0], d[1], d[2], d[3], d[4]) > n;\n\n if (!g) {\n p = Math.min(p, u);\n h = Math.max(h, u);\n }\n }\n\n var v = s.selectedIndex = clamp(p, s.selectedIndex, h);\n var b = s.options[v];\n\n if (b) {\n return b.value;\n }\n\n return 0;\n };\n\n Object.defineProperty(t.prototype, \"text\", {\n get: function () {\n var t = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT;\n\n if (this.value === undefined || this.value === null || this.value.length === 0) {\n return;\n }\n\n return renderDatetime(t, this.datetimeValue, this.locale);\n },\n enumerable: false,\n configurable: true\n });\n\n t.prototype.hasValue = function () {\n return this.text !== undefined;\n };\n\n t.prototype.setFocus = function () {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n };\n\n t.prototype.render = function () {\n var t;\n var e = this;\n var i = this,\n r = i.inputId,\n n = i.text,\n o = i.disabled,\n a = i.readonly,\n s = i.isExpanded,\n d = i.el,\n l = i.placeholder;\n var c = getIonMode(this);\n var p = r + \"-lbl\";\n var u = findItemLabel(d);\n var f = n === undefined && l != null ? true : false;\n var m = n === undefined ? l != null ? l : \"\" : n;\n var g = n === undefined ? l != null ? \"placeholder\" : undefined : \"text\";\n\n if (u) {\n u.id = p;\n }\n\n renderHiddenInput(true, d, this.name, this.value, this.disabled);\n return h(Host, {\n onClick: this.onClick,\n \"aria-disabled\": o ? \"true\" : null,\n \"aria-expanded\": \"\" + s,\n \"aria-haspopup\": \"true\",\n \"aria-labelledby\": u ? p : null,\n class: (t = {}, t[c] = true, t[\"datetime-disabled\"] = o, t[\"datetime-readonly\"] = a, t[\"datetime-placeholder\"] = f, t[\"in-item\"] = hostContext(\"ion-item\", d), t)\n }, h(\"div\", {\n class: \"datetime-text\",\n part: g\n }, m), h(\"button\", {\n type: \"button\",\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n disabled: this.disabled,\n ref: function (t) {\n return e.buttonEl = t;\n }\n }));\n };\n\n Object.defineProperty(t.prototype, \"el\", {\n get: function () {\n return getElement(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(t, \"watchers\", {\n get: function () {\n return {\n disabled: [\"disabledChanged\"],\n value: [\"valueChanged\"]\n };\n },\n enumerable: false,\n configurable: true\n });\n return t;\n}();\n\nvar divyColumns = function (t) {\n var e = [];\n var i;\n var r;\n\n for (var n = 0; n < t.length; n++) {\n i = t[n];\n e.push(0);\n\n for (var o = 0, a = i.options; o < a.length; o++) {\n var s = a[o];\n r = s.text.length;\n\n if (r > e[n]) {\n e[n] = r;\n }\n }\n }\n\n if (e.length === 2) {\n r = Math.max(e[0], e[1]);\n t[0].align = \"right\";\n t[1].align = \"left\";\n t[0].optionsWidth = t[1].optionsWidth = r * 17 + \"px\";\n } else if (e.length === 3) {\n r = Math.max(e[0], e[2]);\n t[0].align = \"right\";\n t[1].columnWidth = e[1] * 17 + \"px\";\n t[0].optionsWidth = t[2].optionsWidth = r * 17 + \"px\";\n t[2].align = \"left\";\n }\n\n return t;\n};\n\nvar DEFAULT_FORMAT = \"MMM D, YYYY\";\nvar datetimeIds = 0;\nDatetime.style = {\n ios: datetimeIosCss,\n md: datetimeMdCss\n};\n\nvar iosEnterAnimation = function (t) {\n var e = createAnimation();\n var i = createAnimation();\n var r = createAnimation();\n i.addElement(t.querySelector(\"ion-backdrop\")).fromTo(\"opacity\", .01, \"var(--backdrop-opacity)\").beforeStyles({\n \"pointer-events\": \"none\"\n }).afterClearStyles([\"pointer-events\"]);\n r.addElement(t.querySelector(\".picker-wrapper\")).fromTo(\"transform\", \"translateY(100%)\", \"translateY(0%)\");\n return e.addElement(t).easing(\"cubic-bezier(.36,.66,.04,1)\").duration(400).addAnimation([i, r]);\n};\n\nvar iosLeaveAnimation = function (t) {\n var e = createAnimation();\n var i = createAnimation();\n var r = createAnimation();\n i.addElement(t.querySelector(\"ion-backdrop\")).fromTo(\"opacity\", \"var(--backdrop-opacity)\", .01);\n r.addElement(t.querySelector(\".picker-wrapper\")).fromTo(\"transform\", \"translateY(0%)\", \"translateY(100%)\");\n return e.addElement(t).easing(\"cubic-bezier(.36,.66,.04,1)\").duration(400).addAnimation([i, r]);\n};\n\nvar pickerIosCss = \".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-ios{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}\";\nvar pickerMdCss = \".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}\";\n\nvar Picker = function () {\n function t(t) {\n var e = this;\n registerInstance(this, t);\n this.didPresent = createEvent(this, \"ionPickerDidPresent\", 7);\n this.willPresent = createEvent(this, \"ionPickerWillPresent\", 7);\n this.willDismiss = createEvent(this, \"ionPickerWillDismiss\", 7);\n this.didDismiss = createEvent(this, \"ionPickerDidDismiss\", 7);\n this.presented = false;\n this.keyboardClose = true;\n this.buttons = [];\n this.columns = [];\n this.duration = 0;\n this.showBackdrop = true;\n this.backdropDismiss = true;\n this.animated = true;\n\n this.onBackdropTap = function () {\n e.dismiss(undefined, BACKDROP);\n };\n\n this.dispatchCancelHandler = function (t) {\n var i = t.detail.role;\n\n if (isCancel(i)) {\n var r = e.buttons.find(function (t) {\n return t.role === \"cancel\";\n });\n e.callButtonHandler(r);\n }\n };\n }\n\n t.prototype.connectedCallback = function () {\n prepareOverlay(this.el);\n };\n\n t.prototype.present = function () {\n return __awaiter(this, void 0, void 0, function () {\n var t = this;\n return __generator(this, function (e) {\n switch (e.label) {\n case 0:\n return [4, present(this, \"pickerEnter\", iosEnterAnimation, iosEnterAnimation, undefined)];\n\n case 1:\n e.sent();\n\n if (this.duration > 0) {\n this.durationTimeout = setTimeout(function () {\n return t.dismiss();\n }, this.duration);\n }\n\n return [2];\n }\n });\n });\n };\n\n t.prototype.dismiss = function (t, e) {\n if (this.durationTimeout) {\n clearTimeout(this.durationTimeout);\n }\n\n return dismiss(this, t, e, \"pickerLeave\", iosLeaveAnimation, iosLeaveAnimation);\n };\n\n t.prototype.onDidDismiss = function () {\n return eventMethod(this.el, \"ionPickerDidDismiss\");\n };\n\n t.prototype.onWillDismiss = function () {\n return eventMethod(this.el, \"ionPickerWillDismiss\");\n };\n\n t.prototype.getColumn = function (t) {\n return Promise.resolve(this.columns.find(function (e) {\n return e.name === t;\n }));\n };\n\n t.prototype.buttonClick = function (t) {\n return __awaiter(this, void 0, void 0, function () {\n var e, i;\n return __generator(this, function (r) {\n switch (r.label) {\n case 0:\n e = t.role;\n\n if (isCancel(e)) {\n return [2, this.dismiss(undefined, e)];\n }\n\n return [4, this.callButtonHandler(t)];\n\n case 1:\n i = r.sent();\n\n if (i) {\n return [2, this.dismiss(this.getSelected(), t.role)];\n }\n\n return [2, Promise.resolve()];\n }\n });\n });\n };\n\n t.prototype.callButtonHandler = function (t) {\n return __awaiter(this, void 0, void 0, function () {\n var e;\n return __generator(this, function (i) {\n switch (i.label) {\n case 0:\n if (!t) return [3, 2];\n return [4, safeCall(t.handler, this.getSelected())];\n\n case 1:\n e = i.sent();\n\n if (e === false) {\n return [2, false];\n }\n\n i.label = 2;\n\n case 2:\n return [2, true];\n }\n });\n });\n };\n\n t.prototype.getSelected = function () {\n var t = {};\n this.columns.forEach(function (e, i) {\n var r = e.selectedIndex !== undefined ? e.options[e.selectedIndex] : undefined;\n t[e.name] = {\n text: r ? r.text : undefined,\n value: r ? r.value : undefined,\n columnIndex: i\n };\n });\n return t;\n };\n\n t.prototype.render = function () {\n var t;\n var e = this;\n var i = getIonMode(this);\n return h(Host, {\n \"aria-modal\": \"true\",\n tabindex: \"-1\",\n class: Object.assign((t = {}, t[i] = true, t[\"picker-\" + i] = true, t), getClassMap(this.cssClass)),\n style: {\n zIndex: \"\" + (2e4 + this.overlayIndex)\n },\n onIonBackdropTap: this.onBackdropTap,\n onIonPickerWillDismiss: this.dispatchCancelHandler\n }, h(\"ion-backdrop\", {\n visible: this.showBackdrop,\n tappable: this.backdropDismiss\n }), h(\"div\", {\n tabindex: \"0\"\n }), h(\"div\", {\n class: \"picker-wrapper ion-overlay-wrapper\",\n role: \"dialog\"\n }, h(\"div\", {\n class: \"picker-toolbar\"\n }, this.buttons.map(function (t) {\n return h(\"div\", {\n class: buttonWrapperClass(t)\n }, h(\"button\", {\n type: \"button\",\n onClick: function () {\n return e.buttonClick(t);\n },\n class: buttonClass(t)\n }, t.text));\n })), h(\"div\", {\n class: \"picker-columns\"\n }, h(\"div\", {\n class: \"picker-above-highlight\"\n }), this.presented && this.columns.map(function (t) {\n return h(\"ion-picker-column\", {\n col: t\n });\n }), h(\"div\", {\n class: \"picker-below-highlight\"\n }))), h(\"div\", {\n tabindex: \"0\"\n }));\n };\n\n Object.defineProperty(t.prototype, \"el\", {\n get: function () {\n return getElement(this);\n },\n enumerable: false,\n configurable: true\n });\n return t;\n}();\n\nvar buttonWrapperClass = function (t) {\n var e;\n return e = {}, e[\"picker-toolbar-\" + t.role] = t.role !== undefined, e[\"picker-toolbar-button\"] = true, e;\n};\n\nvar buttonClass = function (t) {\n return Object.assign({\n \"picker-button\": true,\n \"ion-activatable\": true\n }, getClassMap(t.cssClass));\n};\n\nPicker.style = {\n ios: pickerIosCss,\n md: pickerMdCss\n};\nvar pickerColumnIosCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}\";\nvar pickerColumnMdCss = \".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:con